Added an initial live folder monitor implementation to the local library plug-in which due to a certain someone (aka me) not paying attention & thinking it was done but I hadn't finished it nor made the option enableable (this should now support add, update & remove actions when enabled via the Folder Monitor preference page for each of the configured monitors but handling renaming is still to be done)
Added an option to the scrobbler support to try to handle stream playback (this is opt-in & is very much relying on the stream provided title &/or optional extended metadata actually being good enough)
Added an option to the scrobbler support to try to process smaller playing items down to around 5 seconds instead of the specification minimum of around 30 seconds (taken from a reddit related request)
Added an option to Playback -> Volume along with support in the WACUP provided output plug-ins to be able to globally control if output plug-in specific volume control is enabled (it is by default) or not which can be useful for those wanting to prevent the program volume from being changed so it can only be done via the OS provided process volume control setting instead
Added support to the Streaming Source DSP to allow for the Icecast source description to be configured for the source connection
Added multi-threaded FLAC encoding support as part of the libflac v1.5.0 update (from testing this roughly halved encoding time for a 1hr 30min MP3 but YMMV based on CPU, drive & other encoding factors)
Added an updated WACUPified version of the Enhancer DSP plug-in wrapper along with bundling up the needed files to save those wanting it having to go out & find the specific files without having to also get WACUP build specific versions of things (am aware that even with the wrapper there are some problems such as the size of the Enhancer window not matching the classic skin scaling still to be looked into)
Changed some of the input plug-ins for the less common formats to better ensure they'll cache metadata requests & avoid reloading the files for every piece of metadata which makes them faster to query as well as reducing some of the time needed to scan them for metadata on import / refresh via the local library
Changed some of the live patching applied to the in_mp3 plug-in which should help to avoid it causing crashes when the plug-in is trying to process file with APEv2 metadata tags
Changed some of the plug-in build settings to reduce their size without affecting performance (this mostly applies to the x64 build for some of the vgm related plug-ins included)
Changed the way looking for associated NFO files during albumart loading (e.g. during a local library import / re-scan) is done for a small time reduction to complete the action
Changed how metadata is read from the mod based files to avoid getting the sample data (unless playing the file) which should reduce the time taken to parse them to get metadata
Changed the Alt+3 / File Info dialog to better distinguish if write support cannot be determined instead of showing things to be read-only such as from some network based shares
Changed some of the folder monitor scan completion handling so it will now smooth out the need to live refresh the local library view (if active) to reflect any changes that might've occurred especially if there are multiple folders being processed & complete at around the same time so the view can update just once instead of for every folder (there's still more to be done to make all of this more seemless)
Changed how selected items are determined within some of the main library playlist importing actions which can reduce the time taken (e.g. a single / small selection within a large list of items available)
Changed how skinning is applied to the WACUP provided media library views & plug-in windows to avoid SendMessage/PostMessage based calls along with reducing the call stack involved in processing the action which helps reduce some of the overhead for a small performance improvement (this also removes the standalone skinning.w5s which is now merged into the core to help avoid some of those overheads)
Changed the Discord preference page to try to indicate what might be going on if the RPC connection is failing (based on the recent Discord client update which broke the RPC) along with general connections
Changed the handling of the embedded windows to reduce some of the window resizing calls made especially during loading which avoids some duplicated processing for a small performance improvement
Changed how in_capture plug-in is built so it no longer has a requirement on the boost library (this makes the compiled dll smaller by ~20KB & removes the need for a massive dependency that's barely used)
Changed gen_yar to defer when it does some of its initialisation to reduce it's impact on the initial stages of loading until there's an actual need to have the menus be inserted
Changed the installers to go back to an older mode of trying to show the amount of progress happening
Changed the internet connections to try to resolve some of the weird reports of the WACUP site not being accessible which is preventing the installer, etc from working properly
Changed the Streaming Source DSP to assume 'source' is the username to use for Icecast source connections if not explicitly configured to simplify getting things connected
Changed the way the WACUP plug-ins are able to handle the media library drag + drop related actions for a small performance improvement whilst trying to avoid some ui calls
Changed the media library window to not create the inner view if the window is not currently set to be visible which avoids some overhead for those who've intentionally closed it or the skin is showing a different window on initial loading
Changed how the waveform seeker window internally flags that processing is happening which should avoid some of the instances of the window showing no contents especially if waiting on metadata to be read during initial loading
Changed the podcast download view loading so it should now load sooner especially if its the first view during process loading instead of waiting for the local library database to have been loaded so the view is able to be used sooner whilst the background processing may appear to take longer (the loading hit is taken at a different place now so the same checks are done just in a loading friendly manner)
Changed the in_xsf based plug-ins to avoid some initialisation especially their configuration related dialogs until there's actually a need to display them instead of doing it during initial playback for a small resource saving when anything is otherwise done to trigger those plug-ins
Changed the format information panel on the Alt+3 / File Info dialog to now try to distinguish between stereo & joint stereo for MP3 files to better mimic what in_mp3 was reporting for such files
Changed some of the background services to now be notified that process closing is about to occur to give them a chance to remove any pending actions such as albumart & lyrics look-up to avoid blocking on closing for as long as could otherwise occur if they were allowed to wait to be processed under normal running
Changed the explore folder handling so it should be better behaved with setups not using Explorer by default along with dealing with them not supporting the api used for batch file selection
Changed some of the internal code handling to simplify using compressed text resources for messageboxes & setting the text on some windows
Changed year to be considered as part of the pre-defined associative sorting that the local library can apply to the results pane when set to sort by artist to get the albums into a more sensible ordering
Changed the playlist loader to be a bit smarter with some of the checking done which helps to reduce the time to process the file (e.g. saving ~30ms from testing with a 250K entry main playlist on loading)
Changed how the commonly used not found image handling is done to now internally treat it as part of the current skin images to save having to keep re-creating it depending on what the plug-ins are doing
Changed the open button on the Alt+3 / File Info & change playlist entry dialog so they'll now show a more appropriate text against the item being displayed (e.g. folder, url, CD)
Changed the main playlist loading to be triggered a bit earlier in loading to give it more of a head start which cna help offset delays in being loaded with much large playlists
Changed some of the handling around getting gen_ff to work under WACUP which reduces memory usage slightly along with a small saving on loading
Fixed a small performance issue related to how some of the skinning related messages were sent to the respective controls which meant more steps in the callstack to get to them
Fixed metadata requests made to in_vgmstream incorrectly returning 16 for most of the unhandled metadata values due to a bug with how the bitdepth support had been added into it
Fixed a possible deadlock issue if there was a problem creating the playback thread within in_wave
Fixed getting the metadata from sub-songs within sc68 files not working correctly due to passing in the wrong filepath which could then also cause excessive file re-processing
Fixed displaying metadata information from mod based files not working if playback of such a file had just happened due to not clearing an internal cache to avoid reloading files
Fixed vgmstream trying to process some OS related files as part of its fallback handling which causes excessive local library processing (will need to get it to filter them out)
Fixed the probable cause of incomplete / failed legacy local library database imports along with a performance issue when attempting to import such database files into our files
Fixed the probable cause of a crash when starting some of the visualisation plug-ins which based on a crash report was more likely to occur with the multiple plug-in mode enabled
Fixed some of the files excluded from being added into the local library database incorrectly still being counted as a valid addition which could cause import / folder monitor scans to incorrectly trigger a view refresh when there was no effective change (this should further help with some of the on-going complaints to do with the local library live refreshes itself which some find jarring especially if not needed as this fix helps reduce)
Fixed the albumart & lyrics windows not always updating when a stream is playing to reflect the stream provided title updates (previously this could either not update at all or just show the first song)
Fixed the internal lyrics handling getting stuck when playing a stream due to the local cache not being cleared in a timely manner especially if the next item playing on the stream doesn't have any lyrics (this would cause the lyrics window to keep showing the last obtained lyrics until the next time lyrics can be obtained against what's currently playing on the stream)
Fixed the albumart window not keeping the details view shown when resizing especially if the item currently playing is a stream or not in the local library due to how a loading optimisation had been applied which could then cause the plug-in to ignore the collected metadata causing it to incorrectly revert to the simple album view display mode
Fixed MilkDrop's desktop mode not being available or not working as expected when running on recent(ish) Windows 11 releases
Fixed an optimisation from a few builds back which could cause intermittent setup failures of the tooltips on the main playlist & embedded windows
Fixed the WACUP provided streaming plug-in (used by the x64 build & optionally with the x86 build depending on the setup) not behaving as expected when pausing along with it blocking the ui when stopping
Fixed the media library preference option to toggle the button grouping not working correctly due to an internal messaging issue which prevented the grouping option being correctly passed to the live view
Fixed the batch metadata edit dialog not returning the focus back to the main playlist window when it closes (reported via email)
Fixed clipping of some of the skinned buttons due to issues with some of the DPI related handling & the text of some static controls losing their expected text alignment after some library views had loaded
Fixed via a hackish workaround the indentation of the library navigation tree sometimes not being reset when making quick changes to it such as on font reset
Fixed some problems with loading archive & virtual playlist items if commas were part of the filepath for formats where it's used as part of the internal file indexing where they weren't just at the end of the filepath being processed
Fixed the display for some of the podcast view tooltips to better avoid some of the excessive linebreaks which could appear as part of trying to re-process some of the HTML content to be tooltip friendly
Fixed the probable cause of the library history plug-in causing a main ui thread deadlock hang to occur from some of the metadata requests (more of an issue under modern skins) when used as a fallback mode
Fixed some appverifier related issues found with NotSoDirect which could cause some issues when the process is closing which could cause hang / crashes
Fixed using delete in the simple listview mode of the local library views not always working as expected which would often cause a view search to be triggered but the text in the search field wasn't altered
Fixed a small performance issue with in_vgmstream & how the WACUPified version of the plug-in builds its list of supported extensions to reduce the CPU & memory allocation impact when processing lots of little strings
Fixed a classic skin ui updating issue when starting some streams when using in_url on initial loading due to the main window visualisation not having been correctly initialised (the changes for this might also help with some of the on-going reports of the main window randomly stopping updating but am not sure if this will or will not help)
Fixed a number of small issues found whilst doing some initial testing to see about moving over to the VS2022 compiler for the provided builds (for now am sticking with my existing VS2019 setup)
Fixed the cause of some scrobbles not being cached if the daily scrobble submissions has been reached
Fixed a dpi handling issue with the plug-in lists in the preferences which could cause it to clip the plug-in description lines in an unexpected manner
Fixed externally trying to start playing a playlist not always following the shuffle mode setting causing it to always start playback from the first item of the added playlist if set to replace the existing contents along with the enqueue & play action always starting from the first item added instead of picking a random item in the newly added items after the end of the prior playlist contents which is now also applied to internal actions where it makes sense (i.e. if a specific item in a selection wasn't already selected)
Fixed some issues with the non-modern skin provided Thinger window which could cause it to not be displayed correctly nor react to the close window button until the second attempt due to a focus issue
Fixed some wasted memory in some of the internal data structures especially for the media library navigation tree handling though this mostly applies to the 64-bit builds where I can break compatibility
Fixed opus playback sometimes getting stuck in an endless loop unless the user manually triggers a playback stop (e.g. if playing a network file & putting either machine into a sleep / disconnected state)
Fixed the lyrics window not showing the not found image on initial loading when more processing is still happening which could make things feel a bit unresponsive (this was triggered by a change in the early 1.99.x builds which no longer is needed due to other optimisations made in the year & a half since that time)
Fixed the albumart & lyrics windows keeping the not found image around for longer than was needed which typically caused around 1MB to be kept allocated when there was no longer a need for it
Fixed some of the keyboard actions not working in the jump to file dialog depending on when its been loaded vs the type of skin being used which could cause some keyboard actions to not work as expected
Fixed the online lyrics handling not correctly handling a lack of metadata from the playing item which could cause repeated attempts to try to obtain them along with causing some on closing related hangs
Fixed a number of hang / crashes on closing if local library metadata requests were in progress (such as from calls related to getting albumart & online lyrics look-ups) due to happening after the plug-in had been through its quit stage (this is not the final fix for this problem but should alleviate the problem for those experiencing it for now without too many downsides)
Fixed the settings location diagnostics not using the expected path output mode due to some prior changes to avoid re-processing the path strings in some instances which incorrectly broke this specific use
Fixed the main playlist loading causing a save on closing despite nothing having actually changed due to how some playlist item types were being handled with respect to transient metadata for them
Fixed a small performance issue with the saving of a very large main playlist file (this is still slower than I'd like due to having to string convert but that will have to be looked into at a later time)
Fixed drag + drop from within the Audio CD views & the related navigation tree nodes not working along with the navigation nodes not being configured to be able to be moved within the navigation tree
Fixed drag + drop onto the excluded files window not always saving out the added items or it causing items to be added to the currently open media library view if it happens to accept adding new items
Fixed a small performance issue during loading from trying to repaint the media library view before it had been displayed
Fixed a performance issue when starting with a loaded Audio CD media library view which could cause it to block the overall loading until completed making WACUP feel laggy
Fixed resizing the Audio CD media library view listview header not always saving their new position
Fixed a potential deadlock & also excessive re-processing as part of using IPC_REFRESHPLCACHE calls
Fixed replaygain values from MP4 based files tagged by other players not always showing as expected in the raw metadata tab of the Alt+3 / File Info dialog
Fixed Audio CD playback issues when trying to play from externally added track filepaths instead of using the built-in means of WACUP accessing the Audio CD
Fixed some inconsistency with how the different style of Audio CD paths are handled with the Alt+3 / File Info dialog along with removing the raw metadata tab which isn't applicable for them
Fixed the view artwork button on the Audio CD library views not always working as expected
Fixed some of the DWM api calls being incorrectly run against windows that won't handle what's being attempted which would cause unwanted messages to appear under a debugger & slightly slow down loading
Updated adplug/adlib (in_addanotherplug.dll) to the latest Git commit from 4 Jan 2025
Updated libcurl (libcurl.dll) to 8.12.1 (13 Feb 2025)
Updated libflac (libflac.dll) to 1.5.0 (11 Feb 2025)
Updated libopenmpt (in_mod.dll) to 0.7.13.22826 (6 Jan 2025)
Updated libpng (image.w5s) to 1.6.47 (18 Feb 2025)
Updated minizip-ng (zlib.dll) to 4.0.8 (85 Jan 2025)
Updated Monkey's Audio (in_ape.dll) to 10.96 (11 Feb 2025)
Updated openh264 (in_mp4.dll) to 2.6.0 (12 Feb 2025)
Updated OpenSSL (libcurl.dll) to 3.4.1 (11 Feb 2025)
Updated pugixml to 1.15 (10 Jan 2025)
Updated unrar (unrar.dll) to 7.1.5 (26 Feb 2025)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 27 Feb 2025
Updated WavPack (in_wv.dll) to 5.8.1 (28 Jan 2025)