diff options
author | Len Ovens <len@ovenwerks.net> | 2015-10-18 19:55:56 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2015-10-18 19:55:56 -0700 |
commit | 48f91c6ef4c4b649f15c9c860243a2847be5b9ff (patch) | |
tree | 59b1cad45956c8f940ccb7a9d132646064c5a7c1 /libs | |
parent | 0185c9f25ab835612f4101fc3fddf97760c10491 (diff) |
Add Audio Tracks and Busses too.
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.cc | 21 | ||||
-rw-r--r-- | libs/surfaces/mackie/mackie_control_protocol.h | 2 |
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); |