summaryrefslogtreecommitdiff
path: root/gtk2_ardour/engine_dialog.cc
diff options
context:
space:
mode:
authorTim Mayberry <mojofunk@gmail.com>2015-10-03 15:49:55 +1000
committerTim Mayberry <mojofunk@gmail.com>2015-10-06 13:29:57 +1000
commitef0f13cb840376a8bc8553a509597e0c8cf5a7ea (patch)
tree9c330646ae37492bf9b4d42b1d16a7ae795a7710 /gtk2_ardour/engine_dialog.cc
parent528ad3416affba88adef19e7f8db71504772e057 (diff)
Stop engine when clicking back button in latency measurement tab of EngineControl dialog
The engine is started when you switch to latency measurement tab but it isn't stopped if you just click the back button without measuring for latency.
Diffstat (limited to 'gtk2_ardour/engine_dialog.cc')
-rw-r--r--gtk2_ardour/engine_dialog.cc16
1 files changed, 12 insertions, 4 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index 82b7645161..8e9df2c5c5 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -186,7 +186,8 @@ EngineControl::EngineControl ()
lm_measure_button.add (lm_measure_label);
lm_measure_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::latency_button_clicked));
lm_use_button.signal_clicked().connect (sigc::mem_fun (*this, &EngineControl::use_latency_button_clicked));
- lm_back_button_signal = lm_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), 0));
+ lm_back_button_signal = lm_back_button.signal_clicked().connect(
+ sigc::mem_fun(*this, &EngineControl::latency_back_button_clicked));
lm_use_button.set_sensitive (false);
@@ -726,7 +727,8 @@ EngineControl::enable_latency_tab ()
lm_back_button_signal = lm_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), midi_tab));
lm_preamble.hide ();
} else {
- lm_back_button_signal = lm_back_button.signal_clicked().connect (sigc::bind (sigc::mem_fun (notebook, &Gtk::Notebook::set_current_page), 0));
+ lm_back_button_signal = lm_back_button.signal_clicked().connect(
+ sigc::mem_fun(*this, &EngineControl::latency_back_button_clicked));
lm_preamble.show ();
}
@@ -2803,6 +2805,13 @@ EngineControl::latency_button_clicked ()
}
void
+EngineControl::latency_back_button_clicked ()
+{
+ ARDOUR::AudioEngine::instance()->stop(true);
+ notebook.set_current_page(0);
+}
+
+void
EngineControl::use_latency_button_clicked ()
{
if (_measure_midi) {
@@ -2831,9 +2840,8 @@ EngineControl::use_latency_button_clicked ()
/* back to settings page */
notebook.set_current_page (0);
-}
}
-
+}
bool
EngineControl::on_delete_event (GdkEventAny* ev)