• Click here for a list of all my projects.
  • Click here for Touchlib info. Source code here.
  • Click here for our multitouch community site.

Friday, January 19, 2007

Genome Progress

I got the Builder module working yesterday and reworked some things with module serialization in order to get it to save properly. The nice thing about that Builder is that it will use the same interface as the track view which keeps everything consistent. Plus, any features I add will work everwhere.

I started working on some copy / paste functionality. I realized that this will actually be a major enhancement over VST since you'll be able to select which parameters you want to copy from one module to another. In VST, the only way to share data is to save a preset and load it elsewhere. In Genome you'll be able to copy the Amplitude envelope from one synth (attack, decay, sustain, release) and copy it to another synth (maybe even a totally different kind of synth).

All this is possible since in Genome, all parameters inherit from an abstract Parameter class. This allows the host to have some basic information and control over any parameter on any synth. It also allows me to automatically serialize all the parameters of any module. And, it enables me to have a highly decoupled architecture which ends up being more bug free and also easier to extend. In the VST world, managing the parameters and the GUI is largely up to the VST which ends up being a lot of wasted work. In Genome it is possible to create a synth without writing any gui related code. You also don't need to worry about saving parameters. Plus you get a library of DSP modules to pick from (OSC's, filters, etc). You would only need to write code if you want to create custom elements. So, making a new synth might only involve writing some new oscillators and plugging in some readily available components.

0 Comments:

Post a Comment

<< Home