diff --git a/dpf b/dpf index 615a841..850308c 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 615a841552f738503882fbf5fb84d7de08299f26 +Subproject commit 850308cfa4326a7871b1ba955a3ce7cd44a1d657 diff --git a/src/CardinalPlugin.cpp b/src/CardinalPlugin.cpp index 6f104d6..d7e6f75 100644 --- a/src/CardinalPlugin.cpp +++ b/src/CardinalPlugin.cpp @@ -733,20 +733,49 @@ protected: void initAudioPort(const bool input, uint32_t index, AudioPort& port) override { - #if CARDINAL_VARIANT_FX || CARDINAL_VARIANT_NATIVE || CARDINAL_VARIANT_SYNTH - if (index < 2) - port.groupId = kPortGroupStereo; - #endif - - if (index >= 8) + #if CARDINAL_VARIANT_MAIN + if (index < 8) + { + port.groupId = index / 2; + } + else { port.hints = kAudioPortIsCV | kCVPortHasPositiveUnipolarRange | kCVPortHasScaledRange; index -= 8; } + #elif CARDINAL_VARIANT_FX || CARDINAL_VARIANT_NATIVE || CARDINAL_VARIANT_SYNTH + if (index < 2) + port.groupId = kPortGroupStereo; + #endif CardinalBasePlugin::initAudioPort(input, index, port); } + #if CARDINAL_VARIANT_MAIN + void initPortGroup(const uint32_t index, PortGroup& portGroup) override + { + switch (index) + { + case 0: + portGroup.name = "Audio 1+2"; + portGroup.symbol = "audio_1_and_2"; + break; + case 1: + portGroup.name = "Audio 3+4"; + portGroup.symbol = "audio_3_and_4"; + break; + case 2: + portGroup.name = "Audio 5+6"; + portGroup.symbol = "audio_5_and_6"; + break; + case 3: + portGroup.name = "Audio 7+8"; + portGroup.symbol = "audio_7_and_8"; + break; + } + } + #endif + void initParameter(const uint32_t index, Parameter& parameter) override { if (index < kModuleParameters)