Show Control

Remote Text Communication  – in a recent production of Assassins at ACT Theatre, I wrote a simple texting application that allowed the A2 station to send a visible alert to the front of house engineer, rather than attempt to communicate via the com system (because what A1 has time to pick up the phone?)

The app utilizes QDisplay from Figure53, a companion application to QLab, and Remote Apple Events (System Preferences>Sharing). To use the app, first make sure 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 an Application. 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
--  eppc protocol addressing takes the form "//user:password@IPaddress"
--  requires that the remote user have administrative privileges
 
set remoteMachine to "eppc://user:pw@IPaddress" -- enter user name, password and IP address of remote machine (must have administrative privileges)
 
display dialog "Insert Message Here:" default answer "" buttons {"Cancel", "Send Message"} default button 2 with title "A2 To FOH Chatty Chat"
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 — adjust font size as necessary
set messageColor to "red"
delay 1
set message to "" -- clears the message window
delay 1
set message to "-- INCOMING --"
set messageSize to 80 -- redundant?
set messageColor to "red" -- redundant?
delay 1
set message to "" -- clears the message window
delay 1
set message to theMessage -- displays text entered in dialog box
set messageSize to 80
set messageColor to "red"
end tell
end using terms from
end try

Create a Script cue on the target machine’s QLab workspace that launches QDisplay at startup:

 

1
2
3
tell application “QDisplay”
activate
end tell

 

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

 

1
2
3
tell application “QDisplay”
set message to “”  — no message generates an empty 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. 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
--  eppc protocol addressing takes the form "//user:password@IPaddress"
--  requires that the remote user have administrative privileges
 
set remoteMachine to "eppc://user:pw@IPaddress" -- enter user name, password and IP address of remote machine (must have administrative privileges)
try
	using terms from application "QDisplay"
		tell application "QDisplay" of machine remoteMachine
			set message to "-- MESSAGE READ --"
			set messageSize to 40  — adjust font size as necessary
			set messageColor to "red"
		end tell
	end using terms from
end try

 

The user name, password and IP address of the reply script must match the other machine (A2 station, in this case). This method allows for non-verbal communication between the wireless engineer’s station and the front of house engineer. The A2 can alert the A1 to problems with a particular channel, warn them to switch to a backup mic, etc, all without saying a word over the com system. This application is still in development and I hope to implement the following features in an alpha release later in 2016

  • Pick from list functionality to choose a receiving machine from a list of all connected devices
  • Call & reponse functionality to ping the receiving machine for access permission (much like screen sharing) instead of writing the user/pw info into the script.
  • Full Objective-C cocoa support for a snazzier look

 
[huge_it_portfolio id=”3″]

HoganSound