Store the programmer into a preset with explicit storage rules
gma3_store_presetStores current programmer content into a chosen preset with explicit mode, fixture scope, merge/overwrite handling, and optional read-back verification.
Instructions
Store the current programmer content into Preset .. Prepare the programmer first (gma3_select, gma3_set_attribute/color/position, At Preset ... for embedding); this tool only stores. Explicit rules: mode selective | global | universal (never the pool default: a default store resolves a mode conflict silently and can keep one fixture's values), or force global | universal for a forced conversion of an existing preset (removes its selective, or selective and global, data; needs existing: "merge"). existing: refuse (default) | merge | overwrite. fixtures: the scope; every active programmer value must belong to these fixtures (a fixture includes its cells) and each must have one; attributes (optional): exact attribute filter (an activation group, e.g. all ColorRGB_*, is activated as a whole); layers (default [absolute]; also relative, fade, delay, phaser) must cover every value's layers. Anything else in the programmer is refused, because the console stores every active value regardless of the selection. Also refused: universal mode with values that differ between fixtures, embed without a preset reference in the programmer, attributes a feature-group pool's input filter would drop (store into an All pool 21-25 or pass input_filter: false), a locked preset, and a name another preset of the same pool already has (the console keeps names unique within a pool and would store it as "#2"; the pool's names are read once per pool and call, compared case-insensitively, the holder is named, and storing a preset again under its own name is no collision): on_name_taken: refuse (default) | allow_suffix (store anyway; a "#" read-back is expected, with a warning, not a mismatch). embed (default false) stores references to the presets active in the programmer; matricks (default false) the selection MAtricks; keep_activation (default false); input_filter overrides the operator default for this store only. The command always carries /Programmer /Active, the mode, /Merge or /Overwrite, /Embed, /MAtricks, /KeepActivation and /NoConfirmation, so the operator's store preferences decide nothing and are not changed (read before and after); Look cannot be overridden per store, so the tool refuses while the operator's StoreLook preference is on. Requires exclusive: true (not for preview). verify (default true) reads the stored rows back and checks each programmer value by mode, value, layers and reference, unexpected content, the preset's mode, dependencies (recursively; incomplete inspection is reported) and that the store preferences are unchanged. Needs bridge 0.22.0. Batch form (presets): each preset from explicit content instead of the programmer: fixtures (ids or ranges: the target and the scope) with presets, intensity and/or values, or looks. They are built one by one in the console's Preview environment (its own programmer; the operator's Normal programmer and the output are not touched, checked before and after): from an empty Preview programmer, each look is checked right after its commands, then this tool's store, checks and read-back run there. A preset that fails does not stop the others; a name refused as taken fails only its preset, and a name an earlier preset of the call was stored under counts as taken. 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 |
|---|---|---|---|
| mode | No | Preset mode the data is stored in. | |
| name | No | Preset name. | |
| embed | No | Store references to the presets active in the programmer (default false: plain values). | |
| force | No | Forced conversion of an existing preset instead of mode (needs existing: merge). | |
| detail | No | Return every item's full result with its steps (default false: one line per item). | |
| layers | No | Data layers the values may carry (default [absolute]). | |
| preset | No | Target preset "<pool>.<number>", e.g. "4.12" or "23.1". Required unless presets is given. | |
| verify | No | Read back and check the stored content (default true). | |
| presets | No | Batch form: several presets, each from explicit content (built in Preview; the programmer is not stored). | |
| preview | No | Only read, check and return the planned command (default false). | |
| existing | No | What to do when the preset exists (default refuse). | |
| fixtures | No | Scope: fixture ids or "a Thru b" ranges; every programmer value must belong to them. Required unless presets is given (it is then the default target of every preset's content). | |
| matricks | No | Store the selection MAtricks into the preset (default false). | |
| data_pool | No | Data pool number (DataPool n). Default: the current data pool, as without this parameter. | |
| exclusive | No | Required (true) unless preview: nobody else changes the programmer while the tool runs. | |
| attributes | No | Exact attribute filter: the programmer may hold only these attributes, and each must be present. | |
| input_filter | No | Override the operator's preset input-filter default for this store only. | |
| on_name_taken | No | When another preset of the pool has the name: refuse (default, nothing is sent) or allow_suffix (the console stores "<name>#2"). | |
| keep_activation | No | Keep the stored values active in the programmer (default false). | |
| 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). |