View Single Post
Old 30th January 2012, 23:14   #8
Join Date: Sep 2003
Posts: 27,873
Originally Posted by MrSinatra View Post
is it expected that plugins that don't meet the unicode standard would cause the same effect for both of us, even if they are totally different plugins?
the issue depends on a number of things so it's not always going to show up even with plug-ins which are not Winamp 5.34+ unicode compatible. the main things depending on what is being played and the order in which the plug-ins were loaded (which is generally dependent upon the file system Winamp is run from - as FAT32 will give a different order to NTFS usually) and how the plug-ins hook themselves into the internal processes going on.

Originally Posted by MrSinatra View Post
why don't the ones that ship with winamp cause it? what makes these ones cause it?
the compatibility report looks for a specific OS function which is used which will cause the issue. however, without basically decompiling every plug-in when the check is made to determine how that function is actually called, it just gives a guess that there may be an issue. with the official plug-ins they are known to use the function correctly but i've never put a whitelist in since there were older Winamp versions where they also had issues (and i hate doing whitelists at the best of times).

generally, if an official plug-in is in the unicode compatibility list then it's not going to be cause whereas if it's a 3rd party plug-in then it is likely but is not guaranteed as i know of some plug-ins which use the OS function in the required manner but on the playlist editor window instead of the main Winamp window and because of that it doesn't cause any issue.

and for the nice simple techy summary... it's all down to the subclassing of the Winamp main window being done via SetWindowLongA(..) or SetWindowLongPtrA(..) (basically something when covered by OS header file macros) which causes the OS window manager to convert the unicode messages to an ansi when the subclassed window-chain is processed.

DrO is offline   Reply With Quote