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

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

#include <cstdint>
#include "dsp/track.h"
#include "utils/types.h"
#include <magic_enum.hpp>
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.


#define TEMPO_TRACK_MAX_BPM   420.f
#define TEMPO_TRACK_MIN_BPM   40.f
#define P_TEMPO_TRACK   (TRACKLIST->tempo_track)


enum class  ZBeatUnit { Z_BEAT_UNIT_2 , Z_BEAT_UNIT_4 , Z_BEAT_UNIT_8 , Z_BEAT_UNIT_16 }
 Beat unit. More...


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 (ZBeatUnit ebeat_unit)
void tempo_track_set_beat_unit_from_enum (Track *self, ZBeatUnit ebeat_unit)
ZBeatUnit tempo_track_get_beat_unit_enum (Track *self)
ZBeatUnit 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.