Browse Source

Update DPF yet again: vst time rework, fix lv2 export

Signed-off-by: falkTX <falktx@falktx.com>
tags/v1.2
falkTX 6 years ago
parent
commit
da73655873
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
3 changed files with 6 additions and 3 deletions
  1. +3
    -0
      dpf/distrho/src/DistrhoPluginLV2export.cpp
  2. +3
    -3
      dpf/distrho/src/DistrhoPluginVST.cpp
  3. BIN
      plugins/Kars/Screenshot.png

+ 3
- 0
dpf/distrho/src/DistrhoPluginLV2export.cpp View File

@@ -105,6 +105,9 @@ void lv2_generate_ttl(const char* const basename)
String manifestString; String manifestString;
manifestString += "@prefix lv2: <" LV2_CORE_PREFIX "> .\n"; manifestString += "@prefix lv2: <" LV2_CORE_PREFIX "> .\n";
manifestString += "@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n"; manifestString += "@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .\n";
#if DISTRHO_PLUGIN_HAS_UI && DISTRHO_PLUGIN_WANT_DIRECT_ACCESS
manifestString += "@prefix opts: <" LV2_OPTIONS_PREFIX "> .\n";
#endif
#if DISTRHO_PLUGIN_WANT_PROGRAMS #if DISTRHO_PLUGIN_WANT_PROGRAMS
manifestString += "@prefix pset: <" LV2_PRESETS_PREFIX "> .\n"; manifestString += "@prefix pset: <" LV2_PRESETS_PREFIX "> .\n";
#endif #endif


+ 3
- 3
dpf/distrho/src/DistrhoPluginVST.cpp View File

@@ -973,12 +973,12 @@ public:
if (vstTimeInfo->flags & (kVstPpqPosValid|kVstTimeSigValid)) if (vstTimeInfo->flags & (kVstPpqPosValid|kVstTimeSigValid))
{ {
const double ppqPos = std::abs(vstTimeInfo->ppqPos); 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 barBeats = (std::fmod(ppqPos, ppqPerBar) / ppqPerBar) * vstTimeInfo->timeSigNumerator;
const double rest = std::fmod(barBeats, 1.0); 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.tick = static_cast<int32_t>(rest * fTimePosition.bbt.ticksPerBeat + 0.5);
fTimePosition.bbt.beatsPerBar = vstTimeInfo->timeSigNumerator; fTimePosition.bbt.beatsPerBar = vstTimeInfo->timeSigNumerator;
fTimePosition.bbt.beatType = vstTimeInfo->timeSigDenominator; fTimePosition.bbt.beatType = vstTimeInfo->timeSigDenominator;


BIN
plugins/Kars/Screenshot.png View File

Before After
Width: 301  |  Height: 315  |  Size: 170KB

Loading…
Cancel
Save