#include <JackTransportEngine.h>
Inheritance diagram for Jack::JackTransportEngine:
Public Member Functions | |
JackTransportEngine () | |
~JackTransportEngine () | |
void | SetCommand (transport_command_t state) |
jack_transport_state_t | GetState () const |
int | GetTimebaseMaster () const |
int | ResetTimebase (int refnum) |
int | SetTimebase (int refnum, bool conditionnal) |
void | CycleBegin (jack_nframes_t frame_rate, jack_time_t time) |
void | CycleEnd (JackClientInterface **table, jack_nframes_t frame_rate, jack_nframes_t buffer_size) |
void | SetSyncTimeout (jack_time_t timeout) |
void | ReadCurrentPos (jack_position_t *pos) |
jack_unique_t | GenerateUniqueID () |
Static Public Member Functions | |
static void | TransportCopyPosition (jack_position_t *from, jack_position_t *to) |
We have:
At the beginning of a cycle the server needs to select a new current position. When a request and a pending position are available, the resquest takes precedence on the pending one. The server atomically switches to the new position. The current position can be read by clients.
We use a JackAtomicArrayState pattern that allows to manage several "next" states independantly.
Definition at line 54 of file JackTransportEngine.h.