diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2017-05-12 14:51:31 +0100 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2017-05-12 14:51:39 +0100 |
commit | eb3f50e15c9f9ed1880c59fecd6f8b3edcc05820 (patch) | |
tree | 5acd3346a7a7d63f0f8d1375f60979ecb4579a1f /libs/surfaces/faderport8 | |
parent | efc2660fec0d01c4c47d3fffcc5443025b33afc0 (diff) |
change the way ControlProtocols (control surfaces) are notified and handle Stripable selection changes
The Editor continues to notify them, but via a direct call to ControlProtocolManager, not a signal.
The CP Manager calls the ControlProtocol static method to set up static data structures holding
selection info for all surfaces and then notifies each surface/protocol that selection has changed.
Diffstat (limited to 'libs/surfaces/faderport8')
-rw-r--r-- | libs/surfaces/faderport8/faderport8.cc | 8 | ||||
-rw-r--r-- | libs/surfaces/faderport8/faderport8.h | 2 |
2 files changed, 4 insertions, 6 deletions
diff --git a/libs/surfaces/faderport8/faderport8.cc b/libs/surfaces/faderport8/faderport8.cc index 03b0237ce1..ce9dbffe87 100644 --- a/libs/surfaces/faderport8/faderport8.cc +++ b/libs/surfaces/faderport8/faderport8.cc @@ -128,8 +128,6 @@ FaderPort8::FaderPort8 (Session& s) ARDOUR::AudioEngine::instance()->Stopped.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::engine_reset, this), this); ARDOUR::Port::PortDrop.connect (port_connections, MISSING_INVALIDATOR, boost::bind (&FaderPort8::engine_reset, this), this); - StripableSelectionChanged.connect (selection_connection, MISSING_INVALIDATOR, boost::bind (&FaderPort8::notify_gui_track_selection_changed, this), this); - /* bind button events to call libardour actions */ setup_actions (); @@ -1363,7 +1361,7 @@ FaderPort8::assign_strips (bool reset_bank) case ModeTrack: case ModePan: assign_stripables (); - notify_gui_track_selection_changed (); // update selection, automation-state + stripable_selection_changed (); // update selection, automation-state break; case ModePlugins: if (_proc_params.size() > 0) { @@ -1427,7 +1425,7 @@ FaderPort8::select_strip (boost::weak_ptr<Stripable> ws) } if (s->is_selected () && s != first_selected_stripable ()) { set_first_selected_stripable (s); - notify_gui_track_selection_changed (); + stripable_selection_changed (); } else { ToggleStripableSelection (s); } @@ -1538,7 +1536,7 @@ FaderPort8::notify_stripable_property_changed (boost::weak_ptr<Stripable> ws, co } void -FaderPort8::notify_gui_track_selection_changed (/*ARDOUR::StripableNotificationListPtr*/) +FaderPort8::stripable_selection_changed () { if (!_device_active) { /* this can be called anytime from the static diff --git a/libs/surfaces/faderport8/faderport8.h b/libs/surfaces/faderport8/faderport8.h index aa1fb8a1fc..06556b4ccd 100644 --- a/libs/surfaces/faderport8/faderport8.h +++ b/libs/surfaces/faderport8/faderport8.h @@ -181,7 +181,7 @@ private: void notify_pi_property_changed (const PBD::PropertyChange&); void notify_stripable_property_changed (boost::weak_ptr<ARDOUR::Stripable>, const PBD::PropertyChange&); - void notify_gui_track_selection_changed (); + void stripable_selection_changed (); PBD::ScopedConnection selection_connection; PBD::ScopedConnectionList automation_state_connections; |