I’ve make one small change so far: I added support for a new parameter, trigger_distance that can be used in the construction of messages just like the other parameters. It’s computed based on the distance between the cursor position and the trigger position when the trigger fires. This seems to be working fine.
These embedded functions may provide both the equivalent of Geomaestro’s “distortion functions” as well as a way to scale values to fit the MIDI range.
From what I can tell, adding this feature would mainly involve extensions to the Parse() function in the C++ code, as a preprocessing stage before normal parsing.
This would also make message specification expressions longer and may require going to a line-wrapping format for the message editor. The field in this editor needs to be larger anyway as it’s hard to see the underlines in the variable names.
Anyway, I’m going to play with these Ideas and see what I can come up with.