SessionState class
The representation of the current local state of a client in a Link Session.
A session state represents a timeline and the start/stop state. The timeline is a representation of a mapping between time and beats for varying quanta. The start/stop state represents the user intention to start or stop transport at a specific time. Start stop synchronization is an optional feature that allows to share the user request to start or stop transport between a subgroup of peers in a Link session. When observing a change of start/stop state, audio playback of a peer should be started or stopped the same way it would have happened if the user had requested that change at the according time locally. The start/stop state can only be changed by the user. This means that the current local start/stop state persists when joining or leaving a Link session. After joining a Link session start/stop change requests will be communicated to all connected peers.
- Implemented types
Constructors
- SessionState.create()
-
Create a new session_state instance.
factory
Properties
- destroyed → bool
-
Returns true if the contained abl_link_session_state C++ Object has been disposed
of in memory with destroy.
This should not be needed as NativeFinalizer cleans up
the underlying memory automatically when the SessionState instance becomes inaccessible.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
beatAtTime(
int time, double quantum) → double - Get the beat value corresponding to the given time for the given quantum.
-
destroy(
) → void - Manually delete the C++ representation of the abl_link_session_state instance contained in this object. Renders this instance unusable. This should not be needed as NativeFinalizer cleans up the underlying memory automatically when the SessionState instance becomes inaccessible.
-
forceBeatAtTime(
double beat, int time, double quantum) → void - Rudely re-map the beat/time relationship for all peers in a session.
-
isPlaying(
) → bool - Is transport playing?
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
phaseAtTime(
int time, double quantum) → double - Get the session phase at the given time for the given quantum.
-
requestBeatAtStartPlayingTime(
double beat, double quantum) → void - Convenience function to attempt to map the given beat to the time when transport is starting to play in context of the given quantum. This function evaluates to a no-op if isPlaying equals false.
-
requestBeatAtTime(
double beat, int time, double quantum) → void - Attempt to map the given beat to the given time in the context of the given quantum.
-
setIsPlaying(
bool isPlaying, int time) → void - Set if transport should be playing or stopped, taking effect at the given time.
-
setIsPlayingAndRequestBeatAtTime(
bool isPlaying, int time, double beat, double quantum) → void - Convenience function to start or stop transport at a given time and attempt to map the given beat to this time in context of the given quantum.
-
setTempo(
double bpm, int atTime) → void - Set the timeline tempo to the given bpm value, taking effect at the given time.
-
tempo(
) → double - The tempo of the timeline, in Beats Per Minute.
-
timeAtBeat(
double beat, double quantum) → int - Get the time at which the given beat occurs for the given quantum.
-
timeForisPlaying(
) → int - Get the time at which a transport start/stop occurs
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited