States Class

Base states functionality for State and racks

class States extends EndPoint {
    get items(): State[];
    get name(): string;
    get currentStateIndex(): number;
    get currentState(): State;
    loadStateByIndex(index: number, delayed?: boolean): void;
    loadStateByProgram(program: number, delayed?: boolean): void;
    loadFirstState(delayed?: boolean): void;
    loadLastState(delayed?: boolean): void;
    loadNextState(direction: number, delayed?: boolean, wrap?: boolean): void;
}

#Properties

#currentState

The currently loaded State (or null if no active state). See also #currentStateIndex.

get currentState(): State;

#currentStateIndex

The index of the currently loaded State (or -1 if no active state). See also #currentState.

get currentStateIndex(): number;

#items

An array of State items

get items(): State[];

#name

The display name of the containing song or rack

get name(): string;

#Methods

#loadFirstState()

Load the first state

loadFirstState(delayed?: boolean): void;
  • delayed Whether to perform a delayed or immediate load

#loadLastState()

Load the last state

loadLastState(delayed?: boolean): void;
  • delayed Whether to perform a delayed or immediate load

#loadNextState()

Load the next or previous state

loadNextState(direction: number, delayed?: boolean, wrap?: boolean): void;
  • direction Direction to move (1 = next, -1 = previous)

  • delayed Whether to perform a delayed or immediate load

  • wrap Whether to wrap around at the start/end

#loadStateByIndex()

Load the State at a given index position

loadStateByIndex(index: number, delayed?: boolean): void;
  • index The zero based index of the State to load

  • delayed Whether to perform a delayed or immediate load

#loadStateByProgram()

Load the State with a given program number

loadStateByProgram(program: number, delayed?: boolean): void;
  • program The zero based program number of the State to load

  • delayed Whether to perform a delayed or immediate load

#Events

#'changed' Event

Fired when anything about the contents of state list changes

states.on('changed', () => { });

#'currentStateChanged' Event

Fired when the current state changes

states.on('currentStateChanged', () => { });

#'itemAdded' Event

Fired after a new state has been added

states.on('itemAdded', (index: Number) => { });
  • index The zero based index of the newly added item

#'itemChanged' Event

Fired when something about an state has changed

states.on('itemChanged', (index: Number) => { });
  • index The zero based index of the item that changed

#'itemMoved' Event

Fired when an item has been moved

states.on('itemMoved', (from: Number, to: Number) => { });
  • from The zero based index of the item before being moved

  • to The zero based index of the item's new position

#'itemRemoved' Event

Fired after a state has been removed

states.on('itemRemoved', (index: Number) => { });
  • index The zero based index of the removed item

#'nameChanged' Event

Fired when the name of the containing song or rack changes

states.on('nameChanged', () => { });

#'reload' Event

Fired when the entire set of states has changed (eg: after a sort operation, or loading a new song/rack)

states.on('reload', () => { });