Added Windows on ARM detection to the crash reporter (as running WACUP on Windows 10 for ARM on a Raspberry Pi 4 is now a known to work configuration which runs surprisingly well though a native ARM64 verison of WACUP would likely make for a nicer experience on such hardware...)
Added checks on loading for OS version compatibility being enabled which in one case was set to Windows 98 & was causing a slew of crashes so it's better to warn where possible as OS compatibility really isn't needed
Added support for using the eqmain_iso.bmp/png if provided by the current classic skin so it can show in the equaliser window when the frequency bands option has been changed from the default Winamp style
Added the ability to now configure & use up to 10 active stream sources when using WACUP's streaming source DSP plug-in which can be configured via Preferences -> Streaming (this is compared to a fixed 3 streams from prior builds)
Changed some of the handling in skinning.w5s to minimise duplicate IsWindow(..) checks for a small (probably not perceivable) time saving
Changed the in_mod input plug-in to report -1 for the bitrate on starting playback instead of reporting the current channel count (why?) & to report some more information for 'formatinformation'
Changed the shared metadata handling to do a better job in skipping trying to process requests for metadata requests that are always going to fail before triggering relatively time consuming calls
Changed the handling of the Nullsoft Midi plug-in so it's provided bitrate to the core is corrected since it appears to be providing it as bps instead of kbps as all other input plug-ins are doing (e.g. it'd show as 160000 instead of 160 for modern skins which doesn't often fit nicely)
Changed some of the input plug-ins to do a better job in only calling the 'SetInfo' if there's a change in the information instead of just spamming this & the impact it can have (related to the TTA plug-in change below)
Changed the handling of separator playlist entries so it is possible for them to generate blank titled entries (e.g. when using the newly added separator://! option) without the entry being used for the title as it's fallback (this makes sense for most other things but this doesn't work well with playlist separators where it might be wented e.g. turning of showing playlist numbers & using it to block out albums)
Changed how the CD playback plug-in initialises itself to minimise the delays on loading that it can cause (this still isn't ideal but it's better than a normal 2 second wait) & it should have negligible impact on loading times if there are no compatible drives present
Changed the installer to no longer set the CD playback plug-in to be disabled even if selected to be installed since the plug-in is no longer causing the loading delays that earlier revisions of it had
Changed the Yule Log background thread so it'll close after some period of inactivity instead of just staying around & waiting (this just makes things a bit cleaner in crash reports & saves some resources)
Changed the update action on the 'About | Updates' preference page to avoid it triggering the unresponsive handling when getting the new build update due to slow connection to the update server
Changed how the settings cache works on closing to avoid it causing up to a 1 second delay on the overall process close time
Changed how the podcast download manager works to avoid it hanging on closing as well as improving it's theoretical top speed as long as your internet connection is able to support it
Changed how the MP3 (in_mp3.dll) & DirectShow (in_dshow.dll) input plug-ins from 5.666 are handled to avoid a delay loading related failure for their dependency on the nsutil.dll (seen this with a few crash reports so am now pre-loading the dll if these plug-ins are loaded to avoid this problem)
Changed the WACUP provided media library plug-ins to use a faster way of getting the current selection from listviews which for some views with 10,000s of items can resolve unresponsive related hangs
Changed some of the WACUP provided media library plug-ins to use a background thread for handling sorting changes when clicking on the view columns instead of doing it synchronously as there's been some crash reports where this is taking too long & makes the OS think that it's hung
Fixed a crash when retrieving the raw lyrics data from a file's metadata tag on opening the Alt + 3 / View File Info dialog
Fixed the classic skin playlist editor window not moving if docked when the equaliser window is not docked to another window (a build 9278 regression whilst fixing other non-legacy classic skin window docking issues)
Fixed the possible cause of some crashing when using the old 'Text Speech Winamp' plug-in (in_txt.dll) though this plug-in is not the most stable even under a plain Winamp install but some will try it
Fixed the use custom songticker atf option not always being saved as enabled due to a compiler related weirdness
Fixed the classic skin main window songticker not showing the playlist position (if configured to be shown) when playing anything without a length (e.g. internet radio streams)
Fixed the waveform seeker plug-in being able to keep trying to decode some file types when the decoder is not reporting completion at the appropriate time (e.g. mod & vgm files that might be looping) which for some file formats & machines could if too many of the processing threads are triggered cause the machine to become unresponsive which wouldn't go away until the WACUP process was closed
Fixed the classic skin main window songticker not updating correctly on loading or on changing the current playlist item when auto-scrolling of the songticker has been disabled (not the default behaviour)
Fixed the probable cause of some remaining cases of the classic skin main window sometimes going blank (afaict this was due to some code left over from early attempts to resolve that ironically then caused it vs the proper fix that related to how the main window vis was being drawn)
Fixed some of the settings on the classic skin visualisation options not being saved / read in correctly (I tye gud)
Fixed a massive performance issues with the True Audio (TTA) input plug-in where it's spamming changes to the decoded output when there hasn't been any which would in-turn force the playback core to update the ui when it wasn't needed
Fixed a crash when trying to uninstall one of the newer style WACUP plug-ins due to incorrectly handling the internal message pump not recognising the plug-in was no longer present
Fixed some ui weirdness when playing some video files which if the video window was also open (as would be expected) it could cause aspects of the ui to stop responding & potentially make WACUP crash unless the window was closed along with the inner part of the window sometimes not being drawn in an expected manner on resizing if there were no video frames yet provided to be drawn
Fixed the tooltip on the waveform seeker not working as it was trying to be parented to an invalid parent window handle (missed updating it to use the correct one when changing the way the window is created with build 9136)
Fixed the Nullsoft input plug-ins not showing an icon on their about dialogs irrespective of the mode WACUP is running in due to the core not having the same icon resource (a simple enough re-mapping to keep things happy)
Fixed the sorting of the output plug-in preferences list sometimes not keeping the null output at the top of the list (it's a special case & so needs to be at the top of the list)
Fixed the CD playback plug-in not adding it's items into the library window's navigation tree as expected at times incombination with the new media library core
Fixed a number of issues with the rating menus either not showing an appropriate value (mostly from not re-mapping some values into the 0-5 range or not reverting to the actual file if it's not in the local media library) as well as a number of performance related issues with how determining the value to show vs the number of selected items (still some more to do with this in other areas but its a start)
Fixed the probable cause of some random crashes seen when accessing some MP4 based files
Fixed the probable cause of a crash when trying to nuke the current local library database whilst attempting to add new / existing queued requests into the local library database that's being removed
Fixed a regression with the history view cache handling so it's not going to update the last played time incorrectly now on stopping playback (the downside of some recent shared code handling changes)
Fixed the probable cause of some crashes related to the WASAPI output plug-in
Fixed the probable cause of some crashes seen that seem to be related to the modern skin engine blocking the ui whilst waiting for the current item's artwork to be retrieved (this isn't the best of fixes as there's things that the modern skin engine is doing that will cause such issues but not allowing it to sit & wait indefinitely is not a good idea)
Fixed an issue where it was possible in some configurations for the history plug-in to appear to double update the playcount within the local library as playback offset & stop events could be incorrectly reported to it when only the initial playback was intended to be reported
Updated libcurl (libcurl.dll) to 7.80.0 (10 Nov 2021)
Updated libjpeg-turbo (image.w5s) to 2.1.2 (19 Nov 2021)
Updated libopenmpt (in_mod.dll) to 0.5.13.15956 (14 Nov 2021)
Updated lzma (lzma.dll) to 21.04 (2 Nov 2021)
Updated Monkey's Audio (in_ape.dll) to 7.15 (13 Nov 2021)
Updated Patreon list (20 Nov 2021)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 17 Nov 2021