From 7558c1316ec72b486208288996d0a335ab94d2e0 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 20 Nov 2020 02:07:49 +0100 Subject: [PATCH] VST3: inform plugins about last bar --- libs/ardour/vst3_plugin.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libs/ardour/vst3_plugin.cc b/libs/ardour/vst3_plugin.cc index a6bd641a95..2b2d7b99ac 100644 --- a/libs/ardour/vst3_plugin.cc +++ b/libs/ardour/vst3_plugin.cc @@ -623,13 +623,16 @@ VST3Plugin::connect_and_run (BufferSet& bufs, context.systemTime = g_get_monotonic_time (); { - TempoMap const& tmap (_session.tempo_map ()); - const Tempo& t (tmap.tempo_at_sample (start)); - const MeterSection& ms (tmap.meter_section_at_sample (start)); + TempoMap const& tmap (_session.tempo_map ()); + const Tempo& t (tmap.tempo_at_sample (start)); + const Timecode::BBT_Time& bbt (tmap.bbt_at_sample_rt (start)); + const MeterSection& ms (tmap.meter_section_at_sample (start)); + context.tempo = t.quarter_notes_per_minute (); context.timeSigNumerator = ms.divisions_per_bar (); context.timeSigDenominator = ms.note_divisor (); context.projectTimeMusic = tmap.quarter_note_at_sample_rt (start); + context.barPositionMusic = bbt.bars * 4; // PPQN, NOT tmap.metric_at(bbt).meter().divisions_per_bar() } const double tcfps = _session.timecode_frames_per_second ();