13
0

Update Luabindings for new TempoMap API

This commit is contained in:
Robin Gareus 2023-07-14 23:48:05 +02:00
parent 509efdb290
commit a857a0af4d
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
3 changed files with 8 additions and 4 deletions

View File

@ -809,7 +809,7 @@ LuaBindings::common (lua_State* L)
.addFunction ("time", &Temporal::TempoMapPoint::time)
.endClass ()
.beginStdList <Temporal::TempoMapPoint> ("TempoMapPoints")
.beginStdVector <Temporal::TempoMapPoint> ("TempoMapPoints")
.endClass ()
.beginWSPtrClass <Temporal::TempoMap> ("TempoMap")
@ -859,7 +859,7 @@ LuaBindings::common (lua_State* L)
.addFunction ("convert_duration", &Temporal::TempoMap::convert_duration)
.addFunction ("bbt_walk", &Temporal::TempoMap::bbt_walk)
#ifdef WITH_SUPERCLOCK_BINDINGS
.addRefFunction ("get_grid", &Temporal::TempoMap::get_grid)
.addRefFunction ("grid", &Temporal::TempoMap::grid)
#endif
.addFunction ("quarters_per_minute_at", &Temporal::TempoMap::quarters_per_minute_at)

View File

@ -940,7 +940,11 @@ class /*LIBTEMPORAL_API*/ TempoMap : public PBD::StatefulDestructible
Meters const & meters() const { return _meters; }
MusicTimes const & bartimes() const { return _bartimes; }
LIBTEMPORAL_API Points::const_iterator get_grid (TempoMapPoints & points, superclock_t start, superclock_t end, uint32_t bar_mod = 0, uint32_t beat_div = 1) const;
LIBTEMPORAL_API void grid (TempoMapPoints& points, superclock_t start, superclock_t end, uint32_t bar_mod = 0, uint32_t beat_div = 1) const {
get_grid (points, start, end, bar_mod, beat_div);
}
LIBTEMPORAL_API Points::const_iterator get_grid (TempoMapPoints & points, superclock_t start, superclock_t end, uint32_t bar_mod = 0, uint32_t beat_div = 1) const;
LIBTEMPORAL_API void get_grid_with_iterator (GridIterator& iter, TempoMapPoints& ret, superclock_t rstart, superclock_t end, uint32_t bar_mod = 0, uint32_t beat_div = 1) const;
struct EmptyTempoMapException : public std::exception {

View File

@ -30,7 +30,7 @@ function factory () return function ()
-- get grid -- currently only available in debug-builds
-- Temporal.superclock_ticks_per_second = 282240000
tm = Temporal.TempoMap.read ()
local grid = tm:get_grid (Temporal.TempoMapPoints(), 0, Temporal.superclock_ticks_per_second (), 0, 1)
local grid = tm:grid (Temporal.TempoMapPoints(), 0, Temporal.superclock_ticks_per_second (), 0, 1)
for t in grid[1]:iter () do
-- each t is-a TempoMapPoint
local metric = t:to_tempometric ()