PreenFM Forum

PreenFM => PreenFM2 => Topic started by: lokki on July 27, 2017, 12:02:21 AM

Title: midi channel for combo program change
Post 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.

Title: Re: midi channel for combo program change
Post by: lokki on July 27, 2017, 05:17:03 PM
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.
Title: Re: midi channel for combo program change
Post by: Xavier on July 31, 2017, 11:39:38 AM
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
Title: Re: midi channel for combo program change
Post by: lokki on July 31, 2017, 10:00:03 PM
 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...
Title: Re: midi channel for combo program change
Post by: Xavier on August 02, 2017, 12:46:06 PM

Cool thanks...  :)
That's an interesting modification.
Title: Re: midi channel for combo program change
Post by: lokki on August 04, 2017, 05:36:21 PM
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