summaryrefslogtreecommitdiff
path: root/libs/surfaces/cc121/cc121.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-05-12 14:51:31 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2017-05-12 14:51:39 +0100
commiteb3f50e15c9f9ed1880c59fecd6f8b3edcc05820 (patch)
tree5acd3346a7a7d63f0f8d1375f60979ecb4579a1f /libs/surfaces/cc121/cc121.cc
parentefc2660fec0d01c4c47d3fffcc5443025b33afc0 (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/cc121/cc121.cc')
-rw-r--r--libs/surfaces/cc121/cc121.cc12
1 files changed, 2 insertions, 10 deletions
diff --git a/libs/surfaces/cc121/cc121.cc b/libs/surfaces/cc121/cc121.cc
index 3f563db251..19301b86b8 100644
--- a/libs/surfaces/cc121/cc121.cc
+++ b/libs/surfaces/cc121/cc121.cc
@@ -115,8 +115,6 @@ CC121::CC121 (Session& s)
);
- StripableSelectionChanged.connect (selection_connection, MISSING_INVALIDATOR, boost::bind (&CC121::gui_track_selection_changed, this, _1), this);
-
/* Catch port connections and disconnections */
ARDOUR::AudioEngine::instance()->PortConnectedOrDisconnected.connect (port_connection, MISSING_INVALIDATOR, boost::bind (&CC121::connection_handler, this, _1, _2, _3, _4, _5), this);
buttons.insert (std::make_pair (EButton, Button (*this, _("EButton"), EButton)));
@@ -1040,15 +1038,9 @@ CC121::Button::get_state () const
}
void
-CC121::gui_track_selection_changed (StripableNotificationListPtr stripables)
+CC121::stripable_selection_changed ()
{
- boost::shared_ptr<Stripable> r;
-
- if (!stripables->empty()) {
- r = stripables->front().lock();
- }
-
- set_current_stripable (r);
+ set_current_stripable (first_selected_stripable());
}
void