Slave Control with OSC
-
For an upcoming show one of the many problems that I'll need to solve is how to work with multiple machines and multiple operating systems over a network. My current plan for addressing the needs of this production will be to use one machine to drive the interactive media, and then to slave two computers for cued media playback. This will allow me to distribute the media playback over several machines while driving the whole system from a single machine. My current plan is to use one Mac Pro to work with live data while slaving two Windows' 7 PCs for traditionally cued media playback. The Mac Pro will drive a Barco, while the PC's each drive a Sanyo projector each. This should give me the best of both worlds in some respects. Distributed playback, similar to WatchOut's approach to media playback, while also allowing for more complex visual manipulation of live-captured video. To make all of this work, however, it's important to address how to get two different machines running Isadora on two different operating systems to talk with one another. To accomplish this I'm going to use an OSC Transmit actor on the Master machine, and an OSC listener on the slaved machines. On the Master machine the set-up looks like this:Trigger Value - OSC TransmitThe transmit actor needs the IP address of the slaved machines, as well as a port to broadcast to. The setup below is for talking to just one other machine. In my final setup I'll create a specialized user actor that holds two OSC Transmit actors (one for each machine) that can be copied into each scene.On the Slaved machines the setup takes two additional steps. First off it's important to determine what port you want to receive messages from. You can do that by going to Isadora Preferences and selecting the Midi/Net tab. Here you can specify what port you want Isadora to listen to. At this point it's important to catch the data stream. You can do this by oping up the Communications tab and selecting Stream Setup. From here make sure that you select "Open Sound Control" and click the box "Auto-Detect Input." At this point you should see the Master Machine broadcasting with a channel name an address, and a data stream. Once this is setup the Actor patch for receive messages over the network looks like this:OSC Listener - Whatever Actor you WantIn my case I'll largely use just jump++ actors to transition between scenes, each with their own movie.You can, of course, do much more complicated things with this set-up all depending on your programming or play-back needs.The rest of my documentation can be found here:http://matthewragan.com/2013/04/28/isadora-network-control/ -
Out of interest; did you hardwire the machines together or go with a WIFI network?
-
In this first round of testing I used a wireless network. For the production I'm doing in October I'm planning on hardwiring the machines together.
-
I've never fully trusted WIFI for a show or installation. I know in theory it will work and it probably would work fine BUT knowing that a physical cable is connecting each machine is much more satisfying for my brain! :)
-
Exactly my thoughts. Unless I'm dealing with a sensor that's wifi only, I'd much rather have a hardline for a production / installation stability. Even if only for the little bit of inner peace it brings.