Add option to analyse audio automatically when content is added (#673).
[dcpomatic.git] / src / wx / config_dialog.cc
index 08b78bce1abdc3291964b4a67d32789463233675..4633552a6e874c6e0ffdf613815b72dca50e74a6 100644 (file)
@@ -183,6 +183,10 @@ private:
                table->Add (_num_local_encoding_threads, wxGBPosition (r, 1));
                ++r;
 
+               _automatic_audio_analysis = new wxCheckBox (_panel, wxID_ANY, _("Automatically analyse content audio"));
+               table->Add (_automatic_audio_analysis, wxGBPosition (r, 0), wxGBSpan (1, 2));
+               ++r;
+
                _check_for_updates = new wxCheckBox (_panel, wxID_ANY, _("Check for updates on startup"));
                table->Add (_check_for_updates, wxGBPosition (r, 0), wxGBSpan (1, 2));
                ++r;
@@ -211,6 +215,7 @@ private:
                _num_local_encoding_threads->SetRange (1, 128);
                _num_local_encoding_threads->Bind (wxEVT_COMMAND_SPINCTRL_UPDATED, boost::bind (&GeneralPage::num_local_encoding_threads_changed, this));
 
+               _automatic_audio_analysis->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&GeneralPage::automatic_audio_analysis_changed, this));
                _check_for_updates->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&GeneralPage::check_for_updates_changed, this));
                _check_for_test_updates->Bind (wxEVT_COMMAND_CHECKBOX_CLICKED, boost::bind (&GeneralPage::check_for_test_updates_changed, this));
 
@@ -249,6 +254,7 @@ private:
                setup_language_sensitivity ();
 
                checked_set (_num_local_encoding_threads, config->num_local_encoding_threads ());
+               checked_set (_automatic_audio_analysis, config->automatic_audio_analysis ());
                checked_set (_check_for_updates, config->check_for_updates ());
                checked_set (_check_for_test_updates, config->check_for_test_updates ());
                checked_set (_issuer, config->dcp_issuer ());
@@ -306,6 +312,11 @@ private:
                }
        }
 
+       void automatic_audio_analysis_changed ()
+       {
+               Config::instance()->set_automatic_audio_analysis (_automatic_audio_analysis->GetValue ());
+       }
+
        void check_for_updates_changed ()
        {
                Config::instance()->set_check_for_updates (_check_for_updates->GetValue ());
@@ -334,6 +345,7 @@ private:
        wxCheckBox* _set_language;
        wxChoice* _language;
        wxSpinCtrl* _num_local_encoding_threads;
+       wxCheckBox* _automatic_audio_analysis;
        wxCheckBox* _check_for_updates;
        wxCheckBox* _check_for_test_updates;
        wxTextCtrl* _issuer;