summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorLen Ovens <len@ovenwerks.net>2015-10-18 19:55:56 -0700
committerLen Ovens <len@ovenwerks.net>2015-10-18 19:55:56 -0700
commit48f91c6ef4c4b649f15c9c860243a2847be5b9ff (patch)
tree59b1cad45956c8f940ccb7a9d132646064c5a7c1 /libs
parent0185c9f25ab835612f4101fc3fddf97760c10491 (diff)
Add Audio Tracks and Busses too.
Diffstat (limited to 'libs')
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.cc21
-rw-r--r--libs/surfaces/mackie/mackie_control_protocol.h2
2 files changed, 23 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/mackie_control_protocol.cc b/libs/surfaces/mackie/mackie_control_protocol.cc
index ed05dc3e60..581d68b89e 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.cc
+++ b/libs/surfaces/mackie/mackie_control_protocol.cc
@@ -40,6 +40,7 @@
#include "pbd/memento_command.h"
#include "pbd/convert.h"
+#include "ardour/audio_track.h"
#include "ardour/automation_control.h"
#include "ardour/async_midi_port.h"
#include "ardour/dB.h"
@@ -287,8 +288,16 @@ MackieControlProtocol::get_sorted_routes()
remote_ids.insert (route->remote_control_id());
break;
case AudioTracks:
+ if (is_audio_track(*it)) {
+ sorted.push_back (*it);
+ remote_ids.insert (route->remote_control_id());
+ }
break;
case Busses:
+ if (!is_track(*it)) {
+ sorted.push_back (*it);
+ remote_ids.insert (route->remote_control_id());
+ }
break;
case MidiTracks:
if (is_midi_track(*it)) {
@@ -1994,6 +2003,18 @@ MackieControlProtocol::connection_handler (boost::weak_ptr<ARDOUR::Port> wp1, st
}
bool
+MackieControlProtocol::is_track (boost::shared_ptr<Route> r) const
+{
+ return boost::dynamic_pointer_cast<Track>(r) != 0;
+}
+
+bool
+MackieControlProtocol::is_audio_track (boost::shared_ptr<Route> r) const
+{
+ return boost::dynamic_pointer_cast<AudioTrack>(r) != 0;
+}
+
+bool
MackieControlProtocol::is_midi_track (boost::shared_ptr<Route> r) const
{
return boost::dynamic_pointer_cast<MidiTrack>(r) != 0;
diff --git a/libs/surfaces/mackie/mackie_control_protocol.h b/libs/surfaces/mackie/mackie_control_protocol.h
index e45d038d91..abdd96bf90 100644
--- a/libs/surfaces/mackie/mackie_control_protocol.h
+++ b/libs/surfaces/mackie/mackie_control_protocol.h
@@ -146,6 +146,8 @@ class MackieControlProtocol
bool zoom_mode () const { return modifier_state() & MODIFIER_ZOOM; }
bool metering_active () const { return _metering_active; }
+ bool is_track (boost::shared_ptr<ARDOUR::Route>) const;
+ bool is_audio_track (boost::shared_ptr<ARDOUR::Route>) const;
bool is_midi_track (boost::shared_ptr<ARDOUR::Route>) const;
void set_view_mode (ViewMode);