Somewhat related to the last few posts in this thread, it seems that in_vgmw.dll and in_vgmstream.dll on Winamp clash over handling of .vgm files. I brought up this issue with vgmstream, as it was the plugin winamp was assigning to .vgm files (.vgz was fine) on their github page here:
https://github.com/vgmstream/vgmstream/issues/1169The reply from bnnm explains what happened, and how this might be fixable.
Quote:
Aha, if you rename in_vgmW.dll to in_vgm.dll, or in_vgmstream.dll to in_zvgmstream.dll (or anything, as long as vgmstream's .dll goes after in_vgm's dll in the plugin folder) that should fix the issue.
Here is what's going on:
Winamp first loads plugins as found in the plugin folder (ordered by filename), and asks every plugin if it supports the file (checking the contents). If nobody "claims" it, then it'll pass it to the first .dll that reports accepting the extension (without looking at the contents).
vgmstream now ignores non-streamed .vgm (used to "claim" it before), but in_vgm doesn't directly "claim" .vgm by content (it's common for most plugins to just leave it to the extension matching). Both .dll report accepting .vgm, so which plugin gets the .vgm is decided by the filename order.
This would be your order:
in_vgmstream.dll
in_vgmW.dll
But I had this, so the issue didn't trigger for me:
in_vgm.dll
in_vgmstream.dll
So basically renaming either would work as long as vgmstream goes after.
Can't really fix this, other than setting an option to not to report any extensions or something. That affects the open dialog and file types associations though. For now will write some info in the guide. Maybe you can bring it up to the in_vgmW.dll's author to just call it in_vgm.dll, or "claim" the file during IsOurFile to avoid these clashes.
I don't know the head from the ass of coding up winamp plugins so I don't know what to make of this, but it sounds like there's a way for in_vgmw.dll to make itself the handler for .vgm files in winamp that it isn't doing, leading in_vgmstream to be used incorrectly to play the files. It's not the end of the world as I can simply rename the plugin to get around this clashing issue, but I think this might be something to look into for future releases.
In any case I'm posting this here in case anyone else has this issue.