Modulation can now affect 3D visuals
Captain's Log: Stardate 77415.6
I've fleshed out the infrastructure to get modulation values to various parts of the GUI so they can be displayed. For example, the modulated positions of microphones are now displayed correctly in the 3D interface. It's pretty fun to create a couple of LFOs on the x/y positions of a mic, and to move it around in a big circle. Some very cool sounds from that, and now you can see what's happening.
This new infrastructure also helped with modulation for "latching" parameters -- things that don't vary on the GPU. An example of this is mallet hardness. The hardness is latched when the MIDI key for the mallet is pressed (it is velocity-based), so its value does not vary after that (until a new MIDI note is pressed). This latching is handled by the CPU since it's not per-sample, and this all works now.
The only bad news from today is that there appears to have been a minor performance regression. My standard very-complicated benchmark preset slowed down a noticeable amount. I looked through my diffs and can't guess as to what is causing it. I'll have to do some bisection tomorrow to find the culprit and see if I can fix it.