Added a workaround for invalid mp3 files that may be sent to in_mp3 to prevent that plug-in causing a crash
Added a message into the classic skin song ticker when WACUP is closing to make it more obvious that a close has been started which helps avoid some confusion when the closing action takes a while (e.g. due to having to save out the changes to a large 250k entry local library database)
Changed the Not So Wavey handling on playback stopping to try to resolve a hang issue that some have been experiencing
Changed the loading of a few of the supporting dlls / services to minimise them being loaded unless absolutely needed (this is an on-going adjustment)
Changed the handling of the lyrics window between instances to reduce the impact of it during initial loading
Changed the local library plug-in to remove some of the remaining bail quick lock requests to see if it helps with some reports of metadata queries not working as expected (e.g. no response / incomplete data)
Changed how autoplay / restoring of the playing position on loading is handled to reduce the impact of the local library database (if that plug-in is enabled) has on loading which could noticeably affect the time to get a file playing &/or causing ui hangs especially if a large database is trying to be loaded (tested against an ~250K entry database)
Changed how the local library plug-in responds to closing when there's changes still waiting to be saved out so it's now triggered sooner during the closing process to minimise it's overall impact to complete (e.g. going from ~510ms to ~460ms on average with an ~250K entry database)
Changed how the history plug-in responds to closing if it's reacting to a stopping playback event it'll now trigger the save immediately to minimise it's overall impact as well as triggering a save if not playing & there are changes still waiting to be saved out
Changed how the podcast downloads view works to avoid it seemingly doing nothing during loading & better indicating what stage during it's loading is happening (as getting the last played time can be slow)
Changed how the main playlist handles background reads of titles to now try doing them on a background thread to reduce the instances of some crashes seen due to the metadata updates taking too long
Changed a few things with the main playlist loading to save a small amount of time when working with very large playlists
Changed how the legacy xml service component is handled so it will now be lazy loaded which is better for classic skin users (i.e. one less thing being loaded that's not going to be used) though it can be used by some of the other legacy plug-ins allowing it to be accessed when needed
Fixed a deadlock seen when trying to access some invalid urls via in_mp4 due to the response not being mp4
Fixed the settings cache sometimes not causing the clearing of ini entries to be propogated to the file or intentionally blank strings from being saved (e.g. defaults vs intentionally clearing the in_mp4 config)
Fixed a regression from the prior build that caused going into fullscreen video with a classic skin or leaving it in fullscreen on closing to incorrectly cause the window to be hidden (related to the changes to avoid classic skin windows being forced to be visible when they're not meant to be showing)
Fixed the Yule Log plug-in processing thread sometimes being created when there's no need for it compared to how the plug-in has currently been configured
Fixed the podcast downloads view not showing the column sorting direction immediately on loading as expected
Fixed the archive support plug-in (in_zip) not using the thread safe api to get the supported extension list
Fixed the paramater validation of some of the local library apis so they'll now better avoid triggering the database to be loaded when it's not needed against the incomplete / invalid request
Fixed setting the parent option to only use the classic skin skinned font not being correctly applied to the kbps/kHz sections if that has been set to use a real font but the parent option isn't
Fixed disabling the classic skin main visualisation mode incorrectly not reporting the intended main visualisation mode to the input plug-ins that are checking for it when using a modern skin (years old bug)
Fixed an (expected) crash within the replacement modern skin script timer implementation (took over a week to hit something which is definitely better than it had been) when dealing with timer removal
Fixed some additional issues found with the MP4 input plug-in when trying to break the script timer implementation
Fixed a deadlock that could occur with the Not So Wavey output plug-in during some of the playback trigger events
Fixed an issue with MP4 playback where starting it & trying to seek immmediately to a specific position may not then begin playback as expected (more of an issue if doing playback resume on loading)
Fixed a number of concurrency issues when metadata for the main playlist items are being refreshed to avoid most instances of the title reverting to the filepath or a basic "artist - title" string instead of the expected ATF result
Fixed some problems with the delayed loading of multiple services from the component (w5s) plug-ins which have had a wbm created for them
Fixed the probable cause of some of the requests for metadata from the local library database failing &/or triggering direct file look-up
Updated libflac to 1.4.0 (9 Sep 2022)
Updated Monkey's Audio (in_ape.dll) to 8.70 (11 Sep 2022)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 12 Sep 2022