summaryrefslogtreecommitdiff
path: root/nutemp/t.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-09-14 21:57:41 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2017-09-18 11:40:54 -0400
commit7b0c5a0def2b1de8dd968a24c73bd835103fc353 (patch)
tree7236df3f2c9d7dd8e549139d03cc23f7d495f516 /nutemp/t.h
parent059fda9d4b075ed0e8c257abdd70b6ee9ef4343c (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.h15
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"; }