mtytel / helm

Helm - a free polyphonic synth with lots of modulation
http://tytel.org/helm
GNU General Public License v3.0
2.36k stars 200 forks source link

request for program change mapping. #175

Open rbnpi opened 6 years ago

rbnpi commented 6 years ago

This is a great synth. I'm having fun controlling it from Sonic Pi. One additional feature that would be nice would be a mechanism for the user to map patches to a program change list, so that the patches could be selected by midi program change messages. An example of this is in GForce's impOscar2 which uses this technique. The user amps a list of program change numbers against patches which can then be selected by midi program change messages.

mtytel commented 6 years ago

Hmmm. I had thought this was working. Might just work in the plugin version? I'll have to check.

benrosenblum commented 6 years ago

@mtytel Program change will sometimes work for me for the first 8 patches (and won't change anymore after program 8), and other times it won't respond to program change at all. This is in both plugin or standalone. A midi log shows the program change messages going through.

aen1gma commented 6 years ago

+1. This would open up a world of possibilities with Sonic Pi :)

rbnpi commented 4 years ago

I came back to this and had another look, and by checking out the source in helm/src/common/midi_manager.cpp I realised that you need to set all three of midi_cc 0, bank #midi control channel 0 midi_cc 32, folder #midi control channel 32 midi_pc, patch #midi program change in order to get it to work. I've now defined a function to do this on Sonic Pi, together with hashes to hold the patch names, and hav a program to run through all patches in sequence, or to choose any give patch programmatically. As aen1gma says it opens up all sorts of possibilties with Sonic Pi. I'm also working on integrating TouchOSC as a device to use in conjunction with Sonic Pi to make patch selections. Plenty to play with while waiting for Vital to arrive :-)

prg318 commented 3 years ago

I would love to see PROGRAM CHANGE support in Helm (really awesome synth BTW!! )

Currently, when I issue a MIDI PROGRAM CHANGE event from my Akai MPK249, the output of Helm will briefly pause (as if its changing presets...) but then it will continue with the previously selected preset.

I haven't started looking very much into the source, but I'll take a closer look starting with @rbnpi's comment whenever I do get around to it

Thanks again for an awesome Free (as in Freedom) synth