> Another example where an array would be useful as a control > port is the virtual-surround-sink. The HRIR data used by the filter > is an array of floats which could vary in size. I also disagree here. Yes, it can vary in size, but should not be treated as a control port at ...
You could for example have an audio port named "Input" and a control port "Number of input channels". Then the get_info_port() function would return the index of the "Number of input channels" control when called with the "Input" port as argument. Or the other way round: If you set...
> > If the eq band count was an initialization parameter rather than a > > control port, the IO thread limitations wouldn't become an issue, and > > it would be explicit that changing the eq band count means starting > > from scratch. It should still be possible to change initializatio...