_allow_any_dcp_frame_rate = false;
_allow_any_container = false;
_allow_96khz_audio = false;
+ _use_all_audio_channels = false;
_show_experimental_audio_processors = false;
_language = optional<string> ();
_default_still_length = 10;
_allow_any_dcp_frame_rate = f.optional_bool_child ("AllowAnyDCPFrameRate").get_value_or (false);
_allow_any_container = f.optional_bool_child ("AllowAnyContainer").get_value_or (false);
_allow_96khz_audio = f.optional_bool_child("Allow96kHzAudio").get_value_or(false);
+ _use_all_audio_channels = f.optional_bool_child("UseAllAudioChannels").get_value_or(false);
_show_experimental_audio_processors = f.optional_bool_child ("ShowExperimentalAudioProcessors").get_value_or (false);
_log_types = f.optional_number_child<int> ("LogTypes").get_value_or (LogEntry::TYPE_GENERAL | LogEntry::TYPE_WARNING | LogEntry::TYPE_ERROR);
root->add_child("AllowAnyContainer")->add_child_text (_allow_any_container ? "1" : "0");
/* [XML] Allow96kHzAudio 1 to allow users to make DCPs with 96kHz audio, 0 to always make 48kHz DCPs */
root->add_child("Allow96kHzAudio")->add_child_text(_allow_96khz_audio ? "1" : "0");
+ /* [XML] UseAllAudioChannels 1 to allow users to map audio to all 16 DCP channels, 0 to limit to the channels used in standard DCPs */
+ root->add_child("UseAllAudioChannels")->add_child_text(_use_all_audio_channels ? "1" : "0");
/* [XML] ShowExperimentalAudioProcessors 1 to offer users the (experimental) audio upmixer processors, 0 to hide them */
root->add_child("ShowExperimentalAudioProcessors")->add_child_text (_show_experimental_audio_processors ? "1" : "0");
/* [XML] LogTypes Types of logging to write; a bitfield where 1 is general notes, 2 warnings, 4 errors, 8 debug information related
return _allow_96khz_audio;
}
+ bool use_all_audio_channels () const {
+ return _use_all_audio_channels;
+ }
+
bool show_experimental_audio_processors () const {
return _show_experimental_audio_processors;
}
maybe_set (_allow_96khz_audio, a);
}
+ void set_use_all_audio_channels (bool a) {
+ maybe_set (_use_all_audio_channels, a);
+ }
+
void set_show_experimental_audio_processors (bool e) {
maybe_set (_show_experimental_audio_processors, e, SHOW_EXPERIMENTAL_AUDIO_PROCESSORS);
}
*/
bool _allow_any_container;
bool _allow_96khz_audio;
+ bool _use_all_audio_channels;
/** Offer the upmixers in the audio processor settings */
bool _show_experimental_audio_processors;
boost::optional<std::string> _language;
vector<NamedChannel> n;
for (int i = 0; i < audio_channels(); ++i) {
- if (i != 8 && i != 9 && i != 15) {
+ if (Config::instance()->use_all_audio_channels() || (i != 8 && i != 9 && i != 15)) {
n.push_back (NamedChannel(short_audio_channel_name(i), i));
}
}
_("Rs"),
_("HI"),
_("VI"),
- _("Lc"),
- _("Rc"),
+ _("9"),
+ _("10"),
_("BsL"),
_("BsR"),
_("DBP"),
_("DBS"),
_("Sign"),
- ""
+ _("16")
};
return channels[c];
table->Add (_allow_96khz_audio, 1, wxEXPAND | wxLEFT, DCPOMATIC_SIZER_GAP);
table->AddSpacer (0);
+ _use_all_audio_channels = new CheckBox(_panel, _("Allow mapping to all audio channels"));
+ table->Add(_use_all_audio_channels, 1, wxEXPAND | wxLEFT, DCPOMATIC_SIZER_GAP);
+ table->AddSpacer(0);
+
_show_experimental_audio_processors = new CheckBox (_panel, _("Show experimental audio processors"));
table->Add (_show_experimental_audio_processors, 1, wxEXPAND | wxLEFT, DCPOMATIC_SIZER_GAP);
table->AddSpacer (0);
_allow_any_dcp_frame_rate->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::allow_any_dcp_frame_rate_changed, this));
_allow_any_container->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::allow_any_container_changed, this));
_allow_96khz_audio->Bind (wxEVT_CHECKBOX, boost::bind(&AdvancedPage::allow_96khz_audio_changed, this));
+ _use_all_audio_channels->Bind(wxEVT_CHECKBOX, boost::bind(&AdvancedPage::use_all_channels_changed, this));
_show_experimental_audio_processors->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::show_experimental_audio_processors_changed, this));
_only_servers_encode->Bind (wxEVT_CHECKBOX, boost::bind (&AdvancedPage::only_servers_encode_changed, this));
_frames_in_memory_multiplier->Bind (wxEVT_SPINCTRL, boost::bind(&AdvancedPage::frames_in_memory_multiplier_changed, this));
checked_set (_allow_any_dcp_frame_rate, config->allow_any_dcp_frame_rate ());
checked_set (_allow_any_container, config->allow_any_container ());
checked_set (_allow_96khz_audio, config->allow_96khz_audio());
+ checked_set (_use_all_audio_channels, config->use_all_audio_channels());
checked_set (_show_experimental_audio_processors, config->show_experimental_audio_processors ());
checked_set (_only_servers_encode, config->only_servers_encode ());
checked_set (_log_general, config->log_types() & LogEntry::TYPE_GENERAL);
Config::instance()->set_allow_96hhz_audio(_allow_96khz_audio->GetValue());
}
+ void use_all_channels_changed ()
+ {
+ Config::instance()->set_use_all_audio_channels(_use_all_audio_channels->GetValue());
+ }
+
void show_experimental_audio_processors_changed ()
{
Config::instance()->set_show_experimental_audio_processors(_show_experimental_audio_processors->GetValue());
wxCheckBox* _allow_any_dcp_frame_rate = nullptr;
wxCheckBox* _allow_any_container = nullptr;
wxCheckBox* _allow_96khz_audio = nullptr;
+ wxCheckBox* _use_all_audio_channels = nullptr;
wxCheckBox* _show_experimental_audio_processors = nullptr;
wxCheckBox* _only_servers_encode = nullptr;
NameFormatEditor* _dcp_metadata_filename_format = nullptr;
-Subproject commit 5b53d149566a58f800fa867964e6d1e93104e255
+Subproject commit 375fe9911e941ccbb6c5d8c4a96be62af0792142