Programmer > e:script Macro Editor > keyboard shortcuts
For an internal training, I was writing down a few keyboard shortcuts for the Macro Editor.
I wondered if there are more and remembered that the Scintilla engine was used. Searching the web led me to http://www.scintilla.org/SciTEDoc.html#Keyboard which shows all possible keyboard shortcuts.
Here’s a list of those available and useful in the Macro Editor – enjoy ; )
| Magnify text size. | Ctrl+Keypad+ |
| Reduce text size. | Ctrl+Keypad- |
| Restore text size to normal. | Ctrl+Keypad/ |
| Indent block. | Tab |
| Dedent block. | Shift+Tab |
| Delete to start of word. | Ctrl+BackSpace |
| Delete to end of word. | Ctrl+Delete |
| Delete to start of line. | Ctrl+Shift+BackSpace |
| Delete to end of line. | Ctrl+Shift+Delete |
| Go to start of document. | Ctrl+Home |
| Extend selection to start of document. | Ctrl+Shift+Home |
| Go to end of document. | Ctrl+End |
| Extend selection to end of document. | Ctrl+Shift+End |
| Scroll up. | Ctrl+Up |
| Scroll down. | Ctrl+Down |
| Line cut. | Ctrl+L |
| Line copy. | Ctrl+Shift+T |
| Line delete. | Ctrl+Shift+L |
| Line transpose with previous. | Ctrl+T |
| Selection duplicate. | Ctrl+D |
| Previous word. Shift extends selection. | Ctrl+Left |
| Next word. Shift extends selection. | Ctrl+Right |
Autumn Update 2012
Three major product updates happened for October 2012.
The Lighting Application Suite 6.0 is released. New features are the Color Picker for Action Pad, Emotion FX DMX Output and the Dynamic Scrolltext for Live FX. More to read in the e:cue website.
With the Butler XT2 firmware version 2.0 you now can control the engine with Action Pad in standalone mode. Either with a Flash-enabled PC web browser or with …
The Mobile Action Pad for iOS and Android. Supports the new styles in the Action Pad and the Color Picker. Read more …
How to configure the Mobile Action Pad
The Mobile Action Pad for iOS and Android is a great tool to control the Programmer or the Butler XT2 with a firmware version 2.x. Here is a short description how to configure the Mobile Action Pad, assumed that there are Action Pages created in the Programmer, and downloaded to the Butler XT2, if it is used with this DMX engine.
Download the app from the iTunes App Store or from the Google Play Store, search for “e:cue” to find it, install it on your smartphone or better on a tablet. Add the app to your menue to have fast access. Start the app and the following steps are the same for iOS and Android. Here shown for the Android version.
When started the first time the Mobile Action Pad does not have a previous session with a server, so it will display the server selection, there are already two sessions defined: to two test servers at ecue.com. You can use these two entries for a basic test, both are simulations, one for smartphones, one for tablets. If not in the server selection, use the «Back» button to return to it.
In the server selection, tap «Edit» in the upper right corner. All available sessions are displayed, delete sessions via the stop symbol, tap the cog wheel to edit an existing session. The cog wheel in the upper left corner are the application options.
To enter a new server, tap «Add» in the upper right corner. In the following form enter:
A symbolic name for the connection, then the address of the server. For a Butler XT2 this would be the IP address, e. g. 192.168.123.220. Use the server address, not the address of a switch or a WLAN router. For the Programmer use the IP address of the server, make sure that the HTTP server in the Programmer is enabled in the Application Options. A symbolic name like “ap.myserver.com” could only be used when a DNX server is available. In most LAS installtions this is not the case.
Default for the port number is 80. «Group» and «Start Page» are not mandatory, they are necessary when you use page groups in the Action Pad and if you want to define a certain page as start page.
After entering the data, tap «Ok», check your entry and tap «Done», the server selection returns. Tap your server oder use the cog wheel to edit the entry. That’s all. With the application options via the upper left cog wheel you set few display options or you can protect access to the app with a password.
The app remembers the last valid session, so restarting the app later will first try to re-establish the last active session with a server.
Configuring a Butler XT cluster
Programmer HTTP remote control
Via the HTTP server in the LAS you can access functions in the Programmer from a remote system. First, you have to configure and start the HTTP server in the Application options. When the configuration is finished, the HTTP server is ready for access. As there is no webpage in the server home path, you cannot see anything. But you can already trigger actions in the Programmer using a web browser. This is done through special tags inside the URL.
The basic syntax of an HTTP request is
http://ServerAddress/xmlget?RequestType=Request
or
http://ServerAddress/get?RequestType=Request
where ServerAddress is the IP Address or domain name of the HTTP server, RequestType is the type of request you want to send and Request is the request itself. As you can see, the only difference between the lines is the use of get and xmlget respectively. This affects the style of the results that the Programmer sends back to the browser after a request. Using get, the result is in plain text. With xmlget, the result will be sent in XML, with the following layout:
<?xml version=”1.0” encoding=”utf-8” standalone=”yes”?>
<xml_ecue version=”1.0”>
<request value=”…” tag_id=”…”/>
<result value=”1” error=”0” message=”OK”/>
<result_list>
<result_entry value=”the first entry” />
</result_list>
</xml_ecue>
XML-Tag Description
- <?xml … standard XML header
- <xml_ecue> protocol version number for e:cue HTML
- <request> the request like it arrived at the Programmer
- <result> ‘value’ – an integer value for the result, ‘error’ – nonzero value if an error occurred, ‘message’ – error description in plain text
- <result_list> holds a list of <result_entry> – tags
- <result_entry> holds an attribute ‘value’ with results
Using get requires less result decoding effort but has a worse error handling. With xmlget,
in contrast, decoding is not as simple but you can see more easily what went wrong in case an error occurred. Empty spaces and various special chars are not allowed inside an HTTP request. You will have to transcode the request string to conform with the HTTP protocol. The JavaScript command XmlHttpRequest automatically transcodes forbidden characters into the correct format. You should use this command when you build your own website for remote access.
HTTP Request Types
The CallMacro request will execute a macro in the programmer. The macro must exist inside the show.
http://ServerAddress/xmlget?CallMacro=Name
You can also pass up to five numeric parameters, separated with commas. Examples:
http://ServerAddress/xmlget?CallMacro=MyMacro or http://ServerAddress/get?CallMacro=MyMacro,2,4,6
The ExecCommand request will execute a single line e:cript command in the Programmer:
http://ServerAddress/xmlget?ExecCommand=CommandString
http://ServerAddress/get?ExecCommand=CommandString
In CommandString you can add any valid e:script command (or command sequence) like you would use inside the Programmer. You can also define global variables. Examples:
http://ServerAddress/xmlget?ExecCommand=StartCueList(QL(1));
http://ServerAddress/get?ExecCommand=if (undefined(_x)) int _x;_x=10;
http://ServerAddress/xmlget?ExecCommand=printf(“%d\n”,_x);
The AutoText request sends e:cue autotext to the Programmer. The Programmer sends back decoded autotext to the web browser as a result.
http://ServerAddress/xmlget?AutoText=AutoTextString
http://ServerAddress/get?AutoText=AutoTextString
Example:
http://ServerAddress/xmlget?AutoText=<cuelist 1 status>
Using the HTTP requests by typing them directly into the browser’s address bar is too complicated for real practical applications. It is of course possible to embed the requests into a website. This is what it’s all about: create your own website with your own control elements and put it online using the Programmer’s integrated HTTP server. You can also refresh any status displays or control elements without having to reload the entire page. This is typically realized using the AJAX web development techniques.
KiNET configuration
KiNet is a protocol used by Color Kinetics to control their LED fixtures and power supplies. It is a lightweight Ethernet-based protocol and uses UDP on port 6038. Be sure that no
hardware or software firewall blocks this port. As said for e:net a separate network segment should be used, at least a separate segment for all fixture communication.
There are two protocol generations over time, KiNET v1 and KiNET v2. KiNET v1 is also called DMXOUT and v2 is PORTOUT. The various products of Color Kinetics support one or both protocol versions. To use KiNET components there are two steps necessary: configuration of the KiNET power supplies including the control functions, and setup of the Programmer for KiNET communication.
For the first step you have to use Color Kinetics programs, these programs are available
from the Philips/Color Kinetics homepage. Note: as I dont have CK products at hand, this is a kind of dry run.
- Visit www.colorkinetics.com and follow Support, then Downloads from the main and left navigation.
- Download the Light System Composer, unzip it and start the installer. The LCS installer places a folder on your desktop, this contains links to several tools, one is the Management Tool, this program is used to configure the KiNET power supplies.
- Use Light View | Discover Interfaces to allocate the power supplies, assign a unique IP address.
The next step is to configure the Programmer. The KiNET devices are used with a special
driver available in the Device Manager. So in Programmer, open the Device Manager, select Add Driverand add a driver for DMX Output, use the KiNET DMX-Node and click Add.
After the driver was added the configuration dialog for the KiNET node opens automatically.
- Assign a unique name for the device.
- Enter the assigned IP address, the output universe in Programmer.
- Select the correct KiNET protocol version, see the following table for the protocol versions supported by the CK devices.
- DMX Start Channel allows a DMX address shift if any other DMX addresses are placed before the target fixture. ChromASIC is autoadressing mode, usually not used.
Click OK to enable the driver as DMX output device.
| Product | KiNET v1 (DMXOUT) | KiNET v2 (PORTOUT) |
| PDS-150e | Yes | No |
| PDS-500e | Yes | No |
| PDS-60 24V Ethernet | Yes | No |
| PDS-60 24V DMX/Ethernet | Yes | Yes |
| PDS-60ca 12V Ethernet | Yes | No |
| PDS-60ca 7.5V Ethernet | Yes | No |
| PDS-60ca 7.5V DMX/Ethernet | Yes | Yes |
| PDS-70mr 24V Ethernet | Yes | No |
| sPDS-60ca 24V DMX/Ethernet | Yes | Yes |
| sPDS-480ca (7.5V, 12V, 24V) | No | Yes |
| Data Enabler Ethernet | Yes | No |
| Data Enabler EO/iColor Accent Powercore | No | Yes |
Control the Programmer with MS Powerpoint
No joke, it is possible to control the Programmer via Microsoft Powerpoint. This works via the web server interface in the Programmer and the HTTP methods in Powerpoint. Do it like this:
- In Powerpoint options | Popular enable the Developer Ribbon.
- Place an object in your presentation, e. g. a square like a button.
- Right-click the object, select Hyperlink.
- In the Action Settings dialog, select Run macro and define a macro name,
e. g. StartShow1. - In the Ribbon, select Macro in the PP Ribbon, create a macro, here StartShow1, go to Edit mode and enter this code:
Sub StartShow1()
Set objHTTP = CreateObject(“MSXML2.ServerXMLHTTP”)
URL = “http://192.168.123.123/xmlget?ExecCommand=StartCuelist(QL(1));” objHTTP.Open “POST”, URL, False
objHTTP.setRequestHeader “User-Agent”, “Mozilla/4.0 (compatible;MSIE6.0;Windows NT 5.0)”
objHTTP.send (“”)
End Sub
Click Ok, close macro view. Dont forget to enable the Webserver in the Programmer!
Defining triggers for Butler XT2 standalone
For the e:cue Butler XT the definition of Triggers and Actions was quite clear. There were separated tabs for online and standalone mode, for Triggers and Actions. You could assign different Triggers and connected Actions for standalone mode and for online mode.
This has changed for the Butler XT2. The configuration of the Butler XT2′s Actions and Triggers in the Device Manager makes no difference between online and standalone mode. You will define all properties in one single dialog, as you can see on the left. No tabs, only one selection is possible. Define all Triggers and Actions here. When later exporting the show to the Butler XT2 and running a Quick Update, all Triggers not supported in standalone mode are not transferred to the Butler XT2, they are ignored. This seems a little bit confusing. The idea behind is to allow a simpler configuration and to harmonize the standalone and online configuration.
Triggers supported in standalone mode
| Initialization | Parameter context ignored |
| Cuelists | Only stop/end supported |
| Hourly | Seconds are ignored, only hour/minute |
| Label | Fully supported |
| Periodic | Fully supported |
| Sunrise | Fully supported |
Supported Actions in standalone mode
| Cuelists | Supported except parameter Choose |
| Mutual Exclude Group | Fully supported |
| Set Intensity | Fully supported |
| Ramp Intensity Start | Fully supported |
| Ramp Intensity Stop | Fully supported |
| Reset All | Fully supported |
| Step Intensity | Fully supported |
| Stop all cuelists | Fully supported |
| Trigger Label | Fully supported |
| Hibernate | Fully supported |
| Freeze | Fully supported |
| Goto Page | Fully supported |
See the LAS System Manual, Chapter »Managing devices«, »Configuring a Butler XT2« for details.









