Author Topic: midi channel for combo program change  (Read 6954 times)

lokki

  • Sr. Member
  • ****
  • Posts: 383
    • View Profile
midi channel for combo program change
« 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.

« Last Edit: July 30, 2017, 11:04:03 PM by lokki »

lokki

  • Sr. Member
  • ****
  • Posts: 383
    • View Profile
Re: midi channel for combo program change
« Reply #1 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.

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: midi channel for combo program change
« Reply #2 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
« Last Edit: July 31, 2017, 11:41:59 AM by Xavier »

lokki

  • Sr. Member
  • ****
  • Posts: 383
    • View Profile
Re: midi channel for combo program change
« Reply #3 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...

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2259
    • View Profile
Re: midi channel for combo program change
« Reply #4 on: August 02, 2017, 12:46:06 PM »

Cool thanks...  :)
That's an interesting modification.

lokki

  • Sr. Member
  • ****
  • Posts: 383
    • View Profile
Re: midi channel for combo program change
« Reply #5 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