X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fplaylist.h;h=649887f7271f38b2c2fd9c4afdf0f63bb4f0d195;hb=9a27d60ea7888d300a5a2414a477091428589b82;hp=e84b51a73e84c91372fb132ca05e59de258ddba4;hpb=b8ab7864ea798d633c4dbfa6be69c58a227d9ca2;p=dcpomatic.git diff --git a/src/lib/playlist.h b/src/lib/playlist.h index e84b51a73..649887f72 100644 --- a/src/lib/playlist.h +++ b/src/lib/playlist.h @@ -45,8 +45,8 @@ public: Playlist (); ~Playlist (); - void as_xml (xmlpp::Node *); - void set_from_xml (boost::shared_ptr, cxml::ConstNodePtr, int, std::list &); + void as_xml (xmlpp::Node *, bool with_content_paths); + void set_from_xml (boost::shared_ptr film, cxml::ConstNodePtr node, int version, std::list& notes); void add (boost::shared_ptr); void remove (boost::shared_ptr); @@ -64,9 +64,10 @@ public: int best_video_frame_rate () const; DCPTime video_end () const; - DCPTime subtitle_end () const; + DCPTime text_end () const; FrameRateChange active_frame_rate_change (DCPTime, int dcp_frame_rate) const; std::string content_summary (DCPTimePeriod period) const; + std::pair speed_up_range (int dcp_video_frame_rate) const; void set_sequence (bool); void maybe_sequence (); @@ -76,14 +77,19 @@ public: /** Emitted when content has been added to or removed from the playlist; implies OrderChanged */ mutable boost::signals2::signal Changed; mutable boost::signals2::signal OrderChanged; + + mutable boost::signals2::signal ContentMayChange; /** Emitted when something about a piece of our content has changed; * these emissions include when the position of the content changes. * Third parameter is true if signals are currently being emitted frequently. */ mutable boost::signals2::signal, int, bool)> ContentChanged; + mutable boost::signals2::signal ContentNotChanged; private: + void content_may_change (); void content_changed (boost::weak_ptr, int, bool); + void content_not_changed (); void reconnect (); /** List of content. Kept sorted in position order. */