96 bool is_playing =
false;
97 bool is_looping =
false;
98 double sample_rate = 0.0;
99 double tempo_bpm = 0.0;
100 double position_beats = 0.0;
101 double loop_start_beats = 0.0;
102 double loop_end_beats = 0.0;
106 static bool valid_sample_rate(
double sample_rate)
noexcept;
107 static bool valid_tempo(
double tempo_bpm)
noexcept;
108 static bool valid_grid(
double grid_beats)
noexcept;
109 static bool valid_timeline(
const ProcessContext& context)
noexcept;
110 static bool valid_loop_range(
double start_beats,
double end_beats)
noexcept;
112 static double frames_to_beats(
double frames,
114 double tempo_bpm)
noexcept;
115 static double beats_to_frames(
double beats,
117 double tempo_bpm)
noexcept;
118 static double next_grid_boundary(
double position_beats,
119 double grid_beats)
noexcept;
120 static double next_host_loop_start_boundary(
const ProcessContext& context)
noexcept;
121 static double wrap_loop_position(
double position_beats,
122 double loop_start_beats,
123 double loop_end_beats)
noexcept;
124 static double timeline_tolerance_beats(
const ProcessContext& context)
noexcept;
128 bool transport_jumped)
const noexcept;
130 bool timeline_valid)
const noexcept;
131 void remember(
const ProcessContext& context,
bool timeline_valid)
noexcept;
Process context — passed every audio callback with transport state.
Definition process_context.hpp:89