diff options
| author | Carl Hetherington <cth@carlh.net> | 2015-09-16 22:52:02 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2015-09-16 22:52:02 +0100 |
| commit | 78a95b32af03460182abccc62c784e696cf53e17 (patch) | |
| tree | ac6063e92f950a7d1691be56a5404f53034643b4 /src | |
| parent | 0a3d5ea0900ed0f9aaa0b5a5f1b7dcec854fc4f9 (diff) | |
Config option for default standard (SMPTE / Interop).
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/config.cc | 3 | ||||
| -rw-r--r-- | src/lib/config.h | 9 | ||||
| -rw-r--r-- | src/lib/film.cc | 2 | ||||
| -rw-r--r-- | src/wx/config_dialog.cc | 15 |
4 files changed, 28 insertions, 1 deletions
diff --git a/src/lib/config.cc b/src/lib/config.cc index 6862cc565..a51c775a3 100644 --- a/src/lib/config.cc +++ b/src/lib/config.cc @@ -86,6 +86,7 @@ Config::set_defaults () _default_dcp_content_type = DCPContentType::from_isdcf_name ("FTR"); _default_j2k_bandwidth = 100000000; _default_audio_delay = 0; + _default_interop = false; _mail_server = ""; _mail_port = 25; _mail_user = ""; @@ -205,6 +206,7 @@ Config::read () _default_still_length = f.optional_number_child<int>("DefaultStillLength").get_value_or (10); _default_j2k_bandwidth = f.optional_number_child<int>("DefaultJ2KBandwidth").get_value_or (200000000); _default_audio_delay = f.optional_number_child<int>("DefaultAudioDelay").get_value_or (0); + _default_interop = f.optional_bool_child("DefaultInterop").get_value_or (false); list<cxml::NodePtr> cin = f.node_children ("Cinema"); for (list<cxml::NodePtr>::iterator i = cin.begin(); i != cin.end(); ++i) { @@ -357,6 +359,7 @@ Config::write () const root->add_child("DefaultStillLength")->add_child_text (raw_convert<string> (_default_still_length)); root->add_child("DefaultJ2KBandwidth")->add_child_text (raw_convert<string> (_default_j2k_bandwidth)); root->add_child("DefaultAudioDelay")->add_child_text (raw_convert<string> (_default_audio_delay)); + root->add_child("DefaultInterop")->add_child_text (_default_interop ? "1" : "0"); for (list<shared_ptr<Cinema> >::const_iterator i = _cinemas.begin(); i != _cinemas.end(); ++i) { (*i)->as_xml (root->add_child ("Cinema")); diff --git a/src/lib/config.h b/src/lib/config.h index 2f68ea31c..579527975 100644 --- a/src/lib/config.h +++ b/src/lib/config.h @@ -166,6 +166,10 @@ public: return _default_audio_delay; } + bool default_interop () const { + return _default_interop; + } + std::string mail_server () const { return _mail_server; } @@ -349,6 +353,10 @@ public: maybe_set (_default_audio_delay, d); } + void set_default_interop (bool i) { + maybe_set (_default_interop, i); + } + void set_mail_server (std::string s) { maybe_set (_mail_server, s); } @@ -492,6 +500,7 @@ private: std::string _dcp_creator; int _default_j2k_bandwidth; int _default_audio_delay; + bool _default_interop; std::list<boost::shared_ptr<Cinema> > _cinemas; std::string _mail_server; int _mail_port; diff --git a/src/lib/film.cc b/src/lib/film.cc index 6514efde8..b112914b3 100644 --- a/src/lib/film.cc +++ b/src/lib/film.cc @@ -123,7 +123,7 @@ Film::Film (boost::filesystem::path dir, bool log) , _audio_channels (6) , _three_d (false) , _sequence_video (true) - , _interop (false) + , _interop (Config::instance()->default_interop ()) , _audio_processor (0) , _state_version (current_state_version) , _dirty (false) diff --git a/src/wx/config_dialog.cc b/src/wx/config_dialog.cc index 15d64b902..5b02d71e3 100644 --- a/src/wx/config_dialog.cc +++ b/src/wx/config_dialog.cc @@ -425,6 +425,10 @@ private: table->Add (s, 1); } + add_label_to_sizer (table, _panel, _("Default standard"), true); + _standard = new wxChoice (_panel, wxID_ANY); + table->Add (_standard); + _still_length->SetRange (1, 3600); _still_length->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::still_length_changed, this)); @@ -451,6 +455,10 @@ private: _audio_delay->SetRange (-1000, 1000); _audio_delay->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::audio_delay_changed, this)); + + _standard->Append (_("SMPTE")); + _standard->Append (_("Interop")); + _standard->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::standard_changed, this)); } void config_changed () @@ -476,6 +484,7 @@ private: checked_set (_j2k_bandwidth, config->default_j2k_bandwidth() / 1000000); _j2k_bandwidth->SetRange (50, config->maximum_j2k_bandwidth() / 1000000); checked_set (_audio_delay, config->default_audio_delay ()); + checked_set (_standard, config->default_interop() ? 1 : 0); } void j2k_bandwidth_changed () @@ -518,6 +527,11 @@ private: Config::instance()->set_default_dcp_content_type (ct[_dcp_content_type->GetSelection()]); } + void standard_changed () + { + Config::instance()->set_default_interop (_standard->GetSelection() == 1); + } + wxSpinCtrl* _j2k_bandwidth; wxSpinCtrl* _audio_delay; wxButton* _isdcf_metadata_button; @@ -529,6 +543,7 @@ private: #endif wxChoice* _container; wxChoice* _dcp_content_type; + wxChoice* _standard; }; class EncodingServersPage : public StandardPage |
