MOD import: use 436Hz tuning

This commit is contained in:
tildearrow 2022-03-14 16:29:13 -05:00
parent 37c733af6b
commit d2458a8ae8

View file

@ -1240,6 +1240,7 @@ bool DivEngine::loadMod(unsigned char* file, size_t len) {
warnings=""; warnings="";
try { try {
DivSong ds; DivSong ds;
ds.tuning=436.0;
// check mod magic bytes // check mod magic bytes
if (!reader.seek(1080,SEEK_SET)) { if (!reader.seek(1080,SEEK_SET)) {
@ -1270,7 +1271,7 @@ bool DivEngine::loadMod(unsigned char* file, size_t len) {
if (slen==2) slen=0; if (slen==2) slen=0;
signed char fineTune=reader.readC()&0x0f; signed char fineTune=reader.readC()&0x0f;
if (fineTune>=8) fineTune-=16; if (fineTune>=8) fineTune-=16;
sample->rate=(int)(pow(2,fineTune/96.0)*COLOR_PAL/535); sample->rate=(int)(pow(2.0,(double)fineTune/96.0)*8363.0);
sample->centerRate=sample->rate; sample->centerRate=sample->rate;
defaultVols[i]=reader.readC(); defaultVols[i]=reader.readC();
int loopStart=reader.readS_BE()*2; int loopStart=reader.readS_BE()*2;