[Solved] MIDI changed in 2.3.2?

  • I programmed two of my MIDI board's buttons to query the status of stomp C and X respectively via SysEx, and then send a SysEx message that switches them the other way around -
    EDIT: does not send a SysEx message to change the stomp status. Only to check the status. The change is done via CC.
    I've since updated (i think i last tested it on 2.1) and today, prepping for a gig, the buttons went haywire - made performance mode jump to performance mode 56 and turn stack off etc. - completely bonkers.


    Is there an explanation to this? Did i miss some MIDI documentation change or is this a bug?


    (I know switching effects on/off can be done more simply).

    "But dignity is difficult to maintain
    stamina requires constant upkeep
    repetition is boring
    and you pay for grace."

    Edited 2 times, last by Quitty ().

  • AFICT the MIDI docs haven't been updated since July.


    You've had success doing the sysex queries as documented? That's great. I have not been able to make it work at all. I'd appreciate it if you would post your steps to make it work, including the sysex messages themselves.

  • AFICT the MIDI docs haven't been updated since July.


    You've had success doing the sysex queries as documented? That's great. I have not been able to make it work at all. I'd appreciate it if you would post your steps to make it work, including the sysex messages themselves.


    For stomp C, for example, the querying SysEx array would be {0xF0,0x00,0x20,0x33,0x02,0x7F,0x41,0x00,0x34,0x03,0xF7}.
    Looking at my code again, i did not send a SysEx message, but a CC: {19,1,1} for "on" or {19,0,1} for "off".


    As far as the algorithm goes, you should send a SysEx message containing the length (11), the SysEx array and a boolean '1' -
    then keep reading the MIDI buffer until you get something that isn't of type 'Active sensing'. Once you do, read the SysEx array and read the 12th variable (no. 11) to get on/off status.



    None of this works, by the way. I hope some mod finds this and i get this solved - this used to work up until 2.1 .

    "But dignity is difficult to maintain
    stamina requires constant upkeep
    repetition is boring
    and you pay for grace."

  • I was using some CC commands to switch between the digital & front inputs and those stopped working at the same time. I wish they would update the docs, as clearly the API has changed.

  • For stomp C, for example, the querying SysEx array would be {0xF0,0x00,0x20,0x33,0x02,0x7F,0x41,0x00,0x34,0x03,0xF7}.


    I do send (using 2.3.3):

    Code
    F0 00 20 33 02 7F 41 00 34 03 F7


    And get:

    Code
    00010CC1   3  --     F0  Buffer:    13 Bytes   System Exclusive      
    SYSX: F0 00 20 33 00 00 01 00 34 03 00 00 F7


    Which is the correct response (Stomp C is Off/Empty here).

  • timo - Haven't had the time to properly debug yet, but something has definitely changed since 2.1 - there's no question about it.


    My board sends the SysEx query, waits for anything other than 'active sensing' through the MIDI buffer, then reads the on/off bit and transmits a CC# to toggle it the other way.
    I can turn the stomps on, but once they're on querying and switching results in stack being disabled for a few seconds, then resumes. Don't know what's up.

    "But dignity is difficult to maintain
    stamina requires constant upkeep
    repetition is boring
    and you pay for grace."

  • Solved -
    My (unverified) guess is that the default tempo - that determines the active sensing rate - was increased, which was flooding my MIDI buffers faster than i was reading them.


    Tech-dabble aside, there's nothing wrong. :thumbup:

    "But dignity is difficult to maintain
    stamina requires constant upkeep
    repetition is boring
    and you pay for grace."