SSM: I looked at the code, and it seemed quite
horrible to me. GUI and workhorse code are tightly coupled, I see
no way for me to get to the underlying functionality.
Things are going in the right direction, the audio code is now seperate from
the rest of the app at least. You can currently (from CVS) run ssm without a
GUI at all, it just loads a patch and plays it until you hit ctrl-c. I
intended this for using midi only control (but you still have to use the GUI
to build the patch in the first place of course).
Is some software author (i.e., the SSM author)
interested
to work with me on getting GUIless controllability?
I am interested in doing a GUIless interface for ssm, and I have been thinking
about it for some time.
I think making a text based patch builder for ssm would be fairly easy, i.e
"connect oscillatorA.output to envelopeB.audio_in" but changing the modules
parameters in realtime might be a bit more difficult.
The real problem, as you noticed is that the plugins have all the fltk code
built in :( (a design decision for other very GUI-centric reasons). However, a
side effect of having to make the code threadsafe is that all control data
from the gui widgets now have to be passed though a "channelhandler" class
which deals with all the mutexes etc. These channels even have plain text
names that make sense in the context of the plugin.
So I think it may be possible to write another app, which is compatible with
ssm's plugins and redirects (by overloading the channelhander) the control
data from a keyboard based interface. In theory :)
Another possibility that might make more sense (something else I've been
thinking about) is a LADSPA only modular synth - as LADSPA plugins are much
less bound to a GUI than ssm's the interface could be much more textual.
I'll think more about the possibilities of modifing ssm, but the bad news is
that I have a todo list pages long at the moment :( :( :(
Cheers,
dave