Chapter 21. Automation

21.1. MagicQ Automation Window

MagicQ supports an automation system to enable it to automatically respond to both external, internal and timed events. MagicQ can trigger on external events such as MIDI notes, DMX input, serial input, timecode, and the remote contact input. MagicQ can also trigger on internal events such as system startup, system shutdown and system powerfail. In addition MagicQ can trigger on timed (scheduled) events.

image

MagicQ supports an Automation Window for managing all of the automated events. The Automation Window supports multiple events with each event being subject to specified parameters.

Each event then triggers a particular MagicQ function – this can be a function on a Playback, a Cue Stack, a Cue, a Page, a Macro or a Layout.

MagicQ can take a parameter from the event trigger and pass it to the function – for example, it could take the velocity from a MIDI note event and tigger a Playback level using that velocity.

Automation is only supported on MagicQ PC/Mac when connected to a MagicQ USB Wing, MagicQ USB Interface or SnakeSys product.

21.1.1. Autom Events

Each event can have up to 3 parameters (P1,P2,P3) to filter the event further.

EventP1P2P3

Scheduled

Time

Date mask

MIDI note

Mode - on, off or both

Note

Channel – 0 for all

MIDI sysex

Timecode

Start timecode range

End timecode range

Remote

Mode - on, off or both

DMX

Level

Channel

Serial port

number of characters to match

P2 is character string

P3 is the character to pass to the function

Startup

Shutdown

Power fail

Scene Setter Button

Button number 1 to 16

21.1.2. Autom Functions

Each Function can have up to 3 function parameters F1, F2, F3. For Playback (PB) functions, F1 is the Playback number. For Stack functions, F1 is the Stack number. For Cue functions F1 is the Cue number.

For Macros F1 is the keyboard macro Id. 0 means stop all playing keyboard macros.

For Page functions F1 is the Page Number and F2 specifies a Playback to be activated on the Page Change (0 = none) and a Cue Id to jump to on PB go and PB jump.

  • PB a,r,level
  • PB level
  • PB activate
  • PB release
  • PB act FULL
  • PB go
  • PB back
  • PB ffwd
  • PB fbck
  • PB jump
  • Stack toggle
  • Stack activate
  • Stack release
  • Stack level
  • Stack random
  • Cue toggle
  • Cue activate
  • Cue release
  • Cue level
  • Exec toggle
  • Exec activate
  • Exec release
  • Exec level
  • Run macro
  • Change layout
  • Display message
  • Change page
  • Change page release main
  • Change page release all

MagicQ PC supports control of the first 10 playbacks (PB1 to PB10). MagicQ consoles support control of all 202 playbacks.

Stack random enables the activation of one Cue Stack in the Cue Stack range F1 to F2. Each time the automation triggers all Cue Stacks in the range are deactivated, and one Cue Stack in the range is selected by random and activated.

21.1.3. MIDI events

If you add MIDI events then these override the miditable.txt file – the file is completely ignored.

21.1.4. Serial Port events

If you add serial port events then these override the normal ChamSys serial remote protocol functions. The serial port settings in Setup, View Settings, Ports must be set up with Serial Remote Protocol set to ChamSys RX.

MagicQ matches the serial data received to the string you specify in the P2 field using the same format as in the Cue Stack Macros but without the X. So if you set the P2 field in the Autom to

1,2,3 it will match the serial data received 1,2,3

Note that the string entered in the P2 field must be encased with "". For example "1,2,3" MagicQ will display " as an '. You must use " when encasing the string.

P1 is the number of characters to match and P3 determines which character is passed onto the Autom function.

So if you want to set up MagicQ to respond to serial commands to set the level of Playback 1 using the serial commands “L1” to “L100” you would set up the Autom as:

Type Serial Port

P1 1 // Match 1 character

P2 “L” // Character to match

P3 2 // 2nd character of received string

Function PB Level

F1 1

21.2. Scheduled Events

MagicQ supports timed events for trigger Cues at specific times of the day or days of the week. Any Cue in a Cue Stack can be set to trigger based on a scheduled event rather than following on from the previous Cue. This enables time of day and date based events to be run automatically.

Scheduled events are supported on MagicQ consoles and on MagicQ PC when connected to a MagicQ Wing.

19/30/5 for 19 hours 30 minutes and 5 seconds

or

*/10/0 to have the event occur every hour at 10 minutes past the hour

or

//0 for every minute

21.2.1. Dates and days of the week

It is also possible to set dates in P2. For example to have an event on the 24 December 2005 enter:

24/12/2005

You can also specify particular days of the week using the characters A to G where A is Monday, B is Tuesday, C is Wednesday etc…

So for an event every Monday and Tuesday enter:

AB

For an event on the first day of every month enter

1

21.2.2. Sunrise + Sunset (astronomical)

MagicQ has the capability to trigger events based on the sunrise and sunset at the particular location.

In order for sunrise and sunset events to occur correctly MagicQ must be configured with the correct longitude, latitude and time zones. These parameters are configured in Setup, View Settings, Mode. The sunrise and sunset times for the current location can be checked in Setup, View System, View Status.

To set a scheduled event based on sunrise or sunset first set the time starting with R for sunrise or S for sunset.

It is possible to set offsets on the sunrise and sunset times so the event is triggered a certain time before or after the sunrise or sunset.

For example to trigger 20 minutes after sunrise enter

R+0/20/0

To trigger 30 minutes before sunset enter

S-0/30/0

21.3. Automated Start of Playbacks / Executes

