- enum {
- AUDIO_NONE,
- AUDIO_FFMPEG,
- AUDIO_SNDFILE
- } _audio_from;
-
- boost::shared_ptr<FFmpegContent> _ffmpeg;
- std::list<boost::shared_ptr<ImageMagickContent> > _imagemagick;
- std::list<boost::shared_ptr<SndfileContent> > _sndfile;
-
- bool _have_setup_decoders;
- boost::shared_ptr<FFmpegDecoder> _ffmpeg_decoder;
- bool _ffmpeg_decoder_done;
- std::list<boost::shared_ptr<ImageMagickDecoder> > _imagemagick_decoders;
- std::list<boost::shared_ptr<ImageMagickDecoder> >::iterator _imagemagick_decoder;
- std::list<boost::shared_ptr<SndfileDecoder> > _sndfile_decoders;
-
- bool _video_sync;
+ void set_loop (int l);
+
+ Time length () const;
+ int best_dcp_frame_rate () const;
+ Time video_end () const;
+
+ void set_sequence_video (bool);
+
+ mutable boost::signals2::signal<void ()> Changed;
+ mutable boost::signals2::signal<void (boost::weak_ptr<Content>, int)> ContentChanged;
+
+private:
+ void content_changed (boost::weak_ptr<Content>, int);
+ void reconnect ();
+
+ ContentList _content;
+ int _loop;
+ bool _sequence_video;
+ bool _sequencing_video;
+ std::list<boost::signals2::connection> _content_connections;