summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--src/wx/audio_panel.cc9
-rw-r--r--src/wx/audio_panel.h2
3 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 129e9ce2c..ae4214226 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-03-28 Carl Hetherington <cth@carlh.net>
+
+ * Disable audio mapping control when analysing audio (#1250).
+
2018-03-27 Carl Hetherington <cth@carlh.net>
* Use a label rather than a tooltip to tell users why they can't
diff --git a/src/wx/audio_panel.cc b/src/wx/audio_panel.cc
index b60d5d121..88eae5141 100644
--- a/src/wx/audio_panel.cc
+++ b/src/wx/audio_panel.cc
@@ -125,7 +125,7 @@ AudioPanel::AudioPanel (ContentPanel* p)
_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 ()
@@ -347,10 +347,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);
}
}
diff --git a/src/wx/audio_panel.h b/src/wx/audio_panel.h
index 5551b396d..66667e1ad 100644
--- a/src/wx/audio_panel.h
+++ b/src/wx/audio_panel.h
@@ -46,7 +46,7 @@ private:
void mapping_changed (AudioMapping);
void setup_description ();
void setup_peak ();
- void active_jobs_changed (boost::optional<std::string>);
+ void active_jobs_changed (boost::optional<std::string>, boost::optional<std::string>);
void setup_sensitivity ();
void reference_clicked ();