How to send BLOB parameter changes (KPA seems to ignore them)

  • I'm trying to store rig data directly to tracks in REAPER DAW (there's ReaScript API that makes that part possible)
    Then, later when needed, I would like to send the data back to KPA...


    This is what I've done so far:
    (Kemper file header data and length byte(s) at the beginning of messages are removed before sending data to KPA)



    Everything else seem to be working except BLOB messages... UI-related parameters are working, but the actual core of a profile (amp/cab) isn't.
    Is there something I should know? Should I notify KPA that there is sysex data incoming (by sending some "enable sysex communication" -message to KPA)?




    (from the KPA midi docs)
    BLOB Parameter Change
    A number of parameters do present binary objects (“BLOBs”). These BLOB parameters do have their
    own batch of controller numbers. They exist in parallel to the numeric and string parameters.
    The content of a BLOB is per definition “off hands” and should not be altered.

    Edited once, last by spk77 ().

  • I tried sending cabinet presets (kipr files):
    [Blocked Image: https://stash.reaper.fm/33872/KPA%20cabinet%20data.gif]


    Data structure for these presets:

    • 16 cabinet tag messages
    • 2 BLOB messages (only the first one changes between presets)
    • 1 multi parameter change (always same)
    • 1 extended parameter change (always same)

    I still can't get this to work :(
    It seems to work when I first send all the data (except header and length bytes) -> store cabinet module (by pressing the store button on KPA) -> browse back to that module, but storing the cab would be an unnecessary/pointless step because I'd like to apply cabs/amps directly from kipr files. It should be possible, but I can't figure out how to do it.


    Applying presets (cabs/amps/FXs etc.) from other rigs or preset files would also be a nice feature for the Toast ME :)


    Do I need to refresh the rig by sending a certain sysex message?

  • Still no success...I wish the MIDI documentation was more detailed - covering this part also.


    If anyone has any knowledge of the subject, please post here. Would be nice to know if I'm just doing completely useless "coding work" here :)


    So again, this is what I've tried to do:
    (I'm using ReaScript Lua and REAPER JSFX)

    • I have a Lua script for reading sysex data from kipr files (kipr file header and length bytes after F0's are ignored)
    • Lua script sends the data to a JSFX array
    • JSFX sends the data to KPA (One complete message per "sample block". This can be changed)