AmiSapphire / in_xsf_pre-wxWidgets

Pre-wxWidgets version of the xSF plugin library set by Naram Qashat (CyberBotX). This is technically a personal testing ground for patches to the main Winamp plugin library.
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

Slight popping bug affecting the Pokémon Title Theme of Pokémon Black and White #4

Open AmiSapphire opened 1 month ago

AmiSapphire commented 1 month ago

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:

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.)

AmiSapphire commented 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.

AmiSapphire commented 1 month ago

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.

AmiSapphire commented 3 weeks ago

A LOT of real life stuff happened, but the tech-only parts would be:

AmiSapphire commented 2 weeks ago

I finally, FINALLY, had the chance to revisit this source code again today, and...

This bug was present here from the start.

AmiSapphire commented 1 week ago

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.