-
Notifications
You must be signed in to change notification settings - Fork 173
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix for #242 program changes handling, program number as parameter #490
base: master
Are you sure you want to change the base?
Fix for #242 program changes handling, program number as parameter #490
Conversation
Hi, Quote from #242 : But it will only solve half of your problem, you won't be able to toggle the start/stop with PROGRAM_CHANGE 8, Hydrogen has no built-in "mapping by value" feature. Here I won't say this is a feature for Hydrogen, you can use qmidiroute as you did, or mididings as I do with my Korg ES-1. Have you tried a midi router as described above ? Regards, |
Hello, @jdekozak ! Hope I understand your question correctly. I was changing the program on my midi keyboard and Hydrogen was successfully changed patterns, and stopped, started playing. I didn't checked the mms_play or mms_stop events, I don't use them and I don't have it on my keyboard, it's easier to start playing by pressing space key on Hydrogen. And I think my patch should not affect it. If you consider it can cause any issues, please tell the details. P.S. yes, I'm using qmidiroute for other purposes. I need a useful event type to switch my hydrogen loops. Program changes are the most useful for me. Of course I could create one more additional output channel and transform my program changes to some note or controller events and connect it to Hydrogen for loops changing, but it is more useful to send the same midi events to the sampler and to the Hydrogen. |
Hi, First of all, a short disclaimer, I am not a maintainer of Hydrogen, I am giving my opinion on this topic because I have changed a little bit Hydrogen midi code in the past. And I was involved in #242 Also, I am not saying you are wrong doing this change, as always, if there is a need, it reveals a missing piece of software somewhere... That being said, let me explain deeper "mapping by value". I will compare the CONTROL_CHANGE (aka CC) and the PROGRAM_CHANGE (aka PC). According to MIDI specs, CC can be many while PC is unique, and both events can carry a value, eg. : You have coded a "mapping by value" for PC event in Hydrogen. It is visible in midi_map.h file, you have put side by side Next in your pull request, in midi_input.cpp Hope things are clearer now. Regards |
9f0b8b2
to
49d0eaf
Compare
Hey everyone! I suppose the most confusion comes from the fact that you're using the parameter of the program change message as the second parameter to the midi action and at the same time in other places as the first parameter (via lastMidiEventParameter). I haven't tried the code yet nor looked into this deeper, but this design looks a litttle bit weird to me.. PS: Will have a closer look soon, sorry for long delay! |
49d0eaf
to
f48a397
Compare
42293e2
to
b26ebd8
Compare
Hello! Could you please review my PR. It fixed the bug #242 for me, because early fix didn't work for me.
I need to change my loop when I change program number (sound) on my midi keyboard. I need to take the program number into consideration, for example for sound 1 (grand piano) I want to switch to loop number 3 etc. It needs to save setting for all program numbers, like note numbers or controller changes.