system exclusive question..


    Jun 19 2009 | 1:46 am
    hey there max geniuses..
    I've been using Max to convert program change information sent form a midi foot controller to note information so that I can use it to control the looper device in the new Abelton 8.. So far this has been working awesomely, except that when i change banks (so up 10 i think it is), by pressing the bank up button, it sends the value of the last pedal pressed.. i.e. say I'm on bank 1, and the last button i hit was #5, and i press bank up, it immediately sends out bank 2, button #5..
    I had a look at the miditester, and saw that the bank buttons send out system exclusive information.. Is it possible to tell max to ignore the first input after a sys ex message?
    thanks!!
    Kris

    • Jun 19 2009 | 11:42 pm
      I'm not clear which midi tools in max you are using to detect the data you want. Are you using midiin? pgmin? ctlin to receive bank change messages? If you just use pgmin and ctlin to grab program changes and cc lsb/msb for bank change data. If there's particular sysex data you need, you can use match to grab patterns of data: see the help file on using "nn" as a wild card. So if you are looking for a sysex stream like 240 87 64 01 00 247 where the "00" is the part you are interested in, you can attach [match 240 87 64 01 nn 247] to midiin, and use [zl nth 5] to grab the desired data. Here's a general strategy for dropping a value from a stream of data:
      hope that is helpful,
      Peter
    • Jun 20 2009 | 4:42 am
      I think that makes sense..
      This is what I'm using. I think i hacked it out of a help file somewhere
      The reason I thought of the sysex, was because the footpedal sends a sysex message when I change banks.. So if I could get it to ignore the first program change message after the sysex, that'd be perfect..
    • Jun 20 2009 | 4:55 am
      If the pgm change is the same # as the pgm you used before, you could just use a [change] object on the pgmin value. This will mean that it ignores repeated values of the pgm, so if you sent "5" as your program, then change bank and then happen to want "5", you are hosed. Otherwise, this should work ok: