greatly improved playback resume

no more song weirding out when changing orders
This commit is contained in:
tildearrow 2021-12-21 01:29:07 -05:00
parent 84f36a8c66
commit 997c460fc1
24 changed files with 243 additions and 120 deletions

View file

@ -3,13 +3,15 @@
#include <math.h>
//#define rWrite(a,v) pendingWrites[a]=v;
#define rWrite(a,v) writes.emplace(a,v);
#define rWrite(a,v) if (!skipRegisterWrites) {writes.emplace(a,v);}
#define chWrite(c,a,v) \
if (curChan!=c) { \
curChan=c; \
rWrite(0,curChan); \
} \
rWrite(a,v);
if (!skipRegisterWrites) { \
if (curChan!=c) { \
curChan=c; \
rWrite(0,curChan); \
} \
rWrite(a,v); \
}
#define FREQ_BASE 1712.0f*2
@ -268,6 +270,13 @@ void DivPlatformPCE::muteChannel(int ch, bool mute) {
chWrite(ch,0x05,isMuted[ch]?0:chan[ch].pan);
}
void DivPlatformPCE::forceIns() {
for (int i=0; i<6; i++) {
chan[i].insChanged=true;
updateWave(i);
}
}
void DivPlatformPCE::reset() {
while (!writes.empty()) writes.pop();
for (int i=0; i<6; i++) {