Announcement

Collapse
No announcement yet.

The "Duplicate" Message Feature

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • The "Duplicate" Message Feature

    Hi all,
    trrying to get my head around how the Duplicate function works.

    I have a MIDI message coming into Osculator from Logic, which appears as /midi/cc90/16. This message needs to update controls on 2 IOS devices running Lemur. At first, I thought that I could create an OSC routing that targeted a broadcast ip address, in my case 192.168.2.255. This doesn't work, so I have to have the message sent to each IOS deviceass a separate line item in Osculator.

    Looking in the manual, it appears that the Duplicate function is just what I need, but when I invoke it on an event message, I end up with 3 lines, my original which now has its routing stripped, and 2 others. The first just says 0 and the other says 0->0 and I can apparently edit something on that one. The manual isn't providing any insight on how I should deal with these 3 entries so ii thought I'd ask here.

    Simply, I need one message to generate 2 OSC messages, one for each ip/port that the devices are listening to. Thanks for any help with this.

  • #2
    Hi fader8,

    The idea of using a broadcasting IP address was good.
    It is difficult to tell what kind of issue you have here, perhaps it is related to the network configuration.

    About the Duplicate function:

    An OSC message is made up from its OSC address (e.g. /some/osc/address) and its arguments.
    OSCulator displays a line for the address to which you can assign events that works with the whole message only, and one additional line for each argument. That is for each OSC message, you get N+1 lines, where N is the count of arguments.

    Now, for messages with a single argument, OSCulator makes a shortcut and displays only one line to help keeping things tidier.

    When you duplicate a message that has a single argument, OSCulator unrolls that shortcut and displays three lines: the OSC address, the first argument, and its duplicate (in blue).

    Note that you can only duplicate message arguments.

    Arguments are denoted by their index counting from 0. So the first argument is named 0, the second 1, and so on. Duplicated arguments are also counted starting at 0. For example the first duplicate of the second argument is therefore 1>0.

    This is why in your example you can see the line for the address (/midi/cc90/16), the first argument of the message (0), and its duplicate (0>0).

    If you want to avoid using a broadcast IP, you will need to define two OSC targets (for your two iPads), and two OSC rounting templates, each using the respective targets. You will also need to define the rewrite address for those OSC routings so that Lemur receives a message it understands.

    OSC routing is a broad subject, so please let me know if you need any further detail in your specific case.


    Best,
    Cam

    Comment


    • #3
      Thanks Camille,
      Ok, so if I understand you correctly, when I duplicate, the first line that was my original message which still contains that message, has had its target and address change moved down to the second line. Then the third line is where I enter the address change and target for the other destination I need it to go. So far so good? Do I need to enter anything where the blue 0 is? Or does that just take care of itself?

      Ill try this all out later and see how I get on.

      as for the broadct ip, yes this would be perfect for me as I really need to ultimately update controls on up to 4 IOS devices running Lemur. Not sure why it doesn't work. If I set targets in Lemur as .255, my Mac, (including Osculator) and other Lemurs, responds fine, but sending it from Osculator, no go. Can't think what setting would be forbidding it?

      Thanks so much for your helpfulness!

      Comment


      • #4
        Note that if I ping 192.168.2.255 from my Mac, all my IOS devices respond. But still nothing gets out of Osculator if I use that address as a target. Have you ever tried this?

        Comment


        • #5
          Hi fader8,

          Sending OSC messages to a broadcast IP address used to work.
          I just tested and did not manage to use a broadcast address, so I guess this is a bug.
          Let me have a more detailed check.


          Best,
          Cam

          Comment


          • #6
            The bug is confirmed, I will send you a build that fixes it.


            Best,
            Cam

            Comment


            • #7
              Thanks Camille!
              ill try this later today. If it works your my hero. Saves me a ton of work making all the duplicates I'd need. 32 faders times 5 devices... Ugh! I'll let you know how I make out with it. Cheers!
              Last edited by fader8; 08-07-2012, 03:41 PM.

              Comment


              • #8
                Camille!
                Works like a champ! Next time you're on this side of the pond I'm buying you several beers!

                This is going to keep my Osculator windows less cluttered, as well as save me a ton of programming. My thanks to you sir.

                Comment


                • #9
                  Great!
                  The fix will be included in the next release.

                  Comment

                  Working...
                  X