Announcement

Collapse
No announcement yet.

oscbroadcaster: Send OSC messages to two computers or more

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

  • oscbroadcaster: Send OSC messages to two computers or more

    The oscbroadcast tool is a command line program that allows to duplicate an input OSC stream of messages to two or more computers. OSculator has already the ability to duplicate messages and route them to several targets, but this solution is more powerful in the sense it requires less configuration in Osculator, and keep the Osculator document less cluttered with duplicated messages.

    You can download the latest version of the oscbroadcast tool here (last updated 2021-01-30, works with macOS 10.10 Yosemite and later).

    Code:
    usage: oscbroadcast [-s <server_port>] -t <target_url> [-t <target_url> ...]
    
    
      Listens to OSC messages on <server_port> (defaults to 9000) and copies
      received messages to one or many <target_url>
    
    
      A <target_url> is specified as osc.<proto>://<host>:<port>
        Where: <proto> is udp or tcp.
               <host>  is an IP address or a hostname.
               <port>  is the target port.
        Valid URL example: osc.udp://192.168.0.1:8002
    
    
      Usage example:
        oscbroadcast -s 9001 -t osc.udp://192.168.0.1:8002 -t osc.tcp://10.0.0.1:9001

    mac OS Security note

    When this command-line tool is first launched, a security alert might be displayed: Screen Shot 2021-01-30 at 10.29.00.png

    You can authorize the tool to run on your computer by going to System Preferences ? Security & Privacy. Click the button "Allow Anyway" at the bottom to allow subsequent executions of the tool. Screen Shot 2021-01-30 at 10.27.25.png
    Last edited by camille; 01-30-2021, 11:30 AM.

  • #2
    Hello Camille,

    How do i get oscbroadcast to work?

    How do I input devices it connects to?

    Comment


    • #3
      Hi Calvin,

      I have updated the tool in order to provide a code signature, this is required on recent macOS versions and a good thing for security.
      You can try to download it again.

      In order to use this tool, you have to invoke it from a command line Terminal. When you run oscbroadcaster, it listens on the network at the specified port (choose a port that is different than OSCulator).

      Best,
      Camille

      Comment


      • #4
        Can’t wait to try it! Thank you for all the hard work! This application is a game changer for me.

        Comment


        • #5
          Hey Camille,

          After opening the file, it still simply does the following:

          OSC broadcast tool

          Camille Troillard <camille@osculator.net>




          usage: oscbroadcast [-s <server_port>] [-d <delay in seconds>] -t <target_url> [-t <target_url> ...]







          Listens to OSC messages on <server_port> (defaults to 9000) and copies

          received messages to one or many <target_url>




          A <target_url> is specified as osc.<proto>://<host>:<port>

          Where: <proto> is udp or tcp.

          <host> is an IP address or a hostname.

          <port> is the target port.

          Valid URL example: osc.udp://192.168.0.1:8002




          Usage example:

          oscbroadcast -s 9001 -t osc.udp://192.168.0.1:8002 -t osc.tcp://10.0.0.1:9001







          [Process completed]



          Am I supposed to open something afterwards to input the correct IP addresses and ports?

          Comment


          • #6
            I put this in on another tab, but as you can see the command wasn't found


            Last login: Sat Jan 30 14:46:25 on ttys001

            calvinallen@calvins-mbp ~ % oscbroadcast -s 9000 -t osc.udp://192.168.86.84:8000 -t osc.tcp://192.168.86.73:9000

            zsh: command not found: oscbroadcast

            calvinallen@calvins-mbp ~ %



            Am I doing anything wrong?

            Comment


            • #7
              Hi calvin,

              Your computer needs to know where to find the executable. Without prefixing the command, the shell (zsh here) searches in the directories listed in the PATH environment variable. If you copy oscbroadcast to /usr/local/bin, the same command might very well work without trouble.

              Another option is to simply, cd to the directory where the executable is located, and prefix the command with ./ like so:

              Code:
              calvinallen@calvins-mbp ~ % cd Downloads       # or any directory where you put the executable
              calvinallen@calvins-mbp Downloads % ./oscbroadcast -s 9000 -t osc.udp://192.168.86.84:8000 -t osc.tcp://192.168.86.73:9000
              Tip: If the computers are two macs on the local network, I would very much advise to use their Bonjour name (found in System Preferences ? Sharing). By doing so, even if their IP address changes, oscbroadcast will still be able to reach them.

              Screen Shot 2021-01-30 at 21.50.48.png

              For instance :

              Code:
              calvinallen@calvins-mbp ~ % ./oscbroadcast -s 9000 -t osc.udp://gray-matter.local:8001

              Comment


              • #8
                Ok I believe this is the last piece of the puzzle for me. How do I send to the broadcast port in OSCulator

                do I use my local : osc.udp://127.0.0.1:9000 or do i need to do something else to send it to the broadcast?

                Comment


                • #9
                  Disregard. I figured it out it was what I put in above. I just had a number wrong in my IP for my devices. Everything seems to work great now. I'm seeing it control both my ipad touchOSC and iphone TouchOSC. Thank you again for all of your help Camille.

                  Comment

                  Working...
                  X