On Wed Jul 05, 2006 at 07:06:06PM +0200, Niklas KlĂĽgel wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Oi,
I am currently writing on a modular synth with great emphasis on
sequencing (but allowing tight interaction between both parts)
in a comparable modular way (pattern creation/algortihmic
composition/chord filters etc),
I wrote some parts of the core of the application but I am not really
keen on coding something that has been done several times before;
that's why I thought about
joining/"forking" a more complete modular synthesizing environment and
adding the core components I need/have. The point is, that I don't
know enough about
the existant modular synthesizers to evaluate how modular their
sourcecode is written so that my modifications are easily applicable
in their source.
Here are some parts/functionalities that I already have (partially)
implemented and would like to add to the core:
- - the main graph of interconnected modules supports heterogene module
types for example it could support FAUST code-pieces represented in
modules as well as ladspa-modules,
the subgraph created by interconnected modules of the same type is the
sent to the type-specific "compiler" creating executable signal paths
- - the executable graph of interconnected modules is analyzed and split
up in parts that can be executed in parallel, locks in the necessary
parts are added and the whole graph can be
executed in several threads
- - modules are mainly connected using a zoomable patch-matrix; the
zoomlevel corresponds to the level of typing (of connections)
this sound really neat. depending on how far along you are with your engine, you may want
to keep it around, or someone else might want to pick it up. here are the active projects
on linux:
pd: crufty/crusty architecture, but lots of users and patches. C/SiBSD. the engine is
being updated for a more modern client-server seperation, and 2 GUIs currently using this:
DesireData (TCL/GPL), and Vibrez (OpenGL, commercial?)
source: cvs -d:pserver:anonymous@pure-data.cvs.sourceforge.net:/cvsroot/pure-data co -r
devel_0_39 pd
pnpd: a new engine, from an expert user/contributor to PD who decided it would be easier
to rewrite the engine than try to extend the existing codebase. C++/GPL, currently has a
QT client called Karma.
source: svn co
svn://www.klingt.org/pnpd/
ingen: previously known as om-synth. only supports LADSPA & LV2 plugins.
C++/Gnome-Canvas (Dave hates QT). theres an OSC API so you could easily roll your own
frontend. currently LADSPA is really lacking in plugins that process MIDI/OSC, or
mangle/record/playback any sort of control data, or even audio. it mainly has a ton of
filters...
source: svn co
http://codeson.net/svn
if you want to run your code on PD/MaxMSP and eventually pnpd, you can use flext (adding
flext support to your own engine would give you a neat archive of existing objects, as
well):
source: cvs.pure-data.sourceforge.net:/cvsroot/pure-data/externals/grill/flext
likewise, porting to LV2 will give you a lot of potential usage contexts (this is assuming
the hosts add support):
web:
http://lv2plug.in
i plan to put this into a semantic DB, for now you can check the massively incomplete
http://wikifarm.koumbit.net/orangeseeds/drone/Meta/ComparatifLogicielsDataf…