• Products
    • Isadora
    • Get It
    • ADD-ONS
    • IzzyCast
    • Get It
  • Forum
  • Help
  • Werkstatt
  • Newsletter
  • Impressum
  • Dsgvo
  • Press
  • Isadora
  • Get It
  • ADD-ONS
  • IzzyCast
  • Get It
  • Press
  • Dsgvo
  • Impressum
FORUM

Navigation

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags

    [SOLVED] OSC Multi Transmit Integer Problem

    Troubleshooting and Bug Reports
    2
    6
    2185
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Fred
      Fred last edited by

      I have been going a little crazy trying to send a very simple OSC message from v 2.2.2, it seems only a message with an int payload of 0 goes through, any other value is not registered. I need to control when I send messages in a scene and also sometimes send the same message twice (as the parameter can be changed by other computers), so I have to use the multitransmit even though I am only sending one message with one value (the normal osc transmit actor misses a transmit trigger, and cannot send the same message twice- not sure why, the send note and send control for midi do have this capability, I would think behaviors should be consistent).

      To do a test I have re-created the same messages with openframeworks and found they work perfectly.
      Here is a snippet of my onKeyPressed() OF code:
      if(key == '2'){
              ofxOscMessage m;
              m.setAddress("/atem/aux/1");
              m.addIntArg(6);
              sender.sendMessage(m);
          }
          if(key == '3'){
              ofxOscMessage m;
              m.setAddress("/atem/aux/1");
              m.addIntArg(7);
              sender.sendMessage(m);
      }
      The same function from Isadora using either the oscTransmit or oscMultiTransmit does not work.
      I have tried using the osc transmit and multi transmit in user actor and forcing int and float types, tried turning on and off type tags, but no joy. Whenever I send a 0 int payload the message is correct, when I send a 1 or any other int payload, the system I am communicating with does not respond. With the same setup and network, when I form the messages with OF it all works perfectly.
      No time right now for wireshark analysis....
      Any ideas if this is an already registered bug? If so any ideas on a version that works. For the first time in a while I went to use Izzy on a simple project but hit this wall that is a little embarrassing.
      Fred

      http://www.fredrodrigues.net/
      https://github.com/fred-dev
      OSX 13.6.4 (22G513) MBP 2019 16" 2.3 GHz 8-Core i9, Radeon Pro 5500M 8 GB, 32g RAM
      Windows 10 7700K, GTX 1080ti, 32g RAM, 2tb raided SSD

      1 Reply Last reply Reply Quote 0
      • mark
        mark last edited by

        Dear @Fred,

        I just created the same example message in Processing 2.2 and everything works as expected with integer messages. I would assume that Processing is pretty much a standard and bug-free in terms of the OSC messages it is sending or receiving, so I'm using that as an indication that Isadora is in fact also adhering to the standard.
        Is there something else you need to do with the OSC message to set it up, like enabling Type Tags? Why don't you attempt to send messages from OF and then take a snapshot of what appears in the Monitor window and post it here. Then we can analyze the actual raw data being sent to Isadora.
        In the attached .zip see
        **osc-test.izz** for the Isadora file used to test
        **osc-transmit-example-processing.txt** for an example of sending an integer to Isadora. (Click the black window to send)
        **osc-receive-processsing-example.txt** for an example of receiving integers from Isadora. Typical output in processing was
        ### received an osc message. addrpattern: /atem/aux/1 typetag: i value: 66
        ### received an osc message. addrpattern: /atem/aux/1 typetag: i value: 8
        ### received an osc message. addrpattern: /atem/aux/1 typetag: i value: 43
        **osc-receive-monitor-window-output.png**: a picture of Isadora's Monitor Window when receiving integers from Processing, which shows that they are integers because of the ",i" type tag.
        Best Wishes,
        Mark

        d1cf6c-osc-integer-problem-examples.zip

        Media Artist & Creator of Isadora
        Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

        1 Reply Last reply Reply Quote 0
        • Fred
          Fred last edited by

          Ok, I just did has a chance to analyse the packets with wireshark. The payload is sent as a float even when I have selected integer, and it is a strange float as it has no decimal places. Here is a screen shot of the capture, dI can send you the capture session but ny network is pretty busy while I am doing this....

          I have also attached a screen shot of my user actor and you can see the property is set to integer.
          I assume there is a cast missing for these values. It would be great if you can do a similar packet analysis and check what is going on so I can confirm the bug. I am at a kind of critical point in this project and am not interested in creating a work around software just to create an OSC message, come monday I need to decide if I can use Izzy or not for this tour.

          dee661-screen-shot-2016-06-10-at-13.13.59.png 332749-screen-shot-2016-06-10-at-13.14.35.png

          http://www.fredrodrigues.net/
          https://github.com/fred-dev
          OSX 13.6.4 (22G513) MBP 2019 16" 2.3 GHz 8-Core i9, Radeon Pro 5500M 8 GB, 32g RAM
          Windows 10 7700K, GTX 1080ti, 32g RAM, 2tb raided SSD

          1 Reply Last reply Reply Quote 0
          • mark
            mark last edited by

            Dear Fred,

            As I emailed you privately, I have tested this myself with Wireshark and Isadora is indeed outputting an integer. I think that maybe you connected the User Input first, and then change it to an integer after. In this situation, the mutable input has already mutated to a float, so the change would not take place. (Disconnecting the User Input and re-connecting it should solve that problem if that's what happened.)
            Please post here if you find out what's happening, but I really am confident that it works.
            Best Wishes,
            Mark

            Media Artist & Creator of Isadora
            Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

            1 Reply Last reply Reply Quote 0
            • Fred
              Fred last edited by

              Yes setting the type before I connected the user input did fix the problem and without a user actor the float to int also works. I find the fact that you can change the types after the user inputs are connected but it does not have an effect quite strange, maybe you this ability should be altered or removed once the connection is made.

              All good and int32s are flying everywhere now.

              http://www.fredrodrigues.net/
              https://github.com/fred-dev
              OSX 13.6.4 (22G513) MBP 2019 16" 2.3 GHz 8-Core i9, Radeon Pro 5500M 8 GB, 32g RAM
              Windows 10 7700K, GTX 1080ti, 32g RAM, 2tb raided SSD

              1 Reply Last reply Reply Quote 0
              • mark
                mark last edited by

                Dear @Fred + All,

                Glad to hear my suggestions worked. With regard to your comment " I find the fact that you can change the types after the user inputs are connected but it does not have an effect quite strange"
                Yes, the fact that you can change the type of a connected User Input or Output is a known bug. You can actually change it something totally wrong, like a video input. It is a known bug that we will fix.
                But just for everyone's education: the input port (the dot) for mutable inputs are green when they are still mutable, meaning they are ready to change to a different type. A mutable input or output changes its type a at the moment you connect it, and will not change again until you disconnect all the links to that input or output. This is indicated by the fact that the input port becomes blue, to show that the port is no longer mutable.
                At that point the type will not change type until all input are disconnected. Once you disconnect all links, the port becomes green again to indicate that it is now mutable again.
                Best Wishes,
                Mark

                Media Artist & Creator of Isadora
                Macintosh SE-30, 32 Mb RAM, MacOS 7.6, Dual Floppy Drives

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post