mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-10 00:34:59 +01:00
Initial stab at tempo ramps.
Replaces the list of points in TempoMap with TempoSection functions, which compute tempo-at or tick-at time relative to tempo section start. TempoMap consults them additively to determine things like bbt_time(), frame_time() get_grid() etc. This has a marked effect on scrolling speed along with the code simplification in the places it has been attempted. Several things are broken here. Currently every ramp except the last one is an exponential ramp. this may be simple to fix :). Mouse-over midi grid doesn't match mouse click grid. should also be simple. Many things seem to work, but their accuracy should be in question until each area has been addressed.
This commit is contained in:
parent
94187e66a2
commit
7fc3b0c34c
16 changed files with 904 additions and 1097 deletions
|
|
@ -885,8 +885,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
|||
void update_just_timecode ();
|
||||
void compute_fixed_ruler_scale (); //calculates the RulerScale of the fixed rulers
|
||||
void update_fixed_rulers ();
|
||||
void update_tempo_based_rulers (ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
|
||||
ARDOUR::TempoMap::BBTPointList::const_iterator& end);
|
||||
void update_tempo_based_rulers (std::vector<ARDOUR::TempoMap::BBTPoint>& grid);
|
||||
void popup_ruler_menu (framepos_t where = 0, ItemType type = RegionItem);
|
||||
void update_ruler_visibility ();
|
||||
void set_ruler_visible (RulerType, bool);
|
||||
|
|
@ -949,9 +948,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
|||
gint bbt_nmarks;
|
||||
uint32_t bbt_bar_helper_on;
|
||||
uint32_t bbt_accent_modulo;
|
||||
void compute_bbt_ruler_scale (framepos_t lower, framepos_t upper,
|
||||
ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_begin,
|
||||
ARDOUR::TempoMap::BBTPointList::const_iterator current_bbt_points_end);
|
||||
void compute_bbt_ruler_scale (std::vector<ARDOUR::TempoMap::BBTPoint>& grid, framepos_t lower, framepos_t upper);
|
||||
|
||||
ArdourCanvas::Ruler* timecode_ruler;
|
||||
ArdourCanvas::Ruler* bbt_ruler;
|
||||
|
|
@ -1636,8 +1633,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
|||
ArdourCanvas::Container* time_line_group;
|
||||
|
||||
void hide_measures ();
|
||||
void draw_measures (ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
|
||||
ARDOUR::TempoMap::BBTPointList::const_iterator& end);
|
||||
void draw_measures (std::vector<ARDOUR::TempoMap::BBTPoint>&);
|
||||
|
||||
void new_tempo_section ();
|
||||
|
||||
|
|
@ -1698,9 +1694,7 @@ class Editor : public PublicEditor, public PBD::ScopedConnectionList, public ARD
|
|||
void remove_metric_marks ();
|
||||
void draw_metric_marks (const ARDOUR::Metrics& metrics);
|
||||
|
||||
void compute_current_bbt_points (framepos_t left, framepos_t right,
|
||||
ARDOUR::TempoMap::BBTPointList::const_iterator& begin,
|
||||
ARDOUR::TempoMap::BBTPointList::const_iterator& end);
|
||||
void compute_current_bbt_points (std::vector<ARDOUR::TempoMap::BBTPoint>& grid, framepos_t left, framepos_t right);
|
||||
|
||||
void tempo_map_changed (const PBD::PropertyChange&);
|
||||
void redisplay_tempo (bool immediate_redraw);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue