diff --git a/distrho/src/DistrhoPluginVST3.cpp b/distrho/src/DistrhoPluginVST3.cpp index a9b99416..f71cf5ee 100644 --- a/distrho/src/DistrhoPluginVST3.cpp +++ b/distrho/src/DistrhoPluginVST3.cpp @@ -2823,6 +2823,7 @@ private: // d_debug("setAudioBusArrangement %d %d | %d %lx", (int)isInput, numBuses, busId, arr); + size_t nth_speaker = 0; for (uint32_t i=0; i(busInfo, port.groupId, busId); - - // fail if host tries to map it to anything else - // FIXME should we allow to map speaker to zero as a way to disable it? - if (earr != arr /* && arr != 0 */) - { - ok = false; - continue; - } - - enabledPorts[i] = arr != 0; + v3_speaker_arrangement earr = (uint64_t)1 << nth_speaker; + enabledPorts[i] = 0 != (arr & earr); + ++nth_speaker; } }