Make a texting applet for QLab and QDisplay

Make a texting applet for QLab and QDisplay – Created to solve the problem of verbal communication between a mix engineer and wireless engineer during performances. Using AppleScript, QLab and QDisplay, create a non-verbal communication method to allow the A2 to warn the A1 of wireless mic dropouts, and the A1 to acknowledge receipt without getting on the com.

This method utilizes QDisplay from Figure53, a companion application to QLab, AppleScript, and Remote Apple Events (System Preferences>Sharing). Ensure QDisplay is installed on the both machines, then enable Apple Remote Events (again, on both machines). On the sending side, paste the following into AppleScript Editor and save it as a script. Placing it in ~/Library/Scripts will put it in the menu bar if “Show Script menu in menu bar” is selected in Script Editor>Preferences.

Note: you will need the administrative user name and password for the receiving machine, as well as its IP address. Use static addressing for show networks.

(*
This is the AppleScript version for the SENDING end (the remote engineer who sends messages TO front of house)
Note: eppc protocol is unstable on OS X 10.8

--

Configuration: 

This applet requires "QDisplay" (https://github.com/Figure53/QDisplay) to be installed on the remote machine

eppc protocol addressing takes the form "eppc://username:password@IPaddress"

requires that the local (sending) user have administrative privileges over the remote (receiving) machine
*) 

set remoteMachine to "eppc://username:password@IPaddress"

-- update the above to username, password and IPaddress of remote (receiving) machine. Do not use special characters '@' or ':' in password.

display dialog "Message to FOH:" default answer "" buttons {"Cancel", "Send"} default button 2 with title "FOH Messaging"

set theMessage to the text returned of the result
try
 using terms from application "QDisplay"
  tell application "QDisplay" of machine remoteMachine
   set message to "-- INCOMING --"
   set messageSize to 80
   set messageColor to "red"
delay 0.5
   repeat 4 times
-- clear the message window
    set message to ""
delay 0.5
-- set the warning message
    set message to "-- INCOMING --"
delay 0.5
   end repeat
-- clear the window
   set message to ""
delay 0.5
-- display text entered in dialgo box
   set message to theMessage
  end tell
 end using terms from
end try

 

Create another Script cue on the target machine that clears the message window:

-- This script clears the message window and resets the program for the next message.

tell application "QDisplay"
 set message to "" -- no string entered clears the message window
end tell

 

If using a MIDI-enabled console, set this “clear” script to fire via a MIDI message and map that message to a user defined key on the desk. Otherwise, use a hotkey trigger. Next, create a third script cue on the target machine which continues from the “clear” script cue, and contains the following:

(*
This is the AppleScript file run from the front of house machine that receives messages FROM the remote machine/engineer. Note: eppc protocol is unstable on OS X 10.8

--

Configuration:

eppc protocol addressing takes the form "//user:password@IPaddress"

requires that the remote user have administrative privileges over the destination device.
*)

set remoteMachine to "eppc://user:password@xxx.xxx.xxx.xxx"

-- change the above to match the userName, passWord and iPAddress of the destination/remote machine

try
 using terms from application "QDisplay"
  tell application "QDisplay" of machine remoteMachine

-- signal to remote station that message was received

   set message to "Received"
   set messageSize to 40
   set messageColor to "red"
  end tell
 end using terms from
end try

 

Lastly, create a duplicate “clear window” script on the A2 side, to purge the QDisplay window after the “received” message is printed.

Source available at https://github.com/kreivalabs/frontOfHouseMessenger

Share:

Author: kreivalabs