diff --git a/distrho/src/DistrhoPluginInternal.hpp b/distrho/src/DistrhoPluginInternal.hpp index e428aaf7..d7675633 100644 --- a/distrho/src/DistrhoPluginInternal.hpp +++ b/distrho/src/DistrhoPluginInternal.hpp @@ -70,6 +70,7 @@ static void fillInPredefinedPortGroupData(const uint32_t groupId, PortGroup& por break; } } + // ----------------------------------------------------------------------- // Plugin private data diff --git a/distrho/src/DistrhoPluginJACK.cpp b/distrho/src/DistrhoPluginJACK.cpp index 618c5604..97a33c01 100644 --- a/distrho/src/DistrhoPluginJACK.cpp +++ b/distrho/src/DistrhoPluginJACK.cpp @@ -38,6 +38,10 @@ # define JACK_METADATA_PRETTY_NAME "http://jackaudio.org/metadata/pretty-name" #endif +#ifndef JACK_METADATA_PORT_GROUP +# define JACK_METADATA_PORT_GROUP "http://jackaudio.org/metadata/port-group" +#endif + #ifndef JACK_METADATA_SIGNAL_TYPE # define JACK_METADATA_SIGNAL_TYPE "http://jackaudio.org/metadata/signal-type" #endif @@ -588,6 +592,12 @@ private: jackbridge_set_property(fClient, uuid, JACK_METADATA_ORDER, strBuf, "http://www.w3.org/2001/XMLSchema#integer"); } + if (port.groupId != kPortGroupNone) + { + const PortGroupWithId& portGroup(fPlugin.getPortGroupById(port.groupId)); + jackbridge_set_property(fClient, uuid, JACK_METADATA_PORT_GROUP, portGroup.name, "text/plain"); + } + if (port.hints & kAudioPortIsCV) { jackbridge_set_property(fClient, uuid, JACK_METADATA_SIGNAL_TYPE, "CV", "text/plain");