Skip to main content
Glama

Configure a sequence's playback settings

gma3_configure_sequence

Configure playback settings for a grandMA3 sequence (priority, wrap-around, tempo links, lock) with preview and read-back verification to prevent silent write failures.

Instructions

Set a sequence's playback settings by writing its properties: wrap_around (a chase loops only with Wrap Around on and a trigger on its first cue), priority, restart_mode, release_first_cue, auto_start, auto_stop, master_go_mode, auto_fix, auto_stomp, tracking, soft_ltp, off_when_overridden, kill_protect, swap_protect (protection from the Kill/Swap playback actions, not from editing), use_executor_time, include_link_last_go, xfade_mode, xfade_reload. lock: true/false sets the sequence's own Lock. Tempo links (SB-06): rate_master (a speed master 1-16 or "none": the cue timing (fades, delays, trigger times) runs at its effective BPM / 60, so 60 BPM is 1:1), speed_master (the phasers in the cues follow it), rate_scale and speed_scale (One, Mul2..Mul256, Div2..Div256), speed_from_rate. Masters are linked by name; a master without a unique name is refused. While a rate master is linked, moving the sequence's rate fader moves the shared master. Settings belong to the sequence, so they apply to EVERY executor that references it: the tool scans all pages and lists them (references) and warns when other executors share the sequence. Cue triggers and timing are set with gma3_set_cue_trigger / gma3_set_cue_timing. Never sends Go, On, Off, Toggle, Flash or any other playback keyword and does not touch the selection, the programmer or fader levels; playback state is read before and after (playback.activeBefore/activeAfter) and configuration alone does not start playback. A locked target is refused before anything is sent (the console silently ignores writes to it) unless unlock: true, which unlocks the owning object, applies the changes and locks it again (relocking is attempted even after a failed change). preview: true performs only the reads and returns the planned changes (from -> to); values already set are reported as unchanged and never sent. Each value is written with one 'set' request whose reply must read back the requested value, because the console silently keeps the previous value for anything it does not accept; the first failure stops the remaining changes. A value that could not be read is unknown, never a default: the call is refused when a value the plan depends on (requested property, Lock, page Lock) is missing, and a set reply without a value is an unknown step. verify (default true) reads every changed property and the lock back. Mutations from this server are serialised, but not isolated from other operators or clients.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
lockNoFinal state of the sequence's Lock; lock: false on a locked sequence removes the lock (explicit unlock).
unlockNoAllow unlocking a locked sequence for this call; the lock is restored afterwards (default false: refuse).
verifyNoRead the changed settings back and compare (default true).
previewNoOnly read and report the planned changes and sharing executors (default false).
auto_fixNoAutoFix (Yes/No).
priorityNoPriority: super, swap, htp, highest, high, ltp, low, lowest.
sequenceYesSequence number (must exist).
soft_ltpNoSoftLTP (Yes/No).
trackingNoTracking (Yes/No).
auto_stopNoAutoStop (Yes/No).
auto_startNoAutoStart (Yes/No).
auto_stompNoAutoStomp (Yes/No).
rate_scaleNoRateScale: div256, div128, div64, div32, div16, div8, div4, div2, one, mul2, mul4, mul8, mul16, mul32, mul64, mul128, mul256.
xfade_modeNoXFadeMode: ab, split.
rate_masterNoRateMaster: a speed master 1-16 or "none".
speed_scaleNoSpeedScale: div256, div128, div64, div32, div16, div8, div4, div2, one, mul2, mul4, mul8, mul16, mul32, mul64, mul128, mul256.
wrap_aroundNoWrapAround (Yes/No).
kill_protectNoKillProtect (Yes/No).
restart_modeNoRestartMode: first_cue, current_cue, next_cue.
speed_masterNoSpeedMaster: a speed master 1-16 or "none".
swap_protectNoSwapProtect (Yes/No).
xfade_reloadNoXFadeReload (Yes/No).
master_go_modeNoMasterGoMode: none, go, on, top.
speed_from_rateNoSpeedFromRate (Yes/No).
release_first_cueNoReleaseFirstCue (Yes/No).
use_executor_timeNoUseExecutorTime (Yes/No).
off_when_overriddenNoOffWhenOverridden (Yes/No).
include_link_last_goNoIncludeLinkLastGo (Yes/No).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does so richly: locked targets are refused before sending unless unlock:true (with re-lock attempted even on failure), preview performs only reads, verify reads back changed properties, a set reply without a value is an unknown step, and the first failure stops remaining changes. It also states explicitly that no playback keyword is sent and that configuration alone does not start playback, which is essential behavioural reassurance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The action is front-loaded in the first sentence and the dense behavioural caveats follow, which suits a 28-parameter mutation tool. It is nonetheless very long and contains some restatement (e.g. two clauses about not touching selection/programmer/faders and not starting playback), so it is not maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 28-parameter mutation tool with no annotations and no output schema, the description covers the safety profile, locking, verification, preview, read-back semantics, sharing warnings, and concurrency limits. An agent has everything needed to call it correctly and to predict failure modes.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, and the description exceeds it by adding meaning the schema lacks: wrap_around requires a first-cue trigger, kill_protect/swap_protect guard against Kill/Swap actions (not editing), rate_master semantics (fades/delays/trigger times at effective BPM/60, 1:1 at 60 BPM), speed_master follows phasers, masters linked by name with unnamed masters refused. Several boolean flags (auto_fix, tracking, soft_ltp, etc.) are only echoed from the schema, so it is not a full 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence states a specific verb and resource ('Set a sequence's playback settings by writing its properties') and enumerates the properties, so an agent knows exactly what is mutated. It distinguishes itself from siblings by routing cue triggers/timing to gma3_set_cue_trigger / gma3_set_cue_timing and by scoping settings to the sequence rather than an executor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for when to use it (settings belong to the sequence and apply to every executor referencing it) and names the alternative tools for cue triggers and timing. What is missing is an explicit when-not-to-use versus gma3_configure_executor / gma3_set_property, which an agent must infer.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.