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;
delayedWhether to perform a delayed or immediate load
#loadLastState()
Load the last state
loadLastState(delayed?: boolean): void;
delayedWhether to perform a delayed or immediate load
#loadNextState()
Load the next or previous state
loadNextState(direction: number, delayed?: boolean, wrap?: boolean): void;
-
directionDirection to move (1 = next, -1 = previous) -
delayedWhether to perform a delayed or immediate load -
wrapWhether to wrap around at the start/end
#loadStateByIndex()
Load the State at a given index position
loadStateByIndex(index: number, delayed?: boolean): void;
-
indexThe zero based index of the State to load -
delayedWhether to perform a delayed or immediate load
#loadStateByProgram()
Load the State with a given program number
loadStateByProgram(program: number, delayed?: boolean): void;
-
programThe zero based program number of the State to load -
delayedWhether 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) => { });
indexThe zero based index of the newly added item
#'itemChanged' Event
Fired when something about an state has changed
states.on('itemChanged', (index: Number) => { });
indexThe zero based index of the item that changed
#'itemMoved' Event
Fired when an item has been moved
states.on('itemMoved', (from: Number, to: Number) => { });
-
fromThe zero based index of the item before being moved -
toThe zero based index of the item's new position
#'itemRemoved' Event
Fired after a state has been removed
states.on('itemRemoved', (index: Number) => { });
indexThe 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', () => { });