X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftrunk%2Fsrc%2Fmodules%2Fmod_magickpp%2Ftrgt_magickpp.cpp;h=875f2b5da8ffc99538fc8167d3c65f0c3f42489e;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;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..875f2b5 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 @@ -190,6 +197,7 @@ magickpp_trgt::~magickpp_trgt() try { Magick::writeImages(images.begin(), images.end(), filename); + synfig::info("done"); } catch(Magick::Warning warning) { synfig::warning("exception '%s'", warning.what()); @@ -257,7 +265,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 +279,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; }