+bool
+ImageMagickDecoder::seek_to_last ()
+{
+ if (_iter == _files.end()) {
+ _iter = _files.begin();
+ } else {
+ --_iter;
+ }
+
+ return false;
+}
+
+bool
+ImageMagickDecoder::seek (double t)
+{
+ int const f = t * frames_per_second();
+
+ _iter = _files.begin ();
+ for (int i = 0; i < f; ++i) {
+ if (_iter == _files.end()) {
+ return true;
+ }
+ ++_iter;
+ }
+
+ return false;
+}
+
+void
+ImageMagickDecoder::film_changed (Film::Property p)
+{
+ if (p == Film::CROP) {
+ OutputChanged ();
+ }
+}