Extract part of EngineControl::backend_changed into EngineControl::update_midi_options
authorTim Mayberry <mojofunk@gmail.com>
Mon, 10 Aug 2015 02:49:42 +0000 (12:49 +1000)
committerTim Mayberry <mojofunk@gmail.com>
Mon, 10 Aug 2015 23:24:52 +0000 (09:24 +1000)
gtk2_ardour/engine_dialog.cc
gtk2_ardour/engine_dialog.h

index 1636f1a1eedb54947d91ecf45e7df9ebe0efe421..28e0adcdca97155c5bd2eca768a56c74d3d08842 100644 (file)
@@ -880,6 +880,23 @@ EngineControl::backend_changed ()
                list_devices ();
        }
 
+       update_midi_options ();
+
+       connect_disconnect_button.hide();
+
+       midi_option_changed();
+
+       started_at_least_once = false;
+
+       if (!ignore_changes) {
+               maybe_display_saved_state ();
+       }
+}
+
+void
+EngineControl::update_midi_options ()
+{
+       boost::shared_ptr<ARDOUR::AudioBackend> backend = ARDOUR::AudioEngine::instance()->current_backend();
        vector<string> midi_options = backend->enumerate_midi_options();
 
        if (midi_options.size() == 1) {
@@ -894,16 +911,6 @@ EngineControl::backend_changed ()
                        midi_option_combo.set_sensitive (false);
                }
        }
-
-       connect_disconnect_button.hide();
-
-       midi_option_changed();
-
-       started_at_least_once = false;
-
-       if (!ignore_changes) {
-               maybe_display_saved_state ();
-       }
 }
 
 bool
index bb4965884d0a84db4e042b9afb4e72e6880156e6..59b209449962fbf9af0e341b08f50e8987d64dad 100644 (file)
@@ -134,6 +134,8 @@ class EngineControl : public ArdourDialog, public PBD::ScopedConnectionList {
     void setup_midi_tab_for_jack ();
     void refresh_midi_display (std::string focus = "");
 
+       void update_midi_options ();
+
     std::string bufsize_as_string (uint32_t);
 
     float get_rate() const;