I see in the Midi specification that there are control change messages mapped to more than just Parameters A-F. Can these be used int he gen based patches? If so, is it just a matter of using the correct name? Lastly, if this is possible are the values mapped 0-1 or do I have to set the range 0-127?
At the moment the Gen patches support parameters A to H, and Push.
In Gen simply declare a parameter with the right name, and set the min, max and default values that you want: incoming MIDI values will be automatically scaled (default range is 0.0 to 1.0).
Would be great to be able to pass MIDI Notes to a Gen patch, but there’s no obvious way to do this in Gen.
We could define a pair of parameters, e.g. Pitch and Velocity, to hold the value of the most recently received note (as MIDI note values, with Velocity=0 for off). That would probably work well enough for making monophonic synths (with no pitch bend), but what about polyphony?
Pd patches currently get the first 8 and Push, same as Gen. But Pd also gets MIDI note messages.
I’d like to revisit how parameters are done both on Pd and Gen, so that more parameters can be mapped without incurring performance overheads for patches that don’t use them. But both Pd/Heavy and Max Gen have some quirks.
I think it depends a lot on what objects and structures you use, but I’m not an expert on Pd or Gen.
We are working on improving performance across all platforms, to make smaller, faster code, but I can’t promise anything concrete just yet.