Supercollider front end

Marc Nostromo [M-.-n] EMAIL HIDDEN
Mon Aug 29 16:35:35 CEST 2011


I'm developping a sort of synth framework build on small elements that can
be connected together. I've got a lot of the infrastructure (basic audio
services,midi,generic controllers) plus the basic graph connection & voicing
system. Builing a synth from module works roughly in that flavor:

-----------------

MGEPiggyOsc *piggyOsc1=new MGEPiggyOsc("Osc1") ;
Insert(piggyOsc1) ;

MGEPiggyOsc *piggyOsc2=new MGEPiggyOsc("Osc2") ;
Insert(piggyOsc2) ;

MGEMixer *mixer=new MGEMixer("Mixer",2) ;
Insert(mixer) ;


MGraph::Init(params) ;

this->Connect(*mixer->GetInPin(0),*piggyOsc1->GetOutPin()) ;
this->Connect(*mixer->GetInPin(1),*piggyOsc2->GetOutPin()) ;

SetOutputPin(*mixer->GetOutPin()) ;

------------

My biggest challenge (beside writing the modules of course) left is to
tackle parameter access. First of all module can have a large set of them
but then the "synth" might want to expose only some of them to map to MIDI
for example. I haven't really spent the time to do a proper desing for that.

It's probably overkill for a lot of people but it's very interesting to do
from a software design point of view :)

I'm hoping at some point to be able to port it to some small embedded board
and use it to roll my "own" little digital synths... or do VST, or pretty
much anything :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.music-bar.org/pipermail/music-bar/attachments/20110829/b82ee1cb/attachment-0002.html>


More information about the music-bar mailing list