summaryrefslogtreecommitdiff
path: root/src/wx
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2019-10-13 23:47:33 +0200
committerCarl Hetherington <cth@carlh.net>2019-10-13 23:47:33 +0200
commita9dde34b8772ef8b985af067e2ff709be4e3cab6 (patch)
treeec6dad9b92f1e58359b139b35dd349cfdc7b1094 /src/wx
parent7c73ec405fdb55bd78d82d764999b5af6d81e973 (diff)
Hide the upmixers unless an "advanced" configuration option is ticked.v2.15.22
The upmixers are not of sufficient quality to always be an improvement, and anecdotally it seems that some users see them and hope one will be a silver bullet.
Diffstat (limited to 'src/wx')
-rw-r--r--src/wx/dcp_panel.cc27
-rw-r--r--src/wx/dcp_panel.h2
-rw-r--r--src/wx/full_config_dialog.cc13
3 files changed, 35 insertions, 7 deletions
diff --git a/src/wx/dcp_panel.cc b/src/wx/dcp_panel.cc
index a7f4f45e9..c4a14a58b 100644
--- a/src/wx/dcp_panel.cc
+++ b/src/wx/dcp_panel.cc
@@ -783,6 +783,12 @@ DCPPanel::config_changed (Config::Property p)
_audio_grid->Clear ();
add_audio_panel_to_grid ();
_audio_grid->Layout ();
+ } else if (p == Config::SHOW_EXPERIMENTAL_AUDIO_PROCESSORS) {
+ _audio_processor->Clear ();
+ add_audio_processors ();
+ if (_film) {
+ film_changed (Film::AUDIO_PROCESSOR);
+ }
}
}
@@ -931,10 +937,10 @@ wxPanel *
DCPPanel::make_audio_panel ()
{
wxPanel* panel = new wxPanel (_notebook);
- wxSizer* sizer = new wxBoxSizer (wxVERTICAL);
+ _audio_panel_sizer = new wxBoxSizer (wxVERTICAL);
_audio_grid = new wxGridBagSizer (DCPOMATIC_SIZER_X_GAP, DCPOMATIC_SIZER_Y_GAP);
- sizer->Add (_audio_grid, 0, wxALL, 8);
- panel->SetSizer (sizer);
+ _audio_panel_sizer->Add (_audio_grid, 0, wxALL, 8);
+ panel->SetSizer (_audio_panel_sizer);
_channels_label = create_label (panel, _("Channels"), true);
_audio_channels = new wxChoice (panel, wxID_ANY);
@@ -942,10 +948,7 @@ DCPPanel::make_audio_panel ()
_processor_label = create_label (panel, _("Processor"), true);
_audio_processor = new wxChoice (panel, wxID_ANY);
- _audio_processor->Append (_("None"), new wxStringClientData (N_("none")));
- BOOST_FOREACH (AudioProcessor const * ap, AudioProcessor::all ()) {
- _audio_processor->Append (std_to_wx (ap->name ()), new wxStringClientData (std_to_wx (ap->id ())));
- }
+ add_audio_processors ();
_show_audio = new Button (panel, _("Show audio..."));
@@ -1040,3 +1043,13 @@ DCPPanel::reel_length_changed ()
_film->set_reel_length (_reel_length->GetValue() * 1000000000LL);
}
+
+void
+DCPPanel::add_audio_processors ()
+{
+ _audio_processor->Append (_("None"), new wxStringClientData (N_("none")));
+ BOOST_FOREACH (AudioProcessor const * ap, AudioProcessor::visible()) {
+ _audio_processor->Append (std_to_wx(ap->name()), new wxStringClientData(std_to_wx(ap->id())));
+ }
+ _audio_panel_sizer->Layout();
+}
diff --git a/src/wx/dcp_panel.h b/src/wx/dcp_panel.h
index f717e8327..887ae7c77 100644
--- a/src/wx/dcp_panel.h
+++ b/src/wx/dcp_panel.h
@@ -90,6 +90,7 @@ private:
void add_to_grid ();
void add_video_panel_to_grid ();
void add_audio_panel_to_grid ();
+ void add_audio_processors ();
int minimum_allowed_audio_channels () const;
@@ -151,6 +152,7 @@ private:
wxCheckBox* _upload_after_make_dcp;
wxButton* _markers;
wxButton* _metadata;
+ wxSizer* _audio_panel_sizer;
AudioDialog* _audio_dialog;
MarkersDialog* _markers_dialog;
diff --git a/src/wx/full_config_dialog.cc b/src/wx/full_config_dialog.cc
index ffe7b4749..f6dd783bd 100644
--- a/src/wx/full_config_dialog.cc
+++ b/src/wx/full_config_dialog.cc
@@ -1368,6 +1368,7 @@ public:
, _maximum_j2k_bandwidth (0)
, _allow_any_dcp_frame_rate (0)
, _allow_any_container (0)
+ , _show_experimental_audio_processors (0)
, _only_servers_encode (0)
, _log_general (0)
, _log_warning (0)
@@ -1428,6 +1429,10 @@ private:
restart->SetFont (font);
table->AddSpacer (0);
+ _show_experimental_audio_processors = new CheckBox (_panel, _("Show experimental audio processors"));
+ table->Add (_show_experimental_audio_processors, 1, wxEXPAND | wxALL);
+ table->AddSpacer (0);
+
_only_servers_encode = new CheckBox (_panel, _("Only servers encode"));
table->Add (_only_servers_encode, 1, wxEXPAND | wxALL);
table->AddSpacer (0);
@@ -1504,6 +1509,7 @@ private:
_video_display_mode->Bind (wxEVT_CHOICE, boost::bind(&AdvancedPage::video_display_mode_changed, this));
_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));
+ _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));
_dcp_metadata_filename_format->Changed.connect (boost::bind (&AdvancedPage::dcp_metadata_filename_format_changed, this));
@@ -1535,6 +1541,7 @@ private:
}
checked_set (_allow_any_dcp_frame_rate, config->allow_any_dcp_frame_rate ());
checked_set (_allow_any_container, config->allow_any_container ());
+ 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);
checked_set (_log_warning, config->log_types() & LogEntry::TYPE_WARNING);
@@ -1578,6 +1585,11 @@ private:
Config::instance()->set_allow_any_container (_allow_any_container->GetValue ());
}
+ void show_experimental_audio_processors_changed ()
+ {
+ Config::instance()->set_show_experimental_audio_processors (_show_experimental_audio_processors->GetValue ());
+ }
+
void only_servers_encode_changed ()
{
Config::instance()->set_only_servers_encode (_only_servers_encode->GetValue ());
@@ -1632,6 +1644,7 @@ private:
wxSpinCtrl* _frames_in_memory_multiplier;
wxCheckBox* _allow_any_dcp_frame_rate;
wxCheckBox* _allow_any_container;
+ wxCheckBox* _show_experimental_audio_processors;
wxCheckBox* _only_servers_encode;
NameFormatEditor* _dcp_metadata_filename_format;
NameFormatEditor* _dcp_asset_filename_format;