Project Commands
The undoable edits a project supports. Use TimelineFacade for reading the document and for changes that are not user edits; use this for anything a user could undo.
Each function returns false when the target does not exist or the change was rejected; setting the value already in place succeeds without creating a history step.
Inheritors
Functions
Track graph edges. Presence is the value here too, so undoing a connect is a disconnect. lastGraphError carries the reason the graph refused an edge -- a cycle, a missing endpoint, a direction mismatch -- and is empty after a call that succeeded.
Replaces a track's graph with a fresh one of the requested type. The event buffer size is the caller's: the project loader and the application model each supply their own.
The complete persisted latency/monitoring configuration, as one history step. To change one field, read the current settings, copy them with that field altered, and submit the whole snapshot.
The caller is responsible for validating marker identity and reference cycles before submitting.
Per-note edits share the plug-in's identity and history, so changing the selected key, channel or group does not silently bypass undo. contextType carries remidy::PerNoteControllerContextTypes bit flags.