summaryrefslogtreecommitdiff
path: root/libs/ardour/session_state.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-05-17 15:06:01 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-05-31 15:30:43 -0400
commitd31527f2e6471ed65a940304ecbc9aafa75759ea (patch)
tree79aa74fe36bfb44b47243ea8360a471951363ca6 /libs/ardour/session_state.cc
parentc448b805d1124a2d4a2004efb685ff54674f719f (diff)
improve/extend Session::controllable_by_descriptor()
Diffstat (limited to 'libs/ardour/session_state.cc')
-rw-r--r--libs/ardour/session_state.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index e7769b719a..55258a3ead 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -29,6 +29,7 @@
#include <cerrno>
#include <cstdio> /* snprintf(3) ... grrr */
#include <cmath>
+
#include <unistd.h>
#include <climits>
#include <signal.h>
@@ -80,6 +81,7 @@
#include "ardour/audioengine.h"
#include "ardour/audiofilesource.h"
#include "ardour/audioregion.h"
+#include "ardour/auditioner.h"
#include "ardour/automation_control.h"
#include "ardour/boost_debug.h"
#include "ardour/butler.h"
@@ -3403,13 +3405,17 @@ Session::controllable_by_descriptor (const ControllableDescriptor& desc)
case ControllableDescriptor::NamedRoute:
{
std::string str = desc.top_level_name();
+
if (str == "Master" || str == "master") {
s = _master_out;
- } else if (str == "control" || str == "listen") {
+ } else if (str == "control" || str == "listen" || str == "monitor" || str == "Monitor") {
s = _monitor_out;
+ } else if (str == "auditioner") {
+ s = auditioner;
} else {
s = route_by_name (desc.top_level_name());
}
+
break;
}
@@ -3417,6 +3423,14 @@ Session::controllable_by_descriptor (const ControllableDescriptor& desc)
s = get_remote_nth_stripable (desc.presentation_order(), PresentationInfo::Route);
break;
+ case ControllableDescriptor::PresentationOrderTrack:
+ s = get_remote_nth_stripable (desc.presentation_order(), PresentationInfo::Track);
+ break;
+
+ case ControllableDescriptor::PresentationOrderBus:
+ s = get_remote_nth_stripable (desc.presentation_order(), PresentationInfo::Bus);
+ break;
+
case ControllableDescriptor::PresentationOrderVCA:
s = get_remote_nth_stripable (desc.presentation_order(), PresentationInfo::VCA);
break;