Added a new initial view for the replacement Local Library plug-in (ml_ll.dll) to make it easier to get media added into it from a legacy local libary database or the main playlist or a folder along with making it easier to disable the plug-in (or the whole media library) if required if you really don't want / need it & just kept clicking next when installing WACUP :)
Added an initial updated build of the official Musepack plug-in based on the r495 revision (SV7 & SV8 support along with basic transcoding support)
Added reading of embedded artwork from Musepack files to the shared metadata service (as the compatible input plug-ins don't support this anyway)
Added additional checks when WACUP is started to try to better deal with broken / incomplete installs (e.g. 5.666 installed over WACUP or 3rd party plug-ins replacing required dlls)
Added a new option on the Podcast preferences page to allow for updating the basic metadata tags with the podcast feed information always instead of only if it's found to be missing (too many podcasts don't actually tag their files correctly which is why this option has been added as a means to help with the metadata quality before the newly downloaded podcast files are added into the local library database)
Added the time taken to load the main config file & main playlist editor file into the profiling options when enabled (this might be interesting to some but was mainly to help determine a slow config / playlist loading issue seen)
Added some additional responses for IPC_GET_HMENU API related to the bookmarks submenus to help reduce the code needed by the Library Bookmarks plug-in
Added the ability to open the preferences window when clicking on the main window logo (e.g. lightning bolt) in addition to the prior behaviour
Added initial support for retrieving & displaying artwork for Audio CDs subject to getting a match from the Cover Art Archive (other options will be looked into along with support for local files)
Added a temporary workaround for allowing basic playback of incorrectly named Opus files with an OGG file extension when a 3rd party Opus input plug-in already exists (this will mean some playlist entries don't display the appropriate title information but that's more a limitation with trying to force an input plug-in to do something it wasn't coded to cope with)
Changed a lot of the internal workings of the library History plug-in to better deal with the stability issues some have been experiencing with it
Changed how generic archives (ZIP, RAR & 7Z) are handled by the playlist manager core to be ignored from expanasion if the Archive Playback input plug-in is disabled (this should make it easier to prevent such files from being added to the local library or the main playlist editor when not wanted by simply disabling the input plug-in if it's been installed)
Changed how the Library History plug-in deals with tracking of playback in relation to seeking changes which should improve the playback tracking reliability when using the percentage / end of file modes
Changed the way forced titles updates in the main playlist editor are done to try to minise the risk of the OS deciding the process has stopped responding on long running updates (e.g. ATF formatting string changes or refreshing selected items)
Changed the NDE (Nullsoft Database Engine) dll provided to now be a VS2017 compile which based on testing provides a reduction in query times (how much & whether its noticeable depends on the size of the database & the complexity of the query being run)
Changed how updating the playcount information from the Library History plug-in when using the replacement Local Library plug-in (ml_ll.dll) to be done asynchronously to avoid some ui hangs (subject to the skin & the size of the local library database to be updated)
Changed how newly downloaded (or recently found) podcasts are added when using the replacement Local Library plug-in (ml_ll.dll) to be done asynchronously to avoid some ui hangs (similar to the aim of the above change)
Changed how newly downloaded podcasts are processed for metadata updating (if configured to do so) to be done asynchronously to avoid some ui hangs (similar to the aim of the above change)
Changed some of the loading handling to remove some of the existing hooking to instead do more directly (this is part of the general transition work from using the Winamp core over to just the WACUP core)
Changed how the main playlist editor file (winamp.m3u8/m3u) is processed on start-up to deal with an odd issue of it trying to parse a streaming url playlist that's the actual stream url to be played (attention to detail is not a thing a lot of stream broadcasts sadly have) that was causing up to a 6 second delay for the rest of WACUP to continue to load (the fix drops it down to ~2ms for my test setup)
Changed the majority of the Audio CD playback handling to only be done by the input plug-in instead of a mis-match between the Winamp & WACUP cores (this makes things cleaner in that not installing / disabling the Audio CD input plug-in does entirely remove any related code from being run)
Changed the MP3 encoder plug-in to now show the LAME patch revision (e.g. 3.100.2 instead of the main version as just 3.100)
Changed the option for clicking on the main window logo to toggle the media library window to now be on the General preferences page instead of being on the Media Library preferences page (this is related to the addition of that action now allowing for the preferences window to be opened)
Changed the internet related options on the General preferences page to now be provided on their own Internet preferences page
Changed the wording on the Discord preferences page header to better reflect what is now needed instead of the older information
Changed 'Read extended info on selection' to now be 'Rebuild titles on selection' in the main playlist editor which matches the Library Playlists & better conveys what is actually being done
Changed a number of ways that the Library Podcasts plug-in works to better minimise the potential for it to cause ui hangs & to reduce the amount of disk related access it might do (helpful with media stored on slower / remote drives)
Changed how the main playlist is restored between sessions to reduce the impact of some internal processing overhead (e.g. a test 58K entry playlist of various formats went from 1.5s down to 170ms to be fully loaded)
Changed the SID (Commodore 64) file handled when sub-songs are present to now be done as though the SID file is a playlist instead of waiting for the plug-in to manually add them when viewed / played (this might irk some but it makes the loading experience much cleaner & the sub-songs will actually be created in the correct position within the playlist instead of often appearing at the start of the playlist which isn't correct)
Changed the information area in the classic skin playlist editor window to not clip the text shown as much when using a normal font compared to the fixed size when using the skinned font
Changed some aspects of how the Podcast plug-in works to reduce when the background timers it uses for updating the naviagation tree icons related to it to only be done when actually needed
Changed some of the dll delay load handling to be done via a shared method to make sure things are more consistently done & it also saves a few KB off the total install size (it helps, heh)
Fixed the placement of some of the buttons on the add / edit smart view dialog of the replacement local library plug-in
Fixed the create / save button on the add / edit smart view dialog of the replacement local library plug-in not being disabled if a preset name hasn't been specified
Fixed the currently playing item not always being shown in the appropriate state within the library history view after changing the view when playback is not running
Fixed the Classic Spectrum Analyzer visualisation crashing when using the random preset action if no preset files could be located
Fixed toggling sections in the installer (especially with multiple changes) causing the reported install size to drop to zero & wrap around to being negative (i.e. showing as ~4GB)
Fixed the cause of the playback offset of some files not being tracked correctly with the Library History plug-in
Fixed the cause of leaving the Libary History view open when either corrupting some of the displayed data (the stored history was correct) &/or it causing the program to crash
Fixed reading / saving custom ATF strings for the main playlist editor not being correctly handled in all scenarios
Fixed (finally) the incompatibility between WACUP's NDE implementation & what the local library plug-in (ml_local.dll) expects that could cause some views / queries to crash (needed to allow the creation of null strings to keep it happy despite the plug-in not handling such things correctly to start with!)
Fixed some ID3v2.x tag reading issues related to less common string encoding
Fixed a crash seen when trying to load WACUP as part of a messed up install (e.g. 5.666 installed over WACUP) in some checking used to avoid issues relate to the skinned preferences handling
Fixed setting the year on newly downloaded podcasts (if configured to do so) not always handling the case of the feed not providing a published date (it now sets it to the current year if not provided)
Fixed a crash on start-up when older versions of the AdPlug (in_adlib.dll) plug-in is present (this is due to a conflict with the Winamp core trying to determine CD playback support that older versions of the plug-in doesn't correctly handle - newer versions of AdPlug don't fail & this is another plug-in that might be added to WACUP)
Fixed the agent right-click menu showing 'no playlists found' in some cases despite library playlists having been found & added into the menu
Fixed a crash when trying to play an Audio CD via the main right-click play submenu (was due to an incomplete replacement of the handling from the Winamp core which is now done all by the Audio CD plug-in)
Fixed Audio CD titles not always refreshing along with some other 'virtual' playlist entries by changing how they are treated to better ensure metadata will be queried if it possibly exists
Fixed the 'rebuild titles on selection' option in the main playlist editor not always only working on the current selection
Fixed a potential failure / crash when retrieving metadata from Audio CDs
Fixed the Library Podcasts plug-in causing other parts of WACUP to occassionally hang when it's processing a podcast feed & the Library navigation tree icon for the view is being updated (oops)
Fixed skins with extended characters in their name not being handled correctly which could cause them to fail to load after restarting the WACUP process
Fixed some other potential issues when using extended characters with some of the configuration settings
Fixed some actions causing the main playlist editor window to be redrawn when there's no obvious change which could cause flickering
Fixed some issues seen when trying to load a playlist that is invalid (i.e. no entries) but it triggers some of the actions (e.g. trying to play the first file) when it shouldn't
Fixed the settings for the SID Player (in_sidious.dll) input plug-in not being correct read / saved (which is definitely needed if you're trying to use the songlengths.txt from HVSC)
Fixed some podcasts being downloaded but having the wrong file extension applied to them which could cause them to fail to be played
Fixed the focus not being set on the edit box when opening the add/edit podcast feed dialog
Fixed the library podcast view not completing the drag+drop handling from its lists to other parts of WACUP (e.g. main playlist / local library)
Fixed some quirks with how the menu items from some of the plug-ins are added onto the Library button menu due to load time variations
Fixed how titles of files added from a parsed folder into the main playlist editor are handled when the option to only read titles on playback is enabled (not a default behaviour) to just be the filename (this doesn't run the ATF processing on the added entries & is done to better replicate the behaviour seen under Winamp 5.666 & earlier when using this title reading mode)
Fixed some issues related to DPI scaling changes & moving windows between monitors with different scaling settings (this might cause some minor regressions but it should prevent some of the main WACUP windows going all wonky until more is done with the core handling of the windows & being able to at least for classic skins scale to more than just normal or double-sized)
Fixed the Exclude Playback window not always sizing the status bar area of it's window correctly based on the currently used skin font
Fixed some of the weirdness seen when changing the size of the playlist editor font if its also set to be used by other plug-ins including the media library (the replacement media library core plug-in will further resolve this issue along with some plug-in specific changes to better handle often fast skinning updates that can with the older media library core cause it to provide an invalid font to use)
Updated LAME (lame_enc.dll) to 3.100.2.2 (8 May 2020) for a minor speed improvement
Updated libcurl (libcurl.dll) to 7.71.0 (24 Jun 2020)
Updated libnghttp2 (libcurl.dll) to 1.41.0 (2 Jun 2020)
Updated libopenmpt (in_mod.dll) to 0.5.0.12905 (24 May 2020)
Updated minizip (zlib.dll) to 2.10.0 (25 Jun 2020)
Updated Monkey's Audio (in_ape.dll) to 5.47 (30 Jun 2020)
Updated mpg123 (mpg123.dll) to 1.26.1 (30 May 2020)
Updated Patreon list
Updated unrar (unrar.dll) to 5.91.1 (4 Jun 2020)
Updated WavPack (in_wv.dll) to 5.3.2 (20 Jun 2020)
Updated zlib-ng (zlib.dll) to latest re-based update (28 Jun 2020)