for plugin with 1 mono, 1 stereo and one 5.1 outputs (kNumOutputs = 9): bool MyPlug::getOutputProperties (long index, VstPinProperties* properties) { bool returnCode = false; if (index >= 0 && index < kNumOutputs) { properties->flags = kVstPinIsActive; if (index == 0) // mono { strcpy (properties->label, "Mono Out"); properties->arrangementType = kSpeakerArrMono; } else if (index == 1) // stereo (1 -> 2) { strcpy (properties->label, "Stereo Out"); properties->flags |= kVstPinIsStereo; properties->arrangementType = kSpeakerArrStereo; } else if (index >= 3) // 5.1 (3 -> 8) { strcpy (properties->label, "5.1 Out"); properties->flags |= kVstPinUseSpeaker; properties->arrangementType = kSpeakerArr51;
for old VST Host < 2.3, make 5.1 to stereo/mono/mono/stereo (L R C Lfe Ls Rs) if (index == 3 || index == 7) properties->flags |= kVstPinIsStereo; if (index == 5) strcpy (properties->label, "Center"); else if (index == 6) strcpy (properties->label, "Lfe"); else if (index == 7) // (7 -> 8) strcpy (properties->label, "Stereo Back"); } returnCode = true; } return returnCode; }