We at the LinuxSampler project, http://linuxsampler.sourceforge.net will go the GUIless route too and as Juan L. suggested it is probably wise to use a TCP socket because it allows remote controllability which can sometimes be very helpful. Imagine these racks found in webfarms starting making music :-)
Anyway as our project advances, I hope that some good soul will implement a CLI interface for the sampler too so that it becomes more accessibile for people with disabilities. I agree with your stance about merging GUI and engine code: it is a mess and often introduces many maintenance and performance problems. Most audio programmer so not seem to realize that using mutexes called from GUI threads that share data with the audio thread speaks SUICIDE because you will never be able to ensure that your sub-5 msec audio engine does not drop out under heavy load. Yes ... (blocking) mutexes simplify a bit the programmer's task , but I'm sorry to say it your product will never be usable in the pro audio field. Hoping for a peaceful, client-server centric audio application world. :-) Benno -- http://linuxsampler.sourceforge.net Building a professional grade software sampler for Linux. Please help us designing and developing it.
