Changed how the artwork cache is primed when handling the first asynchronous request for artwork to prevent it from blocking until the cache has been primed (depending on the artwork cache size & the machine this can make a noticeable saving on the time to have WACUP loaded with it saving up to 90ms from my testing)
Changed how the MP4 input plug-in deals with metadata requests for urls to try to avoid a multiple access related crash
Changed how the update check is done on initial loading so for normal checks it'll no longer block loading though any triggered due to a crash will maintain blocking until the check has been completed & user action has been taken as needed (especially when there's a newer build to use & it has a fix for the cause of the crashes being experienced!)
Changed the main visualisation handling to now run at 60fps by default (as that's what most screens have used for many years) & for it to run at that update rate when using a modern skin (since this drives the api that the modern skin engine plug-in queries)
Changed how the modern skin engine plug-in & some related dlls for it to operate are handled on loading to override a number of the runtime methods related to memory & string handling as part of trying to resolve some crashes by the plug-in due to incomplete initialisation & parameter validation of some key string methods (the aim is for this to improve modern skin stablity by working around it's problems)
Changed the local library plug-in to use a more direct means of checking if there is metadata reading support for a file type where not all of the expected metadata has been read to avoid the check potentially blocking the main ui thread & causing a crash (based on a crash report that was actually received)
Changed how the local library plug-in handles the live updating of the playcount to avoid running a full view query which could cause some installs to incorrectly trigger the unresponsive handler when there's no need for the query to have been run (this relates to trying to have the view reflect new additions to the local library database)
Changed the library history plug-in to do a better job of live updating the view results as applicable instead of triggering a full refresh which should be faster & minimise resource pressure especially when updating a large history database (this should hopefully resolve some of the last remaining issues related to using the view & keeping it open to monitor what's going on over time)
Chnaged how long the DirectSound output plug-in might hang around for on closing to account for the overall output buffer size including fade out on closing so it won't wait up to 20 seconds for it to close on some setups (one of my Windows 7 VMs will always take the maxiumum amount of time before it completes it's clean-up of the DirectSound device being used which makes no sense when it's fine on everything else)
Changed the initial drawing of the main playlist editor window to wait a bit longer which helps to avoid the default classic skin colours from showing when loading with the Bento/Big Bento skins (there's still some delay in the colour seen when switching from a classic skin to a modern skin that needs to be figured out)
Changed how replaygain is handled especially for MP3 files to better ensure that if a file has the appropriate replaygain metadata present it'll be applied (if replaygain is enabled) instead of relying upon the input plug-ins to do it (they still can handle this themselves though for now when in non-legacy mode the WACUP core will do the processing for files being processed via in_mp3 re: feedback that it doesn't work right so am using this as a means to help test out what might be going wrong)
Fixed the big clock AM/PM indicator when using the 12hr mode not handling the morning to afternoon transition correctly
Fixed the big clock window not updating at the correct speed if using the time of day/.beat time & having paused & then resumed the playback (it would often drop down to a 1 second update interval which wasn't intended if the in-window visualisation mode was enabled)
Fixed an occassional crash experienced when accessing the main right-click menu & a large number of bookmarks need to be processed
Fixed issues with the docking of the skinned windows to either the current edges of the screen the window is on or to other skinned windows when there is no equaliser &/or video windows (e.g. moving the main window would not move the 'docked' playlist editor window with it as is expected unless the shift key is being held down at the time)
Fixed the replaygain values on the file info dialog (alt+3) showing as "+0.00 (null)" due to an issue with the initial localisation support going into the WACUP core (this doesn't mean language packs are coming back soon)
Fixed an occassional crash in the discord now playing updating related to some changes made in build 9136 which are not correctly validating an internal state
Fixed some file types playing but not appearing to having any sound output with legacy mode when replaygain is enabled
Fixed the FLAC & Ogg Vorbis input plug-ins not correctly reporting that it's handling replaygain which depending on what was found within the file & the related configuration options could cause it to not apply the correct gain level
Fixed the wavpack input plug-in (in_wv.dll) not saving multiple metadata edits at the same time due to a caching related issue
Fixed the probable cause of the SID player (in_sidious.dll) causing a crash on loading when trying to restore playback & the length information cannot be found for the file within the SID song length database
Fixed the probable cause of some issues when seeking within MP4 files & it being able to crash in some less common scenarios
Fixed the local library plug-in incorrectly trying to preserve the current view selection when the playcount for an item is updated (for other live update actions this is needed but not for this which when there's a large number of items in the view can cause it to trigger the unresponsive handling & that then makes it crash when it probably shouldn't have done)
Fixed releasing of strings from the database engine not ensuring the memory is deinitialised as it could in some scenarios trigger a crash
Fixed the format converter not appearing in the send-to menu despite the plug-in being installed due to it not being able to add itself as a media library plug-in due to the media library core not being ready to accept the request
Fixed the update button on the 'about | update' preferences page showing a random text string instead of the 'downloading...' string
Fixed a regression with the classic skin handling where a missing balance.bmp/png was reverting to the base skin image instead of using volume.bmp/png
Fixed a regression (not sure which build introduced it) causing right-clicking only on the classic skin playlist editor frame or the equaliser window to show the main right-click menu to not populate the skin submenus as expected along with improving the handling to ensure menu clean-up is also carried out to prevent the menu being re-populated such as with the undo actions submenu)
Fixed WACUP not coming back into view if using non-legacy mode & it having been minimised & is set to not keep itself showing on the taskbar when minimised (aka unexpected process command-line handling)
Fixed some quirks seen when using non-legacy mode & trying to windowshade the main window vs how other windows like the video & some of the generic windows would end up being incorrectly re-positioned
Fixed some modern skin engine related failures by using a different way to patch some of the runtime methods that have appeared in crash reports to hopefully make modern skins a bit more stable overall
Fixed using the in-place playlist name edit action in the library playlists root view removing the first character of the playlist name everytime the action was triggered (aka dumb bug due to the skinning code)
Fixed the probable cause of an access issue when attempting to find an item in an NDE database in a resource constrained instance
Fixed a timing issue with the initialisation of the Playlist Separator plug-in which could cause WACUP to crashing during loading
Fixed an issue with the resizing of some of the portable preference pages
Fixed a compatibility issue with rainmeter where it's call to IPC_GET_PLAYING_FILENAME would not provide a response using a fixed memory buffer which rainmeter assumes will happen & so could cause it to stop seeing updates
Fixed a loading issue where if playback has started during load that prevented the library history plug-in from registering that as a playback event
Fixed pressing the volume & balance/panning bar controls on the classic skin main window not showing them in a pressed state until the mouse is moved
Fixed pressing the shuffle/repeat buttons on the classic skin main window not reflecting the initial pressed state as soon as it would be expected (nothing beats having code running that's correct but is told to draw the wrong aka unpressed state)
Updated libsndfile (libsndfile.dll) to 1.1.0 beta 2 (24 Oct 2021)
Updated mpg123 (mpg123.dll) to 1.29.2 (23 Oct 2021)
Updated Patreon list (29 Oct 2021)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 31 Oct 2021