JucePlugin_PreferredChannelConfigurations?


#1

In the demo framework we have

What exactly does this setup, is it specify some sorta mapping? Thanx


#2

Sorry, but doesn’t the comment above it explain well enough?


#3

I guess it does but i’d like to be clear on it, if I have many ins and outs there are many possible permutations of the mapping can u tell me what it actually is? could be {1,2},{2,1} or {1,1,2},{1,2,3} ect. thats why its good to be clear on how to specify these configurations, as it can be interpreted in many ways.


#4

Ok, maybe it’s not clear enough! How about this as a better comment:

[code]This allows the plugin to specify the configurations of input/output channels that
they can support.

AU and RTAS hosts will use this information, although VSTs only have a concept of 
a maximum number of channels.

The list is a set of pairs of values in the form { numInputs, numOutputs }, and each
pair indicates a valid configuration that the plugin can handle.

So for example, {1, 1}, {2, 2} means that the plugin can be used in just two 
configurations: either with 1 input and 1 output, or with 2 inputs and 2 outputs. If
you used this in Pro-Tools, the plugin could be placed on a mono or stereo track.
If the list was just {1, 1}, then Pro-Tools would only allow it to be used as a mono
plugin.

As soon as a plugin's prepareToPlay() method is called, you can find out the actual 
number of channels that the host has connected to the plugin by using the 
AudioFilterBase::getNumOutputChannels() and AudioFilterBase::getNumInputChannels() 
methods.

[/code]


#5

One thing that’s not 100% clear to me is how to configure synths. Do input channels in this context include midi channels? Should you say {0,2} (no audio input) or {16,2} (16 midi channel input) or {2,2} (can be put on a stereo bus)?


#6

No, these are audio channels, they’ve got nothing to do with midi at all.


#7