Subject: [linux-audio-dev] Re: Quasimodo (Was: Re: LADSPA GUI)
From: monty (fowlkes_AT_lenin.dabney.caltech.edu)
Date: pe maalis 10 2000 - 19:01:18 EST
> No, actually I am going to tell you that I *have* implemented a system
> that supports both granularities.
>
> Quasimodo (http://quasimodo.org/) supports dynamically loaded things
> called opcodes which are the kind of pure, simplistic plugins that
> people have sometimes referred to here that just implement a DSP
> algorithm and nothing else. They consist of 1-3 functions, typically:
> one used at "instantiation time", one used for control data and one
> for audio data. Many opcodes consist of a single function to handle
> audio or control data. Quasimodo does not come *with* any opcodes - it
> dynamically loads them when it finds references to them in ...
>
> ... dynamically loaded "modules", which are written in some kind of
> script language that organizes a series of opcodes into a program (a
> flowgraph, if you like). Quasimodo compiles the module into "thread
> code" (a linked list of pointers to opcode functions), and then
> installs the module in a higher-level flowgraph that allows
> interconnections between the modules ("patching"). It also reads a XML
> specification of the GUI for the module, builds the relevant interface
> and "screws it into the rack" that Quasimodo presents as its GUI.
i'm certainly impressed with the
quasimodo project. (i've looked
at it briefly before although i've
never used it). my point was simply
that there is a difference between
modules (complete black-boxes) and
opcodes (dsp library with a standardized
interface). without looking at
the code, i assume the interface
between modules is different than
the interface between opcodes. i
would think routing audio signals into
controll ports breaks these layers
with little added utitlity. better
to have a module which uses some
opcodes to generate controll signals
from audio.
my original question still remains..
what granularity are we discussing in
terms of LADSPA? are we interested
in sharing opcodes between hosts or
just modules ? what about the
quasimodo/csound experience do people
find so disasterous as to require a
new API ? even though it isn't sexy,
programming time probably is probably
best spent fixing existing systems
rather than starting over.
charless
This archive was generated by hypermail 2b28 : su maalis 12 2000 - 09:14:06 EST