Added an initial in_webmkv plug-in for WEBM / MKV files (streaming is still todo) with it initially handling Opus, Vorbis, AAC, MP3, Flac, WavPack audio (subject to the handlers also being installed)
Added an initial in_what plug-in for DirectShow based decoding support (subject to OS support &/or the codec pack(s) installed to be used & what file types have been set to this plug-in (support should be able to play things but there's more to do with getting metadata, etc out of the files that aren't handled by the common metadata handling & there's also likely going to be some playback problems)
Added an option to the folder monitor handling to attempt to add newly found files to the end of the main playlist (this is an opt-in mode so it won't screw around with the main playlist unless wanted)
Changed the handling of the MFT H264 decoder & video handling in general to try to reduce the CPU & memory overhead though for now it's likely still going to be all CPU based for decoding :(
Changed the default main playlist ATF string to differentiate between streams & local files to avoid an issue which meant some streams were showing the stream name for the artist part of the title
Changed how the ATF string processing is handled to try to resolve the intermittent reports of the generated titles reporting a processing issue which goes away after a restart (hopefully this fixes it)
Changed how the wavpack plug-in is built to now make use of a shared libwavpack.dll instead of being compiled into it so the newly added webm/mkv input plug-in can share it without duplicating the code
Changed how some MP3 files are handled when the playback length vs the metadata length reported are too distant from each other which'll now trigger the exact mp3 length checking to be applied on that playback attempt which should improve playback completing for files that otherwise aren't correctly reporting their information (e.g. vbr files without the expected headers making it look like it's cbr)
Changed the discord-rpc handling when in paused / stopped states & the options to auto-remove it are disabled from the preference page to now show the full length of the playing item instead of telling discord that there's nothing going on which it imho incorrectly decides will make it instead show a generic counter (would be so much better if there was a way to flag when a status is for paused / stopped listening modes as trying to keep updating the rpc instance isn't viable either due to it not liking many quick calls)
Changed the error message text shown when a 3rd party dll isn't able to be loaded due to dependency issues to hopefully make more sense for what the user should be trying to do to resolve the problem
Changed how the streaming url plug-in tries to deal with unavailable urls from the yt-dlp response along with enabling a basic debugging mode to try to better determine some of the reported playback fails
Changed how yt urls are presented to the waveform seeker plug-ins so it is now more likely to be able to generate a waveform preview when a cached copy of the playing item is able to be located
Changed the handling around starting wacup when requested to accept new files (e.g. when double-clicking in explorer or using the command-line) to reduce some of the perceived delay to get files playing that can occur due to it being able to queue up the items & the play related trigger too fast which then caused a stuck in a state processing whilst it was trying to work through all of the actions that have built up (there's still more that needs to be done but this partially helps with the main situation tested in holding down enter on an item in explorer)
Changed the main playlist editor window to now show the Alt+3 / File Info dialog for the currently playing item when the action is triggered & there's nothing selected (which matches to the main window)
Changed when the visualisation plug-ins are triggered if configured to run on start-up to give them more time to appear vs other initialisation going on so they're more likely to show up with the other windows instead of appearing noticeably later which can be somewhat jarring
Changed the folder monitor handling to indicate if too many folders might be configured to be monitored which depending on the resources available can cause problems or even the potential for crashes (as some are adding each folder instead of using the folder monitor handling that allows for sub-folders of a parent folder the monitored as a single action without using for some setups too many threads)
Changed how the core will try to determine the appropriate input plug-in to use for anything that isn't directly claimed by the input plug-ins with in_what & in_url (if present) treated as the fallback local & url handlers which avoids the need for the winamp-esque way of solely relying on an extension when that was itself fragile (e.g. what if nothing reports the entered extension) to make it more likely that a non-natively supported item is likely to play
Changed taglib from v1.13 to v2.2.1 with all of the related plug-in / metadata core handling changes needed & the size bump that comes from taglib supporting more formats compared to before (e.g. mkv)
Changed how multi-song NSFE files are handled when added into the main playlist based on the preference option to either now follow the NSFE playlist count information or to use the prior behaviour of using the total songs reported (which is still used if there's no indication of a playlist count so there should always be something added even if the count may not always be as expected for some users)
Changed some more of the core handling as part of the preparation towards localisation support (aka how to make lng_generator work again but based on what the WACUP core is able to provide for it to use)
Fixed a potential for the history & local library plug-ins to get stuck in an endless loop when running some of the helper actions used to avoid or resolve existing issues within the db files
Fixed a number of problems with the initial starting of MFT H264 based video playback which often appeared as a partially missing video frame (am still not super happy with how this all works)
Fixed a crash which can occur when adding RSN files into the main playlist when there isn't anything which can support the files found within this archive type (e.g. not having SNESAamp enabled)
Fixed a large memory leak when going between the internet radio view & other media library view many times during a running instance with enough time passing to allow it to trigger a cache purge
Fixed the possible issue behind crashes seen when playing some AAC based streams by re-working the metadata extraction handling to reduce memory allocations along with avoiding some string conversions
Fixed the buffer the waveform seeker plug-in provides for the audio data to be placed into not being large enough in some situations (e.g. getting full flac or wavpack frames) which could cause it to crash
Fixed streanname being returned for artist/streamartist atf requests when playing a stream which when used with the prior default ATF string made it appear as "name - arist - title (name)" which wasn't intended though the default ATF string change negates this change but is there for anything else that might be intentionally querying those values
Fixed the majority of the skinned window frames under a classic skin which if placed partially off-screen might not draw the frame contents when moved especially if part of a grouping of docked windows due to an internal state to reduce the amount of redrawing done on window moving conflicting with the recent changes made to improve window painting under WINE
Fixed the probable cause for higher bitrate MP3 based streams not playing smoothly due to a conflict between what mpg123 said it wanted & what it actually needed w.r.t. to the internal stream buffering
Fixed a resource leak (memory & file handle) with the MP4 file metadata handling
Fixed some inconsistency with the handling of the %samplerate_khz% atf value if the common metadata handling isn't able to obtain the underlying samplerate value
Fixed an issue when changing the playback mode to audio-only for yt urls not playing which have already been played due to not matching the existing cache item to the expected input plug-in
Fixed the possible cause of a deadlock which was seen from an x64 install when using dsp_wc for streaming what's playing whilst conflicting with some of the input plug-ins
Fixed changing the playback preference option to only render audio off when playing MP4 based items from youtube playback needing two playback attempts to get video to show
Fixed the handling of youtube playback when the up to 1080p playback option is disabled which could cause playback to random stop or to jump around the video being played
Fixed the probable cause of some deadlocks seen when changing playback & the volume level is attempting to be set on a new play when using the notsodirect output plug-in
Fixed enabling the media library core when wacup is already running not correctly updating the preference window tree to reflect the library plug-ins that have been loaded
Fixed the probable cause for running multiple visualisation plug-ins via the wacup core handling causing some or all of the visualisations enabled to not react to the audio as expected or show nothing
Fixed the remove excluded folder action on the local library preference page not reacting to selection changes preventing the action from being enabled
Fixed an initialisation issue which could prevent the generic skinned windows from being created if the handling was triggered in the wrong expected order (e.g. visualisations triggered on start-up)
Fixed some additional window re-painting happening when the media library is being initially loaded which showed up when running with multiple visualisations set to run on start-up (this still isn't great as the visualisation plug-ins are slowing everything down causing the windows to pop-in depending on how much they're doing vs the alternative of them appearing much later after initial loading)
Fixed a delay with playback resuming during start-up which became far more noticeable when the local library db was large which could cause some of the ui handling to block until it had been loaded
Fixed the preference action to remove invalid or duplicated local library items (due to bugs in older builds) not working correctly causing those problems to persist despite the checks being able to report that they are present
Fixed some problems seen when using the local library view query against non-characters being entered in the search (e.g. single space) which could prevent the required view / filter query being run
Fixed a collection issue with the crash reporter where it was trying to add incomplete dmp files which was then causing some problems with the server side inspection
Fixed some more visual quirks seen when the library playlists root view is initially loaded to hopefully avoid seeing things being positioned before they're ready
Fixed the library button menu action to open the folder monitor preference page not working as expected if the preferences haven't already been opened
Fixed a crash when using the link on the playlist file remover hotkeys preference tab to open the global hotkey preference page
Fixed the obvious reproducible issues when removing the currently playing item which especially for classic skins could cause the song ticker to show the wrong information or the seeker to disappear
Fixed some of the classic skin messages to be shown in the songticker not always showing (something found whilst working on the fix above due to how it was handling the internal caching to reduce updates)
Fixed a playback issue with notsodirect when given 6.1 audio input along with some other high multi-channel playback issues incombination with the overall playback preference options not being followed
Fixed a number of small issues found with the codebase found whilst experimenting with getting aspects of the WACUP code to compile with other compilers (more to do though this doesn't really mean much)
Fixed some initial media library window view loading issues when using WINE due to it differing in how some of the window messages are sent along with the listview headers of the playlist views not being skinned (unlike Windows the header control doesn't seem to be created until a column has been added which conflicts with how the playlists view tries to reduce it's initial loading impact via async calls)
Fixed a crash when moving the position of a library playlist within the media library navigation tree
Fixed an intermittent crash seen when starting to process new podcast items for downloading
Fixed the probable cause for in_url & other input plug-ins to potentially report the wrong title if using the stop with fadeout option due to a timing issue that could cause them to be incorrectly triggered to provide title updates for something that's no longer going to be playing (hard stopping afaict isn't showing this problem & is due to how fadeout works to avoid causing ui unresponsiveness)
Fixed an issue with the initial creation of a new folder monitor instance via the preferences which prevented it being correctly configured without first closing the preference page & re-opening it
Fixed a crash when closing the Alt+3/File Info dialog if in_wave is being used to show the ID3 tabs for MP3 files in its current read-only edit mode during the dialog clean-up
Fixed some problems reported with the reading of less than ideal ID3v1.x/v2.x tags on a file which are either encoded going against the tag specification or have incomplete strings with BOM identifiers
Fixed the old pioneer stereo visualisation plug-in window position not being maintained between runs due to the plug-in seemingly not saving that position so the core is now handling the window position
Fixed some of the checks made on the embedded windows created by 3rd party plug-ins not being correctly resolved which could prevent some of the wanted workarounds to not be applied in the expected manner
Removed the preference option for specifying a default file extension as the core (per other changes already noted) will now try to use one of the appropriate provided input plug-ins to negate it's need
Removed the installation of the in_dshow plug-in from the 5.666 installer now that there's the natively provided in_what plug-in which even in it's initial state is more capable compared to the old one
Other small changes based on inconclusive issues seen in some of the crash reports to try to avoid code handling issues
Updated libcurl (libcurl.dll) to 8.19.0 (11 Mar 2026)
Updated libexpat (xml.w5s) to 2.7.5 (17 Mar 2026)
Updated libjpeg-turbo (image.w5s) to 3.1.4 (27 Mar 2026)
Updated libopenmpt (in_mod.dll) to 0.8.6.25100 (24 Mar 2026)
Updated libpng (image.w5s) to 1.6.57 (8 Apr 2026)
Updated libnghttp2 (libcurl.dll) to 1.69.0 (19 Apr 2026)
Updated Monkey's Audio (in_ape.dll) to 12.67 (16 Apr 2026)
Updated OpenSSL (libcurl.dll) to 3.5.6 (7 Apr 2026)
Updated taglib (tag2.dll) to 2.2.1 (7 Mar 2026)
Updated unrar (unrar.dll) to 7.2.5 (22 Mar 2026)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 29 Mar 2026