X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fconfig.h;h=e28928226c59c43d36c4ceed2fa6829e62ff388b;hb=3526252ff2fd80a459c72ab1c55ea5a6ee61aa2f;hp=011906a410abf9d1a5477f8a45a54e97c792033e;hpb=c4ac1ba47652884a647103ec49b2de4c0b6e60a9;p=dcpomatic.git diff --git a/src/lib/config.h b/src/lib/config.h index 011906a41..e28928226 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -77,7 +77,8 @@ public: SOUND, SOUND_OUTPUT, INTERFACE_COMPLEXITY, - PLAYER_DCP_DIRECTORY, + PLAYER_CONTENT_DIRECTORY, + PLAYER_PLAYLIST_DIRECTORY, HISTORY, #ifdef DCPOMATIC_VARIANT_SWAROOP PLAYER_BACKGROUND_IMAGE, @@ -487,8 +488,12 @@ public: return _player_log_file; } - boost::optional player_dcp_directory () const { - return _player_dcp_directory; + boost::optional player_content_directory () const { + return _player_content_directory; + } + + boost::optional player_playlist_directory () const { + return _player_playlist_directory; } boost::optional player_kdm_directory () const { @@ -519,11 +524,11 @@ public: std::vector required_monitors () const { return _required_monitors; } -#endif - bool allow_spl_editing () const { - return _allow_spl_editing; + boost::optional player_lock_file () const { + return _player_lock_file; } +#endif /* SET (mostly) */ @@ -947,16 +952,28 @@ public: changed (); } - void set_player_dcp_directory (boost::filesystem::path p) { - maybe_set (_player_dcp_directory, p, PLAYER_DCP_DIRECTORY); + void set_player_content_directory (boost::filesystem::path p) { + maybe_set (_player_content_directory, p, PLAYER_CONTENT_DIRECTORY); + } + + void unset_player_content_directory () { + if (!_player_content_directory) { + return; + } + _player_content_directory = boost::none; + changed (PLAYER_CONTENT_DIRECTORY); + } + + void set_player_playlist_directory (boost::filesystem::path p) { + maybe_set (_player_playlist_directory, p, PLAYER_PLAYLIST_DIRECTORY); } - void unset_player_dcp_directory () { - if (!_player_dcp_directory) { + void unset_player_playlist_directory () { + if (!_player_playlist_directory) { return; } - _player_dcp_directory = boost::none; - changed (PLAYER_DCP_DIRECTORY); + _player_playlist_directory = boost::none; + changed (PLAYER_PLAYLIST_DIRECTORY); } void set_player_kdm_directory (boost::filesystem::path p) { @@ -1003,12 +1020,20 @@ public: void set_required_monitors (std::vector monitors) { maybe_set (_required_monitors, monitors); } -#endif - void set_allow_spl_editing (bool s) { - maybe_set (_allow_spl_editing, s); + void set_player_lock_file (boost::filesystem::path p) { + maybe_set (_player_lock_file, p); } + void unset_player_lock_file () { + if (!_player_lock_file) { + return; + } + _player_lock_file = boost::none; + changed (); + } +#endif + void changed (Property p = OTHER); boost::signals2::signal Changed; /** Emitted if read() failed on an existing Config file. There is nothing @@ -1058,6 +1083,9 @@ private: boost::filesystem::path directory_or (boost::optional dir, boost::filesystem::path a) const; void add_to_history_internal (std::vector& h, boost::filesystem::path p); void backup (); +#ifdef DCPOMATIC_VARIANT_SWAROOP + dcp::Data key_from_uuid () const; +#endif template void maybe_set (T& member, T new_value, Property prop = OTHER) { @@ -1200,7 +1228,8 @@ private: in the dual-screen player mode. DCPs on the list can be loaded for playback. */ - boost::optional _player_dcp_directory; + boost::optional _player_content_directory; + boost::optional _player_playlist_directory; boost::optional _player_kdm_directory; #ifdef DCPOMATIC_VARIANT_SWAROOP boost::optional _player_background_image; @@ -1211,8 +1240,9 @@ private: /** watermark duration in milliseconds */ int _player_watermark_duration; std::vector _required_monitors; + /** a file which, if specified, must be present for the player to work */ + boost::optional _player_lock_file; #endif - bool _allow_spl_editing; static int const _current_version;