That is to say, please forgive any gross ignorances here! I'm a musician, producing my own show in a small theater space, and diving into the technical side of lighting for the first time. Please feel free to use the app, use the code, and adapt it for yourself and your own needs.I just started exploring QLC+ for a project I have coming up. Occasionally we can add elements, features, or try to fix bugs.
#QLAB OSC API CODE#
Remember, this code is provided for you as is. Minimizing the sliders made for less traffic and fewer problems.
#QLAB OSC API UPDATE#
There were performance issues where cues with audio levels would not update other basic information. You'll also notice that the sliders only handle 0-8 (master and the first 8 sliders). This helps seperate the logic in the code. You'll also notice that SliderLevels are in a seperate if-then block. #This is a custom method to display a numerical time value as a time string that looks similar to Qlab's time string If your device address uses "/string", "Name") This can then assist in cleaning up some odd or unique messages. An application such as TouchOSC allows you define exactly what messages / addresses are being sent to Qlab. Of course all this code is dependent upon what you're actually sending from your device. This is the handler that receives commands from the device (i.e. SendQlabMessage("/cue/selected/translation", (15.4, -20))įunctions - Server_handler(addr, tags, data, source) SendDeviceMessage("/cue/selected/name", "Some New Name") #Display the name in the label with the address "/cue/selected/name" To grab hold of the device IP, the script simply needs to hear a command, any command, then you can begin sending messages back to the device. SendQlabMessage("/cue/selected/sliderLevel, (0, -20))įunctions - SendDeviceMessage(message, values)Īfter having found a Qlab Workspace, the script will listen for a device such as TouchOSC. #Set the master fader of the currently selected cue to -20dB. SendQlabMessage("/cue/selected/name", "Some New Name") #Set the name of the currently selected cue #Send Qlab the GO command for the currently selected cue If you're unsure what OSC message Qlab will accept, visit Figure53's OSC API. Simply give it an OSC message and values. Once this is done you can use the SendQlabMessage function to send Qlab messages. The script will detect open Qlab Workspaces and grab hold of the first one it detects.
#QLAB OSC API PASSWORD#
* You'll need to enter your password here *įrom here, you can open the python script (TouchQlab.py), alter, edit and run the code.įunctions - SendQlabMessage(message, values) Open Applications/Utilities/Terminal and copy-paste each command one by one.
#QLAB OSC API INSTALL#
After downloading the code you'll need to install one python library. Everything is written in python which can be edited via IDLE.
While you're there, feel free to visit the GitHub page or download the Zip and alter any code you want. Feel free to adjust as necessary.Ĭurrently, to run the code you'll need to open the script in IDLE and manually run the script. I've uploaded an example of a TouchOSC layout I created.
You'll of course need some device to converse with Qlab. Message are sent back to the device upon Qlab's "Update" reply (this occurs when anything is changed). Second, all device messages are sent to Qlab. This is meant to mirror Qlab's 5301 ports. The first thing to note is that TouchQlab uses ports 54000 (Listen) and 54001 (Respond) for communication. The purpose of this application is then to simplify and moderate the communication back and forth between Qlab and another OSC application creating bidirectional communication. This means when an application such as TouchOSC recieves a response from Qlab, it will be unable to parse the information and do anything intelligent with it. Qlab's OSC response format is in JSON, not simple responses.
It is written by a QLab evangelist, not by Figure53. This is an application to work alongside QLab. This project is maintained by Drew Schmidt Welcome to TouchQlab. A python solution for bidirectional communication between TouchOSC and Qlab