_default_still_length = 10;
_default_container = Ratio::from_id ("185");
_default_dcp_content_type = DCPContentType::from_isdcf_name ("FTR");
+ _default_dcp_audio_channels = 6;
_default_j2k_bandwidth = 100000000;
_default_audio_delay = 0;
_default_interop = false;
_default_dcp_content_type = DCPContentType::from_isdcf_name (c.get ());
}
+ _default_dcp_audio_channels = f.optional_number_child<int>("DefaultDCPAudioChannels").get_value_or (6);
+
if (f.optional_string_child ("DCPMetadataIssuer")) {
_dcp_issuer = f.string_child ("DCPMetadataIssuer");
} else if (f.optional_string_child ("DCPIssuer")) {
if (_default_dcp_content_type) {
root->add_child("DefaultDCPContentType")->add_child_text (_default_dcp_content_type->isdcf_name ());
}
+ root->add_child("DefaultDCPAudioChannels")->add_child_text (raw_convert<string> (_default_dcp_audio_channels));
root->add_child("DCPIssuer")->add_child_text (_dcp_issuer);
root->add_child("DCPCreator")->add_child_text (_dcp_creator);
return _default_dcp_content_type;
}
+ int default_dcp_audio_channels () const {
+ return _default_dcp_audio_channels;
+ }
+
std::string dcp_issuer () const {
return _dcp_issuer;
}
maybe_set (_default_dcp_content_type, t);
}
+ void set_default_dcp_audio_channels (int c) {
+ maybe_set (_default_dcp_audio_channels, c);
+ }
+
void set_dcp_issuer (std::string i) {
maybe_set (_dcp_issuer, i);
}
int _default_still_length;
Ratio const * _default_container;
DCPContentType const * _default_dcp_content_type;
+ int _default_dcp_audio_channels;
std::string _dcp_issuer;
std::string _dcp_creator;
int _default_j2k_bandwidth;
_dcp_content_type = new wxChoice (_panel, wxID_ANY);
table->Add (_dcp_content_type);
+ add_label_to_sizer (table, _panel, _("Default DCP audio channels"), true);
+ _dcp_audio_channels = new wxChoice (_panel, wxID_ANY);
+ table->Add (_dcp_audio_channels);
+
{
add_label_to_sizer (table, _panel, _("Default JPEG2000 bandwidth"), true);
wxBoxSizer* s = new wxBoxSizer (wxHORIZONTAL);
_dcp_content_type->Append (std_to_wx (ct[i]->pretty_name ()));
}
+ vector<pair<string, string> > items;
+ for (int i = 0; i <= 16; i += 2) {
+ items.push_back (make_pair (raw_convert<string> (i), raw_convert<string> (i)));
+ }
+
+ checked_set (_dcp_audio_channels, items);
+
_dcp_content_type->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::dcp_content_type_changed, this));
+ _dcp_audio_channels->Bind (wxEVT_COMMAND_CHOICE_SELECTED, boost::bind (&DefaultsPage::dcp_audio_channels_changed, this));
_j2k_bandwidth->SetRange (50, 250);
_j2k_bandwidth->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&DefaultsPage::j2k_bandwidth_changed, this));
_directory->SetPath (std_to_wx (config->default_directory_or (wx_to_std (wxStandardPaths::Get().GetDocumentsDir())).string ()));
checked_set (_j2k_bandwidth, config->default_j2k_bandwidth() / 1000000);
_j2k_bandwidth->SetRange (50, config->maximum_j2k_bandwidth() / 1000000);
+ checked_set (_dcp_audio_channels, raw_convert<string> (config->default_dcp_audio_channels()));
checked_set (_audio_delay, config->default_audio_delay ());
checked_set (_standard, config->default_interop() ? 1 : 0);
}
Config::instance()->set_default_audio_delay (_audio_delay->GetValue());
}
+ void dcp_audio_channels_changed ()
+ {
+ int const s = _dcp_audio_channels->GetSelection ();
+ if (s != wxNOT_FOUND) {
+ Config::instance()->set_default_dcp_audio_channels (s * 2);
+ }
+ }
+
void directory_changed ()
{
Config::instance()->set_default_directory (wx_to_std (_directory->GetPath ()));
#endif
wxChoice* _container;
wxChoice* _dcp_content_type;
+ wxChoice* _dcp_audio_channels;
wxChoice* _standard;
};