class Ratio;
class Cinema;
class Film;
+class DKDMGroup;
/** @class Config
* @brief A singleton class holding configuration.
USE_ANY_SERVERS,
SERVERS,
CINEMAS,
- PREVIEW_SOUND,
- PREVIEW_SOUND_OUTPUT,
+ SOUND,
+ SOUND_OUTPUT,
OTHER
};
return _default_container;
}
+ Ratio const * default_scale_to () const {
+ return _default_scale_to;
+ }
+
DCPContentType const * default_dcp_content_type () const {
return _default_dcp_content_type;
}
return _history;
}
- std::vector<dcp::EncryptedKDM> dkdms () const {
+ boost::shared_ptr<DKDMGroup> dkdms () const {
return _dkdms;
}
enum Nag {
NAG_DKDM_CONFIG,
+ NAG_ENCRYPTED_METADATA,
+ NAG_REMAKE_DECRYPTION_CHAIN,
NAG_COUNT
};
return _nagged[nag];
}
- bool preview_sound () const {
- return _preview_sound;
+ bool sound () const {
+ return _sound;
}
- boost::optional<std::string> preview_sound_output () const {
- return _preview_sound_output;
+ std::string cover_sheet () const {
+ return _cover_sheet;
+ }
+
+ boost::optional<std::string> sound_output () const {
+ return _sound_output;
}
void set_master_encoding_threads (int n) {
maybe_set (_default_container, c);
}
+ void set_default_scale_to (Ratio const * c) {
+ maybe_set (_default_scale_to, c);
+ }
+
void set_default_dcp_content_type (DCPContentType const * t) {
maybe_set (_default_dcp_content_type, t);
}
}
#endif
- void set_dkdms (std::vector<dcp::EncryptedKDM> dkdms) {
+ void set_dkdms (boost::shared_ptr<DKDMGroup> dkdms) {
_dkdms = dkdms;
changed ();
}
maybe_set (_confirm_kdm_email, s);
}
- void set_preview_sound (bool s) {
- maybe_set (_preview_sound, s, PREVIEW_SOUND);
+ void set_sound (bool s) {
+ maybe_set (_sound, s, SOUND);
}
- void set_preview_sound_output (std::string o)
+ void set_sound_output (std::string o)
{
- maybe_set (_preview_sound_output, o, PREVIEW_SOUND_OUTPUT);
+ maybe_set (_sound_output, o, SOUND_OUTPUT);
}
- void unset_preview_sound_output ()
+ void unset_sound_output ()
{
- if (!_preview_sound_output) {
+ if (!_sound_output) {
return;
}
- _preview_sound_output = boost::none;
+ _sound_output = boost::none;
changed ();
}
maybe_set (_nagged[nag], nagged);
}
+ void set_cover_sheet (std::string s) {
+ maybe_set (_cover_sheet, s);
+ }
+
+ void reset_cover_sheet ();
+
void changed (Property p = OTHER);
boost::signals2::signal<void (Property)> Changed;
/** Emitted if read() failed on an existing Config file. There is nothing
void write () const;
void write_config () const;
void write_cinemas () const;
+ void link (boost::filesystem::path new_file) const;
+ void copy_and_link (boost::filesystem::path new_file) const;
void save_template (boost::shared_ptr<const Film> film, std::string name) const;
bool existing_template (std::string name) const;
static void drop ();
static void restore_defaults ();
static bool have_existing (std::string);
- static boost::filesystem::path config_path ();
+ static boost::filesystem::path config_file ();
private:
Config ();
void read ();
void set_defaults ();
void set_kdm_email_to_default ();
+ void set_cover_sheet_to_default ();
void read_cinemas (cxml::Document const & f);
boost::shared_ptr<dcp::CertificateChain> create_certificate_chain ();
boost::filesystem::path directory_or (boost::optional<boost::filesystem::path> dir, boost::filesystem::path a) const;
/** Default length of still image content (seconds) */
int _default_still_length;
Ratio const * _default_container;
+ Ratio const * _default_scale_to;
DCPContentType const * _default_dcp_content_type;
int _default_dcp_audio_channels;
std::string _dcp_issuer;
bool _win32_console;
#endif
std::vector<boost::filesystem::path> _history;
- std::vector<dcp::EncryptedKDM> _dkdms;
+ boost::shared_ptr<DKDMGroup> _dkdms;
boost::filesystem::path _cinemas_file;
bool _show_hints_before_make_dcp;
bool _confirm_kdm_email;
dcp::NameFormat _dcp_asset_filename_format;
bool _jump_to_selected;
bool _nagged[NAG_COUNT];
- bool _preview_sound;
- /** name of a specific sound output stream to use for preview, or empty to use the default */
- boost::optional<std::string> _preview_sound_output;
+ bool _sound;
+ /** name of a specific sound output stream to use, or empty to use the default */
+ boost::optional<std::string> _sound_output;
+ std::string _cover_sheet;
/** Singleton instance, or 0 */
static Config* _instance;