summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-07-08 18:41:15 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-09-27 14:59:30 -0500
commit3cf92ee52391afb0e4463ab999723a09e5fa08bc (patch)
tree7412b6e12df21293bf640a8c57f122063bf76525 /libs
parentbc1876a84b1605e3e23aaacf1484b75af86d5077 (diff)
ignore control-only physical ports when building system bundles
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/session.cc21
1 files changed, 21 insertions, 0 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index c96c549431..b22fe03643 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -930,7 +930,28 @@ Session::setup_bundles ()
vector<string> outputs[DataType::num_types];
for (uint32_t i = 0; i < DataType::num_types; ++i) {
_engine.get_physical_inputs (DataType (DataType::Symbol (i)), inputs[i]);
+
+ /* rip out ControlOnly ports */
+
+ for (vector<string>::iterator si = inputs[i].begin(); si != inputs[i].end(); ) {
+ if (PortManager::port_is_control_only (*si)) {
+ si = inputs[i].erase (si);
+ } else {
+ ++si;
+ }
+ }
+
_engine.get_physical_outputs (DataType (DataType::Symbol (i)), outputs[i]);
+
+ /* rip out ControlOnly ports */
+
+ for (vector<string>::iterator si = outputs[i].begin(); si != outputs[i].end(); ) {
+ if (PortManager::port_is_control_only (*si)) {
+ si = outputs[i].erase (si);
+ } else {
+ ++si;
+ }
+ }
}
/* Create a set of Bundle objects that map