summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_unit.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-11-10 05:02:31 +0100
committerRobin Gareus <robin@gareus.org>2016-11-10 05:02:31 +0100
commit781d88e4edd4be112a7a16b67516253cd38afbe5 (patch)
tree107c825fa55cd8de742c1a198336fbc9ed6789bd /libs/ardour/audio_unit.cc
parente34f8dbf1ee7b845bf48a78d6f5148034b455885 (diff)
Add AU support for output-channel/bus grouping
Diffstat (limited to 'libs/ardour/audio_unit.cc')
-rw-r--r--libs/ardour/audio_unit.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc
index 13bc579731..f82ab3275e 100644
--- a/libs/ardour/audio_unit.cc
+++ b/libs/ardour/audio_unit.cc
@@ -1958,6 +1958,8 @@ AUPlugin::describe_io_port (ARDOUR::DataType dt, bool input, uint32_t id) const
break;
}
+ std::string busname;
+
if (dt == DataType::AUDIO) {
if (input) {
uint32_t pid = id;
@@ -1966,6 +1968,7 @@ AUPlugin::describe_io_port (ARDOUR::DataType dt, bool input, uint32_t id) const
id = pid;
ss << _bus_name_in[bus];
ss << " / Bus " << (1 + bus);
+ busname = _bus_name_in[bus];
break;
}
pid -= bus_inputs[bus];
@@ -1978,6 +1981,7 @@ AUPlugin::describe_io_port (ARDOUR::DataType dt, bool input, uint32_t id) const
id = pid;
ss << _bus_name_out[bus];
ss << " / Bus " << (1 + bus);
+ busname = _bus_name_out[bus];
break;
}
pid -= bus_outputs[bus];
@@ -1994,6 +1998,10 @@ AUPlugin::describe_io_port (ARDOUR::DataType dt, bool input, uint32_t id) const
ss << (id + 1);
Plugin::IOPortDescription iod (ss.str());
+ if (!busname.empty()) {
+ iod.group_name = busname;
+ iod.group_channel = id;
+ }
return iod;
}