Assign an object to an executor
gma3_assign_to_executorAssign a sequence or macro to a grandMA3 executor on a specific page, with safety checks, optional replacement of a different object, and label-based renaming.
Instructions
Assign a sequence or macro to an executor on an explicit page: give sequence for compatibility or object (Sequence , Macro , optionally DataPool ). Sends 'Assign At Page .'. Before sending anything it checks read-only that the sequence and the page exist and what the executor currently holds; an executor holding a different object is only replaced with replace: true (otherwise the call fails with the previous assignment in the result), and an executor that already holds this sequence is left alone (alreadyAssigned: true, no command sent). Optional label: sends 'Label Page . ""' after assigning. On grandMA3 an executor has no label of its own: it shows its assigned object's name, so this RENAMES THE ASSIGNED OBJECT itself, everywhere it appears (pools, other executors). If labelling fails after the assignment the outcome is partial. Does not change the fixture selection or the programmer and never sends Go/On/Off/Toggle or any playback keyword; whether the console changes the selected sequence on assignment is not controlled by this tool. verify (default true) reads the executor back and compares the assigned object by address, name and class and, when a label was given, the executor's displayed name and the object's own Name; executor configuration, fader/key functions and playback state are NOT verified. Mutations from this server are serialised, but another operator or client can still change the executor between the inspection and the assignment. Batch form (assignments): each target executor is checked to be empty or to hold that sequence already, unless replace is given for that item (or for the whole call); a target listed twice is refused. Batch form: give the list instead of the single object's fields; the other arguments are defaults for every item (an item's own fields win). Each item gets the single form's checks and read-back, and its own outcome; items run in order, nothing is retried, an unknown outcome stops the rest, and the result has one line per item (detail: true for every step).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Executor page number (1-9999). The page must already exist; the tool does not create pages. Required unless assignments is given (it may then be a default for every item). | |
| label | No | Optional new name for the assigned sequence (an executor displays its assigned object's name). Names must not contain \ " $ & * ? , . ; ^ { } | ~ (the console strips them); leading/trailing spaces are trimmed. | |
| detail | No | Return every item's full result with its steps (default false: one line per item). | |
| object | No | One Sequence or Macro reference by number, optionally DataPool <n> qualified. Give object or sequence, never both. Must exist. | |
| verify | No | Read the executor (and the sequence, when labelled) back and compare (default true). | |
| replace | No | Replace an executor that holds a different object (default false: fail and report the previous assignment). | |
| executor | No | Executor number on that page: 101-190 (keys), 201-290 (faders), 301-390 and 401-490 (knobs), plus the Xkeys 191-198 and 291-298. Required unless assignments is given. | |
| sequence | No | Sequence number to assign (must exist). Give sequence or object; omit single-source fields with assignments. | |
| data_pool | No | Data pool number (DataPool n). Default: the current data pool, as without this parameter. | |
| assignments | No | Batch form: several assignments, each {sequence, page, executor, replace, label}; page may be given once for all. | |
| stop_on_failure | No | Batch form: stop at the first item that does not succeed (default false: independent items go on; an item on an object an earlier item failed on is skipped either way). |