summaryrefslogtreecommitdiff
path: root/libs/ardour/ardour/tempo.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/ardour/tempo.h')
-rw-r--r--libs/ardour/ardour/tempo.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/libs/ardour/ardour/tempo.h b/libs/ardour/ardour/tempo.h
index 4396cb8f99..060507676d 100644
--- a/libs/ardour/ardour/tempo.h
+++ b/libs/ardour/ardour/tempo.h
@@ -185,6 +185,9 @@ class LIBARDOUR_API TempoSection : public MetricSection, public Tempo {
double tempo_at_frame (framepos_t frame, framecnt_t frame_rate) const;
framepos_t frame_at_tempo (double tempo, framecnt_t frame_rate) const;
+ double tempo_at_beat (double beat) const;
+ double beat_at_tempo (double tempo) const;
+
double tick_at_frame (framepos_t frame, framecnt_t frame_rate) const;
framepos_t frame_at_tick (double tick, framecnt_t frame_rate) const;
@@ -193,6 +196,7 @@ class LIBARDOUR_API TempoSection : public MetricSection, public Tempo {
void set_c_func_from_tempo_and_beat (double end_bpm, double end_beat, framecnt_t frame_rate);
double compute_c_func (double end_bpm, framepos_t end_frame, framecnt_t frame_rate) const;
+
double get_c_func () const { return _c_func; }
void set_c_func (double c_func) { _c_func = c_func; }
@@ -213,6 +217,9 @@ class LIBARDOUR_API TempoSection : public MetricSection, public Tempo {
double tick_tempo_at_time (double time) const;
double time_at_tick_tempo (double tick_tempo) const;
+ double tick_tempo_at_tick (double tick) const;
+ double tick_at_tick_tempo (double tick_tempo) const;
+
double tick_at_time (double time) const;
double time_at_tick (double tick) const;
@@ -369,10 +376,15 @@ class LIBARDOUR_API TempoMap : public PBD::StatefulDestructible
void remove_meter (const MeterSection&, bool send_signal);
framepos_t compute_replacement_tempo_section (TempoSection* section, const double& tempo, const double& beat);
+ Metrics imagine_new_order (TempoSection* section, const Tempo& bpm, const framepos_t& frame, const double& beat);
+ Metrics imagine_new_order (MeterSection* section, const Meter& mt, const framepos_t& frame, const double& beat);
+
void replace_tempo (const TempoSection&, const Tempo&, const double& where, TempoSection::Type type);
- void replace_tempo (const TempoSection&, const Tempo&, const framepos_t& where, TempoSection::Type type);
+ void replace_tempo (const TempoSection&, const Tempo&, const framepos_t& frame, TempoSection::Type type);
+
+ void gui_move_tempo (TempoSection*, const Tempo& bpm, const framepos_t& where, const double& beat);
+ void gui_move_meter (MeterSection*, const Meter& mt, const framepos_t& where, const double& beat);
- void gui_set_tempo_frame (TempoSection&, framepos_t where, double beat);
void replace_meter (const MeterSection&, const Meter&, const Timecode::BBT_Time& where);
void replace_meter (const MeterSection&, const Meter&, const framepos_t& frame);