X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_magickpp%2Ftrgt_magickpp.cpp;h=7532291a1c18fc8e1412da78565c8a717cd5beca;hb=cea04b40799da317f672e7c9c54710b2efdb3515;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..7532291 100644 --- a/synfig-core/trunk/src/modules/mod_magickpp/trgt_magickpp.cpp +++ b/synfig-core/trunk/src/modules/mod_magickpp/trgt_magickpp.cpp @@ -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; }