Paul Davis wrote:

>You've apparently never used an analog modular synthesizer :)
>
Nay, I have used analog modular synth and I know what you're talking about.

>LADSPA is the same. If the plugin declares a port to accept audio, it
>can use the input in any way it wants.
>
No it doesn't work this way. A port is declared by the plugin, and the 
plugin knows which ports (even if it's an audio port) it uses as control 
ports. But when a host sees a port that says LADSPA_PORT_AUDIO, it 
doesn't know that is a control port, so think about what happens in the 
UI level. In a typical "network UI" view, the audio port shows up as one 
of the audio pins, and the user has no way to tell which pins are the 
actual audio ports, and which pins are the control ports disguised as an 
audio port. Nothing gets more misleading than this.

>We know that the current way of declaring control ports
>doesn't make it clear that they are all connected to the same
>fundamental parameter, which means that any automatically-built,
>host-suppled UI will be misleading and perhaps even unusable.
>
The issue is not the difficulty to show connection of different control 
ports. And even so, the automatically built UI won't be so misleading 
either. Let's take the example of an equalizer plugin. We can let the 
plugin take several control ports, each specifying the gain at a 
specific frequency. Say we have 32 of them. On the UI, it is very easy 
to show there are 32 gain "sliders" in the dialog box if all of them are 
label properly, and it is not misleading at all. Now, think about what 
if I want to equalize in a finer band than those defined in the control 
ports? Do I add more fixed control ports, or do I simply use an array 
structure to specify the pairs in the form of { freq0, gain0, freq1, 
gain1, freq2, gain2 ... }? Which one is more elegant?

And back to the previous audio-port-as-well-as-control-port issue, 
nothing gets more misleading than that. If misleading UI is an issue for 
you at all, then you contradict yourself by proposing the dangerous use 
of audio port as control port.

>But your
>suggestion doesn't seem to me to address that, and doesn't provide
>anything more than the ability we have now to declare a bunch of
>control ports, and use them inside the plugin in some "unorthodox" way.
>
Well, I as well pointed out the drawbacks of those unorthodox hacks. It 
is really up to you or any other person to decide whether those 
drawbacks are significant enough to hamper the well being of ladspa and 
applications that use it. I can't seek to argue more if you so earnestly 
believe there is no need to change ladspa, and you want to defend this 
belief at all cost.

liulk

Reply via email to