summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-01 21:43:03 +0200
committerRobin Gareus <robin@gareus.org>2014-06-02 19:21:15 +0200
commit6dfb63bb463721a3b772eabfd8bbb0274f4e8389 (patch)
tree317ed114ef320489733f6fedcb2a59582fae28cd /gtk2_ardour
parent7f18913e6de848dddcb4a76841992dd2d6796d52 (diff)
tentative fix for requesting driver+device list from backend
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/engine_dialog.cc49
1 files changed, 20 insertions, 29 deletions
diff --git a/gtk2_ardour/engine_dialog.cc b/gtk2_ardour/engine_dialog.cc
index e3d40702ef..359a8f8194 100644
--- a/gtk2_ardour/engine_dialog.cc
+++ b/gtk2_ardour/engine_dialog.cc
@@ -271,10 +271,6 @@ EngineControl::EngineControl ()
backend_changed ();
- if (audio_setup) {
- set_state (*audio_setup);
- }
-
/* Connect to signals */
driver_combo.signal_changed().connect (sigc::mem_fun (*this, &EngineControl::driver_changed));
@@ -288,6 +284,10 @@ EngineControl::EngineControl ()
input_channels.signal_changed().connect (sigc::mem_fun (*this, &EngineControl::parameter_changed));
output_channels.signal_changed().connect (sigc::mem_fun (*this, &EngineControl::parameter_changed));
+ if (audio_setup) {
+ set_state (*audio_setup);
+ }
+
notebook.signal_switch_page().connect (sigc::mem_fun (*this, &EngineControl::on_switch_page));
}
@@ -633,10 +633,6 @@ EngineControl::EngineControl ()
void
EngineControl::backend_changed ()
{
- if (ignore_changes) {
- return;
- }
-
string backend_name = backend_combo.get_active_text();
boost::shared_ptr<ARDOUR::AudioBackend> backend;
@@ -687,7 +683,9 @@ EngineControl::EngineControl ()
}
}
- maybe_display_saved_state ();
+ if (!ignore_changes) {
+ maybe_display_saved_state ();
+ }
}
bool
@@ -759,25 +757,20 @@ EngineControl::EngineControl ()
void
EngineControl::driver_changed ()
{
- if (ignore_changes) {
- return;
- }
-
boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
assert (backend);
backend->set_driver (driver_combo.get_active_text());
list_devices ();
- maybe_display_saved_state ();
+ if (!ignore_changes) {
+ maybe_display_saved_state ();
+ }
}
void
EngineControl::device_changed ()
{
- if (ignore_changes) {
- return;
- }
boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
assert (backend);
@@ -875,8 +868,10 @@ EngineControl::EngineControl ()
/* pick up any saved state for this device */
- maybe_display_saved_state ();
- }
+ if (!ignore_changes) {
+ maybe_display_saved_state ();
+ }
+ }
string
EngineControl::bufsize_as_string (uint32_t sz)
@@ -892,28 +887,24 @@ EngineControl::EngineControl ()
void
EngineControl::sample_rate_changed ()
{
- if (ignore_changes) {
- return;
- }
-
/* reset the strings for buffer size to show the correct msec value
(reflecting the new sample rate).
*/
show_buffer_duration ();
- save_state ();
+ if (!ignore_changes) {
+ save_state ();
+ }
}
void
EngineControl::buffer_size_changed ()
{
- if (ignore_changes) {
- return;
- }
-
show_buffer_duration ();
- save_state ();
+ if (!ignore_changes) {
+ save_state ();
+ }
}
void