Coolux Widget Designer Software
Opening up Pandoras box.
Review:/ Paul Collison
Normally associated with media playback and control systems, Coolux is forever seeking new and exciting technologies to interact with, and control its flagship Pandoras Box media server. The communications hub for Pandoras Box is a little piece of processing software named Widget Designer (WD) which is essentially just an input and output program. Signals or messages arriving at the input of WD are interpreted and processed, resulting in the output of a trigger for an action. It is a plain piece of software, boring even, but when you begin to grasp the possibilities WD affords, the Pandoras Box world becomes a much more communicable place, with seemingly endless possibilities.
Open up the software and you’re confronted with a blank screen. There is nothing except a title bar. The GUI is plain, clunky even. However, very quickly you begin to realise that WD is really just a software framework that lets you create the GUI, and allows you to build the machine that supports your desires. Right-clicking on the screen quickly unfolds all the possibilities of your options. The user can create input and output nodes for communication with external devices, write scripts that interact directly with Pandoras Box and other WD instances, or simply create the odd clock or readout. You are in control of the functions and the GUI. It’s a refreshing change from other software that dictates the look, feel and functionality. However it is the possibilities of communication between pieces of equipment running on differing protocols that really makes WD a stunning piece of software.
DOING STUFF WITH WD
To write about the capabilities of WD can get quite boring. It’s probably better to talk about how it gets used. Let’s first look how we implement WD on some television shows. On The X Factor for example, we run three instances of WD, all in very different ways. Firstly and probably the most simply, we use it on a touchscreen as an interface for our Pandoras Box replay system with many short cuts for content replay. We run scripts that can shutdown or restart all of our machines simultaneously. When you have a dozen or so computers to take care of, this can save precious time. One can also take the client machines in and out of fullscreen mode and jump to various parts of the timeline interface at the click of a soft button. Essentially we’re creating programming shortcut – standard scripting – that save us time. It’s basically how WD started out life, as a shortcut device for Pandoras Box.
On The X Factor we also use this instance to switch back and forth between the SDI and DVI inputs on the Barco ImagePro video processors that feed the LED surfaces on the set. The ImagePros act as both scalers and switchers on the various LED surfaces that populate the set. The DVI inputs are allocated to the Pandoras Box machines, and the SDI inputs for program output of the show. Switching to the SDI input allows the studio audience to see video packages as the audience at home would, as well as inserting the judges faces for comments and the occasional vocalist.
We do of course have the option of routing this program in to the input cards of the media servers and feeding the screens that way, however, the extra few frames of latency this introduces, pushes us past the point of acceptability. So the fastest way to get the program signal to screens is to bypass the computers and go directly in to the ImagePro.
The next task is to remotely switch these devices. Enter WD. By sending a simple TCP message, we can switch the inputs of the ImagePro. To do this, we create a toggle button on the user interface of WD that sends the appropriate TCP message depending on the state of the on-screen button. To help with user feedback, we can change the appearance of the button as it toggles back and forth between states. The image on the button is user definable so we build custom buttons that suit our needs as we go.
This ultimately means we control the inputs to the LED surfaces from lighting control. I have an attention span that would embarrass a self-respecting gnat, which means changing those inputs back and forth can prove troublesome, so I prefer the production vision switcher in the broadcast truck to have this responsibility. On the other hand, being a OCD power-freak I want to know when it’s been switched and have the ability to override that. The solution with WD is quite simple. We place a Windows tablet PC running another instance of WD next to the vision switcher, and this instance exchanges messages with the WD instance in lighting control about the state of the button. When I toggle a button on my instance, I not only send a TCP message to the ImagePro to switch, I simultaneously send a message to the other WD instance to toggle the corresponding button. So both instances of WD are in sync, but my instance is the only one actually communicating with the ImagePro. Very simple, but ever so effective.
THE XYZ OF X FACTOR
The third instance of WD runs our infra-red tracking system. Eight Optitrax infra-red cameras cover a defined area of the stage, tracking infra-red LEDs attached to various performers. These cameras are carefully calibrated to understand the 3D space they survey. An LED tracker, or tag, can then be tracked within that space. The X,Y and Z coordinates of each LED tag are input into WD and used for two functions.
Firstly, WD can convert these coordinates into PosiStageNet (PSN) data and send it to the lighting controller. PosiStageNet is a real-time 3D position-locating protocol developed by MA Lighting and VYV of Canada. Using the 3D positional data for the lighting fixtures and stage area that will already exist in an MA3D file, grandMA2 control system can then use the stream of PSN data to follow the tag with a selected fixture. So on The X Factor, we can now assign any appropriately-located fixture as a backlight to follow a performer wearing an LED tag. Secondly, we can use WD to forward the tracker location to an assigned video layer in a Pandoras Box to drive live interactive masks and effects.
WD can interface with a plethora of devices, communicating directly with Barco projectors and other Barco devices, just about any TCP-enabled devices, TVOne devices and more. Almost any device that accepts a standard input can become part of your WD network, effectively making those devices controllable from touchscreen inputs or part of a lighting cue list. On the input side, WD can accept triggers directly from a custom-built touchscreen user interface, or that screen can be shared as a web page for remote control from any device with a web browser. Inputs and outputs include Art-Net, MA-Net, TCP and UDP datagrams, tracking encoders, Airscan devices, GPIO (switch closure) interfaces, SMPTE timecode, MIDI notes, DMX512, email, SMS text messages, ASCII strings, USB, serial data (RS-232/RS-485) and even the Kinect from your XBox. You can even send a command to the host computer, play WAV audio or a video file, or change the appearance of a window on the GUI. This is by no means an exhaustive list of how data can be interfaced through WD.
Within the software, command strings, variables and IF/THEN-style conditional logic scripts can be easily written. So consequences and even multiple consequences from a set of variables can produce different outcomes. For example, the buzzer system on Asia’s Got Talent, is run by WD. Each judge has a buzzer button, when they press their button, it triggers a lighting and audio cue. When all the judges have pressed their buzzers it triggers a bigger lighting, video and audio cue. However, the order of the button presses is never predicable. So a variable input node is required that looks at each judge’s button. When all buttons are triggered in any order, we can generate our output for our big look. Once that has been executed, we reset and wait for the next one!
OUT OF THIN AIR
The Airscan I mentioned earlier is a laser scanner with a 180° scan field which creates a virtual wall that can sense up to 24 touches in an area around 18m x 12m. It detects breaks (touches) in the scanned field which can be mapped to layers on your Pandoras Box, or used to create triggers in WD. An Airscan means you can turn pretty much any wall or display into a touchscreen, so a projector pointed at a wall, or a wall of LCD panels can easily become a touch surface. Using WD, a person can use gestures to zoom, position, rotate and play a video clip on a layer of Pandoras Box video. In fact, you can even build your own gestures to trigger any feature of your Pandoras Box or send triggers off to another ecosystem.
LIKE A VERSION?
There are three versions of WD: Standard, Pro and Ultimate. Standard is free, and allows for most functions that exist in a Pandoras Box world. The Pro and Ultimate versions focus on external communication with other systems and more sophisticated web page publishing and interaction.
WD is a piece of glue software that finds a place in almost any show I do. Its ability to plug holes when I need to communicate with a particular device is almost unique. The way in which it can seamlessly interact between technologies makes Widget Designer most likely the one piece of software I cannot live without.