Sequence with additional markers, metrics and tempo information.
Typedefs | |
typedef struct track | track_t |
The track data type. | |
Functions | |
FTS_API void | track_lock_read (track_t *track) |
Lock track to prevent concurrent access to the contained sequences. | |
FTS_API void | track_lock_write (track_t *track) |
Lock track to prevent concurrent access to the contained sequences. | |
void | track_unlock (track_t *track) |
Unlock an track after a previous lock. | |
FTS_API event_t * | track_insert_value (track_t *track, double time, const fts_atom_t *a) |
Insert a value into a track at the given time. | |
FTS_API marker_t * | track_insert_marker (track_t *track, double time) |
Insert a marker into a track at the given time. | |
FTS_API metric_t * | track_insert_metric (track_t *track, double time, fts_symbol_t meter) |
Insert a metric (bar) into a track at thegiven time. | |
FTS_API void | track_insert_tempo (track_t *track, double time, double tempo) |
Insert a tempo marker into a track at given time. | |
FTS_API void | track_merge (track_t *track_merge, track_t *track_src) |
Merge the events and markers of a another track into a track. | |
FTS_API void | track_merge_clear (track_t *track_merge, track_t *track_src) |
Merge and and clear the events and markers of another track into a track. | |
Variables | |
FTS_API fts_class_t * | track_class |
The track class identifier (pointer to class instance). |
FTS_API void track_lock_read | ( | track_t * | track | ) |
Lock track to prevent concurrent access to the contained sequences.
This function puts a shared lock (read lock) on the track. The track has be unlocked by a call to track_unlock().
FTS_API void track_lock_write | ( | track_t * | track | ) |
Lock track to prevent concurrent access to the contained sequences.
This function puts an exclusive lock (write lock) on the track. The track has be unlocked by a call to track_unlock().
Merge the events and markers of a another track into a track.
track_merge | track to receive events and markers | |
track_src | track of which elements are to be merged into first track |
Merge and and clear the events and markers of another track into a track.
The track given as second argument is empty after calling this function.
track_merge | track to receive elements | |
track_src | track whose elements are to be merged into first track, and whose sequences will be emptied |
void track_unlock | ( | track_t * | track | ) |
Unlock an track after a previous lock.
This function has to be called after a call to track_lock_read() or track_lock_write().