I've done some work on a plugin infrastructure for sweep over the last
couple of weeks.
Basically, it does parameter marshalling (plugins just define what
kinds of parameters they expect, and can put constraints on them)
and sweep builds gui dialogs for the plugins and runs it.
The aim is to make plugins as simple to write as possible, and it seems
to work pretty well.
It all hooks in to the undo/redo mechanisms, and you can write effect
functions that work on entire selections or just a region of a selection
(in which case the iterations are done for you). Anyway, this all needs
to be documented ...
Plugins are dynamically opened using the portable g_module routines.
The plugin interface is not in any way final, but its usable. Plugins
can potentially do all kinds of sweepy things -- making wierd
selections, recording off devices, whatever. For just doing effects,
I aim to support ladspa plugins -- I just wanted to mention this before
someone jumps at me!
The code is in cvs:
viewable via cvsweb at:
specifically, have a look at plugin.c, param.c, and the simple plugins
reverse, normalise, and echo (echo.c has a few example parameters and