Hi,
Although it's probably slightly too early to discuss this in detail it may be
useful to map out some basic functionality between the GUI and engine.
Some ideas (please feel free to add)
Sample select
Loop start/endpoints
ADSR
Main volume
Tuning
Filter selection/cutoff/resonance
Effect selection/level
ALSA/JACK config
.....
What protocol do we use to communicate between the two? UDP is a better choice
than TCP due to it's speed. I presume that it will be used on a LAN so typical
delay's should be under 2ms. Using DMIDI would allow MIDI software/hardware to
interact with the engine and it's well on it's way to become an IEEE standard.
Basic functionality can be obtained by mapping control change messages to
functions. I added ALSA 0.9 and DMIDI code to SpiralSynth and it was really
easy
to do this and should fit in to the CV model that Steve Harris suggested. More
complex data can be transmitted using a SYSEX like format. The downside to
this is MIDI's low bit resolution, upside is almost anything can control it.
Thoughts?
Phil
|