Changing just one element in SysEx string globally?

Home Forums General Programming Changing just one element in SysEx string globally?

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #120314
    llatham
    Participant
      • Topics: 6
      • Replies: 15
      • Total: 21

      Let’s say I have a set of controls that all share the same basic SysEx string, with 1 value that changes to control an element – like let’s pretend:

      F0 A B C D X Y F7 controls all the parameters for a particular Part, or Bank, or Channel etc.

      Then I change the values of X, to control Pan versus Volume, versus Hold, etc., where Y might represent the value range and so on. and so on.

      Now let’s say that another Part/Bank/Channel etc. uses all the same basic commands, except it looks like this:

      F0 A B C E X Y F7

      So I could keep all of my SysEx messages the same, but I don’t want to have to make a copy of the whole panel, then go in to each message and change that “D” to “E”.

      What would be cool is if I could have a button that I could click on the panel that takes every

      F0 A B C D X Y F7 message and converts them all to F0 A B C E X Y F7 messages

      So in my case, one is 00 and the other one is 20 or something like that, so I have to “add 10” in the 5th bit or something like that (I have no clue what I’m talking about, so you get my point I hope).

      TIA for any help you can offer.

      #120317
      dnaldoog
      Participant
        • Topics: 4
        • Replies: 480
        • Total: 484
        • ★★

        Hi llatham,

        If you don’t want to use lua

        You can do it globally using setGlobal() function in the little box Expression to evaluate …. To write the global variable to sysex, use k0,k1 etc for the static value you want to change.

        substitute

        F0 41 10 00 00 77 12 19 01 k1 k0 xx z5 F7

        for

        f0 41 10 00 00 77 12 19 01 20 0c xx z5 f7

        for example.

        I also included a formula for switching between 0,127 (7F) using a toggle – which is sometimes needed.
        setGlobal (0,(modulatorValue*127)) (0 = k0,1 = k1 etc)

        ?

        See attached panel.

        Also: see https://ctrlr.org/forums/topic/did-i-mess-up-my-panel-size/#post-120399

        • This reply was modified 3 years, 6 months ago by dnaldoog. Reason: forgot attachment
        • This reply was modified 3 years, 6 months ago by dnaldoog.
        Attachments:
        You must be logged in to view attached files.
        #120325
        llatham
        Participant
          • Topics: 6
          • Replies: 15
          • Total: 21

          Thanks. I’m going to try this later but it makes sense.

          I’ll want to make a toggle that has 3 states – Partial 1, Partial 2, and Partial 3.

          The value I need to change is P1 = 20 to 21, then 22 for the other 2 respectively.

          I’m thinking now though that I need to do these on separate pages with identical layouts – because the positions of all the knobs and sliders aren’t going to represent the Partial you switch to, only the one you’re currently editing. So if you set up everything in Partial 1, then toggle to Partial 2 and change settings, when you go back to Partial 1 you’ll still be seeing the control elements in the positions they were for what you just did in Partial 2.

          So having them on separate “pages” or “tabs” will accomplish that – I can use the toggle button to select the Partial, but maybe disable it or allow it to be switched but put a warning message there!

          I don’t think I’m ready for more heavy-duty programming than that!

          What I want to accomplish is 2 main things:

          1. Create a panel like I have to control each of the Partials. This global message will help me do that I think – just got to figure out the best way to implement it.

          2. I’ve got one long message that has like 16k choices – so not your usual 0-127, so I need to see if I can get that to work.

          3. If I can get all that done, it’d be nice to have some way to have a “display” for parameters with multiple options – like I have an Inc/Dec to go through wave shapes of Saw, Square, Sine, etc. It would be nice to have a “readout” as to which one was selected.

          4. Figure out if it can be made into an AU component (and maybe VST) that other people can download and install (for free) so they can control these things on their FA series synths to at least be able to edit the Supernatural Synth tones.

          Thanks!

        Viewing 3 posts - 1 through 3 (of 3 total)
        • The forum ‘Programming’ is closed to new topics and replies.
        There is currently 0 users and 63 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