mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-15 19:16:40 +01:00
more changes to broken-out tempo code
fetching grid and bar-centric grid now works, removed debug output, cleaned up ::rebuild to do the right thing, fixed up some ::foo_at_bar() method implementations
This commit is contained in:
parent
059fda9d4b
commit
7b0c5a0def
2 changed files with 142 additions and 86 deletions
15
nutemp/t.h
15
nutemp/t.h
|
|
@ -196,6 +196,7 @@ class LIBARDOUR_API TempoMapPoint
|
|||
: _flags (Flag (0)), _reference (&tmp), _sclock (sc), _quarters (q), _bbt (bbt), _dirty (true) {}
|
||||
~TempoMapPoint () {}
|
||||
|
||||
Flag flags() const { return _flags; }
|
||||
bool is_explicit() const { return _flags != Flag (0); }
|
||||
bool is_implicit() const { return _flags == Flag (0); }
|
||||
|
||||
|
|
@ -334,7 +335,19 @@ class LIBARDOUR_API TempoMap
|
|||
TempoMapPoint const & const_point_after (Evoral::Beats const & b) const;
|
||||
TempoMapPoint const & const_point_after (Timecode::BBT_Time const & bbt) const;
|
||||
|
||||
void get_grid (TempoMapPoints& points, superclock_t start, superclock_t end);
|
||||
/* If resolution == Evoral::Beats() (i.e. zero), then the grid that is
|
||||
returned will contain a mixture of implicit and explicit points,
|
||||
and will only be valid as long as this map remains unchanged
|
||||
(because the implicit points may reference explicit points in the
|
||||
map.
|
||||
|
||||
If resolution != Evoral::Beats() (i.e. non-zero), then the in-out @param
|
||||
grid will contain only explicit points that do not reference this
|
||||
map in anyway.
|
||||
*/
|
||||
void get_grid (TempoMapPoints& points, superclock_t start, superclock_t end, Evoral::Beats const & resolution);
|
||||
|
||||
void get_bar_grid (TempoMapPoints& points, superclock_t start, superclock_t end, int32_t bar_gap);
|
||||
|
||||
struct EmptyTempoMapException : public std::exception {
|
||||
virtual const char* what() const throw() { return "TempoMap is empty"; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue