I have 14 RasPi's, each running a video player that can be controlled with OSC. Each RasPi and connected to it's own monitor. And each RasPi has a "media" directory containing multiple videos. This directory is the video player's playlist.
I would like to "broadcast" OSC commands such as "/next" and "/play" and "/stop" to all the RasPi's at once, and not have to address each RasPi IP individually.
I have tried this with Osculator on Mac OS and with a Linux command line app called OSC, with no success. Admittedly, I have no idea what I am doing when it comes to broadcasting OSC messages.
I have tried without success to broadcast the "/next" command (from the cli on my linux laptop) as follows ...
Code: Select all
osc 10.0.0.255:9000 /next osc 255.255.255.255:9000 /next
However, I can successfully send the OSC messages and control each RasPi individually when using specific IP addresses, for example ...
Code: Select all
osc 10.0.0.123:9000 /next osc 10.0.0.123:9000 /stop
Does the the developer of the OSC sender app have to implement broadcast functionality in the app, or does the router/switch handle that?
Same question for the OSC receiver app (the video player). Does the developer have to be implement the ability to receive broadcast messages?
I have read about using UDP to broadcast OSC messages. I tried this by sending a "/play" command from a Mac OS app called PacketSender. When I did, the RasPi responded by killing the video player. Upon further research with Wireshark, I saw the protocol was UDP not OSC which makes sense. My understanding is that OSC messages may need to be encoded/decoded when sent over UDP. Does that sound right? Is this possible?
My goal is to have my guitar rig (which is already controlling other apps with OSC during our live shows) broadcast "/play," "/start" and "/stop" OSC messages to all the Pi's, to trigger and stop videos on demand.
Any help, directions or suggestions would be greatly appreciated!
== UPDATE ==
I found an app released by ETCLabs called OSC Widgets. It has an option to send OSC packets over UDP. I tested it and the RasPi responded correctly to all the commands. Using Wireshark I saw that the protocol was OSC and digging further an encoded OSC packet was sent over UDP. I don't know what to do with this info yet, in terms of how I can get my guitar rig to send encoded OSC packets over UDP. I don't even know how to create an encoded OSC packet. But, I'm one step closer.
I would still appreciate any help with this.