summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2011-05-23 10:03:14 +0000
committerCarl Hetherington <carl@carlh.net>2011-05-23 10:03:14 +0000
commit32df6209384bf99a04b2e1e227e325700bc45eed (patch)
treed5a671e0b84ae218847f4d4fe9581cf32b8a0d8c /libs
parent09d4ab251e604c166cedad8fa0564bb175bc335d (diff)
Fix a few missing drops of Route references.
git-svn-id: svn://localhost/ardour2/branches/3.0@9571 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc5
-rw-r--r--libs/surfaces/mackie/route_signal.cc2
2 files changed, 7 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc
index 457c37a798..05d1fa3de2 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.cc
+++ b/libs/surfaces/mackie/mackie_control_protocol.cc
@@ -273,6 +273,11 @@ MackieControlProtocol::switch_banks (int initial)
DEBUG_TRACE (DEBUG::MackieControl, string_compose ("switch to %1, %2\n", _current_initial_bank, end_pos));
+ // clear out routes from our table in case any have been deleted
+ for (vector<boost::shared_ptr<Route> >::iterator i = route_table.begin(); i != route_table.end(); ++i) {
+ i->reset ();
+ }
+
// link routes to strips
uint32_t i = 0;
for (; it != end && it != sorted.end(); ++it, ++i)
diff --git a/libs/surfaces/mackie/route_signal.cc b/libs/surfaces/mackie/route_signal.cc
index bd75a06309..4446420cd4 100644
--- a/libs/surfaces/mackie/route_signal.cc
+++ b/libs/surfaces/mackie/route_signal.cc
@@ -63,6 +63,8 @@ void RouteSignal::connect()
// TODO this works when a currently-banked route is made inactive, but not
// when a route is activated which should be currently banked.
_route->active_changed.connect (connections, MISSING_INVALIDATOR, ui_bind (&MackieControlProtocol::notify_active_changed, &_mcp, this), midi_ui_context());
+
+ _route->DropReferences.connect (connections, MISSING_INVALIDATOR, ui_bind (&MackieControlProtocol::refresh_current_bank, &_mcp), midi_ui_context());
// TODO
// SelectedChanged