Fix crash when trying to make a KDM on an unencrypted project.
[dcpomatic.git] / src / wx / audio_panel.cc
index b60d5d1213f2ad728d48e7361476a080042b8e06..7d3ea32642b9cc8d8729f453a5cd95126f7c687c 100644 (file)
@@ -119,13 +119,18 @@ AudioPanel::AudioPanel (ContentPanel* p)
        _gain->wrapped()->SetIncrement (0.5);
        _delay->wrapped()->SetRange (-1000, 1000);
 
+       content_selection_changed ();
+       film_changed (Film::AUDIO_CHANNELS);
+       film_changed (Film::VIDEO_FRAME_RATE);
+       film_changed (Film::REEL_TYPE);
+
        _reference->Bind             (wxEVT_CHECKBOX, boost::bind (&AudioPanel::reference_clicked, this));
        _show->Bind                  (wxEVT_BUTTON,   boost::bind (&AudioPanel::show_clicked, this));
        _gain_calculate_button->Bind (wxEVT_BUTTON,   boost::bind (&AudioPanel::gain_calculate_button_clicked, this));
 
        _mapping_connection = _mapping->Changed.connect (boost::bind (&AudioPanel::mapping_changed, this, _1));
 
-       JobManager::instance()->ActiveJobsChanged.connect (boost::bind (&AudioPanel::active_jobs_changed, this, _1));
+       JobManager::instance()->ActiveJobsChanged.connect (boost::bind (&AudioPanel::active_jobs_changed, this, _1, _2));
 }
 
 AudioPanel::~AudioPanel ()
@@ -260,6 +265,7 @@ AudioPanel::content_selection_changed ()
        _delay->set_content (sel);
 
        film_content_changed (AudioContentProperty::STREAMS);
+       film_content_changed (AudioContentProperty::GAIN);
        film_content_changed (DCPContentProperty::REFERENCE_AUDIO);
 
        setup_sensitivity ();
@@ -347,10 +353,13 @@ AudioPanel::setup_peak ()
 }
 
 void
-AudioPanel::active_jobs_changed (optional<string> j)
+AudioPanel::active_jobs_changed (optional<string> old_active, optional<string> new_active)
 {
-       if (j && *j == "analyse_audio") {
+       if (old_active && *old_active == "analyse_audio") {
                setup_peak ();
+               _mapping->Enable (true);
+       } else if (new_active && *new_active == "analyse_audio") {
+               _mapping->Enable (false);
        }
 }