MagicQ includes several options for automated start of Playbacks and Executes. These options are available on MagicQ consoles and on MagicQ PC systems when connected to a MagicQ USB Wing or Interface. See Setup, View Settings, Playback, Activate Playbacks On Start.

21.4. Keyboard macros

Keyboard macros enable you to record sequences of key presses and to replay the sequence at the press of a single button. Keyboard macros can be assigned to any button on the console (including to a SHIFT+button and CTRL+button) or to buttons on an external keyboard. The first 10 keyboard macros are available on the Quick Macro Tool Bar.

Macros can be inhibited from the Setup Window using the “Inhibit Macros” option.

21.4.1. Recording keyboard macros

To record a keyboard macro, go to the Macro Window, press RECORD and select a macro to record. Alternatively moe the cursor to a free item in the window and press the START MACRO soft button.

The console then records all of the following key sequences until you press the Macro Window button and the END MACRO soft button.

The title bar shows "Recording" whilst recording is in progress. MagicQ automatically removes the MACRO and END MACRO soft button press from the end of the recording.

In software prior to v1.7.1.3 MagicQ stored raw key presses. From v1.7.1.3 MagicQ supports several different formats for storing the keys - by default it now uses the internal MQ keys. The internal MQ keys have the advantage that they are the same across all MagicQ consoles - therefore a keyboard macro that is recorded on a MQ80 will always run correctly on a Pro 2014 and vice versa.

Choose the Record Options by pressing soft button A in the Macro window. The options are "Keys", "MQ Keys" and "Functions".

21.4.2. Playing keyboard macros

Macros can be played by simply pressing the item in the Macro Window.

To stop a macro that is playing open the Macro Window, View Macros, put the cursor on the macro and press the STOP MACRO soft button. To stop all macros that are playing press SHIFT + STOP ALL MACROS.

Keyboard macros can be triggered from Cue Stacks using the Cue Stack Macro B, e.g. B1 plays macro B1. B0 stops all macros.

21.4.3. Keyboard macro timing

Playback of keyboard macros can use the times that the macro was recorded with or using external time code sources. By default macros are played back using “Immediate” timing. Use the SET TIMING soft button to change the timing to “Real time” or “Time code”.

The timing type can be changed after the macro has been recorded – however if external time code timing is required then this should be selected before the macro is recorded. This enables the console to record the key and button presses according to the received time code signal.

21.4.4. Editing keyboard macros

Times can be modified in the View Data view of the Macro Window using the keypad and Encoder E. Multiple items in the macro can be changed at one time using SHIFT and the cursor keys to select the items.

When using time code timing, the + and – operators can be used to offset the timing of a sequence of items.

Macro steps can be deleted using the REMOVE key. Note when a button is pressed there is a “press” and a “release” – both should be removed – otherwise the button state will become confused.

It is possible to move steps in the Macro, View Data view – press MOVE and then select the source followed by the destination. Multiple steps can be moved using SHIFT and the cursor keys.

The RETIME soft button can be used to change the times for steps that are out of sequence - any times that are not in order are changed to a new time that is within order. The sequence that the keys are played back in is maintained.

The REORDER soft button changes the sequence of keys to match the timing. Note that this will affect the result of playing the macro.

21.4.5. Assigning keyboard macros

To assign a macro to a button, press the ASSIGN MACRO soft button and press a key to assign it to (e.g. one of the 6 spare keys). Keyboard macros can also be assigned to a combination of keys – for example if you hold one key and press another key. Keyboard macros are saved into show files and also when you Save Settings, so it is possible to personalise your console.

If you accidentally assign a keyboard macro to the wrong button then you can easily change the assignment. Open the Macro Window, move the cursor to the macro you want to change the assignment for and press the ASSIGN MACRO soft button. Now press the button that you really wanted to assign it to.

A macro assignment can be removed using the DEASSIGN MACRO soft button.

21.4.6. Quick Macro Toolbar

The Quick Macro Tool Bar is accessed by pressing the screen in the Status Display (the area of the screen above Playbacks PB1 to PB5 with the Clock). The Macro Tool Bar can be closed by pressing in the Status Display again.

The Macro Tool Bar shows the Key Macros 1 to 10.

21.4.7. Recording Playback faders

Macros support fader moves and encoder changes as well as button presses. This enables complete recording and playback of macro segments. Macro timing and playback uses a high resolution internal clock enabling accurate playback of recorded sequences.

MagicQ optimises fader moves to remove redundant steps.

21.4.8. In built Macros

MagicQ supports a number of in-built macros which carry out common programming key sequences including quite a few that would normally require multiple key presses or simulataneous pressing of more than one key. The In-built Macros can be useful on touch systems where it is not possible to touch 2 keys at one time.

Press the In built Macro soft button and choose the macro to assign to the current item in the Macro Window.

21.4.9. Scheduled events in Cue Stacks

Cue Stacks can be used to program a list of scheduled events. To use this feature, set the Halt field of each of the Cues in the Cue Stack Window to “Sched”. Double click to change the field. Then enter the time in the Wait field. The times can have wildcards and sunrise/sunset times as per Autom events.

If dates are required then they are entered into the macro field starting with Z and ending with Z. For example to have an event on the

24 December 2005 enter:

Z24/12/2005Z

You can also specify particular days of the week using the characters A to G where A is Monday, B is Tuesday, C is Wednesday etc…

So for an event every Monday and Tuesday enter:

ZABZ

For an event on the first day of every month enter

Z1Z