UPDATE – See project repository at https://www.github.com/kreivalabs/frontOfHouseMessenger for up to date code.
ORIGINAL – 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
(*
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 dialog 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:
1 2 3 |
l 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
(*
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