Table of Contents

Class Navigation

Namespace
Ofs
Assembly
Ofs.Api.dll

Registration of alternate navigators. A navigator owns what the prev/next-step keys do — given a step, it decides where the playhead goes (next action, a custom grid, …). It does not move the playhead any other way and cannot edit actions. Registering only publishes the navigator; the user activates it from the footer (no plugin-callable setter). Call RegisterMode(string, string, NavStepHandler, Action?, Action?, Action<Ui>?) from OnLoad().

public sealed class Navigation
Inheritance
object
Navigation

Methods

IsActive(string)

Whether the navigator this plugin registered as id is the one the user has active in the footer's Step selector. Use it to gate the plugin's stepping UI (e.g. grey out settings until the user selects the navigator). The host resolves id the same way RegisterMode(string, string, NavStepHandler, Action?, Action?, Action<Ui>?) does — it prepends the plugin name — so pass the same local id.

public bool IsActive(string id)

Parameters

id string

Returns

bool

RegisterMode(string, string, NavStepHandler, Action?, Action?, Action<Ui>?)

Publishes a navigator the user can select in the footer's Step selector. Call from OnLoad.

public void RegisterMode(string id, string displayName, NavStepHandler onStep, Action? onEnter = null, Action? onExit = null, Action<Ui>? onUi = null)

Parameters

id string

Local id (no namespace prefix); the host prepends the plugin name.

displayName string

Name shown in the footer's Step selector (rendered verbatim).

onStep NavStepHandler

Resolves each step into Seek(double), None, or Pass.

onEnter Action

Optional: runs when the user activates this navigator.

onExit Action

Optional: runs when the user leaves this navigator.

onUi Action<Ui>

Optional: draws this navigator's options. The host calls it (with a Ui builder) only while this navigator is the active one, in the docked Tool Options panel — so you no longer hand-gate the options on IsActive(string). Null = no options section.