Re: [linux-audio-dev] LADSPA and many control parameters.

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] LADSPA and many control parameters.
From: Paul Davis (pbd_AT_op.net)
Date: Tue Jul 16 2002 - 15:05:47 EEST


>As already stated, I am a newbie on this list, so never mind if my
>questions
>are stupid...
>
>As I am interested in software synths, I wonder how e.g. the parameters
>of a synthesizer like the DX7, can be handled using LADSPA.
>The DX7 has several (>80) parameters to set, and it seems to me a bit
>of an overkill to export and manipulate each parameter using a control
>port.
>
>Wouldn't it be sufficient to know the index of the parameter and
>change/get
>values using two generic access functions like (pseudo-code):
>
>void set_parameter_value(Handle, ParameterIndex, ParameterValue)
>LADSPA_Data (*get_parameter_value)(Handle, ParameterIndex);

i think you've misunderstood LADSPA's design. for writable control
ports, the host defines the memory location of the control port. it is
free to write into it at any time with direct mmeory access. in
ardour, we just allocate an array of LADSPA_Data, then set each
control port to use a successive index, and then set its location
directly when its changed from the UI (its up to the plugin to do any
internal interpolation necessary).

thus, functions like the one above are entirely possible, but they
exist on the host side, not the plugin side.

note: things are a little different for a readable control port as
opposed to a writable control port. in the case of a DX7 emulation
such as you mention above, the values would almost certainly be write
ports, not read ports. a read port is really just a way for the plugin
to let the host know the value of some internal state that
specifically *isn't* directly controllable by the host.

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Tue Jul 16 2002 - 15:10:15 EEST