today I played a bit with LMMS on my new centrino-duo-notebook and recogniz=
that LMMS only uses 1 CPU... So I came up with the idea of parallelizing=20
support, i.e. split up sound-processing into several threads where this is=
not already the case. So I introduced some new stuff, modified LVSL (LMMS=20
VST-Support-Layer) and voi la - when using VST-effects now, both CPU's are=
used and LMMS can process almost the double amount of data! This currently=
only works for VST-plugins (as the server runs as an external program) but=
support for worker-threads inside mixer is coming soon as well. Currently i=
each cycle, the mixer queries all play-handles for parallelizing-capabiliti=
and if it found such ones (currently only the instrument-play-handles of=20
vestige-plugins), it first tells them to start their processing (by calling=
the usual play()-method with a special flag), then it processes the "normal=
play-handles and at the end it waits for all play-handles that were process=
parallel. Quite simply but powerful concept...
Hope this works well...