Re: [linux-audio-dev] LADSPA 2

From: tom christie <christie.tom@email-addr-hidden>
Date: Mon Apr 24 2006 - 19:21:58 EEST

I've been following the LAD mailing list for a while now,
mostly to keep an eye the development of LADSPA.
Now seems an appropriate time to voice my thoughts.

Separating out the metadata is certainly (IMHO) the right thing to do,
(I think Steve's proposal is a great step forward)
It mitigates the problem of making LADSPA easily extensible by moving
as much information as possible out of the fixed binary format.
However the problem remains that the core API still cannot be
extended without breaking backwards compatibility.

Surely with LADSPA 2.0 it's time to change the struct based API
to a library call based API.

# ie. the currently proposed API looks like...

ladspa_descriptor(index)

descriptor {
  uri
  port_count
  implementation_data
  instantiate(descriptor, ...)

  connect_port(instance, ...)
  activate(instance)
  run(instance, ...)
  deactivate(instance)
  cleanup(instance)
}

# a function call based API would look like...

ladspa2_descriptor(index)

uri(descriptor)
port_count(descriptor)
instantiate(descriptor, ...)

connect_port(instance, ...)
activate(instance)
run(instance, ...)
deactivate(instance)
cleanup(instance)

In the former, any change in the descriptor structure will always break
backwards compatibility.
In the later, new functions can extend the core functionality without
breaking backwards compatibility in any way.

I'd be very interested in hearing people's opinions on this.

Regards,

  Tom
Received on Mon Apr 24 20:15:06 2006

This archive was generated by hypermail 2.1.8 : Mon Apr 24 2006 - 20:15:06 EEST