+2015-09-16 Carl Hetherington <cth@carlh.net>
+
+ * Add config option for default standard
+ (SMPTE / Interop).
+
2015-09-16 c.hetherington <cth@carlh.net>
* Allow imported DCPs to be referenced rather
_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 = "";
_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) {
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"));
return _default_audio_delay;
}
+ bool default_interop () const {
+ return _default_interop;
+ }
+
std::string mail_server () const {
return _mail_server;
}
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);
}
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;
, _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)
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));
_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 ()
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 ()
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;
#endif
wxChoice* _container;
wxChoice* _dcp_content_type;
+ wxChoice* _standard;
};
class EncodingServersPage : public StandardPage