DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit ce1ae1e51aeaf644e822f363bccb8e210e310fff
parent fc2930cbcf3f20dd880d064061420280fef20cc3
Author: falkTX <falktx@falktx.com>
Date:   Mon, 21 Jun 2021 16:22:07 +0100

LV2: Use mono and stereo port group definitions from lv2 spec

Signed-off-by: falkTX <falktx@falktx.com>

Diffstat:
Mdistrho/src/DistrhoPluginLV2export.cpp | 50+++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 47 insertions(+), 3 deletions(-)

diff --git a/distrho/src/DistrhoPluginLV2export.cpp b/distrho/src/DistrhoPluginLV2export.cpp @@ -430,9 +430,21 @@ void lv2_generate_ttl(const char* const basename) if (port.hints & kAudioPortIsSidechain) pluginString += " lv2:portProperty lv2:isSideChain;\n"; - if (port.groupId != kPortGroupNone) + switch (port.groupId) + { + case kPortGroupNone: + break; + case kPortGroupMono: + pluginString += " pg:group pg:MonoGroup ;\n"; + break; + case kPortGroupStereo: + pluginString += " pg:group pg:StereoGroup ;\n"; + break; + default: pluginString += " pg:group <" DISTRHO_PLUGIN_URI "#portGroup_" + plugin.getPortGroupSymbolForId(port.groupId) + "> ;\n"; + break; + } // set ranges if (port.hints & kCVPortHasBipolarRange) @@ -508,9 +520,21 @@ void lv2_generate_ttl(const char* const basename) if (port.hints & kAudioPortIsSidechain) pluginString += " lv2:portProperty lv2:isSideChain;\n"; - if (port.groupId != kPortGroupNone) + switch (port.groupId) + { + case kPortGroupNone: + break; + case kPortGroupMono: + pluginString += " pg:group pg:MonoGroup ;\n"; + break; + case kPortGroupStereo: + pluginString += " pg:group pg:StereoGroup ;\n"; + break; + default: pluginString += " pg:group <" DISTRHO_PLUGIN_URI "#portGroup_" + plugin.getPortGroupSymbolForId(port.groupId) + "> ;\n"; + break; + } // set ranges if (port.hints & kCVPortHasBipolarRange) @@ -805,9 +829,22 @@ void lv2_generate_ttl(const char* const basename) // group const uint32_t groupId = plugin.getParameterGroupId(i); - if (groupId != kPortGroupNone) + switch (groupId) + { + case kPortGroupNone: + break; + case kPortGroupMono: + pluginString += " pg:group pg:MonoGroup ;\n"; + break; + case kPortGroupStereo: + pluginString += " pg:group pg:StereoGroup ;\n"; + break; + default: pluginString += " pg:group <" DISTRHO_PLUGIN_URI "#portGroup_" + plugin.getPortGroupSymbolForId(groupId) + "> ;\n"; + break; + } + } // ! designated if (i+1 == count) @@ -903,6 +940,13 @@ void lv2_generate_ttl(const char* const basename) DISTRHO_SAFE_ASSERT_CONTINUE(portGroup.groupId != kPortGroupNone); DISTRHO_SAFE_ASSERT_CONTINUE(portGroup.symbol.isNotEmpty()); + switch (portGroup.groupId) + { + case kPortGroupMono: + case kPortGroupStereo: + continue; + } + pluginString += "\n<" DISTRHO_PLUGIN_URI "#portGroup_" + portGroup.symbol + ">\n"; isInput = isOutput = false;