Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
tempo_track.h File Reference

Object to hold information for the Tempo track. More...

#include <stdint.h>
#include "dsp/track.h"
#include "utils/types.h"
Include dependency graph for tempo_track.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define TEMPO_TRACK_MAX_BPM   420.f
 
#define TEMPO_TRACK_MIN_BPM   40.f
 
#define TEMPO_TRACK_DEFAULT_BPM   140.f
 
#define TEMPO_TRACK_DEFAULT_BEATS_PER_BAR   4
 
#define TEMPO_TRACK_MIN_BEATS_PER_BAR   1
 
#define TEMPO_TRACK_MAX_BEATS_PER_BAR   16
 
#define TEMPO_TRACK_DEFAULT_BEAT_UNIT   BEAT_UNIT_4
 
#define TEMPO_TRACK_MIN_BEAT_UNIT   BEAT_UNIT_2
 
#define TEMPO_TRACK_MAX_BEAT_UNIT   BEAT_UNIT_16
 
#define P_TEMPO_TRACK   (TRACKLIST->tempo_track)
 

Enumerations

enum  BeatUnit { BEAT_UNIT_2 , BEAT_UNIT_4 , BEAT_UNIT_8 , BEAT_UNIT_16 }
 Beat unit. More...
 

Functions

Tracktempo_track_default (int track_pos)
 Creates the default tempo track.
 
void tempo_track_init (Track *track)
 Inits the tempo track.
 
void tempo_track_clear (Track *self)
 Removes all objects from the tempo track.
 
bpm_t tempo_track_get_bpm_at_pos (Track *track, Position *pos)
 Returns the BPM at the given pos.
 
bpm_t tempo_track_get_current_bpm (Track *self)
 Returns the current BPM.
 
const char * tempo_track_get_current_bpm_as_str (void *self)
 
void tempo_track_set_bpm (Track *self, bpm_t bpm, bpm_t start_bpm, bool temporary, bool fire_events)
 Sets the BPM.
 
void tempo_track_set_bpm_from_str (void *_self, const char *str)
 
int tempo_track_beat_unit_enum_to_int (BeatUnit ebeat_unit)
 
void tempo_track_set_beat_unit_from_enum (Track *self, BeatUnit ebeat_unit)
 
BeatUnit tempo_track_get_beat_unit_enum (Track *self)
 
BeatUnit tempo_track_beat_unit_to_enum (int beat_unit)
 
void tempo_track_set_beat_unit (Track *self, int beat_unit)
 
void tempo_track_set_beats_per_bar (Track *self, int beats_per_bar)
 Updates beat unit and anything depending on it.
 
int tempo_track_get_beats_per_bar (Track *self)
 
int tempo_track_get_beat_unit (Track *self)
 

Detailed Description

Object to hold information for the Tempo track.

Definition in file tempo_track.h.