diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-10-20 10:21:44 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-10-20 10:21:44 -0400 |
commit | 9acc282f6501671e8b1a36357279c46777591f31 (patch) | |
tree | 930054dfcee02a20f5f3213335a0f0931c68ff0f /gtk2_ardour/rc_option_editor.cc | |
parent | 138aa61366d4594761e78d8bbf3fbb83acb2a267 (diff) |
MIDI port options now tracks dynamic port register/unregister
Diffstat (limited to 'gtk2_ardour/rc_option_editor.cc')
-rw-r--r-- | gtk2_ardour/rc_option_editor.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 74e38831a1..e8350b0167 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -1854,7 +1854,7 @@ private: }; -class MidiPortOptions : public OptionEditorBox +class MidiPortOptions : public OptionEditorBox, public sigc::trackable { public: MidiPortOptions() { @@ -1879,8 +1879,16 @@ class MidiPortOptions : public OptionEditorBox void parameter_changed (string const&) {} void set_state_from_config() {} + void on_show () { + refill (); + AudioEngine::instance()->PortRegisteredOrUnregistered.connect (port_connection, + invalidator (*this), + boost::bind (&MidiPortOptions::refill, this), + gui_context()); + } + void refill () { if (refill_midi_ports (true, midi_input_view)) { input_label.show (); } else { @@ -1894,6 +1902,7 @@ class MidiPortOptions : public OptionEditorBox } private: + PBD::ScopedConnection port_connection; /* MIDI port management */ struct MidiPortColumns : public Gtk::TreeModel::ColumnRecord { |