On Wed, 2006-07-05 at 18:36 +0000, carmen wrote:
LV2 should hopefully solve these limitations Om/Ingen suffered at the
hands of LADSPA. MIDI processing plugins will be available, and making
samplers and loopers and all that fun stuff LADSPA isn't very good at
should be more feasible. Ingen isn't going to progress much in the next
month or two though, I'm busy in Ardour-land...
The graph is "compiled" in a sense - it's traversed to generate a flat
array that is actually executed in the process callback, so generating
some parallel-executable structure instead of an array is doable without
any major changes. There's no parallelism right now mostly because I
don't think it's possible to do so and have the process callback still
be hard realtime (anyone with an idea otherwise please let me know).
That said, feel free to take a look. "Node" (src/libs/engine/Node.h) is
the important (pure abstract) interface. Anything that implements that
can run in a patch (graph). so faust support or whatever should be easy
(in the case of compiled stuff like Faust the compilation would happen
inside the Node class unbeknownst to everything else). I did LV2
support in a half hour, it's not difficult to add new Node types.
Drop me a line via email or IRC if it looks like something you can work