X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_magickpp%2Ftrgt_magickpp.cpp;h=bcfd31a229532e607ba53ee1e522df43ed2b61f5;hb=756c0d29ac1742f231e6615f9a577e574e35a4af;hp=e6da708c7995938cfa9cbe917d6235b9ae65f7ab;hpb=747d826a7618fcb388fc03344c23054982e3feb2;p=synfig.git diff --git a/synfig-core/trunk/src/modules/mod_magickpp/trgt_magickpp.cpp b/synfig-core/trunk/src/modules/mod_magickpp/trgt_magickpp.cpp index e6da708..bcfd31a 100644 --- a/synfig-core/trunk/src/modules/mod_magickpp/trgt_magickpp.cpp +++ b/synfig-core/trunk/src/modules/mod_magickpp/trgt_magickpp.cpp @@ -5,7 +5,7 @@ ** $Id$ ** ** \legal -** Copyright 2007 Chris Moore +** Copyright (c) 2007, 2008 Chris Moore ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -93,20 +93,27 @@ magickpp_trgt::~magickpp_trgt() try { - // check whether this file format supports multiple-image files - Magick::Image image(*(images.begin())); - image.fileName(filename); - try + bool multiple_images = images.size() != 1; + bool can_adjoin = false; + + if (multiple_images) { - SetImageInfo(image.imageInfo(),Magick::MagickTrue,&exceptionInfo); - } - catch(Magick::Warning warning) { - synfig::warning("exception '%s'", warning.what()); + // check whether this file format supports multiple-image files + Magick::Image image(*(images.begin())); + image.fileName(filename); + try + { + SetImageInfo(image.imageInfo(),Magick::MagickTrue,&exceptionInfo); + can_adjoin = image.adjoin(); + } + catch(Magick::Warning warning) { + synfig::warning("exception '%s'", warning.what()); + } } // the file type is now in image.imageInfo()->magick and // image.adjoin() tells us whether we can write to a single file - if (image.adjoin()) + if (can_adjoin) { synfig::info("joining images"); unsigned int delay = round_to_int(100.0 / desc.get_frame_rate()); @@ -177,7 +184,7 @@ magickpp_trgt::~magickpp_trgt() // insertImages(&images, new_images); #endif } - else + else if (multiple_images) { // if we can't write multiple images to a file of this type, // include '%04d' in the filename, so the files will be numbered @@ -257,7 +264,7 @@ magickpp_trgt::end_frame() } bool -magickpp_trgt::start_frame(synfig::ProgressCallback *callback) +magickpp_trgt::start_frame(synfig::ProgressCallback *callback __attribute__ ((unused))) { previous_buffer_pointer = start_pointer; @@ -271,7 +278,7 @@ magickpp_trgt::start_frame(synfig::ProgressCallback *callback) } Color* -magickpp_trgt::start_scanline(int scanline) +magickpp_trgt::start_scanline(int scanline __attribute__ ((unused))) { return color_buffer; }