Combo content and sysex

Home Forums General Using Ctrlr Combo content and sysex

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #31408
    MarcoScherer
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    Hi guys,

    I’m a beginner with CTRLR but managed to build a GUI that’s sending sysex commands to a synth. Working nice with all elements that require values between 0 – 127.

    Now I have a problem with some elements that need different values. When reading their sysex while changing a parameter (like LFO SYNC), I see that 2 hex values are changing at once. Mostly one is increasing, the other decreasing. Here’s some examples:

    f0 41 10 00 00 00 0e 12 19 01 20 1f 00 27 f7
    f0 41 10 00 00 00 0e 12 19 01 20 1f 01 26 f7
    f0 41 10 00 00 00 0e 12 19 01 20 1f 02 25 f7

    Tried everything but couldn’t figure out how to change 2 values at once with one component. In my case I’d need a uiCombo holding a list of options. Is that possible at all or do I need to dive into LUA?

    #31409
    atom
    Keymaster
    • Topics: 159
    • Replies: 2945
    • Total: 3104
    • ★★★★★

    Sure it depends how you need to split the value. There are some special sysex tokens you can use, that part is actualy documented (not a lot is but this is), in one of the sections of the getting started guide: http://ctrlr.org/getting-started/ look for Splitting hair and bytes in MIDI

    • This reply was modified 7 years, 8 months ago by atom.
    #31412
    MarcoScherer
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    I read the whole guide but didn’t find what I need (or didn’t understand 🙂 )

    Basicly I KNOW the values I want to send for certain parameters. For example, when I stick to the LFO SYNC parameter: For setting it to 1/4 sync I need to change 2 values (here xx and yy):

    f0 41 10 00 00 00 0e 12 19 01 20 1f xx yy f7

    I know the exact values but don’t know how to fill xx and yy. In my combo content I know how to put a value for xx, but how to put the second one (yy)?

    #31414
    atom
    Keymaster
    • Topics: 159
    • Replies: 2945
    • Total: 3104
    • ★★★★★

    Those tokens “xx” “yy” are places where Ctrlr will insert values in it’s memory so “xx” is the value of the Combo (the number of the item selected on the list, or a value that’s hardcoded in the combo contents), “yy” will be the MIDI output channel set for the panel.

    I think you might need to use the “ls” “ms” or “LS” “MS” tokens, those represent bits of the value, that is if the value is larger then 127 those two tokens will split it and send it to the device in a split way. Now it depends on the device what sort of a “split” it understand, you need to dig into the manual of the device to find out. Based on the sysex it looks like a Roland device, so you might need some complex stuff here.

    #31416
    MarcoScherer
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    Yep, it’s a Roland device. Unfortunately a prototype, so there’s no manual yet 🙁

    Any other way to send the sysex commands? As I know the exact values I could even create a button for each value but that seems a bit uncomfortable.

    #31417
    atom
    Keymaster
    • Topics: 159
    • Replies: 2945
    • Total: 3104
    • ★★★★★

    You can use global variables k0 – kf and set them before sending.

    It all depends what do you need to send, what range of values. One byte “xx” can only take 0-127 values and that’s it, so above that you need to split/compress it somehow.

    #31418
    MarcoScherer
    Participant
    • Topics: 1
    • Replies: 3
    • Total: 4

    I see. Ok, so to save time I think I’ll go for the multiple-buttons solution. Seems the fastet way for now.

    Anyway, thanks a lot!

Viewing 7 posts - 1 through 7 (of 7 total)
  • The forum ‘Using Ctrlr’ is closed to new topics and replies.
There is currently 0 users and 58 guests online
No users are currently active
Forum Statistics
Threads: 2,495, Posts: 17,374, Members: 77,605
Most users ever online was 12 on January 22, 2019 3:47 pm
Ctrlr