The command line¶
The problem¶
The console has hundreds of functions and a few dozen keys. Touch menus alone would mean endless tapping through pop-ups, and you'd still need a way to say things like "fixtures 1 to 10 except 5, at 50% in 3 seconds" or "copy cues 3 to 7 to sequence 12".
grandMA2's answer is a small language. The keys on the desk are words of that language, and pressing them builds a sentence in the command line.
The idea: sentences of verbs and nouns¶
The basic grammar is:
[Function] [Object]
The manual describes the keyword types in grammar terms:
- Function keywords are the verbs: Store, Delete, Copy, Goto, Update, Assign, Label …
- Object keywords are the nouns: Fixture, Channel, Group, Preset, Cue, Sequence, Executor, Effect, Macro …, usually followed by a number or a name.
- Helping keywords are the prepositions and conjunctions: At, Thru,
+,-, If, Fade, Delay …
So the keys read as sentences:
Store Cue 3 Fade 2
Copy Cue 3 Thru 7 At Sequence 12
Fixture 1 Thru 10 - 5 At 50
Delete Preset "Red"
Most commands end with Please (Enter). That's what makes a key sequence happen.
Defaults make it short¶
Two rules let you leave out most words:
- Every object has a default function.
Group 3on its own selects the group, andPreset 4.2applies the preset. You only type a verb when you want something else. - Most functions have a default object.
Store Cue 21without an executor stores into the sequence of the selected executor(s).
On top of that, the default keyword (shown in brackets, [Channel]>) is added when you just type a number.
That's the source of the Channel trap: 5 At 50 means Channel 5 unless you change the default.
Keywords can also be typed (keyboard or on-screen) and have shortcuts: g for Group, f for Fixture, t for Thru, so f 1 t 10 at 50 is a complete command.
Upper and lower case don't matter.
Names go in quotes when they contain spaces or special characters, and wildcards work: Group wash*.
Lists are everywhere¶
Wherever a command takes an object, it takes a list: 1 Thru 10, 1 + 3 + 5, 1 Thru 10 - 5.
The same works for cues, presets, executors, DMX addresses.
A lot of tedious work becomes one line: Assign Fixture 101 + 103 + 105 At DMX 5.61 patches three fixtures in one go.
Why it matters even if you prefer touching the screen¶
Tapping a pool object, pressing an executor key or using a menu usually produces a command too.
The command line feedback window (the yellow ball next to the command line) shows what was executed, for example Executing: Store Cue 4 Fade 6 Delay 1.
That makes the command line:
- the way to learn the console: do something by touch, then read what command it was
- the language of automation: macros are lists of commands, cues have a CMD column that runs commands, and remote control (telnet, web) sends commands. Whatever you can type, you can automate.
- the place for options that have no button: most functions accept
/options, andKeyword /?lists them.
Interpretation
The manual introduces the command line as one way of working among others. In practice it's the core of the console. Experienced grandMA2 programmers rarely navigate menus for things they can say in five keystrokes. You don't have to become a command-line expert, but reading the feedback window is the fastest way to understand what the console did.
When it matters, and when not¶
- From day one: Function + Object + Please, Thru /
+/-, At, the default keyword, Oops. - Soon after: names and wildcards,
/?to discover options, reading the feedback window. - Skip at first: If/EndIf conditions, variables and macros.
Related¶
- How grandMA2 thinks: the objects the language talks about
- Storing only part of a look:
Ifas a temporary filter - Reference: Function of the command line, General syntax rules, All keywords, Work with lists
Sources¶
- Function of the command line: Please, command line feedback
- General syntax rules:
[Function] [Object], default functions and objects, case, quotation marks - Object keywords, Function keywords, Helping keywords: nouns, verbs, prepositions
- Command line: default keyword
- Group keyword: default function SelFix
- Using groups when programming: names, wildcards
- Storing cues: feedback example
- What are executors: commands apply to selected executors
- Multipatching: shortcut example
as dmx 3.1 t 3.5 f 201 - Live patching: Assign Fixture … At DMX