summaryrefslogtreecommitdiff
path: root/gtk2_ardour/rc_option_editor.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-10-20 10:21:44 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-10-20 10:21:44 -0400
commit9acc282f6501671e8b1a36357279c46777591f31 (patch)
tree930054dfcee02a20f5f3213335a0f0931c68ff0f /gtk2_ardour/rc_option_editor.cc
parent138aa61366d4594761e78d8bbf3fbb83acb2a267 (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.cc11
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 {