Variables are the meeting place of cue lists, looks and hardware connected to your console. You can see the current show's variable pages by using the Display menu or pressing the traffic light button in the toolbar. Apart from monitoring external devices, you can use variables for the storage of text, booleans or numbers when programming Macro Scripts.
You can have any number of Variable Pages. To add a new Variable Page, right click in the top right hand pane and choose Add Variable Page. If you want to add a new Variable to the Variable Page, press [S1]. To delete a variable, highlight it with the Blue Box and press [DEL].
Variables can be of types:
Momentary (only down as long as your finger is on it)
Toggle (first press down, second press up)
Radio (only one variable in radio group can be down at a time)
Any one page can have any number of Radio Groups. By default, all variables are members of the null group. A group is defined when any two variables have the exact same text in the Radio Group column (i.e. "1", "A", "Center Hallway")
The patch column beside the Variable Page name allows you to attach hardware, Cue Lists or Look Pages to the variable page.

The optional ILS Interface card connects Marquee to an ILS network.
ILS 6-Button, 8-Button and AV-Contact Closure devices can communicate with Marquee.
ILS 6-Button stations can also be assigned to IR Remote rooms A through D for triggering Marquee using the infrared hand-held device.
To work with Variable, the ILS button stations needs to be in Remote Keypad mode.
To patch an ILS button station to a variable page, enter the button station ID in the patch edit box using the syntax B# (for example B2 would connect the variable page to Button Station 2 - the B must be capitalized).
ILS devices must be addressed between 1 and 255.
Multiple button stations can be patched to a variable page by separating devices by a comma (i.e. ‘B1,B2’).
The order field can also contain comma delineated text, such as "B1.1,B2.5" which would bind together button number 1 on Button Station #1 and button #5 on Button Station #2.
As buttons go down, the corresponding variable (‘Order’ field) will be set to a value of ‘1’.
As buttons go up, the corresponding variable will be set to a value of ‘0’.
If a variable’s value is non-zero, the button’s LED will be illuminated.
If you want to control an ILS network, there are unrelated ILSSetScene and ILSLockCommand macros that are useful for controlling ILS house lights and the like.
ILSSetScene (sends a Scene Set command to a specified device ID; useful for setting house lights to half)
ILSLockCommand (lock or unlocks a specified button station; useful to lock out public buttons stations at show time)
The ILS devices must be in proper ILS mode (i.e., not Remote Keypad mode) to make use of these commands:

MIDI NOTE ON commands can be received using the optional MIDI/SMPTE interface.
In the Variable Page patch cell, enter M# where # is MIDI channel 1 through 16.
The order field will corresponded to notes 1 through 127.
Receiving a NOTE-ON will set the variable to '1'.
Receiving a NOTE-OFF will set the variable to '0'.
Unrelated to MIDI Notes, Marquee can respond to MIDI Show Control (MSC).
Variable Pages can also be patched to Cue Lists and Look Pages (i.e. ‘Cue List 1’ or ‘B1,B2,Cue List 1’ or 'Main').
When a variable leaves the zero state, the corresponding Cue will be activated.
Variables on Variable Pages patched to Look Pages will be 0 when the look handle is at the bottom and 100 when the look handle is at the top (or the bump button is pressed).
Setting a variable to any value between 0 and 100 sets the look’s virtual handle to that level and vice versa.
Any variable attempting to set a value greater than 100 will be set to 100.
Any variable attempting to set a value to a string will be set to 0.
Individual variables can have Cues or Looks specified in the order field (i.e., "Main.1,B2.5')
Variables can have macros attached to them. Move the Blue Box to the Macro column and press [EDIT]:

There are eight different state-change events that can fire macros:
Button Up
Button Down
On Value (when a variable reaches a certain value (i.e., ‘0’ or ‘100’ or ‘25’)
Off Value (when a variable changes from a certain value (i.e., when a look handle leaves 0)
Up Through (when the look is fading up and passes by the specified value)
Down Through (when the look is fading down and passes by the specified value)
Pass Through (when the look crosses a certain value in either direction)
Value Change (is trigged any time the value changes)
You can attach any number of macro actions to a variable. Macros can contain common commands like CueListGo or more complex Lua Scripts which provide IF/THEN/ELSE type programming capabilities.