[LAD] LADSPA extension for periodic control values?

Fons Adriaensen fons at kokkinizita.net
Sun Jun 14 21:31:57 UTC 2009


On Sat, Jun 13, 2009 at 01:46:47PM +0200, Jörn Nettingsmeier wrote:
> hi everyone!
> 
> 
> sorry if this has been discussed before, but i didn't find anything in
> the archives...
> consider the case of periodic control values of LADSPA plugins, for
> instance the azimuth in a horizontal panner or the phase shift in a phaser.
> currently, they are usually marked as BOUNDED_BELOW and BOUNDED_ABOVE,
> but the host has no way of knowing that the upper bound is next to the
> lower bound, so that it can chose the shortest path to the next value
> when interpolating automation control points.
> 
> take ardour, for example: if i want to spin a source 360 degrees, i have
> to start at 0, set a control point at 180, set another control point at
> the exact next sample to -180 and then onwards. if there is even a
> single sample between the control points, the interpolation will cause
> the image to jump in weird ways, because it doesn't know that 180 == -180.
> 
> does it make sense to add a new hint to LADSPA, something like
> LADSPA_HINT_PERIODIC? it would mandate LADSPA_HINT_BOUNDED_BELOW and
> LADSPA_HINT_BOUNDED_ABOVE as well as the respective port range hints,
> *and* imply that LowerBound is equivalent to UpperBound in the port
> range hint structure.
> 
> this would enable hosts to do the Right Thing(tm).

Would make perfect sense, and there are lots of spare bits
in the hints word.

And I'll repeat my proposal of almost 5 years ago:

- Add a 'enumerated' bit to the hints, used together with
  'integer'.
- Add the required strings at the end of the port names
  array, where it is trivially easy for a host to find
  them (or ignore them if the host doesn't know about
  the new bit).


Ciao,

-- 
FA

Io lo dico sempre: l'Italia è troppo stretta e lunga.




More information about the Linux-audio-dev mailing list