preenfm Forum
PreenFM => preenfm2 and preenfm3 => Topic started by: lokki on July 27, 2017, 12:02:21 AM
-
what is the midi channel for program change?
what is the midi channel to change a combo program?
is it just the first midi channel set in the menu?
it would be great if there was a global midi channel setting, that can receive program change and is independent from the settings of the instruments. (so for example instruments set to channel 2 to 5 and global midi channel 1)
also to think things further, it would be great if general cc messages could also arrive on the global channel and be spread to the four instruments. (for example, breath control on channel 1 would be applied to all 4 instruments)
this would decrease the midi messages you have to send and would also comply somewhat with the new mpe midi standard.
-
ok i will attempt this myself, seems straightforward. i already have a version with hardcoded midichannel 1 for general modulation.
xavier, can you tell me where in the code i find the global menu? so i can try and add the value there.
-
Nice to see people digging into the code :)
I think you're lookging for this :
https://github.com/Ixox/preenfm2/blob/master/src/hardware/Menu.h#L30
You could add a MIDI_CHANNEL_ALL that would listen to a specific midi channel a spread the commands to the 4 instruments.
The UI structures is defined here :
https://github.com/Ixox/preenfm2/blob/master/src/hardware/Menu.cpp#L40
Defaults values are here :
https://github.com/Ixox/preenfm2/blob/master/src/synth/SynthState.cpp#L457
And the midi command to instruments is here :
https://github.com/Ixox/preenfm2/blob/master/src/midi/MidiDecoder.cpp#L243
Xavier
-
thanks. i finished it all and it works nicely! i tried to push it to my custom preenfm2 firmware git, but i did not suceed. find attached the changed files, in case you want to include that feature...
-
Cool thanks... :)
That's an interesting modification.
-
yeah, it's main use case is to make the preenfm compatible with more modern midi instruments, like the linnstrument etc. these use the new mpe midi standard where general modulation is sent on channel one and channel 2-16 are used for the voices (notes) and specific modulation.
check here: http://expressiveness.org/2015/04/24/midi-specifications-for-multidimensional-polyphonic-expression-mpe