diff options
author | nick_m <mainsbridge@gmail.com> | 2016-03-04 00:08:21 +1100 |
---|---|---|
committer | nick_m <mainsbridge@gmail.com> | 2016-05-27 23:38:11 +1000 |
commit | 452e484faf67810788c55bb9a1a2b4c5b5925456 (patch) | |
tree | 1e106d879a23624643b316db8b622ae1085828ed /libs/ardour/ardour/tempo.h | |
parent | 38df1063d3c6423dc3eda3f7d5f20a5dc6b57e45 (diff) |
Tempo ramps - rework mouse dragging of tempo marks, derive beat_at_tempo() and tempo_at_beat().
Diffstat (limited to 'libs/ardour/ardour/tempo.h')
-rw-r--r-- | libs/ardour/ardour/tempo.h | 16 |
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); |