Midi feeback to controller on channel != 1 - strange behaviour


    Apr 07 2021 | 7:59 am
    Hi Max community,
    New to Max, I am trying to build a custom MIDI controller. Working on Max 8.1.10.
    I have TouchOSC on an iPad mapped to toggle boxes and sliders (through MIDI). I want the status of the iPad to be updated whenever I change the controls on the screen, so I enabled the TouchOSC output "map" checkbox in the MIDI setup window. It works pretty good, but I encounter the following problem:
    When opening the patch and the controls have not been touched at least once first on the iPad, Max sents out data seemingly only on channel 1 to the controller... My controls might very well be on any other channel... Once the controls have been used once, it works as expected. but I don't like the idea of having to enable/disable 50+ toggles and sliders everytime before starting out....
    How to solve this? Is this a bug?
    Thanks!

    • Apr 07 2021 | 9:05 am
      Why don't you assign fixed midi channels to outgoing control messasges ? No matter if you use midiout or ctlout, one can insert message containing CC# number and midi channel
    • Apr 07 2021 | 9:57 am
      yes, I could do that, but the thing is I am trying to avoid to connect each and every mapped control to an midiout/ctlout object and use the simplicity of mapping instead. Since Max does have the ability to send a status feedback to mapped controls, I wonder why it behaves like it does when you first open the patch, or if I am just misunderstanding something...
    • Apr 07 2021 | 11:31 am
      That must be a bug in the midi mapping all together. So you best report that as bug to cycling support, and wait till it gets fixed. Only option at the moment is to stick with midi channel 1, and use more controllers
    • Apr 07 2021 | 11:38 am
      hmm, that's what I feared... thanks!
    • Apr 07 2021 | 1:41 pm
      maybe it is a a misconception that automatic midi mapping or that weird playbar thing would be really less work or simpler than a bit of custom programming using basic externals.