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);
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 ();
}
*/
engine_stopped (); // set "active/inactive"
+ if (!_have_control) {
+ // set settings from backend that we do have control over
+ set_active_text_if_present (buffer_size_combo, bufsize_as_string (backend->buffer_size()));
+ }
+
if (!ignore_changes) {
maybe_display_saved_state ();
}
// do the right thing
backend_combo.set_active_text (state->backend);
+ if (!ARDOUR::AudioEngine::instance()->setup_required ()) {
+ backend_changed ();
+ // we don't have control don't restore state
+ return true;
+ }
+
+
if (!state->driver.empty ()) {
if (!backend->requires_driver_selection ()) {
DEBUG_ECONTROL ("Backend should require driver selection");
}
}
+void
+EngineControl::latency_back_button_clicked ()
+{
+ ARDOUR::AudioEngine::instance()->stop(true);
+ notebook.set_current_page(0);
+}
+
void
EngineControl::use_latency_button_clicked ()
{
/* back to settings page */
notebook.set_current_page (0);
-}
}
-
+}
bool
EngineControl::on_delete_event (GdkEventAny* ev)