No announcement yet.

sysex and midi templates

  • Filter
  • Time
  • Show
Clear All
new posts

  • sysex and midi templates

    Hello all

    Can someone help me understand SysEx and midi templates?

    I have a video mixer with a t-bar and I'm trying to control a t-bar on a second mixer. I have them both moving but its not moving in sync. I think I have the midi template set up wrong. According to the manual on the first switch the sysex has the message like this:
    Screenshot 2020-04-27 at 20.57.29.png

    and the midi template looks like this. I can't seem to see any docs on the midi template
    Screenshot 2020-04-27 at 21.03.46.png

    Any tips or hints are very much appreciated

    Attached Files

  • #2

    The substitution is simply a way to modify part of a MIDI message with data received, and to specify which part of the received data (slice) goes where (byte number and position).

    A first point is that here you're only modifying the data sent, not the address (aa bb cc that you set at 07 00 00). Is that correct?
    If you want to modify also the address, you have to do a substitution, like what you've done on the data.

    But I think that the main difficulty for you will be the almost last byte of the Sysex message: sum (checksum).
    Because if it's a real checksum, then its value should be computed from all the other values of the message, which means that it will change for every data that you will send.
    And there is no way (that I know) in Osculator to do that: you can take part of a received data and put it in the template, but you can't do any computing on it, and even less compute a byte from the other bytes of the template.

    So I'm not sure that you can do what you need to do with Osculator as is.

    Hope that it will helps.


    • #3
      Thanks FunkyChris

      Sorry I'm slow to understand and probably making a whole bunch of assumptions based on not knowing enough about midi. What I'm trying to do is the get the position of a t-bar on one piece of equipment and convert it to an OSC message so that I can be replicated on another device. When I look in the monitor in osculator to see what changes it is just the data portions of the message (and the checksum). In my head I just need to extract that data and stick it in an OSC message. Do you know if there is a way to do that?

      I don't know why there are two data portions actually so I'm assuming they are added together Now that I'm thinking as I respond when I convert the two data bytes into decimal and add them together then it would appear to be in ascending or descending order (depending on which way I pull the bar) with the occasional out of sequence number thrown in. Do you know of anyway in OSCulator I can turn that into OSC?



      • #4

        Ok so I think I better understand.
        The first mixer is sending Sysex MIDI, corresponding to the spec you loaded, and you have to convert it to OSC message for the second mixer. Is that right?
        If it's the case, then you will have to :
        - create a template for the MIDI Sysex message you will receive. I think that what you've done is almost correct, but you also should add a substitution to the checksum as it will change
        - create a corresponding OSC message by clicking the check box at the bottom of the midi template, as on your screen capture, and entering an OSC path you will invent
        - create the good OSC message for your second switch, by looking at the specification for the second switch, in the OSC Routes window
        - create a mapping between the created OSC route of the MIDI template and the OSC route of the second switch
        The fun part will be the variables mapping from the OSC/MIDI template route and the OSC route of the second switch.

        MIDI template -> OSC "invented" route -> mapping -> OSC "2d switch" route

        Is that a bit more clear?
        Hope that it will help.


        • #5
          Yes that is exactly what I'm trying to do Thanks so much for your help - you have been a life saver this week! I'll give that a try thank you


          • #6
            Ha I'm already back with the dumb questions - how do I do what you suggested
            1) Is the OSC path at the bottom of my template correct or do I need to put the data onto that message somehow? ie /midi/input/Collection_1/Template_1/SubNum1/SubNum2/SubNum3
            2) Do I do the mapping using the Mappings meta event?
            3) How do I add the two data bytes?

            If it is getting tedious helping me just let me know


            • #7
              1 - yes, I think the OSC path is complete, I don't think you can put the data directly in the path, that would mean too much path to create !
              2 - no, I think an OSC message mapping is the thing to do.
              3 - this one I don't know. I don't know how OSCulator maps the substitution of the MIDI template to params in the "false" OSC input message (the one you invented). I know that, to my knowledge, no computing is possible, so I hope that you only have to pass the 2 bytes one after another. If you really have to add them, I'm note sure it's possible on OSCulator.
              Sorry, you will have to test on this one.

              Hope that it will help.


              • #8
                Thank you. I'll play about some more before I concede defeat. Have a nice weekend