In the demo framework we have

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

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

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.

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

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() 


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)?

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