X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fplaylist.h;h=921637bc3a6d8e6cfcfea9535aae3ae3fc963701;hp=b49baa43056369687b51cb8b4f38d6ab5eb27068;hb=da44da6f31f97d39ca91c35955e573e76371f2c2;hpb=dd9be86db6cde0afa5da0d1d1ac43b42e05dca26 diff --git a/src/lib/playlist.h b/src/lib/playlist.h index b49baa430..921637bc3 100644 --- a/src/lib/playlist.h +++ b/src/lib/playlist.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2013-2020 Carl Hetherington + Copyright (C) 2013-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,33 +18,42 @@ */ + #ifndef DCPOMATIC_PLAYLIST_H #define DCPOMATIC_PLAYLIST_H -#include "util.h" + +#include "change_signaller.h" #include "frame_rate_change.h" +#include "util.h" #include #include #include #include + class Film; + struct ContentSorter { bool operator() (std::shared_ptr a, std::shared_ptr b); }; + /** @class Playlist * @brief A set of Content objects with knowledge of how they should be arranged into * a DCP. */ -class Playlist : public boost::noncopyable +class Playlist { public: Playlist (); ~Playlist (); + Playlist (Playlist const&) = delete; + Playlist& operator= (Playlist const&) = delete; + void as_xml (xmlpp::Node *, bool with_content_paths); void set_from_xml (std::shared_ptr film, cxml::ConstNodePtr node, int version, std::list& notes); @@ -74,7 +83,7 @@ public: void repeat (std::shared_ptr film, ContentList, int); - /** Emitted when content has been added to or removed from the playlist; implies OrderChanged */ + /** Emitted when content has been added to or removed from the playlist; implies OrderChange */ mutable boost::signals2::signal Change; mutable boost::signals2::signal OrderChange; /** Emitted when the length might have changed; may sometimes be emitted when it has not */ @@ -90,9 +99,10 @@ private: mutable boost::mutex _mutex; /** List of content. Kept sorted in position order. */ ContentList _content; - bool _sequence; - bool _sequencing; + bool _sequence = true; + bool _sequencing = false; std::list _content_connections; }; + #endif