Browse Source

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

Signed-off-by: falkTX <falktx@falktx.com>
pull/293/head
falkTX 4 years ago
parent
commit
ce1ae1e51a
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
1 changed files with 47 additions and 3 deletions
  1. +47
    -3
      distrho/src/DistrhoPluginLV2export.cpp

+ 47
- 3
distrho/src/DistrhoPluginLV2export.cpp View File

@@ -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;



Loading…
Cancel
Save