summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_unit.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2016-05-26 02:20:14 +0200
committerRobin Gareus <robin@gareus.org>2016-05-26 02:20:32 +0200
commitd6d5903a24477f6a41d9501ffc80120b46b39553 (patch)
treec6e22982d8ed9fdc835a8284d9683d99d94e9db8 /libs/ardour/audio_unit.cc
parent9678be9b6a1a472b4563386b32eff6fc7fe5dce1 (diff)
fix Audio Unit BBT
Diffstat (limited to 'libs/ardour/audio_unit.cc')
-rw-r--r--libs/ardour/audio_unit.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc
index 9fc9416ac5..37c96a30ca 100644
--- a/libs/ardour/audio_unit.cc
+++ b/libs/ardour/audio_unit.cc
@@ -1765,9 +1765,10 @@ AUPlugin::get_beat_and_tempo_callback (Float64* outCurrentBeat,
tmap.bbt_time (_session.transport_frame() + input_offset, bbt);
if (outCurrentBeat) {
+ const double ppq_scaling = metric.meter().note_divisor() / 4.0;
float beat;
- beat = metric.meter().divisions_per_bar() * bbt.bars;
- beat += bbt.beats;
+ beat = metric.meter().divisions_per_bar() * (bbt.bars - 1) * ppq_scaling;
+ beat += (bbt.beats - 1) * ppq_scaling;;
beat += bbt.ticks / Timecode::BBT_Time::ticks_per_beat;
*outCurrentBeat = beat;
}