fix playSub() inconsistency in low-latency mode

This commit is contained in:
tildearrow 2025-10-28 03:05:43 -05:00
parent 394c6c35aa
commit 25cb78b306
2 changed files with 4 additions and 0 deletions

View file

@ -1696,6 +1696,7 @@ void DivEngine::playSub(bool preserveDrift, int goalRow) {
midiTimeDrift=0;
if (!preserveDrift) {
ticks=1;
subticks=0;
tempoAccum=0;
totalTicks=0;
totalTicksOff=0;
@ -1789,6 +1790,7 @@ void DivEngine::playSub(bool preserveDrift, int goalRow) {
cmdStream.clear();
std::chrono::high_resolution_clock::time_point timeEnd=std::chrono::high_resolution_clock::now();
logV("playSub() took %dµs",std::chrono::duration_cast<std::chrono::microseconds>(timeEnd-timeStart).count());
logV("and landed us at %d.%06d (%d ticks, %d:%d.%d)",totalSeconds,totalTicks,totalTicksR,curOrder,curRow,ticks);
}
/*

View file

@ -285,6 +285,7 @@ ssize_t DivFilePlayer::setPos(ssize_t newPos, unsigned int offset) {
playPos=newPos;
rateAccum=0;
wantBlock=playPos;
logD("DivFilePlayer: setPos(%" PRIi64 ")",newPos);
return playPos;
}
@ -294,6 +295,7 @@ ssize_t DivFilePlayer::setPosSeconds(ssize_t seconds, unsigned int micros, unsig
playPos=seconds*si.samplerate+(int)microsD;
rateAccum=0;
wantBlock=playPos;
logD("DivFilePlayer: setPosSeconds(%" PRIi64 ".%06d)",seconds,micros);
return playPos;
}