DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit 15014ea074e0d00112359e8b8b46b8ce6ebdbe71
parent 14a8e739c4710d59b243c78f19916a1fd098bed7
Author: falkTX <falktx@falktx.com>
Date:   Thu, 28 Feb 2019 01:11:46 +0100

More tweaks to transport

Signed-off-by: falkTX <falktx@falktx.com>

Diffstat:
Mdistrho/src/DistrhoPluginVST.cpp | 6+++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/distrho/src/DistrhoPluginVST.cpp b/distrho/src/DistrhoPluginVST.cpp @@ -973,12 +973,12 @@ public: if (vstTimeInfo->flags & (kVstPpqPosValid|kVstTimeSigValid)) { const double ppqPos = std::abs(vstTimeInfo->ppqPos); - const double ppqPerBar = static_cast<double>(vstTimeInfo->timeSigNumerator * 4) / vstTimeInfo->timeSigDenominator; + const int ppqPerBar = vstTimeInfo->timeSigNumerator * 4 / vstTimeInfo->timeSigDenominator; const double barBeats = (std::fmod(ppqPos, ppqPerBar) / ppqPerBar) * vstTimeInfo->timeSigNumerator; const double rest = std::fmod(barBeats, 1.0); - fTimePosition.bbt.bar = static_cast<int32_t>(ppqPos / ppqPerBar + 0.5) + 1; - fTimePosition.bbt.beat = static_cast<int32_t>(barBeats + 0.5) + 1; + fTimePosition.bbt.bar = static_cast<int32_t>(ppqPos) / ppqPerBar + 1; + fTimePosition.bbt.beat = static_cast<int32_t>(barBeats - rest + 0.5) + 1; fTimePosition.bbt.tick = static_cast<int32_t>(rest * fTimePosition.bbt.ticksPerBeat + 0.5); fTimePosition.bbt.beatsPerBar = vstTimeInfo->timeSigNumerator; fTimePosition.bbt.beatType = vstTimeInfo->timeSigDenominator;