diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2017-09-14 21:57:41 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2017-09-18 11:40:54 -0400 |
commit | 7b0c5a0def2b1de8dd968a24c73bd835103fc353 (patch) | |
tree | 7236df3f2c9d7dd8e549139d03cc23f7d495f516 /nutemp/t.h | |
parent | 059fda9d4b075ed0e8c257abdd70b6ee9ef4343c (diff) |
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
Diffstat (limited to 'nutemp/t.h')
-rw-r--r-- | nutemp/t.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/nutemp/t.h b/nutemp/t.h index 933ee65dc1..c4117a9ad5 100644 --- a/nutemp/t.h +++ b/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"; } |