Open AmiSapphire opened 1 month ago
This bug exists in v1.10.2, so it's actually earlier than I thought. I do not have any compiled builds earlier than v1.10.2, so where the bug is exactly is a mystery for now.
The ring buffer was actually introduced in v1.8, so at some point I will compile the version before that. Though... there is a chance it's not the ring buffer, but somewhere else in the code.
Okay... it's not the buffer or the ADPCM code.
I managed to compile in_ncsf versions 1.4 (this predates even the circular buffer) and 1.5 (has circular buffer and predates the ring buffer), and the slight popping is still present in this track. I even applied the tempo fix to v1.4 to confirm this. I actually have no clue so far.
This workspace will have to be migrated to another Windows 10 install, as it is further cluttering up my old primary Windows 10 Pro install.
--
And one more sample: in_ncsf v1.4 with the tempo fix... just to prove the bug is still present there. Pokémon Black and White: Title Theme - v1.4 with tempo fix
Looks like it is now an investigation, just a pretty lazy one.
A LOT of real life stuff happened, but the tech-only parts would be:
I finally, FINALLY, had the chance to revisit this source code again today, and...
This bug was present here from the start.
Okay, managed to further scrutinize the code against the kode54/SSEQPlayer code, and it's pretty on par with each other.
This particular bug may be within part of the xSF framework, since it is unique with this code anyway. Also, and I didn't mention this earlier, there is a non-Winamp and non-Windows implementation of this very code that exhibits the same bug.
No investigation (yet), but this one song is affected by an apparent decade-old bug or oversight, and I admittedly do not care to try and fix this one just yet, either. (Mainly because it is -variant of song they keep using for ~20 years at this point.-)
Some notes:
Not tested yet: in_ncsf v1.10.2 to see whether it is present or not.There's a sample, but it's unconverted, hence not uploaded here yet.Sample (from current pre-wxWidgets v0.3/master): Pokémon Black and White: Title Theme - current pre-wxWidgets v0.3/master
Sample (from unmodded v1.10.3): Pokémon Black and White: Title Theme - unmodded v1.10.3
Note that the tempo fix fully exposes the bug; on pre-tempo fix, it only pops on the section when it would normally pop the third time.
Theory: Hopefully it's not the ring buffer. (Ironically, this was an earlier theory when tracking down the bug that turned out to be an oversight with Cnv_Sine during code cleanup.)