From 8c513ceca79d99ae7fe4f5ac88131708c8f5eeb1 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 19 Jun 2023 05:12:47 +0200 Subject: [PATCH] LuaProc: expose sample-position of last beat --- libs/ardour/luaproc.cc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libs/ardour/luaproc.cc b/libs/ardour/luaproc.cc index 4fc0af6964..af92f159e5 100644 --- a/libs/ardour/luaproc.cc +++ b/libs/ardour/luaproc.cc @@ -708,6 +708,8 @@ LuaProc::connect_and_run (BufferSet& bufs, const TempoMetric& metric_end (tmap->metric_at (timepos_t (end))); const BBT_Time& bbt (metric.bbt_at (timepos_t (start))); + const Beats last_beat (metric.quarters_at (bbt).get_beats (), 0); + luabridge::LuaRef lua_time (luabridge::newTable (L)); lua_time["sampleTime"] = start; @@ -718,6 +720,7 @@ LuaProc::connect_and_run (BufferSet& bufs, lua_time["musicTime"] = DoubleableBeats (metric.tempo ().quarters_at_sample (start)).to_double (); lua_time["musicTimeEnd"] = DoubleableBeats (metric_end.tempo ().quarters_at_sample (end)).to_double (); + lua_time["beatPosition"] = metric.sample_at (last_beat); lua_time["barPositionMusic"] = (bbt.bars - 1) * 4; lua_time["timeSigNumerator"] = metric.meter ().divisions_per_bar (); lua_time["timeSigDenominator"] = metric.meter ().note_value ();