Help us keep the list up to date and submit new video software here.



Try ConvertXtoHD and convert all your movies to Blu-ray or HD Video. Download free trial !

Software Home »


Complete Version history / Release notes / Changelog for WACUP


Preview Version: 1.0.13.5864
Released: 23 July 2020

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 a Lyrics window (via the gen_lyric.dll plug-in so you can easily disable this!) which initially will show lyrics from embedded, LRC or TXT files from the current file but will hopefully be able to do online lookup for lyrics later on (this plug-in & internal changes will need more work as well as I need more example lyric files to ensure I'm supporting all of the types out there correctly)
Added a basic 'Lyrics' tab on the Alt+3 File Info dialog to display (if found) the raw lyrics (embedded / LRC / txt) though more will be done as the features are expanded
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 an initial updated build of the Highly Experimental PSF Player plug-in (in_psf.dll) based on the v2.0.8 source code from Neill Corlett for Playstation Sound Format (PSF / PSF2) playback support which improves integration with WACUP (e.g. transcoding support & using the common alt+3 dialog instead of it's own)
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)
Added a 'Add' button to the replacement local library (ml_ll) views so it's more obvious some of the means to get additional media added into the local library from feedback
Added a 'Save as' button to the replacement local library (ml_ll) views so it's possible to save the current viewed smart view results to (for the moment) a playlist file
Added a 'Send to' button to the replacement local library (ml_ll) views to complement the style of the library playlists view & to make accessing the send to action easier
Added an 'auto' mode to Milkdrop for the Fullscreen & Windowed/Embedded handling so the window when put into fullscreen &/or created will work against the current monitor the Milkdrop window is found on (e.g. running in windowed mode on a second monitor & double-clicking it to go into Fullscreen mode will run it on the second monitor instead of the default of going to the primary monitor unless you've manually told the plug-in via the plug-in preferences to use the second monitor)
Added a new option to the 'Now Playing' logging so the currently found artwork (if available) can be saved to a specified file for external tools to make use off in addition to the existing metadata to file logging
Added a new option on the Classic Skin preferences page to allow for always using a skinned font in the playlist editor status area if the option to use a skinned font is enabled (this effectively emulates the 5.666 & earlier behaviour which may be better for some classic skins vs how it might look with the non-skinned font handling that WACUP implements)
Added a %playlist_length% to the additional ATF values recognised by the custom Taskbar Text ATF handling

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)
Changed the SNESAmp Wrapper plug-in filename to avoid some of the SNESAmp plug-in installers removing it & making it look like a failed SNESAmp install
Changed how metadata is handled with the Classic Album Art window to reduce duplication of metadata calls to make it update a bit quicker vs beforehand
Changed the Alt+3 File Info dialog initial focus to be the filepath field instead of random parts of the dialog (it also pre-selects all of the text to make it easier to quickly copy it)
Changed some of the handling related to the media library core in preparation for the replacement plug-in
Changed the Milkdrop window handling when focused to now follow the global spacebar handling when set to toggle play / pause instead of it picking a different preset (using any keyboard modifier with the spacebar when the Milkdrop window is focused will still allow for the old behaviour)
Changed Milkdrop to only save out values that are different from the default values to keep milk2.ini cleaner
Changed how custom / dynamically added preference pages are handled so that the majority of the known WACUP ones are now given a pre-defined id which resolves some issues seen with the wrong page being re-selected between sessions (this shouldn't cause any issues for 3rd party plug-ins as the allocation of the id was always subject to what the core decided it was going to do)

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)
Fixed the folder to save podcast downloads into not always being created at the expected time which could cause seemingly odd download failures
Fixed the 'Window Settings' submenu not being correctly provided via the IPC_GET_HMENU API
Fixed the probable cause of some general plug-in loading related crash issues
Fixed the installer not always removing plug-ins that have been un-checked during install
Fixed the first supported file within a folder sometimes not being provided to a provided callback method when using the playlist manager directory loader (e.g. missing the first file from a folder added to ml_ll)
Fixed some library search strings with incomplete quotes causing a crash due to incorrect string length validation within the NDE parser
Fixed some slowness found with the loading of NDE databases to provide a small redecution in loading times (is around 5% on my dev install)
Fixed the async albumart api sometimes failing valid requests (this showed up during the development of the Lyrics plug-in so shouldn't have been seen with prior WACUP builds)
Fixed the albumart cache not returning expected results for size limited requests if width & height of the cached image is not matching
Fixed the probable cause of a crash during initial loading of the podcasts view when a podcast feeds update is already in progress (still not 100% on this change but it's better than doing nothing)
Fixed a drawing issue with the selected/total area on classic skins where it wasn't completely filling in the area with background element which for some skins looked wrong due to using a different colour
Fixed genre strings like "(33)Instrumental" of "(12") not being correctly parsed to the actual genre string (one of those ID3 tagging quirks I definitely wasn't aware off)
Fixed the grouped enqueue & play button sometimes not being shown in the correct state (with it instead defaulting to the play state) due to some inconsistency with the media library api being used
Fixed the podcast feed items not always being shown for the podcast feed in the list when the podcasts view is loaded (this would most often affect the first podcast feed in the list of feeds)
Fixed the probable cause of random display corruption in some of the library lists (e.g. history or replacement local library) related to some of the strings to be shown
Fixed youtu.be urls not being handled as expected
Fixed the custom Taskbar Text ATF string being saved with quotes around it which could keep re-adding the quotes on each time a change is made (this may require manually removing the unwanted quotes added to get it to use the string wanted if the issue was experienced)
Fixed the probable cause of no playback with media formats handled via in_vgmstream & using the Not So YASAPI output plug-in
Fixed some drawing issues with the playlist editor scrollbar when using a modern skin (parts not being drawn or overlapping incorrectly such as when using wider than normally seen scrollbar elements)

Updated giflib (image.w5s) to 5.2.1 (24 Jun 2019)
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.1 (1 Jul 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 libvorbis (libvorbis.dll) to 1.3.7 (4 Jul 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.2 (5 Jul 2020)
Updated Patreon list
Updated rapidjson to latest re-based update (23 Jun 2020)
Updated unrar (unrar.dll) to 5.91.1 (4 Jun 2020)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 21 Jul 2020
Updated WavPack (in_wv.dll) to 5.3.2 (20 Jun 2020)
Updated zlib-ng (zlib.dll) to latest re-based update (14 Jul 2020)


Preview Version: 1.0.12.5586
Released: 21 May 2020

Everything that was done as part of build 5572 which this build is effectively a hot patch build to resolve some immediate issues

Changed the wording related to the classic skin skinned font preferences option & the alternate font option below it to make things hopefully clearer based on feedback received

Fixed ATF (Advanced Title Formatting) not working correctly on main playlist items (this was most noticeable if using a custom ATF string)
Fixed the easymove main menu item not showing the correct state if disabled
Fixed crashes related to in_cue.dll by preventing it from being loaded as it's not compatible with a number of input plug-in API changes (sorry to the user that's trying to use it)
Fixed a crash seen with some setups when loading with the Crystal Classic Skins (gen_classic.dll) plug-in enabled
Fixed the classic skin albumart window not showing the expected artwork or anything at all if its been closed (either on loading or during the running instance) & is then restored
Fixed a crash when viewing the File Information (Alt+3) dialog on urls handled by the Streaming Url Processor (in_url.dll) plug-in
Fixed the artwork handling for URLs not correctly allowing embedded requests to be actioned before then correctly failing / using the fallback artwork image
Fixed MP4 video playback being jittery due to the input plug-in used causing the video window to be force refreshed when not required
Fixed editing separator:// entries in the main playlist editor not always updating the playlist item due to a WACUP incompatibility
Fixed the probable cause of the NotSoDirect output plug-in sometimes hanging on unloading
Fixed some of the causes of NotSoASIO crashing however the main offender (the resampler) has been temporarily disabled to avoid it being used & causing more crash reports (sorry)


Preview Version: 1.0.12.5572
Released: 19 May 2020

Changed the loading of the main playlist editor to better handle obviously invalid playlist items to minimise loading time impacts they might cause elsewhere
Changed the missing files highlighter (if the option is enabled) to use some quicker checks for the more obvious invalid playist items that might be found
Changed the video window when in it's using the generic skinning option under classic skins to allow it to be re-sized like the other generic skinned window
Changed the Milkdrop plug-in handling for some of it's errors to minimise it causing a UI lock-up until responding to it
Changed how loading of the specific WACUP output plug-ins responsible for the integrated preference pages is done to not keep them loaded if not viewing the root output plug-in preferences page or starting playback
Changed the explore item folder / find file on disk modes using the ExplorerFindFile API to work with applicable separator:// items & SID sub-songs where a filename is part of the playlist entry
Changed the View File Info dialog to not provide the 'Raw Metadata' tab when the playlist item doesn't relate to a real file item that metadata can be attempted to read from
Changed the crash reporter to attempt to report how long the WACUP instance has been running for (this is to help better determine crashes early on during loading or from long running instances)
Changed the /CONFIG, /INIDIR & /M3UDIR command-line options to be fully handled by WACUP & not the Winamp core which makes it now possible to correctly use relative file paths along with evironment variables
Changed the Shift / Ctrl + Home / End handling in the main playlist editor to better match how the Windows listview controls work in selecting all from the existing selection point in the appropriate direction (when using Shift) or just scrolling the top / bottom of the playlist into view (when using Ctrl)
Changed how artwork is read from WavPack & Monkey's Audio files to now be done via the shared metadata service instead of the input plug-ins which wasn't working well with the general push to handle artwork asynchronously to minimise blocking

Fixed the generic classic skinned window frames not always maintaining their minimum widths & heights (Windows messaging fun)
Fixed the probable cause of a crash with the JTFE plug-in when running in the Homeseer related live queue saving mode
Fixed a crash when trying to load the Win10Shell plug-in if the required .NET version cannot be determined (the installer was also doing checks for this but without this check it could break portable installs being moved around different machines)
Fixed the crash reporter incorrectly detecting some Windows 8.1 setups (compatibility mode appears to have been enabled in a few instances which breaks the Windows version reporting in the crash reporter)
Fixed the modern skin provided options menus not working in all cases due to internal menu id range conflicts with the library views & library playlist menus
Fixed an issue with old modern skins (I know it sounds odd) using interlaced PNG not being correctly displayed (this related to a change in build 5484 that didn't quite work as expected but this now fixes both issues)
Fixed some issues with longer than MAX_PATH (260 character) filepaths due to incomplete paths being passed to the input plug-ins or the plug-in incorrectly clipping it (there's a lot more needing to be done on these sorts of issues)
Fixed some long / invalid / missing filepaths getting replaced with just a backslash instead of being kept as the original filepath value (was due to not checking OS return values)
Fixed the library playlist view sometimes locking up due to some internal processing issues when trying to determine if the displayed file exists or not
Fixed the probable cause of some crashes seen due to accessing the artwork cache
Fixed some odder crashes seen when the IPC_GET_EXTENDED_FILE_INFOW_HOOKABLE API is invoked
Fixed some odder crashes seen when the IPC_GET_BASIC_FILE_INFO API is incorrectly invoked
Fixed a saving issue with the Add/Open Url dialog with some extended character sets
Fixed a small memory leak with the library playlists missing file checking with zip:// entries
Fixed a corruption of missing playlist item(s) added into the main playlist editor when the missing file highlighter is enabled & the playlist item has additional data / parameters after the file extension (e.g. with extended GBS playlist items)
Fixed some compatibility issues with the handling of extended GBS playlist items which could either cause a crash or the matching to find the appropriate input plug-in would fail
Fixed some compatibility issues with the return value of methods providing strings to help reduce a number of potential crash issues & the trigger for some actually seen crashes
Fixed a crash with the Waveform Seeker plug-in trying incorrectly to use in_vorbis.dll in the legacy processing mode when trying to use it had already failed
Fixed ReplayGain not being able to be calculated on files which don't already have it (bug introduced in build 5484 due to an unwanted copy + paste change for a different set of issues)
Fixed a crash seen by some & other related issues when adding items into the main playlist editor inbetween existing playlist items or at the end of the playlist list (coding is fun, eh?)
Fixed a crash when trying to load the deprecated ml_enqplay.dll plug-in as most of WACUP library plug-ins support this feature natively so the old plug-in is not needed (there's really no need for people to be trying to install the old Winamp Essentials Packs as the majority of the plug-ins from it are present with WACUP but in newer / fixed / directly integrated forms)
Fixed an issue with how triggering the previous button multiple times (user action or via the internal APIs) followed by the next button could cause incorrect titles to show on playback or not advancing as expected
Fixed the NotSoDirect output device selection not being correctly saved due to an internal code issue along with a conflict related to the settings cache when saving out struct based values
Fixed some typos in the preferences & text alignment issue in the /? command-line help
Fixed a crash when trying to load old versions of the gen_ml library plug-in (e.g. one user somehow managed to make a setup that was trying to load a version of the plug-in from 2004 - it obviously crashed!)
Fixed some of the more obvious issues with playlist items not being updated in an expected manner when reading in / needing to update their titles (is still more to do on this but it's a start)
Fixed (hopefully) an issue with PSF/PSF2 & title reading from older non-ATF compatible plug-ins not working correctly with some of the recent WACUP builds whilst trying to take over from the Winamp core on such matters
Fixed an issue where PSF files would be incorrectly handled by th vgmstream plug-in when the dedicated Highly Experimental (PSF Player) plug-in is also present (more will be done later to remove the need for a specific fix for this issue)
Fixed using shift + up in the main playlist editor not always selecting the first item in the playlist when it's the item reached
Fixed the Win10Shell plug-in not getting the paused playing state changes correctly which could cause play / pause actions to not work as expected
Fixed the titles of playing zip:// entries not being correctly updated to that of the extracted file being played due to not updating an internal API handling change
Fixed the View File Info dialog not showing anything in the 'Raw Metadata' tab for a currently playing zip:// (where retrieving that information is supported for the real file)
Fixed on the classic skin prefs page toggling the option to use the skin or normal font not enabling / disabling the alternate font option
Fixed a crash seen when trying to play a vgmstream related file which adds numerous new playlist entries into the main playlist on playback which was causing the missing files highlighter to throw a wobbly
Fixed the portable device plug-in & the related devices plug-ins not having custom descriptions shown for them in the plug-in preference lists
Fixed a number of issues related to the in_sidious / in_sidplay2 sub-song playlist entry format which was causing valid files to be marked as missing (more needs to be done to improve how this is done)
Fixed the probable cause of some crashes seen when using the NotSoDirect output plug-in & trying to play mainly FLAC files
Fixed the clasic skin album art window flickering when changing the selection or when a new item is being played & under a few other scenarios
Fixed the classic skin main window not showing when starting WACUP using the Visual Studio 2017 debugger due to it setting the initial window state to be hidden which WACUP (& the Winamp core) were obeying
Fixed the option in the replacement local library plug-in to ignore the 'The' within the view filters not being applied correctly in all of the view filters
Fixed the specical handling of the 'T' artist index in the replacement local library plug-in not correctly handling artists with the second word starting with a T (e.g. 'The The') causing the results in view filters & filter results to be lower than was correctly being reported for the 'T' artist index item
Fixed (hopefully) the intermittent crashes seen by some related to trying to get artwork from the currently playing WavPack file (this is relatd to changing how artwork is retrieved from these files in this build)
Fixed (hopefully) a number of issues when trying to use the NotSoASIO output plug-in from it not reacting to driver failures which were causing WACUP to lock-up & then crash to not working with the Realtek ASIO device (e.g. it might play a track & then stop & not play a file until the second attempt) as well as disabling the gapless playback mode since that is broken & was causing a number of the stability issues seen
Other small changes whilst trying to resolve the potential causes of some of the crash issues seen which are not fully confirmed to be noted above

Updated Patreon list
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 17 May 2020


Preview Version: 1.0.12.5500
Released: 6 May 2020

Added an option on the Taskbar preferences page to control whether WACUP is hidden from the taskbar or not when minimised (this has been defaulted to on to replicate the Winamp behaviour for this action)
Added a workaround to deal with crashes seen by the WaveOut Output plug-in (out_wave.dll)
Added a specific sort by duration action to the main playlist editor & library playlist views
Added a specific mode on the Visualisation preferences page to disable visualisation loading (this is like the equivalent mode on the DSP/Effect preferences page)
Added an option for the Discord support to automatically disable it when playback has stopped (this can allow other programs to update your Discord Rich Text without also having to close WACUP)
Added %wacup_version% as an always available ATF variable (e.g. this might be useful for the HTTP posting actions or any other related logging that might be done via Yule Log, etc)
Added an option on the Advanced preferences page to show the plug-in lists in the classic single line style instead of the default multi-line description style (this is for those that don't like or need the newer default plug-in list style)
Added IPC_HAS_METADATA_READ_SUPPORT & IPC_HAS_METADATA_WRITE_SUPPORT helper messages to quickly determine if the input plug-in responsible for a file type has the extended metadata api support for read / write
Added the 'Artist Index' filter option (which groups the filter results by the first letter of the artist) to the replacement local library plug-in (ml_ll.dll) based on forum feedback (if this works ok from testing then other variants of this index may be added e.g. album artist, genre, etc)
Added some additional resource usage information to the crash reports to help better detemine resource leak based crashes
Added resizing methods to api_albumart to complement the existing synchronous & asynchronous (WACUP addition) GetAlbumArt methods to simplify with getting artwork without each plug-in needing to do resizing if needed (this can also help reduce the overall memory usage if the artwork cache is enabled as the resized image is cached instead of the original "full fat" image that was loaded)
Added IPC_SHOWWND & IPC_HIDEWND api commands to explicitly be able to show / hide the specified windows (as determined by the IPC_GETWND parameter defines) along with some main window & library window additions for the older 2.9x era IPC_GETWND & IPC_ISWNDVISIBLE APIs)
Added compatibility support for the 3rd party "What's Playing?" plug-in so it will now make use of the settings folder instead of trying to save into the program folder (this is a shame it wasn't natively done when the plug-in was being updated until 2005 & the APIs needed were already a few years old by that time)
Added 'Manual Playlist Advance' menu items to complement the existing Repeat & Shuffle menu items (subject to the skin & menus it offers)
Added loading checks to prevent files related to the unrelated & reviled 5.8 beta from being used under WACUP (either from people manually trying to use the files from it or due to some weird installation weirdness based on a batch of crash reports received)
Added an alternative mode to the Global Hotkeys plug-in if the multimedia keys don't work (thanks to Sprite via Discord for reporting & help test this works)
Added some supporting features needed to ease the interaction of Homeseer with WACUP & the JTFE queue implementation (w.i.p. so no real details for now on this)

Changed a massive amount of the main playlist editor & playlist & related API support to now be handled via WACUP code instead of using the original Winamp code (there might be some issues / differences in behaviour that I've missed so please do tell me so I can get the compatibility / expected behaviour re-implemented)
Changed how the Windows 10 Integration plug-in (gen_win10shell.dll) is allowed to be loaded to hopefully prevent it crashing for some
Changed the installer to better handle not having an internet connection or if not allowed through the firewall by giving a useful message on what needs to be done or what can be done to workaround the issue
Changed the Portables plug-in to not have the settings cache applied to it which may help fix some of the odder crash reports seen
Changed the Cover & Tag plug-in handling for finding the built-in windows to be applied more generically to fix some other plug-ins including cases when changing the main window class & plug-ins have a hard-coded assumption of it being "Winamp v1.x"
Changed the installer to deal with most of the downloaded components & related validation in a simpler manner which should cause fewer issues going forward
Changed new installs to default to requiring the user if they later install the Sqrsoft Output plug-in (out_sqr.dll) to require it to be manually enabled before it can be used (the plug-in is causing a load of crash reports)
Changed the handling of failed HTTP stream playback to attempt to use the MP3 Decoder (in_mp3.dll) if that wasn't the plug-in already attempting to be used (e.g. builds of the 3rd party in_opus.dll plug-in will incorrectly try to handle any HTTP stream url even if it's not related to what the plug-in supports)
Changed how some of the required file paths are generated to use less code & to be correct irrespective of the owner process that is calling WACUP core methods
Changed the settings cache to pre-prime itself earlier which helps alleiviate some oddities noticed
Changed the way the font size in the information pane of the podcasts view is calculated to try to better match with the rest of WACUP irrespective of OS scaling
Changed some of the Playlist Undo plug-in handling to be done directly within the WACUP core (more will be done to move the plug-in completely into the WACUP core)
Changed how the NotSoDirect output plug-in saves it's settings to reduce unnecessary configuration saves when nothing has been changed
Changed the installer to not attempt to re-install some of the supporting files that WACUP relies upon if they're already present (this may help with some setups where updating can fail due to files not being able to be updated primarily to anti-virus &/or 3rd party software messing with things)
Changed the plug-in loaded to block a few more plug-ins that are known to cause crashes &/or conflict with the native WACUP implementation (e.g. in_wm, gen_nopro & gen_skinmanager)
Changed the podcast view initial loading to show a message until everything is ready (this is related to helping resolve the deadlock on loading crash below)
Changed to use a shared genre list between the plug-ins / libraries for a 14KB size reduction
Changed the icons in the library window navigation tree, internet radio & podcast feeds list to adjust to the size of the list text so they better match & looks better with larger font sizes (note they will be blurry until higher resolution base images are created)
Changed the input, general, library, dsp, visualisation & portable plug-in preference pages to use the newer style list layout like the output plug-in list for consistency
Changed as many of the preference pages provided via the Winamp core to now be WACUP implementations (this means most settings are now only altered when actually changed instead of being always saved when closing the preferences window which reduces the risk of data loss / settings file corruptions & so on)
Changed how background title reading is done to try to avoid hangs related to URL / UNC paths
Changed the error reporter handling to avoid attempting to also send the crash report as an email if there's no obviously configured default email client
Changed the main config reading method to now be WACUP handled (this removes reading some config values which can be done elsewhere or are not needed)
Changed the artwork handling of Opus files to be read via the WACUP shared metadata service instead of relying upon input plug-ins (this may help to resolve a stability issue seen when using in_bpopus & allows artwork to still work with the alternative in_opus plug-in that some users have been using)
Changed how the seek bar is handled under classic skins which now allows its information message to match the WACUP long times formatting option)
Changed the IPC_GET_PLAYING_TITLE & IPC_GET_PLAYING_FILENAME APIs to do the equivalent of a IPC_GETLISTPOS & IPC_GETPLAYLISTTITLEW / IPC_GETPLAYLISTFILEW when passing the param as 1 (this is a helper to remove one SendMessage call for cases where also knowing the result from IPC_GETLISTPOS is not needed)
Changed some more of the menu / API handling from Winamp code over to WACUP code based on issues seen with some of the crash reports to try to better diagnose what's going wrong
Changed in_cue.dll & gen_cue.dll to be part of the default list of 3rd party plug-ins not to automatically load to avoid issues if updating an existing Winamp install to a WACUP install with them present (they've been found to cause issues under both Winamp & WACUP so it's better to avoid them being loaded as it took a while to track them down as the cause of stability issues for one user)
Changed the version string shown if there's nothing playing &/or no title can be shown under modern skins to now be the current WACUP version instead of the Winamp core version (this is more like classic skins though there's some parts under a classic skin that will currently show the wrong string - more work needs to be done on replacing all of the main window handling to resolve that discrepency)
Changed how output plug-in loading is done when opening the preferences window to try to minimise a configuration saving conflict between NotSoDirect & Nullsoft DirectSound (out_ds) plug-ins (to maintain compatibility for when the default output plug-in is switched to NotSoDirect they save into the same configuration section & without out_ds always re-saving it's settings on closing even if there was no change this can cause problems if NotSoDirect is the active output plug-in - recommendation is to disable out_ds if using NotSoDirect to avoid the whole issue :) )
Changed the way the installer is built to simplify some aspects of the overall building & release process which should save me some time :)
Changed how things are handled when a crash is detected which should better prevent unnecessary code (e.g. generic skinning) from running which might be causing some crash report collections to fail
Changed how the artwork cache works to better suit the common use case whilst making it less likely to have issues when dealing with more extremely sized pieces of artwork (not a commmon case)
Changed a number of the plug-ins to use the new api_albumart changes for resizing images to remove a number of potential issues when dealing with large artwork (especially with 12500x12500px images)
Changed scrolling the mouse wheel up/down in the Milkdrop & Classic Artwork windows to change the WACUP volume (this improves consistency with other plug-in windows)
Changed how the Windows 10 Integration plug-in works to remove the need for subclassing to aid in removing it as a possible cause of some crashes
Changed how an aspect of closing is done to see if it will help resolve some of the odder crashes when WACUP is closing (normally due to plug-ins)
Changed a number of messageboxes shown (e.g. on visualisation error or when a crash has occurred) to timeout in a reasonable time instead of waiting around & causing other potential issues or leaving unwanted running processes due to not seeing / reacting to them until much later on (some issues may be missed due to this but it's probably better than what is happening for some setups when issues occur & attempts to inform are done)
Changed an internal method shared between the core & plug-ins for getting metadata to do a better job of dealing with lifetime quirks related to the passed in parameter values (relates to the playlist loading failure)
Changed how PNG images are processed to (hopefully) not break loading any that already work whilst allowing interlaced images to be correctly loaded (if it does break anything then we can blame Dr Flay for this one)
Changed what happens if the core playlist services cannot be created to now inform the user & abort continuing to load WACUP instead of allowing it to limp along in a broken state (a re-install hint is offered)
Changed how the crash reporter works to prevent it staying open in a few non critical scenarios
Changed how plug-in loading is done to better mitigate against older versions of plug-ins included with WACUP (e.g. from old Winamp Essential Packs or manually trying to re-use Winamp versions that have since been replaced with WACUP versions but are using the same filename) trying to be used & breaking / crashing WACUP
Changed a few places including the crash reporter to make it easier to distinguish between a beta & a public preview build being used
Changed how SPC titles are read with an interim solution until some issues are fixed with the SNESAmp Wrapper plug-in (this may still cause titles to show incorrectly based on the information in the local media library but it's more likely to show something nicer compared to the past few builds)

Fixed a workaround to deal with crashes seen by the DirectSound Output plug-in (out_ds.dll) not working as expected in all scenarios
Fixed a crash in the Vorbis Decoder plug-in (in_vorbis.dll) if the supporting libvorbis.dll cannot be loaded when trying to play an OGG Vorbis file
Fixed trying to use Milkdrop's (somewhat broken) desktop causing a crash due to the required vms_deskop.dll not being correctly installed for it to use
Fixed a crash when trying to generate the skin folder / filepath for the IPC_SKIN_CHANGED_NEW API message via the skins manager preference page
Fixed a crash related to column name retrieval within NDE in relation to a potential database corruption
Fixed the likely cause of a crash seen when trying to retrieve artwork for the SMTC (Windows 10) feature
Fixed the likely cause of a crash when accessing the config / about dialog of the FLAC input plug-in (based on a delay loading related issue from the crash reports)
Fixed a message handling issue in the History library plug-in preventing it correctly saving it's database on periodic save requests
Fixed the current playlist item not being drawn in the windowshaded playlist editor mode once focus has been lost along with resolving a flickering when resizing the window in that state
Fixed a potential lock-up on loading if the JTFE media library integration is enabled & the library window is slow to be created
Fixed reading of metadata from files not showing the expected data in some cases due to a replacement method not always providing the correct status result causing the valid metadata to be ignored
Fixed the likely cause of a crash seen when using the 'Open / Add file(s) to playlist' action & trying to process a playlist (or so it seemed from the crash report)
Fixed a number of crash issues related to a mis-match in the memory methods of the C run time libraries being used between the WACUP core & some of the plug-ins (especially the replacement local library plug-ins & the 'Edit Item Metadata' (Shift+E) dialog in the main playlist editor)
Fixed library playlists incorrectly showing some stream urls as missing when that check only relates to non-stream content
Fixed the title of items when being bookmarked sometimes showing as giibberish (have dropped trying to use the existing Winamp code for WACUP replacement which behaves as expected)
Fixed podcast feeds without the expected XML declaration at the start of their feed not being able to be added (this now does an alternative check which should work for both RSS & ATOM feeds showing this issue)
Fixed the podcast view sometimes failing to load correctly & eventually causing a loading deadlock crash
Fixed the vertical divider in the podcast view incorrectly showing when the information area is the only thing showing
Fixed some issues related to metadata retrieval not working as expected due to incorrect API responses
Fixed the Streaming Url Processing plug-in often reporting an incorrect title if it's not been used to play a stream it supports during the running WACUP session (this was causing issues with some of the re-worked checks to minimise re-saving the contents of the main playlist to reduce overall closing times)
Fixed the output plug-in preferences page list not looking correct depending on the OS text scaling mode being used (things should now gracefully adjust for the size of the list item)
Fixed an issue sometimes preventing a visualisation plug-in from being re-started if already used during that session
Fixed enabling/disabling plug-ins via the plug-in preference pages incorrectly selecting the plug-in when it should not have been (this would be an issue on the output, dsp & visualisation pages where the selected item determines the active plug-in)
Fixed the plug-in preference page lists not sizing correctly to the visible area including showing a horizontal scrollbar incorrectly at times
Fixed the selection not always being scrolled into view in the browse for folder dialogs (this was a regression related to build 4994 changes)
Fixed a number of the windows not restoring their position compared to how 5.666 worked (e.g. the Add/Open File/Url dialogs)
Fixed some of the bundled modern skins not correctly showing as the WACUP version due to a missing file used for install type checking
Fixed the crash reporter dialog not reacting to Escape / Alt+F4 actions as expected once the crash report collection has been completed
Fixed the undo playlist dialog not being correctly sized according to OS text scaling / high-dpi setups
Fixed the in_nsv plug-in crashing when trying to start play a stream (changed what dlls it tries to load to avoid a self-unloading issue seen)
Fixed a crash seen in the crash reports related to saving the main playlist editor
Fixed a memory leak related to embedded file artwork via the shared metadata handling
Fixed lame_enc.dll not always being installed when it should (this generally was causing the Streaming Source plug-in to fail to load in some setups)
Fixed the likely cause of a crash seen when deleting a library playlist which was the viewed playlist at the time of the deletion request
Fixed the likely cause of a hang seen when viewing a library playlist due to the missing files check being run on an UNC based server path
Fixed a crash seen when trying to query embedded artwork from Opus files with in_bpopus.dll installed as the Opus handling input plug-in (this change now completely ignores using the plug-in for embedded artwork)
Fixed the plug-in lists not displaying correctly when the Skinned Preferences option is enabled (missing icons or incorrectly sized or just showing a blank list)
Fixed the start streaming server button in the preferences not always starting the first stream source (if available) as the expected default configuration behaviour
Fixed the default playlist font size on new / reset installs being TOO LARGE (was a typo causing it to be 22px instead of 12px though should the default be a bit larger?)
Fixed enabling the Nullsoft NSV Decoder plug-in not also enabling some of the supporting component dlls needed
Fixed the cause of a lot of crashes seen due to a lifetime handling issue of some of the settings cache related objects
Fixed a crash when using the replacement local library plug-in (ml_ll.dll) to add items into the playlist via drag & drop along with some related issues due to how the internal values were being kept cached
Fixed the classic skin clutter bar view file info action not working as expected (weird winamp to wacup transition issue)
Fixed the crash reporter not always being run when some VS2017 specific C/C++ run time exceptions occurred (e.g. WACUP would crash without the crash reporter running - I hope this doesn't cause me more work...)
Fixed an occassional deadlock seen due to an issue within the locking used in one of the JTFE queue management methods
Fixed moving JTFE queued items around in the playlist sometimes flipping their actual position in the queue (the context of the queue item position was being lost which all of the other changes to the playlist handling now allows for better integration to remove a lot of the hacks that were needed)
Fixed a number of long standing JTFE queue handling issues where moving items in the playlist during that session would cause the wrong file (if there's duplicates to be selected) as well as sometimes items being incorrectly marked as being queued (especially after moving or drag+dropping items into the playlist)
Fixed the position of the sliders on the NotSoDirect preferences page not always being saved
Fixed a taglib MP3 file length reading issue related to a patch applied to avoid invalid access breaking the end of file offset detection which is needed when trying to work out the duration of a file without appropriate headers as part of the file (aka guessing the file duration from it's size & reported bitrate which doesn't work if you're not using the correct file size)
Fixed issues with item selection in the main playlist editor incorrectly persisting compared to the wanted listview style handling the WACUP implementation is aiming for (e.g. selecting an item when items were already selected was meant to select the new item & de-select the others but that wasn't happening until this build fixes things)
Fixed some menu integration issues compared to 5.666 for the replacement local library (ml_ll) & library playlists (ml_playlist) plug-ins along with removing the need for these plug-ins to subclass the playlist editor
Fixed the likely cause of a crash seen when a file is externally modified but is deemed to be related to WACUP (i.e. settings files not caught by the settings cache)
Fixed the bookmarks submenu on the 'File' menu under modern skins (that support that menu) not following the categorising options in all scenarios when the library plug-in is enabled
Fixed a crash when trying to play bookmarks via the 'File' menu under modern skins & not using the Library Bookmarks plug-in
Fixed parts of the classic skin playlist editor window flickering (this affected windowshaded mode the most & also the normal mode selected item duration which is in the bottom right corner of the window)
Fixed some of the threaded actions not always releasing the handle associated with them which over the life time of a long running WACUP session could cause a potential resource handling issue
Fixed the probable cause of some issues seen when stopping the Classic Spectrum Analyzer (vis_classic.dll) visualiation plug-in which then cause the rest of WACUP to hang & eventually crash
Fixed an issue with the artwork cache not always clearing out prior cached data when being updated (this was causing issues viewing artwork in the Local Library views as well as some long running installs)
Fixed a number of memory leaks related to the use of extreme sized artwork (e.g. 12500x12500px) causing problems across a number of the plug-ins making use of artwork
Fixed the delayed loading of dbghelp.dll failing causing a repeating set of errors about dbghelp.dll not being able to be loaded (e.g. when in low memory scenarios & WACUP has crashed)
Fixed a crash caused by NotSoDirect being called for it's current status when it's in the process of being unloaded
Fixed the main window visualisation when using a modern skin & playback is paused appearing to flicker / jump around
Fixed the main window visualisation when using a modern skin sometimes showing a solid line in the oscilloscope mode
Fixed using F3 in the Milkdrop window to show the currently playing item information not drawing it on the screen
Fixed a possible cause of some of the deadlocks seen from the crash reports when Milkdrop tries to get the currently playing title string
Fixed the Windows 10 Integration plug-in not always sending the update message for artwork changes to be correctly displayed &/or removed
Fixed a drag & drop onto a selected file in the main playlist editor incorrectly setting the new item as selected or queued if the existing item was already matching either of those conditions
Fixed a possible cause of a crash on unloading Milkdrop when trying to free its texture data
Fixed a crash when trying to get information about SID files when the in_sidious plug-in hasn't been fully initiliased
Fixed a possible cause of crash when updating the playback history in the library due to a buffer persistence issue
Fixed a crash when using the built-in taskbar preview actions to control playback (if already using the included advanced Win7Shell version then that would not crash)
Fixed some information needed for the crash reports not being correctly saved to the crash.log file in some instances
Fixed a possible cause of a crash when the requested visualisation plug-in fails & a notifying messagebox is shown but not responded to in a timely manner
Fixed a possible cause of an issue that could cause some titles when added into the main playlist editor sometimes appearing as corrupted (when force updated / played then they would show the correct title)
Fixed (hopefully completely this time!) an issue seen with the handling of the IPC_PLAYFILEW_NDE API message when adding items from the local library into the main playlist editor (ml_ll needs to replace ml_local!)
Fixed a crash in the artwork handling when attempting to resize the loaded image but not having fully ensured that there was image data loaded
Fixed an issue causing the width & height from a loaded png to be incorrectly reported as set if there were issues decoding the image (this isn't a user facing change but helps keep things cleaner internally)
Fixed an issue causing some playlist loading requests to fail due to an internal buffer handling issue when trying to determine the length of an entry prior to being loaded into the main playlist editor
Fixed a comparison issue with the Playlist Separator plug-in preventing some of the insertion actions working correctly
Fixed a hang due to some stream playlists from Tunein containing streaming urls which are named like playlist files but are the actual stream which caused WACUP to try do download the stream as a playlist (this now does some additional checking though more will need to be done but it resolves the issue seen in the handful of crash reports where this happening)
Fixed some possible metadata truncation related issues with displaying due to interim build changes & also existing issues found whilst reviewing other changes
Fixed the main playlist editor not always reading titles in the background if the window was hidden or unexpected closed (e.g. depending on how a modern skin is configured)
Fixed some additional causes of the main playlist editor under a classic skin flickering especially when in windowshaded mode & playback is active (there's still some other cases but they're being driven by the main window trying to update information on the playlist editor window which will have to be resolved once the main window drawing it taken over by WACUP code)
Fixed a possible issue related to incomplete youtube-dl related stream downloads preventing playback
Fixed a number of crashes related to mis-matched / incomplete updates (e.g. running WACUP before the update has completed) or when certain key services cannot be loaded (e.g. albumart vs gen_ff assuming it's there)
Fixed the crash reporter option for attempting to send an email incorrectly appearing as enabled even if it's been intentionally disabled (oops)
Fixed a crash related to the VGM (in_vgm_w.dll) input plug-in when it's still playing on closing with a modern skin loaded which would incorrectly keep trying to access sample data for the skin visualisation modes
Fixed a possible cause of somes crashes related to weird API accesses (these are masking some other issue from what I can tell but the crash reports aren't conclusive on what's going on)
Fixed a crash due to an older version of the Time Restore & Autoplay plug-in being installed (additional checks are now made to prevent the older plug-in being loaded when a newer updated one is already part of WACUP)
Fixed the playlist editor context menu showing twice if when using the Windows context menu action (button or Shift+F10) & you use escape to cancel the action
Fixed trying to select a newly added playlist item requiring 2 clicks for it to register the item selection after using the Add File/Folder/Url actions
Fixed the option to enable/disable using the classic skin style mouse cursors not being correctly applied across all of the skin (core mis-match issues)
Fixed some other options on the classic skin preferences page not being correctly applied until a restart of WACUP
Fixed the current WACUP version not being shown on start-up when using a classic skin with double-size enabled

Removed the option for not having the classic skin equaliser follow the global double size setting (this might have made sense on 640x480 setups but it seems superfluous nowadays - if you use it then let me know!)

Other small changes to attempt to fix some of the issues based on information from the received crash reports (e.g. library playlists & ASIO output)

Updated brotli (libcurl.dll) to latest Git commit from 19 Mar 2020
Updated libcurl (libcurl.dll) to 7.70.0 (29 Apr 2020)
Updated libopenmpt (in_mod.dll) to 0.4.12.12633 (13 Apr 2020)
Updated OpenSSL (libcurl.dll) to 1.1.1g (21 Apr 2020)
Updated Patreon list
Updated Monkey's Audio (in_ape.dll) to 5.38 (26 Apr 2020)
Updated unrar (unrar.dll) to 5.90.2 (26 Mar 2020)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 1 May 2020
Updated WavPack (in_wv.dll) to 5.3.0 (14 Apr 2020)
Updated zlib-ng (zlib.dll) to latest re-based update (27 Mar 2020)


Preview Version: 1.0.11.5456
Released: 30 April 2020

Added an option on the Taskbar preferences page to control whether WACUP is hidden from the taskbar or not when minimised (this has been defaulted to on to replicate the Winamp behaviour for this action)
Added a workaround to deal with crashes seen by the WaveOut Output plug-in (out_wave.dll)
Added a specific sort by duration action to the main playlist editor & library playlist views
Added a specific mode on the Visualisation preferences page to disable visualisation loading (this is like the equivalent mode on the DSP/Effect preferences page)
Added an option for the Discord support to automatically disable it when playback has stopped (this can allow other programs to update your Discord Rich Text without also having to close WACUP)
Added %wacup_version% as an always available ATF variable (e.g. this might be useful for the HTTP posting actions or any other related logging that might be done via Yule Log, etc)
Added an option on the Advanced preferences page to show the plug-in lists in the classic single line style instead of the default multi-line description style (this is for those that don't like or need the newer default plug-in list style)
Added IPC_HAS_METADATA_READ_SUPPORT & IPC_HAS_METADATA_WRITE_SUPPORT helper messages to quickly determine if the input plug-in responsible for a file type has the extended metadata api support for read / write
Added the 'Artist Index' filter option (which groups the filter results by the first letter of the artist) to the replacement local library plug-in (ml_ll.dll) based on forum feedback (if this works ok from testing then other variants of this index may be added e.g. album artist, genre, etc)
Added some additional resource usage information to the crash reports to help better detemine resource leak based crashes
Added resizing methods to api_albumart to complement the existing synchronous & asynchronous (WACUP addition) GetAlbumArt methods to simplify with getting artwork without each plug-in needing to do resizing if needed (this can also help reduce the overall memory usage if the artwork cache is enabled as the resized image is cached instead of the original "full fat" image that was loaded)
Added IPC_SHOWWND & IPC_HIDEWND api commands to explicitly be able to show / hide the specified windows (as determined by the IPC_GETWND parameter defines) along with some main window & library window additions for the older 2.9x era IPC_GETWND & IPC_ISWNDVISIBLE APIs)
Added compatibility support for the 3rd party "What's Playing?" plug-in so it will now make use of the settings folder instead of trying to save into the program folder (this is a shame it wasn't natively done when the plug-in was being updated until 2005 & the APIs needed were already a few years old by that time)

Changed a massive amount of the main playlist editor & playlist & related API support to now be handled via WACUP code instead of using the original Winamp code (there might be some issues / differences in behaviour that I've missed so please do tell me so I can get the compatibility / expected behaviour re-implemented)
Changed how the Windows 10 Integration plug-in (gen_win10shell.dll) is allowed to be loaded to hopefully prevent it crashing for some
Changed the installer to better handle not having an internet connection or if not allowed through the firewall by giving a useful message on what needs to be done or what can be done to workaround the issue
Changed the Portables plug-in to not have the settings cache applied to it which may help fix some of the odder crash reports seen
Changed the Cover & Tag plug-in handling for finding the built-in windows to be applied more generically to fix some other plug-ins including cases when changing the main window class & plug-ins have a hard-coded assumption of it being "Winamp v1.x"
Changed the installer to deal with most of the downloaded components & related validation in a simpler manner which should cause fewer issues going forward
Changed new installs to default to requiring the user if they later install the Sqrsoft Output plug-in (out_sqr.dll) to require it to be manually enabled before it can be used (the plug-in is causing a load of crash reports)
Changed the handling of failed HTTP stream playback to attempt to use the MP3 Decoder (in_mp3.dll) if that wasn't the plug-in already attempting to be used (e.g. builds of the 3rd party in_opus.dll plug-in will incorrectly try to handle any HTTP stream url even if it's not related to what the plug-in supports)
Changed how some of the required file paths are generated to use less code & to be correct irrespective of the owner process that is calling WACUP core methods
Changed the settings cache to pre-prime itself earlier which helps alleiviate some oddities noticed
Changed the way the font size in the information pane of the podcasts view is calculated to try to better match with the rest of WACUP irrespective of OS scaling
Changed some of the Playlist Undo plug-in handling to be done directly within the WACUP core (more will be done to move the plug-in completely into the WACUP core)
Changed how the NotSoDirect output plug-in saves it's settings to reduce unnecessary configuration saves when nothing has been changed
Changed the installer to not attempt to re-install some of the supporting files that WACUP relies upon if they're already present (this may help with some setups where updating can fail due to files not being able to be updated primarily to anti-virus &/or 3rd party software messing with things)
Changed the plug-in loaded to block a few more plug-ins that are known to cause crashes &/or conflict with the native WACUP implementation (e.g. in_wm, gen_nopro & gen_skinmanager)
Changed the podcast view initial loading to show a message until everything is ready (this is related to helping resolve the deadlock on loading crash below)
Changed to use a shared genre list between the plug-ins / libraries for a 14KB size reduction
Changed the icons in the library window navigation tree, internet radio & podcast feeds list to adjust to the size of the list text so they better match & looks better with larger font sizes (note they will be blurry until higher resolution base images are created)
Changed the input, general, library, dsp, visualisation & portable plug-in preference pages to use the newer style list layout like the output plug-in list for consistency
Changed as many of the preference pages provided via the Winamp core to now be WACUP implementations (this means most settings are now only altered when actually changed instead of being always saved when closing the preferences window which reduces the risk of data loss / settings file corruptions & so on)
Changed how background title reading is done to try to avoid hangs related to URL / UNC paths
Changed the error reporter handling to avoid attempting to also send the crash report as an email if there's no obviously configured default email client
Changed the main config reading method to now be WACUP handled (this removes reading some config values which can be done elsewhere or are not needed)
Changed the artwork handling of Opus files to be read via the WACUP shared metadata service instead of relying upon input plug-ins (this may help to resolve a stability issue seen when using in_bpopus & allows artwork to still work with the alternative in_opus plug-in that some users have been using)
Changed how the seek bar is handled under classic skins which now allows its information message to match the WACUP long times formatting option)
Changed the IPC_GET_PLAYING_TITLE & IPC_GET_PLAYING_FILENAME APIs to do the equivalent of a IPC_GETLISTPOS & IPC_GETPLAYLISTTITLEW / IPC_GETPLAYLISTFILEW when passing the param as 1 (this is a helper to remove one SendMessage call for cases where also knowing the result from IPC_GETLISTPOS is not needed)
Changed some more of the menu / API handling from Winamp code over to WACUP code based on issues seen with some of the crash reports to try to better diagnose what's going wrong
Changed in_cue.dll & gen_cue.dll to be part of the default list of 3rd party plug-ins not to automatically load to avoid issues if updating an existing Winamp install to a WACUP install with them present (they've been found to cause issues under both Winamp & WACUP so it's better to avoid them being loaded as it took a while to track them down as the cause of stability issues for one user)
Changed the version string shown if there's nothing playing &/or no title can be shown under modern skins to now be the current WACUP version instead of the Winamp core version (this is more like classic skins though there's some parts under a classic skin that will currently show the wrong string - more work needs to be done on replacing all of the main window handling to resolve that discrepency)
Changed how output plug-in loading is done when opening the preferences window to try to minimise a configuration saving conflict between NotSoDirect & Nullsoft DirectSound (out_ds) plug-ins (to maintain compatibility for when the default output plug-in is switched to NotSoDirect they save into the same configuration section & without out_ds always re-saving it's settings on closing even if there was no change this can cause problems if NotSoDirect is the active output plug-in - recommendation is to disable out_ds if using NotSoDirect to avoid the whole issue :) )
Changed the way the installer is built to simplify some aspects of the overall building & release process which should save me some time :)
Changed how things are handled when a crash is detected which should better prevent unnecessary code (e.g. generic skinning) from running which might be causing some crash report collections to fail
Changed how the artwork cache works to better suit the common use case whilst making it less likely to have issues when dealing with more extremely sized pieces of artwork (not a commmon case)
Changed a number of the plug-ins to use the new api_albumart changes for resizing images to remove a number of potential issues when dealing with large artwork (especially with 12500x12500px images)

Fixed a workaround to deal with crashes seen by the DirectSound Output plug-in (out_ds.dll) not working as expected in all scenarios
Fixed a crash in the Vorbis Decoder plug-in (in_vorbis.dll) if the supporting libvorbis.dll cannot be loaded when trying to play an OGG Vorbis file
Fixed trying to use Milkdrop's (somewhat broken) desktop causing a crash due to the required vms_deskop.dll not being correctly installed for it to use
Fixed a crash when trying to generate the skin folder / filepath for the IPC_SKIN_CHANGED_NEW API message via the skins manager preference page
Fixed a crash related to column name retrieval within NDE in relation to a potential database corruption
Fixed the likely cause of a crash seen when trying to retrieve artwork for the SMTC (Windows 10) feature
Fixed the likely cause of a crash when accessing the config / about dialog of the FLAC input plug-in (based on a delay loading related issue from the crash reports)
Fixed a message handling issue in the History library plug-in preventing it correctly saving it's database on periodic save requests
Fixed the current playlist item not being drawn in the windowshaded playlist editor mode once focus has been lost along with resolving a flickering when resizing the window in that state
Fixed a potential lock-up on loading if the JTFE media library integration is enabled & the library window is slow to be created
Fixed reading of metadata from files not showing the expected data in some cases due to a replacement method not always providing the correct status result causing the valid metadata to be ignored
Fixed the likely cause of a crash seen when using the 'Open / Add file(s) to playlist' action & trying to process a playlist (or so it seemed from the crash report)
Fixed a number of crash issues related to a mis-match in the memory methods of the C run time libraries being used between the WACUP core & some of the plug-ins (especially the replacement local library plug-ins & the 'Edit Item Metadata' (Shift+E) dialog in the main playlist editor)
Fixed library playlists incorrectly showing some stream urls as missing when that check only relates to non-stream content
Fixed the title of items when being bookmarked sometimes showing as giibberish (have dropped trying to use the existing Winamp code for WACUP replacement which behaves as expected)
Fixed podcast feeds without the expected XML declaration at the start of their feed not being able to be added (this now does an alternative check which should work for both RSS & ATOM feeds showing this issue)
Fixed the podcast view sometimes failing to load correctly & eventually causing a loading deadlock crash
Fixed the vertical divider in the podcast view incorrectly showing when the information area is the only thing showing
Fixed some issues related to metadata retrieval not working as expected due to incorrect API responses
Fixed the Streaming Url Processing plug-in often reporting an incorrect title if it's not been used to play a stream it supports during the running WACUP session (this was causing issues with some of the re-worked checks to minimise re-saving the contents of the main playlist to reduce overall closing times)
Fixed the output plug-in preferences page list not looking correct depending on the OS text scaling mode being used (things should now gracefully adjust for the size of the list item)
Fixed an issue sometimes preventing a visualisation plug-in from being re-started if already used during that session
Fixed enabling/disabling plug-ins via the plug-in preference pages incorrectly selecting the plug-in when it should not have been (this would be an issue on the output, dsp & visualisation pages where the selected item determines the active plug-in)
Fixed the plug-in preference page lists not sizing correctly to the visible area including showing a horizontal scrollbar incorrectly at times
Fixed the selection not always being scrolled into view in the browse for folder dialogs (this was a regression related to build 4994 changes)
Fixed a number of the windows not restoring their position compared to how 5.666 worked (e.g. the Add/Open File/Url dialogs)
Fixed some of the bundled modern skins not correctly showing as the WACUP version due to a missing file used for install type checking
Fixed the crash reporter dialog not reacting to Escape / Alt+F4 actions as expected once the crash report collection has been completed
Fixed the undo playlist dialog not being correctly sized according to OS text scaling / high-dpi setups
Fixed the in_nsv plug-in crashing when trying to start play a stream (changed what dlls it tries to load to avoid a self-unloading issue seen)
Fixed a crash seen in the crash reports related to saving the main playlist editor
Fixed a memory leak related to embedded file artwork via the shared metadata handling
Fixed lame_enc.dll not always being installed when it should (this generally was causing the Streaming Source plug-in to fail to load in some setups)
Fixed the likely cause of a crash seen when deleting a library playlist which was the viewed playlist at the time of the deletion request
Fixed the likely cause of a hang seen when viewing a library playlist due to the missing files check being run on an UNC based server path
Fixed a crash seen when trying to query embedded artwork from Opus files with in_bpopus.dll installed as the Opus handling input plug-in (this change now completely ignores using the plug-in for embedded artwork)
Fixed the plug-in lists not displaying correctly when the Skinned Preferences option is enabled (missing icons or incorrectly sized or just showing a blank list)
Fixed the start streaming server button in the preferences not always starting the first stream source (if available) as the expected default configuration behaviour
Fixed the default playlist font size on new / reset installs being TOO LARGE (was a typo causing it to be 22px instead of 12px though should the default be a bit larger?)
Fixed enabling the Nullsoft NSV Decoder plug-in not also enabling some of the supporting component dlls needed
Fixed the cause of a lot of crashes seen due to a lifetime handling issue of some of the settings cache related objects
Fixed a crash when using the replacement local library plug-in (ml_ll.dll) to add items into the playlist via drag & drop along with some related issues due to how the internal values were being kept cached
Fixed the classic skin clutter bar view file info action not working as expected (weird winamp to wacup transition issue)
Fixed the crash reporter not always being run when some VS2017 specific C/C++ run time exceptions occurred (e.g. WACUP would crash without the crash reporter running - I hope this doesn't cause me more work...)
Fixed an occassional deadlock seen due to an issue within the locking used in one of the JTFE queue management methods
Fixed moving JTFE queued items around in the playlist sometimes flipping their actual position in the queue (the context of the queue item position was being lost which all of the other changes to the playlist handling now allows for better integration to remove a lot of the hacks that were needed)
Fixed a number of long standing JTFE queue handling issues where moving items in the playlist during that session would cause the wrong file (if there's duplicates to be selected) as well as sometimes items being incorrectly marked as being queued (especially after moving or drag+dropping items into the playlist)
Fixed the position of the sliders on the NotSoDirect preferences page not always being saved
Fixed a taglib MP3 file length reading issue related to a patch applied to avoid invalid access breaking the end of file offset detection which is needed when trying to work out the duration of a file without appropriate headers as part of the file (aka guessing the file duration from it's size & reported bitrate which doesn't work if you're not using the correct file size)
Fixed issues with item selection in the main playlist editor incorrectly persisting compared to the wanted listview style handling the WACUP implementation is aiming for (e.g. selecting an item when items were already selected was meant to select the new item & de-select the others but that wasn't happening until this build fixes things)
Fixed some menu integration issues compared to 5.666 for the replacement local library (ml_ll) & library playlists (ml_playlist) plug-ins along with removing the need for these plug-ins to subclass the playlist editor
Fixed the likely cause of a crash seen when a file is externally modified but is deemed to be related to WACUP (i.e. settings files not caught by the settings cache)
Fixed the bookmarks submenu on the 'File' menu under modern skins (that support that menu) not following the categorising options in all scenarios when the library plug-in is enabled
Fixed a crash when trying to play bookmarks via the 'File' menu under modern skins & not using the Library Bookmarks plug-in
Fixed parts of the classic skin playlist editor window flickering (this affected windowshaded mode the most & also the normal mode selected item duration which is in the bottom right corner of the window)
Fixed some of the threaded actions not always releasing the handle associated with them which over the life time of a long running WACUP session could cause a potential resource handling issue
Fixed the probable cause of some issues seen when stopping the Classic Spectrum Analyzer (vis_classic.dll) visualiation plug-in which then cause the rest of WACUP to hang & eventually crash
Fixed an issue with the artwork cache not always clearing out prior cached data when being updated (this was causing issues viewing artwork in the Local Library views as well as some long running installs)
Fixed a number of memory leaks related to the use of extreme sized artwork (e.g. 12500x12500px) causing problems across a number of the plug-ins making use of artwork
Fixed the delayed loading of dbghelp.dll failing causing a repeating set of errors about dbghelp.dll not being able to be loaded (e.g. when in low memory scenarios & WACUP has crashed)

Other small changes to attempt to fix some of the issues based on information from the received crash reports (e.g. library playlists & ASIO output)

Updated brotli (libcurl.dll) to latest Git commit from 19 Mar 2020
Updated libcurl (libcurl.dll) to 7.70.0 (29 Apr 2020)
Updated libopenmpt (in_mod.dll) to 0.4.12.12633 (13 Apr 2020)
Updated OpenSSL (libcurl.dll) to 1.1.1g (21 Apr 2020)
Updated Patreon list
Updated Monkey's Audio (in_ape.dll) to 5.38 (26 Apr 2020)
Updated unrar (unrar.dll) to 5.90.2 (26 Mar 2020)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 14 Apr 2020
Updated WavPack (in_wv.dll) to 5.3.0 (14 Apr 2020)
Updated zlib-ng (zlib.dll) to latest re-based update (27 Mar 2020)


Preview Version: 1.0.9.5144
Released: 5 March 2020

Added a VU meter visualisation for classic skins to appear within the main window where the long existing spectrum analyser & oscilloscope visualisations appear
Added a replacement implementation for the classic skin video window so it will now support double-size mode (this was the last of the native windows to not support double-size mode) & all of the related handling that needed to be done to patch out & swap over to WACUP provided code for the window handling (might be a bit buggy so do report any issues with it!)
Added an option on the video preferences page that allows you under a classic skin to use a generically skinned window frame instead of the dedicated video window with its control area (this is provided if the skin is incomplete but the generic window has been skinned differently or if you just prefer having a simpler looking video window)
Added an initial build of Not So Direct (out_notsodirect.dll) which is a DirectSound output plug-in that is intended to replace the Winamp provided plug-in (out_ds.dll) (there are some features like gapless playback support which are missing though it's ultimately planned to do that handling not at the output plug-in stage but checking the stability of this new plug-in is the reason for including it now despite not being a 1:1 replacement)
Added $leftbracket() & $rightbracket() ATF methods to allow for ( and ) to be directly used in the ATF output (based on feedback received via the Discord server)
Added $padout() & $lpadout() ATF methods which act like the non-out methods but apply the padding to the string without accounting for the length of the string passed into them
Added native remove duplicate file(s) support to the main playlist editor & the library playlists (previously this was done via the JTFE plug-in but it wasn't stable so it's been re-written directly)
Added a copy of the modern skin colour editor (coloreditor.wac) to the installer & bumped it to v2.3.1 due to some minor size optimisations & resource additions (as is done to anything added to WACUP)
Added some additional reset buttons on the Discord & Twitter to make it easier to get back to the default formatting string if you've maybe gone a bit too far & messed up the string (it happens to all of us)
Added an option to the replacement local library plug-in to ignore the 'The' within the view filters (this replicates how the local library plug-in from Winamp 5.666 works at the expense of slower view loading times but you can now decide which behaviour you prefer to use - this is off by default as most haven't noticed it in a year or so of testing)
Add support to install 3 versions of the AVS visualisation plug-in (2.81d, 2.82 & Cockos Happy AVS) via the visualisation preference page for those needing AVS support (please remember that AVS likes to crash which is why it is not able to be installed by default)
Added additional options for configuring how the provided streaming server can be automatically started to also include starting the stream(s) (subject to them being correctly configured and using the provided streaming source plug-in - if using anything else then you'll need to configure that manually)
Added an updated version of the SNESAmp Wrapper plug-in which allows the 3rd party SNESAmp plug-in to work with WACUP without crashing & some general integration improvements that the wrapper brings (this will be generically installed but it will only be loaded & used if a valid SNESAmp installation is detected i.e. it should just work without you needing to do anything if you use SNESAmp)

Changed how WACUP reports it's DPI related support to Windows 10 (and earlier Windows with lesser levels of support) to start on the long road to improving High-DPI & mismatched monitor support (it's still not ideal but better than weird sub-scaling which was happening which is much worse imho)
Changed the WACUP loader to now by default be named wacup.exe whilst keeping the existing winamp.exe for required compatibility (this change minimises code duplication as much as possible between both loader instances with each exe using an appropriate icon - note: you may need to change the pinned taskbar instance based on your wanted icon preference)
Changed some more of the Winamp APIs to be handled with WACUP implementations to resolve some of the more quirkier issues seen within the auto-submitted crash reports
Changed how the WACUP loader works in combination with the original Winamp process it creates so that stdin/stdout should now be correctly passed through as required
Changed the classic skin visualisation preferences page to support the VU meter addition & some other related adjustments
Changed the configuration dialogs for the Not So Asio, Not So Direct & Not So Yasapi to now be done via native preference pages as a child of the Output plug-in preferences node (this is useful for allowing changing the configuration of the output plug-in without risking selecting a different output plug-in & filling your hard drive with a load of output as happens with inadvertently selecting out_disk)
Changed the classic skin visualisation preferences page update just the visualisation selection mode when clicking in the main window to toggle the mode instead of doing as Winamp's code which would force the whole preference page to be reloaded (aka would make it flicker which is not nice)
Changed the right-click menu handling within the video window to not have the main right-click menu as a sub-menu on it (this is more for classic skins where getting the main right-lick menu is the frame menu & the menu that was shown within the video window is now just for the active video area)
Changed how the IPC_GET_IVIDEOOUTPUT API is handled (compared to Winamp) to only create the underlying video output interface when its actually needed (for those not using video playback under WACUP but still have video support enabled then this will remove most of the overhead that video support brings vs it not being used)
Changed the default background fill colour for generic classic skinned windows to be WADLG_ITEMBG_BRUSH instead of WADLG_WNDBG_BRUSH (this is helpful for the video window changes)
Changed the video window creation handling so it will now not be created at all if video support has been intentionally disabled
Changed the default look of the video window to use the generically skinned window frame instead of the dedicated video window (see the video preferences page to change this as needed)
Changed the plug-in loading profiling option to now include the time the plug-in took to be loaded by the OS & renamed the existing option to relate to initialisation (this better reflects what was going on as well as helping me to better understand a large chunk of the time difference reported between plug-in initialisation & overall loading of plug-ins)
Changed the history, podcast, bookmarks, replaygain, internet radio & replacement local library plug-ins to now be compiled using VS2017 instead of VS2008 (this is a general change that more of the WACUP plug-ins will see over the coming builds where it makes sense to do so)
Changed the encoder (enc_*.dll) plug-ins to not use the delay load handling to resolve some odd crashes seen
Changed the WACUP provided input, output, encoder & general purpose plug-ins (in_*.dll, out_*.dll, enc_*.dll & gen_*.dll) plug-ins to now be compiled using VS2017 instead of VS2008 (this on average increases most of of the plug-ins by 5.0KB in size which isn't ideal but the better compiler & tooling support is worth the size increase for my needs for WACUP)
Changed the Ignorant Output plug-in (out_ignorant.dll) to now be built into the WACUP core (this is primarily for convenience with the core so that there's always a valid output plug-in available & it saves 4.5KB over the standalone plug-in)
Changed the WACUP provided DSP (dsp_*.dll) plug-in to now be compiled using VS2017 instead of VS2008
Changed a number of Winamp references within core & plug-in resources to instead use WACUP (more needs to be done as much less Winamp files are being used as part of a WACUP install)
Changed the win7shell & win10shell plug-ins to not be loaded even if installed when running under WINE to avoid crashes & providing options that are not appropriate to that use case
Changed the option to skin the preferences windows & other related windows to not be provided when running under WINE to avoid crashes & other issues that arise from generic subclassing
Changed how the skinned Jump to File dialog initially loads to deal with a visual glitch seen when running under WINE
Changed the handling when minimising WACUP so that it'll stay on the taskbar when the notification area icon has also been enabled unlike with 5.666 & earlier where it would disappear until the player was restored (note: if you prefer the older handling then let me know & I'll add in a compatibility option to get the prior behaviour back)
Changed the handling of HTTPS urls when passed to the legacy in_mp3 input plug-in to now be forced to attempt to play the HTTP version of the url as the plug-in is not able to correctly deal with HTTPS urls (this is not ideal but it's a means to better ensure that playing urls from podcast feeds for example will be playable instead of showing an "error syncing to stream" type error message)
Changed how PLS playlist files are written so where possible the "Version" & "NumberOfEntries" lines will be written at the start of the file when the number of entries is known (this is a small change but it can help improve the time it takes to parse a larger PLS playlist file if those values are located at the end of the playlist file)
Changed more of the WA_WA_IPC api methods to be handled via WACUP implementations instead of Winamp implementations (this also brings the addition of a IPC_WACUP_VERSION to mirror IPC_GETVERSION)
Changed the tooltip handling in the relevant classic skin windows to remove the need for the IPC_CB_GETTOOLTIPW / IPC_CB_GETTOOLTIP messages to be sent (this was only being used by the media library core plug-in option to have clicking on the bolt to show a more appropriate tooltip so it's now done directly & saves a load of windows messages being sent)
Changed the default loading behaviour of a few 3rd party plug-ins that are known to cause stability issues based on the crash reports (they can still be used but the user needs to manually enable them to be loaded once they've been installed)
Changed the archive support plug-in to not directly report the file it supports (i.e. 7Z, RAR & ZIP) to help avoid a number of conflicts when dealing with file association handling
Changed albumart.w5s to be merged together with metadata.w5s as both are key to WACUP functionality & merging helps to remove a cross-dependency that exists between them
Changed the Skin Manager plug-in to now be directly integrated into the WACUP core (keeping it as a plug-in makes little sense now with the direction WACUP is taking )
Changed the Podcasts plug-in to create & use folder. for the feed artwork information pane & some other related aspects instead of always re-downloading the image to display it to help save on bandwidth used & for quicker display of that artwork within WACUP (note: depending on how many podcast feeds you already have there might be a short lock-up on first loading the podcasts view after this change whilst the feed artwork is pulled down + there's more work that needs to be done related to this & storing the artwork)
Changed the Internet Radio library plug-in to prefer getting a pre-generated cache instead of relying upon the local client to do it (due to overall slowness in doing this & stability issues that were being seen via the crash reporter its simpler to off-load the work elsewhere which should along with other changes alleviate the stability issues plaguing this new plug-in)
Changed the Internet Radio library plug-in to remove any easily identifiable Radionomy provided streams from the services queried since they were killed off at the end of 2019 (was ~5000 but it's possible that some of their urls may still be there which can't be known until trying to play the stream url e.g. due to how the SHOUTcast service works)
Changed the $pad() ATF method to also work without an input string to help generate a fixed padding (e.g. $pad(*5) for 5 spaces or $pad(*5,#) for #####)
Changed the playback excluder handling to be called directly by the WACUP core instead of using the Winamp API which should improve its reliability & removes some of the quirks it had
Changed the installer to report itself as WACUP instead of using a generic NSIS related user-agent when downloading to resolve a complaint seen from a file scanning service
Changed the Big Bento Modern skins to no longer rely upon the bbm_sendmessage_*.exe by doing some hooking of the underlying calls the Modern skin engine does for the action running them
Changed how multiple instance detection is done to better constrain it to instances related to the installed WACUP instance (this should better help handling when running multiple installs as well as avoiding other programs that pretend to be Winamp which could even break Winamp's own multi-instance detection)
Changed the dead-lock detection handling to now make it possible to attempt to kill the bad process before resorting to the task manager (this should never be seen but sometimes 3rd party plug-ins can misbehave badly)
Changed the error reporter to also include the WACUP version in the attempted email title
Changed the IPC_EXECPLUG / IPC_EXECPLUGW APIs to accept a NULL parameter to run the currently user configured visualisation plug-in
Changed some of the media library core's drawing code to use more of the WACUP core shared GDI objects (this won't mean much but it helps to reduce some of the duplication of GDI objects used for drawing)
Changed the default behaviour of the start/stop button on the Streaming preferences page so it'll default to starting the streaming server as well as the first configured stream source if applicable (this is based off feedback received & should make it easier to start / stop streaming especially if not wanting the stream source to run in the auto-connect mode when the stream server is intentionally turned off)
Changed the installer to set the WACUP install folder to show the WACUP logo & also the installed WACUP version in it's tooltip (done as per a user request)
Changed how file version information is internally obtained to make things simpler & more consistent
Changed the external tools update action to better reflect what is installed (this helps first runs)
Changed the installer to reduce the size of the extracted copy of the 5.666 installer to exclude more files for a 40% on disk reduction
Changed the installer to use ExecDos instead of nsExec as it does the same but without an intermediate child process which A/V don't like
Changed the theming of the built-in streaming server landing page to be more dark-mode like & so it more closely aligns with WACUP's site
Changed the formatting of the information in the crash reports to remove some information no longer useful & to improve my reading of them
Changed the podcast preferences page to disable some of it's options if a subscription update is in progress to avoid a few potential issues
Changed the podcast plug-in to automatically remove incomplete downloads in the downloads list when a successful download later occurs
Changed the podcast plug-in to save the downloaded list when downloads have finished instead of waiting until the plug-in is unloaded
Changed the way the reported IP address on the Streaming preferences is determined to try to better deal with multiple adaptors/devices
Changed the Output plug-in preferences page to show a brief description of the plug-in to avoid having to change selection (which changes the output plug-in used) along with more obvious information if a plug-in is disabled or failed to load (this style of plug-in preferences page will be applied to the other pages in later builds)
Changed the installer to use supporting files in a manner that the Anti-Virus / Malware solutions find more preferable (this should reduce some of the report install issues)
Changed the installer to remove any cached legacy input plug-ins within the wavecache folder (related to the Waveform Seeker plug-in) to avoid crashes seen in some setups
Changed to not allow the loading of older versions of the Waveform Seeker plug-in (it causes issues & is wasting time with duplicate crash reports plus it's not something that should be done since WACUP includes a much newer version which fixes the issues that are being experienced)
Changed the SNESAmp Wrapper plug-in to rely upon the playlist loader to treat RSN archives (RAR compressed files) as playlists instead of the wrapper plug-in having to do it itself (more work needs to be done on this but it's better than RSNs being ignored as the first updated SNESAmp Wrapper build was doing)

Fixed a performance regression when trying to read metadata from MP3 files (especially those on slow devices like flash drives) related to the internal changes in recent builds as to how metadata is read
Fixed a crash when loading the playlist undo list & the ordering of data within the file is not in the expected manner (not sure why this occurs for some setups)
Fixed a debug message when using the Playlist File Remover hotkey being left enabled in release builds (oops it's been like it for ages & was only just noticed)
Fixed a possible cause of some input plug-in related crashes when trying to determine the appropriate input plug-in to use for playback / metadata actions
Fixed a possible failure with proxied HTTPS connections due to not setting up the connection to know about cacert.pem for relevant SSL setup & verification
Fixed the classic skin main window visualisation not working (a less than simple fix which involved changing the drawing to be fully done with WACUP code)
Fixed the playlist editor window visualisation incorrectly appearing within the middle of the main playlist editor window (this mainly affected modern skins but some installs with classic skins)
Fixed the colouriser api not being consistently initialised (this would cause excluded files not being indicated as such or the separator colouring options being disabled)
Fixed the MP4 input plug-in crashing if video support has been incompletely disabled at the time of trying to play a video
Fixed the MP4 input plug-in not handling pausing as expected
Fixed the tooltips of the main playlist editor window not showing in the correct location for a number of scenarios
Fixed some scenarios where the generically skinned windows might not maintain the minimum dimensions that are allowed
Fixed some minor optimisation issues with the generically skinned window painting
Fixed some loading related crash issues when some of the plug-ins were unexpectedly being double-hooked
Fixed the internet radio plug-in crashing in some setups when attempting to update it's statusbar text (this is based off what has been seen within the automatic crash reports)
Fixed the history plug-in not always showing a valid statusbar text message
Fixed an occasional crash when a recently downloaded podcast is attempting to be added to the replacement local library plug-in's database
Fixed IPC_GETVUDATAFUNC (generally used for the beat vis in modern skins) not returning the expected format of data (was more luck this wasn't crashing than just showing a wonky beat vis)
Fixed entering a folder path into the Add/Open URL dialog not working correctly due to an incompatibility in some of the replaced code vs the 5.666 implementation
Fixed the taskbar text not correctly showing unicode characters when the win10shell plug-in is enabled (the fun of doing things with C# code & not correctly handling subclassing)
Fixed a crash when renaming a library playlist name
Fixed a crash when saving the main playlist as a PLS playlist (was easier to replace this last piece of Winamp specific playlist saving code for WACUP provided code sans crashing)
Fixed an API message conflict (subject to plug-in updates & patches to fully resolve this) between IPC_GETSKINCURSORS & IPC_CB_VISRANDOM (both were set as 628 for some bizarre reason which is why a IPC_GETSKINCURSORS_OK set as 1628 has been added along with some other handling to re-map values between calls where possible)
Fixed an issue with the handling of the Classic Spectrum Analyser vis plug-in & it's preset / profile files
Fixed an inconsistency seen when removing library playlist(s) due to timing issues in how the update notifications were being processed
Fixed the open folder action not working correctly with zip:// and some other custom entries within the Win7Shell plug-in
Fixed the probable cause of a crash when trying to save a metadata change to a FLAC file tag due to a conflict in internal buffers being passed on
Fixed the probable cause of the playlist manager crashing due to the language service not being fully initialised in one of the service's calls
Fixed the probable cause of a crash in the Three Mode Repeat plug-in
Fixed the probable cause of a crash seen when trying to import iTunes playlists
Fixed the probable cause of some random crashes seen when saving m3u/m3u8 playlists
Fixed a crash when uninstalling input or general purpose plug-ins due to a selection change handling issue when the plug-in is in process of removal
Fixed a crash when both the WACUP agent & main WACUP program are running & you mouse over the icon (due to an issue with the IPC_GET_TASKBAR_TEXT API)
Fixed the import options on the library playlists root view right-click menu not working consistently
Fixed zip:// entries in library playlists being incorrectly handled making it seem that the index within the archive on the playlist entry was removed (it hadn't been & was correctly maintained in the actual playlist file but the checks for missing files was incorrectly altering a buffer used)
Fixed keyboard navigation not working correctly within the Podcasts view after tabbing into the embedded browser control
Fixed toggling some options within a modern skin causing the library playlists view to be switched to (due to a menu id range conflict between the plug-ins)
Fixed the explore option within the Podcasts view not opening to the appropriate folder for the downloads if there are no items selected or no downloaded file
Fixed the option on the Podcasts preference page to determine how many episodes to download not being correctly remembered
Fixed a crash seen with some Milkdrop presets when they cannot be correctly compiled (this may still not be a 100% resolution of crashes but it seems to help the cases reported)
Fixed the usage of region.txt with classic skins for basic transparency effects not being applied causing a number of classic skins to look wrong
Fixed a deadlock experienced in some setups when going from a classic skin to a modern skin due to an incomplete replacement of some of the IPC_EMBED_* apis
Fixed the archive playback plug-in repeatedly trying to clean-up folders on exit that no longer exist (this can save a few milliseconds on closing)
Fixed the queue manager window when enabled sometimes re-appearing when it's meant to be closed
Fixed the generic skinned windows not showing the correct cursor over parts of the window when double-size mode is enabled
Fixed the playback excluder not working as expected if the only item in the playlist is set as excluded
Fixed alignment & sizing issue with the installer welcome & finish pages when using OS text scaling
Fixed the drawing of the brand images on the support buttons on the about preference page when using OS text scaling
Fixed the drawing of the help images on the podcasts preference page when using OS text scaling
Fixed the skin selection dialog during setup not always closing the setup process correctly if not choosing to run WACUP
Fixed a resource leak related to modern skin preview images when using the 'Skins' preferences page
Fixed Milkdrop not correctly scaling most of its text related output when using OS text scaling (depending on whether configuration changes have already been made, it may still be necessary to manually adjust the font sizes used by Milkdrop within its configuration options)
Fixed the podcasts view loading to fix an initial selection quirk that kept occurring
Fixed a crash when using the explore item folder due to the underlying api failing
Fixed the Winamp Modern & Bento/Big Bento skin oscilloscope menus acting incorrectly (thanks victhor for the patch!)
Fixed the Yule Log plug-in not always resetting things back to default values correctly
Fixed using the Twitter support causing stability issues (e.g. crashing after closing the preferences window or random other random crashes)
Fixed an issue preventing adding new artwork (using the change or paste options) on the File Info artwork editor (still subject to input plug-in support at this time)
Fixed a number of quirks experienced when WACUP is minimised & restarted (e.g. windows becoming incorrectly closed when the process is later restored to be visible)
Fixed the first main playlist item being incorrectly drawn (especially when starting WACUP minimised) due to a font height calculation mis-match when first drawing occurs
Fixed the supporting resource dlls incorrectly using 'pack' instead of 'project' in their version information
Fixed a crash when viewing the Winamp version history due to a weird text encoding related processing failure
Fixed a file access sharing issue when trying to retrieve artwork which could prevent some file types from playing
Fixed some of the delay loaded system components (w5s) being loaded multiple times due to an existence test failure
Fixed an issue preventing the available video decoders from being initialised
Fixed a compatibility issue related to the video window changes preventing the (now old) Cover & Tag plug-in from loading
Fixed the Cover & Tag plug-in to save its settings in the correct settings folder so running as an administrator is not needed
Fixed the ClockAmp plug-in to save its settings in the correct settings folder so running as an administrator is not needed & so it doesn't break is using multiple installs
Fixed the likely cause of a hang on start-up if auto execute visualisation plug-ins on start-up & playback are both enabled
Fixed the visualisation action buttons (mostly seen in modern skins) from being double processed & possibly causing a crash
Fixed the replaygain plug-in not correctly handling not being able to write the processed results to the file
Fixed the possible cause of some of the random crashes experienced related to the drawing of the native windows
Fixed a file access sharing issue related to MP3 files which could prevent tag updates within & external of WACUP
Fixed a large memory leak when playing MP4 based video
Fixed playback of corrupted FLAC files not correctly aborting playback when the decoding issue occurs
Fixed the library Queue Manager view not drawing correctly on first loading as the selected library view
Fixed some of the weirdness seen when changing / refreshing the current skin within the current library view (this is not a complete fix as there's something weird going on within the media library core)
Fixed the Three Mode Repeat plug-in not always showing the expected classic base skin image
Fixed a conflict between the Streaming Url Processor & vgmstream input plug-ins which could prevent YouTube & related streaming urls from playing
Fixed user created colour themes via the colour theme editor with a "{coloredit}" prefix not being handled correctly (it's now removed as needed from the menus & preferences to better match expected behaviour)
Fixed a long standing modern skin engine issue causing the text within edit boxes to not be correctly sized (e.g. colour theme editor when scaled above 100% & much more)
Fixed the edit box of the web reader clipping the displayed text (related to the above change)
Fixed a possible cause of the modern skin engine crashing on unloading for some setups (based on the automatic crash report submissions)
Fixed the possible cause of some non-portable WACUP installs not having the 'pin to taskbar' option showing when running (aka Windows + related shortcut fun)
Fixed the uninstaller not removing the start menu &/or desktop icon(s) if created & then the option to create them was unchecked later on
Fixed the installer not always remembering the start menu &/or desktop icon setting depending on the installer mode currently being used
Fixed the installer not removing the start menu &/or desktop icon if the setting to have them has been changed to off whilst updating
Fixed still being able to load the vulnerable in_flv.dll plug-in (the installer would remove this but you can't help what some users try to do still)
Fixed a possible cause of the crash reporter hanging when trying to collect the initial details before handing off to another process that submits it
Fixed a settings cache issue causing the Not So Yasapi device specific settings from being read in due to a buffer truncation when priming the cache (this may have affected some other aspects but this was the only one reported)
Fixed the playback status of the Winamp Modern skin being mis-aligned by 1px when playback is paused compared to the playing & stopped conditions
Fixed the inconsistent loading of the user provided winamp.ico for the notification area icon
Fixed the win7shell plug-in not correctly recognising if it's been running under wacup.exe or winamp.exe to ensure that the jump list will open the correct (especially if pinned to the taskbar) instance
Fixed some issues with the recent & frequent items on the jump list actions provided by the win7shell plug-in when those options are enabled
Fixed restoring the JTFE playback queue between sessions causing the prior queue to be incorrectly added to the end of the playlist instead of re-using the existing playlist items
Fixed a number of issues related to moving around main playlist items in the JTFE playback queue (note: there are still some quirks which will be resolved in a later build once more of the playlist handling from the Winamp core has been replaced with all WACUP provided handling)
Fixed some quirks with the Waveform Wrapper plug-in loading validation (found whilst doing the SNESAmp Wrapper plug-in updates & integration)
Fixed a crash on loading when the SNESAmp Wrapper plug-in tries to load an old version of the SNESAmp Wrapper plug-in
Fixed the SNESAmp configuration dialog being unusable when the skinned preferences option is enabled (delphi weirdness)
Fixed the Waveform Seeker plug-in to not attempt to use the SNESAmp Wrapper plug-in for the legacy processing mode (without this it can cause a range of various stability issues)
Fixed the Not So Direct configuration changes being re-read in between sessions depending on how & when the preferences are accessed vs using the plug-in (if at all) for playback
Fixed a crash related to adding a new bookmark
Fixed the likely cause of a crash / deadlock seen under modern skins when using the SqrSoft Advanced Crossfading Output plug-in (primarily seen from FLAC playback in crash reports)
Fixed an issue introduced by the changes to deal with the IPC_GETSKINCURSORS & IPC_CB_VISRANDOM API message conflict
Fixed the likely cause of a crash / deadlock seen when trying to get metadata for the currenty playing item whilst a local media library (ml_local.dll) file scan is in-progress
Fixed the likely cause of some on close related crashes seen primarily when a modern skin was active at the time of closing
Fixed a combined crash issue related to modern skin loading & how the vis_classic plug-in deals with inappropriate window sizes
Fixed a crash when trying to change the artwork file used on the Twitter & Artwork preference pages (simpler is often better)
Fixed the video window not displaying correctly if the input plug-in doesn't complete opening the video renderer (e.g. MP4 files with a single image video track)
Fixed a compatibility issue vs 5.666 which was preventing the old 3rd party Dynamic Library plug-in from loading its preferences (related to the WACUP settings cache)
Fixed the winshaded equaliser window not being re-drawn on video window volume updates
Fixed a compatibility issue with the Icon Pack Installers which look for a gen_tray.dll (this was merged into the WACUP core but a stub dll is now provided to allow the installer checks to work)
Fixed some visual issues with the classic about window especially when using the skinned version of the window (it now tries to re-size the inner parts to the outer frame & a few other tweaks)
Fixed some visual issues with the skinned preferences window especially it incorrectly clipping its size or not showing anything within it when on a high dpi &/or OS text scaling enabled setup (there is still more to do related to this)

Other small changes to attempt to fix some of the issues from the crash reports, preparatory work to remove the need for a winamp.original child process & other code changes
Updated the Big Bento Modern skins to v1.1.5.1 (22 Jan 2020)
Updated cacert.pem to latest (1 Jan 2020)
Updated libcurl (libcurl.dll) to 7.69.0 (4 Mar 2020)
Updated libjpeg-turbo (image.w5s) to 2.0.4 (31 Dec 2019)
Updated libopenmpt (in_mod.dll) to 0.4.11.12392 (22 Dec 2019)
Updated libvorbis (libvorbis.dll) to the latest Git commit from 18 Jan 2020
Updated minizip (zlib.dll) to 2.9.2 (12 Feb 2020)
Updated Monkey's Audio (in_ape.dll) to 5.20 (24 Feb 2020)
Updated mpg123 (mpg123.dll) to 1.25.13 (26 Oct 2019)
Updated installer to be built with NSIS 3.05 (15 Dec 2019)
Updated the Milkdrop2 presets by Fumbling_Foo for your visual enjoyment
Updated unrar (unrar.dll) to 5.90.1 (29 Jan 2019)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 27 Feb 2020
Updated WavPack (in_wv.dll) to 5.2.1 (31 Jan 2020)


Preview Version: 1.0.9.5118
Released: 28 February 2020

Added a VU meter visualisation for classic skins to appear within the main window where the long existing spectrum analyser & oscilloscope visualisations appear
Added a replacement implementation for the classic skin video window so it will now support double-size mode (this was the last of the native windows to not support double-size mode) & all of the related handling that needed to be done to patch out & swap over to WACUP provided code for the window handling (might be a bit buggy so do report any issues with it!)
Added an option on the video preferences page that allows you under a classic skin to use a generically skinned window frame instead of the dedicated video window with its control area (this is provided if the skin is incomplete but the generic window has been skinned differently or if you just prefer having a simpler looking video window)
Added an initial build of Not So Direct (out_notsodirect.dll) which is a DirectSound output plug-in that is intended to replace the Winamp provided plug-in (out_ds.dll) (there are some features like gapless playback support which are missing though it's ultimately planned to do that handling not at the output plug-in stage but checking the stability of this new plug-in is the reason for including it now despite not being a 1:1 replacement)
Added $leftbracket() & $rightbracket() ATF methods to allow for ( and ) to be directly used in the ATF output (based on feedback received via the Discord server)
Added $padout() & $lpadout() ATF methods which act like the non-out methods but apply the padding to the string without accounting for the length of the string passed into them
Added native remove duplicate file(s) support to the main playlist editor & the library playlists (previously this was done via the JTFE plug-in but it wasn't stable so it's been re-written directly)
Added a copy of the modern skin colour editor (coloreditor.wac) to the installer & bumped it to v2.3.1 due to some minor size optimisations & resource additions (as is done to anything added to WACUP)
Added some additional reset buttons on the Discord & Twitter to make it easier to get back to the default formatting string if you've maybe gone a bit too far & messed up the string (it happens to all of us)
Added an option to the replacement local library plug-in to ignore the 'The' within the view filters (this replicates how the local library plug-in from Winamp 5.666 works at the expense of slower view loading times but you can now decide which behaviour you prefer to use - this is off by default as most haven't noticed it in a year or so of testing)
Add support to install 3 versions of the AVS visualisation plug-in (2.81d, 2.82 & Cockos Happy AVS) via the visualisation preference page for those needing AVS support (please remember that AVS likes to crash which is why it is not able to be installed by default)
Added additional options for configuring how the provided streaming server can be automatically started to also include starting the stream(s) (subject to them being correctly configured and using the provided streaming source plug-in - if using anything else then you'll need to configure that manually)
Added an updated version of the SNESAmp Wrapper plug-in which allows the 3rd party SNESAmp plug-in to work with WACUP without crashing & some general integration improvements that the wrapper brings (this will be generically installed but it will only be loaded & used if a valid SNESAmp installation is detected i.e. it should just work without you needing to do anything if you use SNESAmp)

Changed how WACUP reports it's DPI related support to Windows 10 (and earlier Windows with lesser levels of support) to start on the long road to improving High-DPI & mismatched monitor support (it's still not ideal but better than weird sub-scaling which was happening which is much worse imho)
Changed the WACUP loader to now by default be named wacup.exe whilst keeping the existing winamp.exe for required compatibility (this change minimises code duplication as much as possible between both loader instances with each exe using an appropriate icon - note: you may need to change the pinned taskbar instance based on your wanted icon preference)
Changed some more of the Winamp APIs to be handled with WACUP implementations to resolve some of the more quirkier issues seen within the auto-submitted crash reports
Changed how the WACUP loader works in combination with the original Winamp process it creates so that stdin/stdout should now be correctly passed through as required
Changed the classic skin visualisation preferences page to support the VU meter addition & some other related adjustments
Changed the configuration dialogs for the Not So Asio, Not So Direct & Not So Yasapi to now be done via native preference pages as a child of the Output plug-in preferences node (this is useful for allowing changing the configuration of the output plug-in without risking selecting a different output plug-in & filling your hard drive with a load of output as happens with inadvertently selecting out_disk)
Changed the classic skin visualisation preferences page update just the visualisation selection mode when clicking in the main window to toggle the mode instead of doing as Winamp's code which would force the whole preference page to be reloaded (aka would make it flicker which is not nice)
Changed the right-click menu handling within the video window to not have the main right-click menu as a sub-menu on it (this is more for classic skins where getting the main right-lick menu is the frame menu & the menu that was shown within the video window is now just for the active video area)
Changed how the IPC_GET_IVIDEOOUTPUT API is handled (compared to Winamp) to only create the underlying video output interface when its actually needed (for those not using video playback under WACUP but still have video support enabled then this will remove most of the overhead that video support brings vs it not being used)
Changed the default background fill colour for generic classic skinned windows to be WADLG_ITEMBG_BRUSH instead of WADLG_WNDBG_BRUSH (this is helpful for the video window changes)
Changed the video window creation handling so it will now not be created at all if video support has been intentionally disabled
Changed the default look of the video window to use the generically skinned window frame instead of the dedicated video window (see the video preferences page to change this as needed)
Changed the plug-in loading profiling option to now include the time the plug-in took to be loaded by the OS & renamed the existing option to relate to initialisation (this better reflects what was going on as well as helping me to better understand a large chunk of the time difference reported between plug-in initialisation & overall loading of plug-ins)
Changed the history, podcast, bookmarks, replaygain, internet radio & replacement local library plug-ins to now be compiled using VS2017 instead of VS2008 (this is a general change that more of the WACUP plug-ins will see over the coming builds where it makes sense to do so)
Changed the encoder (enc_*.dll) plug-ins to not use the delay load handling to resolve some odd crashes seen
Changed the WACUP provided input, output, encoder & general purpose plug-ins (in_*.dll, out_*.dll, enc_*.dll & gen_*.dll) plug-ins to now be compiled using VS2017 instead of VS2008 (this on average increases most of of the plug-ins by 5.0KB in size which isn't ideal but the better compiler & tooling support is worth the size increase for my needs for WACUP)
Changed the Ignorant Output plug-in (out_ignorant.dll) to now be built into the WACUP core (this is primarily for convenience with the core so that there's always a valid output plug-in available & it saves 4.5KB over the standalone plug-in)
Changed the WACUP provided DSP (dsp_*.dll) plug-in to now be compiled using VS2017 instead of VS2008
Changed a number of Winamp references within core & plug-in resources to instead use WACUP (more needs to be done as much less Winamp files are being used as part of a WACUP install)
Changed the win7shell & win10shell plug-ins to not be loaded even if installed when running under WINE to avoid crashes & providing options that are not appropriate to that use case
Changed the option to skin the preferences windows & other related windows to not be provided when running under WINE to avoid crashes & other issues that arise from generic subclassing
Changed how the skinned Jump to File dialog initially loads to deal with a visual glitch seen when running under WINE
Changed the handling when minimising WACUP so that it'll stay on the taskbar when the notification area icon has also been enabled unlike with 5.666 & earlier where it would disappear until the player was restored (note: if you prefer the older handling then let me know & I'll add in a compatibility option to get the prior behaviour back)
Changed the handling of HTTPS urls when passed to the legacy in_mp3 input plug-in to now be forced to attempt to play the HTTP version of the url as the plug-in is not able to correctly deal with HTTPS urls (this is not ideal but it's a means to better ensure that playing urls from podcast feeds for example will be playable instead of showing an "error syncing to stream" type error message)
Changed how PLS playlist files are written so where possible the "Version" & "NumberOfEntries" lines will be written at the start of the file when the number of entries is known (this is a small change but it can help improve the time it takes to parse a larger PLS playlist file if those values are located at the end of the playlist file)
Changed more of the WA_WA_IPC api methods to be handled via WACUP implementations instead of Winamp implementations (this also brings the addition of a IPC_WACUP_VERSION to mirror IPC_GETVERSION)
Changed the tooltip handling in the relevant classic skin windows to remove the need for the IPC_CB_GETTOOLTIPW / IPC_CB_GETTOOLTIP messages to be sent (this was only being used by the media library core plug-in option to have clicking on the bolt to show a more appropriate tooltip so it's now done directly & saves a load of windows messages being sent)
Changed the default loading behaviour of a few 3rd party plug-ins that are known to cause stability issues based on the crash reports (they can still be used but the user needs to manually enable them to be loaded once they've been installed)
Changed the archive support plug-in to not directly report the file it supports (i.e. 7Z, RAR & ZIP) to help avoid a number of conflicts when dealing with file association handling
Changed albumart.w5s to be merged together with metadata.w5s as both are key to WACUP functionality & merging helps to remove a cross-dependency that exists between them
Changed the Skin Manager plug-in to now be directly integrated into the WACUP core (keeping it as a plug-in makes little sense now with the direction WACUP is taking )
Changed the Podcasts plug-in to create & use folder. for the feed artwork information pane & some other related aspects instead of always re-downloading the image to display it to help save on bandwidth used & for quicker display of that artwork within WACUP (note: depending on how many podcast feeds you already have there might be a short lock-up on first loading the podcasts view after this change whilst the feed artwork is pulled down + there's more work that needs to be done related to this & storing the artwork)
Changed the Internet Radio library plug-in to prefer getting a pre-generated cache instead of relying upon the local client to do it (due to overall slowness in doing this & stability issues that were being seen via the crash reporter its simpler to off-load the work elsewhere which should along with other changes alleviate the stability issues plaguing this new plug-in)
Changed the Internet Radio library plug-in to remove any easily identifiable Radionomy provided streams from the services queried since they were killed off at the end of 2019 (was ~5000 but it's possible that some of their urls may still be there which can't be known until trying to play the stream url e.g. due to how the SHOUTcast service works)
Changed the $pad() ATF method to also work without an input string to help generate a fixed padding (e.g. $pad(*5) for 5 spaces or $pad(*5,#) for #####)
Changed the playback excluder handling to be called directly by the WACUP core instead of using the Winamp API which should improve its reliability & removes some of the quirks it had
Changed the installer to report itself as WACUP instead of using a generic NSIS related user-agent when downloading to resolve a complaint seen from a file scanning service
Changed the Big Bento Modern skins to no longer rely upon the bbm_sendmessage_*.exe by doing some hooking of the underlying calls the Modern skin engine does for the action running them
Changed how multiple instance detection is done to better constrain it to instances related to the installed WACUP instance (this should better help handling when running multiple installs as well as avoiding other programs that pretend to be Winamp which could even break Winamp's own multi-instance detection)
Changed the dead-lock detection handling to now make it possible to attempt to kill the bad process before resorting to the task manager (this should never be seen but sometimes 3rd party plug-ins can misbehave badly)
Changed the error reporter to also include the WACUP version in the attempted email title
Changed the IPC_EXECPLUG / IPC_EXECPLUGW APIs to accept a NULL parameter to run the currently user configured visualisation plug-in
Changed some of the media library core's drawing code to use more of the WACUP core shared GDI objects (this won't mean much but it helps to reduce some of the duplication of GDI objects used for drawing)
Changed the default behaviour of the start/stop button on the Streaming preferences page so it'll default to starting the streaming server as well as the first configured stream source if applicable (this is based off feedback received & should make it easier to start / stop streaming especially if not wanting the stream source to run in the auto-connect mode when the stream server is intentionally turned off)
Changed the installer to set the WACUP install folder to show the WACUP logo & also the installed WACUP version in it's tooltip (done as per a user request)
Changed how file version information is internally obtained to make things simpler & more consistent
Changed the external tools update action to better reflect what is installed (this helps first runs)
Changed the installer to reduce the size of the extracted copy of the 5.666 installer to exclude more files for a 40% on disk reduction
Changed the installer to use ExecDos instead of nsExec as it does the same but without an intermediate child process which A/V don't like
Changed the theming of the built-in streaming server landing page to be more dark-mode like & so it more closely aligns with WACUP's site
Changed the formatting of the information in the crash reports to remove some information no longer useful & to improve my reading of them
Changed the podcast preferences page to disable some of it's options if a subscription update is in progress to avoid a few potential issues
Changed the podcast plug-in to automatically remove incomplete downloads in the downloads list when a successful download later occurs
Changed the podcast plug-in to save the downloaded list when downloads have finished instead of waiting until the plug-in is unloaded
Changed the way the reported IP address on the Streaming preferences is determined to try to better deal with multiple adaptors/devices

Fixed a performance regression when trying to read metadata from MP3 files (especially those on slow devices like flash drives) related to the internal changes in recent builds as to how metadata is read
Fixed a crash when loading the playlist undo list & the ordering of data within the file is not in the expected manner (not sure why this occurs for some setups)
Fixed a debug message when using the Playlist File Remover hotkey being left enabled in release builds (oops it's been like it for ages & was only just noticed)
Fixed a possible cause of some input plug-in related crashes when trying to determine the appropriate input plug-in to use for playback / metadata actions
Fixed a possible failure with proxied HTTPS connections due to not setting up the connection to know about cacert.pem for relevant SSL setup & verification
Fixed the classic skin main window visualisation not working (a less than simple fix which involved changing the drawing to be fully done with WACUP code)
Fixed the playlist editor window visualisation incorrectly appearing within the middle of the main playlist editor window (this mainly affected modern skins but some installs with classic skins)
Fixed the colouriser api not being consistently initialised (this would cause excluded files not being indicated as such or the separator colouring options being disabled)
Fixed the MP4 input plug-in crashing if video support has been incompletely disabled at the time of trying to play a video
Fixed the MP4 input plug-in not handling pausing as expected
Fixed the tooltips of the main playlist editor window not showing in the correct location for a number of scenarios
Fixed some scenarios where the generically skinned windows might not maintain the minimum dimensions that are allowed
Fixed some minor optimisation issues with the generically skinned window painting
Fixed some loading related crash issues when some of the plug-ins were unexpectedly being double-hooked
Fixed the internet radio plug-in crashing in some setups when attempting to update it's statusbar text (this is based off what has been seen within the automatic crash reports)
Fixed the history plug-in not always showing a valid statusbar text message
Fixed an occasional crash when a recently downloaded podcast is attempting to be added to the replacement local library plug-in's database
Fixed IPC_GETVUDATAFUNC (generally used for the beat vis in modern skins) not returning the expected format of data (was more luck this wasn't crashing than just showing a wonky beat vis)
Fixed entering a folder path into the Add/Open URL dialog not working correctly due to an incompatibility in some of the replaced code vs the 5.666 implementation
Fixed the taskbar text not correctly showing unicode characters when the win10shell plug-in is enabled (the fun of doing things with C# code & not correctly handling subclassing)
Fixed a crash when renaming a library playlist name
Fixed a crash when saving the main playlist as a PLS playlist (was easier to replace this last piece of Winamp specific playlist saving code for WACUP provided code sans crashing)
Fixed an API message conflict (subject to plug-in updates & patches to fully resolve this) between IPC_GETSKINCURSORS & IPC_CB_VISRANDOM (both were set as 628 for some bizarre reason which is why a IPC_GETSKINCURSORS_OK set as 1628 has been added along with some other handling to re-map values between calls where possible)
Fixed an issue with the handling of the Classic Spectrum Analyser vis plug-in & it's preset / profile files
Fixed an inconsistency seen when removing library playlist(s) due to timing issues in how the update notifications were being processed
Fixed the open folder action not working correctly with zip:// and some other custom entries within the Win7Shell plug-in
Fixed the probable cause of a crash when trying to save a metadata change to a FLAC file tag due to a conflict in internal buffers being passed on
Fixed the probable cause of the playlist manager crashing due to the language service not being fully initialised in one of the service's calls
Fixed the probable cause of a crash in the Three Mode Repeat plug-in
Fixed the probable cause of a crash seen when trying to import iTunes playlists
Fixed the probable cause of some random crashes seen when saving m3u/m3u8 playlists
Fixed a crash when uninstalling input or general purpose plug-ins due to a selection change handling issue when the plug-in is in process of removal
Fixed a crash when both the WACUP agent & main WACUP program are running & you mouse over the icon (due to an issue with the IPC_GET_TASKBAR_TEXT API)
Fixed the import options on the library playlists root view right-click menu not working consistently
Fixed zip:// entries in library playlists being incorrectly handled making it seem that the index within the archive on the playlist entry was removed (it hadn't been & was correctly maintained in the actual playlist file but the checks for missing files was incorrectly altering a buffer used)
Fixed keyboard navigation not working correctly within the Podcasts view after tabbing into the embedded browser control
Fixed toggling some options within a modern skin causing the library playlists view to be switched to (due to a menu id range conflict between the plug-ins)
Fixed the explore option within the Podcasts view not opening to the appropriate folder for the downloads if there are no items selected or no downloaded file
Fixed the option on the Podcasts preference page to determine how many episodes to download not being correctly remembered
Fixed a crash seen with some Milkdrop presets when they cannot be correctly compiled (this may still not be a 100% resolution of crashes but it seems to help the cases reported)
Fixed the usage of region.txt with classic skins for basic transparency effects not being applied causing a number of classic skins to look wrong
Fixed a deadlock experienced in some setups when going from a classic skin to a modern skin due to an incomplete replacement of some of the IPC_EMBED_* apis
Fixed the archive playback plug-in repeatedly trying to clean-up folders on exit that no longer exist (this can save a few milliseconds on closing)
Fixed the queue manager window when enabled sometimes re-appearing when it's meant to be closed
Fixed the generic skinned windows not showing the correct cursor over parts of the window when double-size mode is enabled
Fixed the playback excluder not working as expected if the only item in the playlist is set as excluded
Fixed alignment & sizing issue with the installer welcome & finish pages when using OS text scaling
Fixed the drawing of the brand images on the support buttons on the about preference page when using OS text scaling
Fixed the drawing of the help images on the podcasts preference page when using OS text scaling
Fixed the skin selection dialog during setup not always closing the setup process correctly if not choosing to run WACUP
Fixed a resource leak related to modern skin preview images when using the 'Skins' preferences page
Fixed Milkdrop not correctly scaling most of its text related output when using OS text scaling (depending on whether configuration changes have already been made, it may still be necessary to manually adjust the font sizes used by Milkdrop within its configuration options)
Fixed the podcasts view loading to fix an initial selection quirk that kept occurring
Fixed a crash when using the explore item folder due to the underlying api failing
Fixed the Winamp Modern & Bento/Big Bento skin oscilloscope menus acting incorrectly (thanks victhor for the patch!)
Fixed the Yule Log plug-in not always resetting things back to default values correctly
Fixed using the Twitter support causing stability issues (e.g. crashing after closing the preferences window or random other random crashes)
Fixed an issue preventing adding new artwork (using the change or paste options) on the File Info artwork editor (still subject to input plug-in support at this time)
Fixed a number of quirks experienced when WACUP is minimised & restarted (e.g. windows becoming incorrectly closed when the process is later restored to be visible)
Fixed the first main playlist item being incorrectly drawn (especially when starting WACUP minimised) due to a font height calculation mis-match when first drawing occurs
Fixed the supporting resource dlls incorrectly using 'pack' instead of 'project' in their version information
Fixed a crash when viewing the Winamp version history due to a weird text encoding related processing failure
Fixed a file access sharing issue when trying to retrieve artwork which could prevent some file types from playing
Fixed some of the delay loaded system components (w5s) being loaded multiple times due to an existence test failure
Fixed an issue preventing the available video decoders from being initialised
Fixed a compatibility issue related to the video window changes preventing the (now old) Cover & Tag plug-in from loading
Fixed the Cover & Tag plug-in to save its settings in the correct settings folder so running as an administrator is not needed
Fixed the ClockAmp plug-in to save its settings in the correct settings folder so running as an administrator is not needed & so it doesn't break is using multiple installs
Fixed the likely cause of a hang on start-up if auto execute visualisation plug-ins on start-up & playback are both enabled
Fixed the visualisation action buttons (mostly seen in modern skins) from being double processed & possibly causing a crash
Fixed the replaygain plug-in not correctly handling not being able to write the processed results to the file
Fixed the possible cause of some of the random crashes experienced related to the drawing of the native windows
Fixed a file access sharing issue related to MP3 files which could prevent tag updates within & external of WACUP
Fixed a large memory leak when playing MP4 based video
Fixed playback of corrupted FLAC files not correctly aborting playback when the decoding issue occurs
Fixed the library Queue Manager view not drawing correctly on first loading as the selected library view
Fixed some of the weirdness seen when changing / refreshing the current skin within the current library view (this is not a complete fix as there's something weird going on within the media library core)
Fixed the Three Mode Repeat plug-in not always showing the expected classic base skin image
Fixed a conflict between the Streaming Url Processor & vgmstream input plug-ins which could prevent YouTube & related streaming urls from playing
Fixed user created colour themes via the colour theme editor with a "{coloredit}" prefix not being handled correctly (it's now removed as needed from the menus & preferences to better match expected behaviour)
Fixed a long standing modern skin engine issue causing the text within edit boxes to not be correctly sized (e.g. colour theme editor when scaled above 100% & much more)
Fixed the edit box of the web reader clipping the displayed text (related to the above change)
Fixed a possible cause of the modern skin engine crashing on unloading for some setups (based on the automatic crash report submissions)
Fixed the possible cause of some non-portable WACUP installs not having the 'pin to taskbar' option showing when running (aka Windows + related shortcut fun)
Fixed the uninstaller not removing the start menu &/or desktop icon(s) if created & then the option to create them was unchecked later on
Fixed the installer not always remembering the start menu &/or desktop icon setting depending on the installer mode currently being used
Fixed the installer not removing the start menu &/or desktop icon if the setting to have them has been changed to off whilst updating
Fixed still being able to load the vulnerable in_flv.dll plug-in (the installer would remove this but you can't help what some users try to do still)
Fixed a possible cause of the crash reporter hanging when trying to collect the initial details before handing off to another process that submits it
Fixed a settings cache issue causing the Not So Yasapi device specific settings from being read in due to a buffer truncation when priming the cache (this may have affected some other aspects but this was the only one reported)
Fixed the playback status of the Winamp Modern skin being mis-aligned by 1px when playback is paused compared to the playing & stopped conditions
Fixed the inconsistent loading of the user provided winamp.ico for the notification area icon
Fixed the win7shell plug-in not correctly recognising if it's been running under wacup.exe or winamp.exe to ensure that the jump list will open the correct (especially if pinned to the taskbar) instance
Fixed some issues with the recent & frequent items on the jump list actions provided by the win7shell plug-in when those options are enabled
Fixed restoring the JTFE playback queue between sessions causing the prior queue to be incorrectly added to the end of the playlist instead of re-using the existing playlist items
Fixed a number of issues related to moving around main playlist items in the JTFE playback queue (note: there are still some quirks which will be resolved in a later build once more of the playlist handling from the Winamp core has been replaced with all WACUP provided handling)
Fixed some quirks with the Waveform Wrapper plug-in loading validation (found whilst doing the SNESAmp Wrapper plug-in updates & integration)

Other small changes to attempt to fix some of the issues from the crash reports, preparatory work to remove the need for a winamp.original child process & other code changes

Updated the Big Bento Modern skins to v1.1.5.1 (22 Jan 2020)
Updated cacert.pem to latest (1 Jan 2020)
Updated libcurl (libcurl.dll) to 7.68.0 (8 Jan 2020)
Updated libjpeg-turbo (image.w5s) to 2.0.4 (31 Dec 2019)
Updated libopenmpt (in_mod.dll) to 0.4.11.12392 (22 Dec 2019)
Updated libvorbis (libvorbis.dll) to the latest Git commit from 18 Jan 2020
Updated minizip (zlib.dll) to 2.9.2 (12 Feb 2020)
Updated Monkey's Audio (in_ape.dll) to 5.19 (9 Feb 2020)
Updated mpg123 (mpg123.dll) to 1.25.13 (26 Oct 2019)
Updated installer to be built with NSIS 3.05 (15 Dec 2019)
Updated the Milkdrop2 presets by Fumbling_Foo for your visual enjoyment
Updated unrar (unrar.dll) to 5.90.1 (29 Jan 2019)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 27 Feb 2020
Updated WavPack (in_wv.dll) to 5.2.1 (31 Jan 2020)


Preview Version: 1.0.8.4346
Released: 14 October 2019

Changed the version check to be run the next time WACUP is started after a crash occurred to make it more obvious if a newer version is available (this is based of the automatic crash report submissions where people are still using older builds despite a newer build with appropriate fixes having been out for more than a week which just causes more work than needed)

Fixed the cause of the Winamp Classic Modern (WCM) based modern skins throwing a divide by zero error for some installs (this was not easy to track down & fixes something that's been going on for months - but its fixed now!)
Fixed an occasional crash when trying to determine the input plug-in to be used for some actions (this also possible helps get the old mp3pro input plug-in working)
Fixed WMA & WMV files not having their metadata read when the DirectShow input plug-in is handling playback for them (more work needs to be done but this is a start)
Fixed a delay loading dll issue crash related to loading of the main playlist (still not sure why despite the appropriate handling in WACUP that these issues occur for some but not all)
Fixed a delay loading dll issue crash related to starting WAV file playback
Fixed the likely cause of MP4 based playback not completing the stop action
Fixed opening the preferences from the replacement local library plug-in crashing (not entirely sure how this happened but that's what the crash report showed)
Fixed a crash on loading when trying to load a playlist file & the playlist manager service has failed to be initialised at the time
Fixed category not being correctly read from ID3v2.x tags for MP3 files (changes in build #4334 introduced this change whilst fixing other crashing issues)
Fixed some metadata fields for WMA based tags not mapping to the expected Winamp/WACUP values
Fixed the likely cause of the podcasts library view sometimes locking up & causing a crash when the subscribed podcast feeds are being updated

Updated libopenmpt (in_mod.dll) to 0.4.9.12139 (2 Oct 2019)


Preview Version: 1.0.8.4334
Released: 8 October 2019

Fixed the likely reason behind the Winamp Classic Modern & Big Bento Modern skins randomly crashing when loading them (thanks Victhor)
Fixed the crash reporter hanging sometimes when attempting to run the Info Tool to create a report due to the OS refusing to run the tool
Fixed the Big Clock time remaining mode not always showing the expected time for some files
Fixed the colour theme sub-menu not always responding correctly to selecting a new colour theme
Fixed some crashes related to a corrupted playing file string that could break some plug-ins
Fixed a possible issue that can cause trying to load a wav file to fail when checking for it being an MP3 file in disguise
Fixed a potential cause of playing youtube videos via the MP4 demuxer plug-in (in_mp4.dll) not always handling stop correctly
Fixed a crash on the File Associations diagnostics preference page due to buffer handling mismatch
Fixed a crash when trying to enable / disable the agent notification area icon
Fixed a crash when loading MP4 based files that require the AAC decoder service to be loaded
Fixed a crash when clicking 'OK' on the MP4 Demuxer input plug-in (in_mp4.dll) configuration dialog
Fixed changing the location of the Play Tracking log folder not storing the correct folder path
Fixed a first run crash on some installs when the local library plug-in (ml_local.dll) is not able to successfully create its default smartviews (instead of relying on the plug-in to create the files needed there are now pre-generated files provided which is safer & also makes the first run load a bit quicker)
Fixed the incorrect handling of some dll delay loading failures where it was not attempted to manually load the requested dll (this seems to mainly have been happening with the loading of libcurl.dll & libsndfile.dll from requests via input plug-ins to the WACUP core)
Fixed possible causes of the settings cache crashing when handling settings files being externally modified and additional internal scenarios
Fixed a possible cause of some installs failing to run due to the OS api used to determine the settings folder WACUP should use failing (this now applies a specific check for the default configuration to attempt to avoid the OS api that is triggering the issue)
Fixed some of the metadata entries shown in the Raw Metadata tab of the File Info / Alt+3 dialog not using the expected Winamp/WACUP naming (e.g. label vs publisher)
Fixed the ID3v2.x rating not being shown in the Raw Metadata tab of the File Info / Alt+3 dialog if its present
Fixed the local MP3 file metadata reading related crashes by replacing the metadata related calls to the MP3 decoder plug-in (in_mp3.dll) to instead use the metadata based taglib service with WACUP (this is not the final fix but it should do enough to resolve the majority of the crashes related to the plug-in from 5.666 until it is replaced with a WACUP build)


Beta Version: 1.0.8.4312
Released: 3 October 2019

Added support to attempt to automatically upload crash reports instead of relying upon an installed email client along with some additional options on the Error Reporting preferences page (by default emailing will still be attempted as this is helpful to be able to respond to crash reports which is not possible with the automatically uploaded submissions)
Added a compatibility option on the modern skin font rendering peferences page to use the older font handling method which may help on some setups where skin provided fonts may not be used
Added support for a main playlist window no-selection specific menu (e.g. allowing access to the undo options menu items when clicking on the dead area in the playlist editor window)

Changed the Playlist Separator extras menu options to be moved up into the main separator menu instead of being a sub-menu to ease quick / repeated access to those separator menu options
Changed the Playlist Separator menus to hide the "Insert separator between folders" option if the auto-insert option is enabled via the preferences page (is redundant to leave an option present which is automatically be run under that scenario)
Changed the media library plug-ins preference page to not show the Portables (ml_pmp.dll) plug-in as a critical failure if there are no portable plug-ins (pmp_*.dll) loaded & instead as 'INACTIVE' to better reflect that plug-in doing just that
Changed the separator colouring options to allow for just setting the text colour without forcing the background colour to be the current selected playlist item colouring
Changed the Audio Capture plug-in to be fully portable mode compatible (if you've already been using this plug-in then I'm sorry but you'll need to re-enter your capture presets, etc - dr. flay made me do it)
Changed some of the wording of the playlist related menus to be more consistently phrased
Changed what happens if the default paths.ini file is not present to now act like it does as if the default paths.ini file was present with respect to the settings folder that will be attempted to be used (e.g. %appdata%WACUP) instead of trying to use the folder that WACUP is running from (this change is to better deal with loss / corruption of the paths.ini file whilst providing better compatibility with how & where settings can be saved on the versions of Windows as supported by WACUP)
Changed how the podcast plug-in determines some of the file information when downloading & updating it's cached information to attempt to resolve the lock-up that occurs for some (this is the start of moving more towards metadata retrieval that will work better in asynchronous situations as podcast handling generally involves)

Fixed freetype.wac not loading correctly on different installs due to some odd dependency issues (this may also improve the reliability of the color editor component loading)
Fixed some of the live patching not being correctly applied which led to some crash issues re-appearing (e.g. odd in_mp3.dll metadata reading issues should be fixed again)
Fixed some loading related issues that could affect some installs (caused by unexpected delay loading failures & recursive patching quirks due to A/V software screwing up things)
Fixed the Portable plug-ins preference page showing a could not be loaded error as a side-effect of some of the preference window handling changes in the prior build (most won't have noticed as the plug-in is turned off by default due to portable devices not being all that commonly used afaict)
Fixed drag + dropping file(s) onto the main playlist above the current playlist item causing the current item to change to be the last item in the playlist
Fixed some typos in the installer
Fixed some preference changes not being saved if closing the preferences window instead of moving to another preference page (this was sadly introduced in the last build when taking over more of the handling of the preferences window, oops)
Fixed saving issues with unicode based separator configuration / preset strings causing them to be corrupted when re-read on the next loading
Fixed excluded playlist items having a drawing issue on non-selected playlist items
Fixed the paths.ini file editor not showing the selected folder to load / save
Fixed where possible the reported settings cache related crash issues received
Fixed the Not So YASAPI output plug-in not always initialising everything it needs which could cause crashes when going to it's preferences or when trying to start playback with it as the active output plug-in
Fixed the Not So ASIO output plug-in not always initialising everything it needs which could cause crashes when going to it's preferences or when trying to start playback with it as the active output plug-in
Fixed the Not So ASIO output plug-in not behaving correctly when the gapless option was disabled (ASIO drivers are buggy as hell so hopefully this hasn't broken anything that was ok previously)

Updated unrar (unrar.dll) to 5.80.2 (26 Sep 2019)


Preview Version: 1.0.7.4264
Released: 24 September 2019

Changed how opening of the preferences window is handled to remove a lot of duplicate processing that was going on such as having it achieve the better sectioning of preference options (this was needed for the preference related fixes noted below & turned into an optimisation exercise)
Changed all of the visualisation preference page handling to now be WACUP managed (needed to be done related to the running visualisation related crash issue fixed below)
Changed the global hotkeys preference page to prompt if the user wants to reset the custom hotkeys back to their defaults (also tweaked the page layout to better split the two modes of hotkeys based on feedback received)
Changed how the loading of the BogProg LiveWire DSP is done to limit WACUP's hooking of the DSP (as it does to all loaded plug-ins) to resolve some stability issues with this DSP
Changed the FLAC input plug-in to be built with VS2017 (more plug-ins will be moved over to the newer compiler over the coming builds - will hold off on VS2019 for the time being before anyone asks, heh)
Changed the Milkdrop2 plug-in to ignore X3025 shader compiler errors as the shader is still compiling ok from tests & is causing user confusion
Changed the in_vgmstream input plug-in to not attempt to take the .vgm file extension as this breaks the in_vgm input plug-in which has a legitimate need to handle .vgm files
Changed the Discord & Twitter preference nodes to no longer break accessibility via the keyboard navigation as well as changing where the options tab are in relation to the modes

Fixed a conflict between the normal handling of multimedia hotkeys via the Global Hotkeys plug-in & the SMTC / Win10Shell integration (this should now resolve the main issues reported e.g. stop not working)
Fixed trying to run the config action of visualisation plug-ins either not working or crashing (a certain developer hadn't finished replacing all of the handling needed - silly dev)
Fixed a running visualisation or DSP plug-in possibly crashing when using the uninstall option if they're running at the time of the uninstall attempt (5.666 doesn't seem to do this)
Fixed the FLAC input plug-in potentially leaking a small amount of memory on each file played
Fixed a localisation crash when trying to add a password protected RAR archive into a playlist
Fixed some issues with trying to select the Windows Classic Modern (WCM) skin during new WACUP installs
Fixed some MP4 based files failing to end playback when reaching the end of the file either under normal playback (this was due to incorrect header information) or if doing fast seeking through the file
Fixed opening the preferences window sometimes causing WACUP to lock-up due to a processing issue
Fixed opening the preferences window not assigning items correctly to the parent nodes if the preferences window was opened whilst plug-ins were still being loaded
Fixed the active Streaming Source preferences window now always being set as fully visible due to some loading order quirks
Fixed the Stream Source Server config action not working as expected
Fixed some of the flickering seen when using the skinned preferences mode (on opening & changing to some of the preference pages)
Fixed the prompt to restart WACUP when disabling the skinned preferences option not being shown
Fixed playing a separator double-jumping over the playlist entry after it

Other related code changes to achieve more WACUP provided handling of the preferences window & associated code removal due to less handling being needed

Updated libflac to version from the latest github commit (15 Sep 2019)
Updated libopenmpt (in_mod.dll) to 0.4.7.12088 (23 Sep 2019)
Updated zlib-ng (zlib.dll) to latest re-based update (18 Sep 2019)


Beta Version: 4234
Released: 16 September 2019

Changed the default custom global hotkeys list to no longer include multimedia keys (the default handling options of the global hotkeys plug-in along with the addition of the win10shell plug-in can otherwise conflict e.g. stop or play/pause doesn't appear to do anything as the two plug-ins can counteract each other)
Changed the Library History plug-in to not try to update main playlist items as this is causing issues with the Yule Log plug-in (will provide a better solution to achieve the desired aim at a later time)
Changed the new to build 4220 failed memory allocation handler to allow a workaround for in_mp3 tag related issues to keep working instead of it triggering the crash reporter (in_mp3 is a plug-in that badly needs to be replaced but it's somewhat important to normal playback, etc)

Fixed syntax errors in some ATF formatting strings causing a crash due to a localisation error
Fixed trying to turn off custom hotkeys not working correctly (build 4220 specific issue)
Fixed HTTP POST actions via Yule Log not working due to a libcurl behavioural change (specifically it needed CURLOPT_POSTFIELDSIZE setting to zero for CURLOPT_POST actions ven though there was no body data being sent in our mrthod of usage along with a decision to make it work in HTTP/1.1 mode instead of also attempting to use a HTTP/2 mode)
Fixed the Undo plug-in crashing due to an annoyingly old bug (which pre-dates WACUP) when loading the prior undo list information as a request of an integrity check failing if square brackets were found elsewhere in the file (that'll teach past me to optimise loading an ini-style file)
Fixed titles not being correctly shown when starting playback of supported files from an archive
Fixed RAR playback not working correctly (there's still issues with this that will be resolved later)
Fixed a hang or crash on close (varies by setup) when having played supported files from an archive

Other small adjustments based on some of the quirks seen from the crash reports received & how those crashes could interact with other parts of the code

Updated cacert.pem to latest (28 Aug 2019)
Updated libexpat (xml.w5s) to 2.2.8 (13 Sep 2019)
Updated OpenSSL (libcurl.dll) to 1.1.1d (10 Sep 2019)
Updated pugixml to 1.10 (15 Sep 2019)


Beta Version: 1.0.6.4220
Released: 13 September 2019

Added the Winamp Classic Modern (WCM) v1.0.3 skin for your enjoyment - a massive thank you goes to Victhor for all of the work gone into making another skin (see also the Big Bento Modern (BBM) skins) with its focus on improved usability on higher resolution screens whilst keeping a feel of the 2.x classic skin aesthetic <3
Added a @WACUP@ custom variable for modern skins to be able to use to detect if running under a WACUP install or not to help make it easier to offer any visual customisation as required (this is converted to a 1 when passed into scripts as a parameter value under wacup & will be 0 or an empty string under a non-WACUP install)
Added a 'wacupscreenshot' entry for modern skins to be able to provide a WACUP specific screenshot when the skin is built to work with both WACUP or Winamp
Added an initial plug-in (gen_win10shell.dll) which for the moment just provides System Media Transport Control (SMTC) support on Windows 10 Release 1607 & newer so its now possible for WACUP to provide some information about what is playing for when the volume / playback state is changed & an OS provided window appears to show the status changing (note: the SMTC support is based upon code from a prior OSS C++/C# plug-in - see the about dialog for more information)
Added support when looking for artwork to now additionally use the filename + image extension as a means to try to increase the chance of finding available artwork
Added option on the Global Hotkey preferences page to ignore volume controls when the WM_APPCOMMAND (aka Windows Media Player / multimedia keys support) which is enabled by default (this is useful if wanting to control WACUP via the other multimedia keys but want to use the volume controls for the machine as a whole without also changing WACUP's volume level)

Changed the default loading behaviour of some of the supporting component dlls to better match the disabled input plug-ins which rely upon them
Changed the handling of plug-in loading to remove some unintentional duplicate processing which provides a small reduction in loading times (this applies more to the loading of the w5s component dlls to refine the overall handling of them under WACUP)
Changed the right-click menu in the Library Playlists root list to also have the import menu items on that menu in addition to the button at the bottom of the view (when the view is smaller that button isn't always visible so this can help to ensure imports are seen as possible to do)
Changed the handling of trying to delete a skin via the skin preferences page to better deal with deletion failures (this also involved taken on more of the handling of the preferences page from the Winamp core to resolve it not bothering to check the success / failure of the attempt)
Changed how crashes are dealt with to better leverage Windows Error Reporting (WER) to try to make sure some form of crash dump can be generated if the built-in WACUP crash reportor is unable to catch the error directly & instead is able to in-directly obtain it in combination with WER
Changed the installer wait time if a running WACUP instance is found & needs to be closed to account for the modern skin engine slow closing fixes (this had been increased to deal with files being reported as still in usage but this should hopefully not happen now due to everything taking less time to complete closing when using a modern skin)
Changed the settings cache to attempt to automatically deal with external modifications of ini based settings files which may have been cached (e.g. milk2_msg.ini)
Changed (again) how the Undo plug-in works to try to resolve some of the stability issues it has been causing (see the Explorer related fixes below)
Changed the Library History plug-in to indicate a title update of the playing item in the main playlist editor might be needed (e.g. if the playcount is set to be shown)

Fixed a key performance issue behind modern skins being much slower to load & close on Windows 10 compared to an equivalent setup on other versions of Windows (how much of a reduction in loading & closing times will vary depending on the selected modern skin, hardware & OS install used but a 2 second reduction has been seen on a number of test installs across recent hardware)
Fixed a number of plug-in related issues causing crashes to occur when trying to load files via Explorer (including potential fixes for the Play & Play All media actions that has been an issue for a while though it seems like this may still not be a complete fix until proper file association handling is implemented)
Fixed a slew of issues related to elevation (UAC) handling from correctly ensuring the WACUP implementation is used to better dealing with access failures
Fixed the Playlist Undo plug-in conflicting with some actions (e.g. the previous button on the basic OS taskbar preview)
Fixed the menu on the close button of the preferences window not showing the correct text due to a localistion issue
Fixed the Notification Area preferences page & possibly some other places showing the incorrect text on dynamically loaded content
Fixed the stop global hotkey not always working (e.g. when using the Ctrl+Alt+End hotkey) if the Next On Stop plug-in was present & enabled (the plug-in was incorrectly treating that as a request to toggle the on/off mode of the NOS plug-in instead of the intended stop playback action)
Fixed some random crashes seen when manipulating the Library Playlists due to a loading optimisation gone awry in the playlists core service
Fixed a crash (or hang) on close if the old in_mp3hd.dll plug-in is present in an install due to it being an evil plug-in which unloads the MP3 input plug-in (in_mp3.dll) itself instead of leaving it to the input plug-in handling (just please don't use this plug-in unless you really must)
Fixed a crash when using the 'explore item folder' right-click menu action on the skins preferences page list
Fixed some issues seen with zip based archives not being released in all cases (e.g. skins ending in a .zip extension could not be deleted if the Skin Manager plug-in was enabled)
Fixed the crash reporter failing to start for some installs (not that you should be seeing this appear that often nowadays anyway)
Fixed a number of compatibility related crashes with the sqrsoft output & general purpose controller plug-ins (would be nice to get them updated to support more recent wacup/winamp releases but that is probably a lost cause based on prior attempts)
Fixed the updater loading some of the supporting dlls when not needed
Fixed the crash reporter not always including the Info Tool report due to a conflict with the settings cache not seeing the Info Tool having updated its settings file on report completion
Fixed embedded artwork in MP4 based files not always being displayed (build issue & implementation problems were causing this)
Fixed resizing issues of irregular artwork in the Classic Artwork plug-in causing images to be incorrectly scaled as a square
Fixed resizing issues of irregular artwork in the Taskbar preview when its configured to show now playing information
Fixed image files placed into the main playlist editor not being displayed in the Classic Artwork plug-in window & other compatible parts of the skin being used
Fixed the artwork tab on the Alt+3 file information dialog not always showing the correct helper information (coding is messy at times you know)
Fixed a crash when unloading the LoudMax DSP plug-in either via the preferences or on closing (the fixed crash reporter caught this happening & have reached out to the plug-in author to see if a proper fix can be provided)
Fixed a FLAC playback issue causing static to be output for some or all of a file when the bitrate or samplerate for consecutive FLAC files changes
Fixed adding some iTunes podcast urls causing a crash due to incomplete data in the response provided
Fixed a crash when attempting to play video only MP4 files with the Waveform Seeker plug-in & its legacy handling mode also enabled (this should have been automatically skipped but was missed when moving from the 5.666 in_mp4.dll to the replacement provided by WACUP)
Fixed the decoder name string not being correctly shown under modern skins due to the recent plug-in implementation changes (at times I have to hate myself for changes I made officially years back that then need to be re-patched to then correct handle what's wanted for the future)
Fixed drag+drop of a folder onto the main window not working as it would just clear the playlist instead of processing the folder for files
Fixed some conflicts experienced by the WACUP loader when multiple instances are being started in quick succession (e.g. external request to play files) that could incorrectly prevent the instance from being started normally

Other misc updates with trying to reduce loading & closing times further as well as an updated milk2_msg.ini

Updated libcurl (libcurl.dll) to 7.66.0 (11 Sep 2019)
Updated libogg (libvorbis.dll) to 1.3.4 (30 Aug 2019)
Updated Monkey's Audio (in_ape.dll) to 4.92(26 Aug 2019)
Updated mpg123 (mpg123.dll) to 1.25.12 (24 Aug 2019)
Updated unrar (unrar.dll) to 5.80.1 (30 Aug 2019)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 8 Sep 2019


Preview Version: 1.0.5.4130
Released: 23 August 2019

Added a replacement MP4 demuxer plug-in (in_mp4.dll) which is the start of replacing the remaining core playback plug-ins along with it allowing us to access YouTube streams again (which changed over to HTTPS at the start of 2019 & the original plug-in from 5.666 couldn't cope with it) as well as allowing you to only play the audio even if a video track is found without having to disable video support completely
Added a replacement Waveform Decoder plug-in which is still based on libsndfile like the plug-in it replaces but resolves a slew of issues (including seeking in multi-GB 32-bit floating point WAV files) to improving metadata support (with more to hopefully follow on that) & Winamp integration (e.g. using the unified Alt+3 dialog instead of a generic messagebox)
Added Ko-fi (https://ko-fi.com/wacupdev) as another means to help financially support the development of WACUP during installation & within the WACUP preferences
Added double-size classic playlist editor support & all of the changes needed to fool the classic skin engine to cope with this (whoever thought it a good idea to not do this natively years back when the main window & equaliser windows got it needs a friendly slap)
Added Discord & Twitter preference shortcuts to make it easier to find & setup these now playing update modes (a dedicated quick access preference page is planned once we work out what should go on it & how it should be displayed - please let us know about settings you commonly want to change & struggle to remember where to find them)
Added ability (subject to skin support) via the Modern Skin general preferences tab to control whether the Web Browser features are enabled or not (this is mainly for those who don't like the feature or view it as a security issue as the browser element has negligable impact on loading times)
Added an updated Monkey's Audio input plug-in (in_ape.dll) based off Monkey's Audio v4.71 (unicode support, improved tagging support including using the unified alt+3 dialog & editing of tags!, initial albumart handling & some WACUP integration tweaks come with this over the Winamp 2.x target of original source code)
Added an updated WavPack input plug-in (in_ape.dll) based off WavPack v5.1.0 (not much changed as it was already in a good position from having been part of the Winamp Essentials Pack - a shame that died but WACUP is so much better :) )
Added an initial asynchronous implementation albumart service (albumart.w5s) to get album artwork from files so other plug-ins can then not lock-up the ui (at least as not much as it's been doing in some instances)
Added profiling options to the Advanced preferences page to aid in seeing how long it takes for the loading (via init) and closing (via quit) of the general purpose, input, output & dsp plug-ins as well as the w5s components (this is aimed as a debugging feature but may be useful for some with slow loading / closing when looking at the init & quit methods of the plug-ins)
Added a basic 'Components' plug-in preference page to see those that are installed & what Wasabi services they might be providing (this helped with debugging during taking over the w5s component handling from the native Winamp code)
Added an option to automatically load the current visualisation plug-in on loading instead of waiting for playback to be started (this is useful in some layouts to avoid it looking odd if not immediately starting playback as well as whilst debugging taking over the visualisation plug-in handling)
Added initial support to live load disabled input, general & library (if the replacement media library core plug-in is being used) plug-ins
Added better handling for incomplete & failed podcast downloads so it's a bit easier to see if something potentially went wrong & a retry is needed
Added an option to the Playback preferences page that keeps Windows in an on state so when for example using the speakers on an HDMI monitor it will not turn the display off or enter sleep mode & stop playback
Added initial right-click menu support on the replacement local library plug-in nodes in the navigation tree as well as starting to make the root local library node more like a normal customisable view (e.g. it now has play/enqueue/enqueue & play/send-to menu actions)
Added a /UPDATE command-line option to the WACUP loader which may be helpful for a few recent scenarios that have occurred
Added the expected LAN server address of the streaming server to the information shown on the Streaming Server preferences page
Added buttons on the modern skin colour theme preferences tab to go to the previous & next colour themes in the list (user request)
Added an initial add / edit smart view dialog to the replacement local library plug-in (needs more work but this is a good step forward!)
Added option to the replacement local library plug-in to allow for searching within the comment field for general view searches (this is an opt-in setting due to it potentially making things noticeably slower to generate the results)
Added expected icons for the default smart views of the replacement local library plug-in
Added a new revision of the input plug-in api (WACUP specific to provide a better native experience) which saves the plug-ins now built to use it from having to do some commonly used aspects on loading & closing along with a change to support providing the file types they support as unicode (this change might break plug-ins that do things directly against the In_Module structure but does not prevent compliant older plug-ins from still being loaded - this change is no different than the Winamp 5.64+ & 5.66x related changes)
Added a new revision of the general purpose plug-in api (WACUP specific to provide a better native experience) which saves the plug-ins now built to use it from having to do some commonly used aspects on loading & closing
Added option to the video preferences page to disable the ability to click to pause / resume playback

Changed how the general purpose, input, output, visualisation & dsp plug-ins as well as the w5s components are loaded/unloaded to now be done via WACUP code instead of Winamp's native code (this improves the ability of WACUP to prevent certain plug-ins from being loaded to help avoid dll dependency loading issues that can otherwise occur through to enabling a more complete profiling of the plug-ins during init & quit)
Changed the playlist editor when using a modern skin compatible with the v1.3 or newer skin specification to use a freeform styled scrollbar for improved usability and consistency within the look for the skin (using something that's a hacked up classic skin just doesn't cut it!)
Changed where the Milkdrop presets are stored and accessed by default to be in the settings folder instead of the main install folder (this is the easiest way to resolve ratings not being saved without having to run as an administrator & no one should need to run WACUP in that manner!)
Changed the 'Titles | ATF' preferences page to have a larger input field for the ATF string along with a working preview of the output
Changed the default action on the 'Titles | ATF' preferences page to prompt for confirmation before resetting the ATF string to default
Changed the Discord preferences page to have a link to the forum thread which details how to setup WACUP to work with Discord & other information
Changed how curated Milkdrop presets are handled during install to download them only if needed instead of being always included in the installer
Changed the MP3 encoder preset handling to simplify things vs the common usage vs trying to maintain compatibility with existing 5.666 installs
Changed the Skin Manager plug-in to show a folder icon next to pre-extracted folders to make it easier to differentiate them (e.g. if extracted to work on vs also having an original copy of the skin as a wsz/wal/zip)
Changed some of the skin image loading to reduce duplication of images to better ensure only a single image copy is loaded & used for classic skins
Changed the time elapsed indicator on the classic playlist editor window to try to show a h:mm:ss formatted time (if the main option is enabled) to better match other WACUP related changes for time display (for time remaining it will keep using the -mm:ss formatting style due to space restrictions)
Changed the windowshaded playlist editor window to show (if applicable) the queued item position (via the 'q' action) for better consistency
Changed the windowshaded playlist editor real font handling to better fit within the area used with a skinned font to break less skins when that option is enabled via the classic skins preferences page (e.g. removing odd colour matching and overwriting expected borders of the area)
Changed the Waveform Seeker plug-in to fill in the currently played area (if applicable) under the generic waveform for applicable playlist items that cannot be processed to generate a waveform (this should help with usability & interaction with the plug-in for most use cases)
Changed the extraction of skins to be done by WACUP instead of the native handling where possible to help resolve some loading issues with sub-folders within the skin archives & to experiment with a few other things for later WACUP development :)
Changed the in-skin browser handling for the Bento & cPro skins (possibly other modern skins as well) to remove broken urls & use valid landing pages (this should help remove recent issues due to expired domains, etc)
Changed the Big Bento & Bento skins to support the new @HAVE_BROWSER@ value along with -nobrowser versions of the skin xml files (e.g. player-normal-sui.xml vs player-normal-sui-nobrowser.xml) to be able to follow the Web Browser on/off feature control
Changed the Internet Radio plug-in to better ensure there is no duplicated genres shown for the station listing (this is an age old issue with the poor data that stations provide to listing directories - sadly they don't care about such attention to detail which means I have to instead)
Changed how the WACUP build of libcurl is built to resolve dependency loading issues under WINE
Changed how the plug-ins directly using libcurl will now cope without libcurl.dll being able to be loaded (this is related to the above change)
Changed the error handling related to dll loading issues (whether they're missing or having dependency related loading issues) to show more appropriate information as well as now trying to generate a crash report if the problem is non-continuable (i.e. the code will crash anyway)
Changed the ASIO output plug-in to not create its background thread until it is being used for output to save some resources on loading
Changed the saving of the main winamp playlist (winamp.m3u8 in the settings folder) to be WACUP handled which now provides a secondary backup of the file on closing & removes the automatic generation of the legacy winamp.m3u (some old plug-ins look for this which can be re-enabled via the Advanced preferences page if needed)
Changed the layout of the Advanced preferences page to better accommodate new options
Changed some of the internals of the WACUP core to reduce memory usage for shared data between the WACUP plug-ins
Changed some of the previously JTFE provided apis to now be provided via the WACUP core (makes things cleaner)
Changed the podcast plug-in to only load it's feed cache when needed (depending on setup & usage of this feature, this can delay lots of memory being allocated when it's not going to be made use of as well as providing a loading time reduction if updating on start-up is not enabled)
Changed the SID Player (in_sidious.dll) plug-in to delay when it initialises itself to give an approximate 10MB saving of memory if the plug-in is being loaded but never actively used (this also provides a small loading optimisation)
Changed clicking 'config' for the Modern Skin engine (gen_ff.dll) plug-in to go to the preferences node instead of showing a basic or fancy about message
Changed the Album Art (gen_classicart.dll) plug-in to make use of the newly added asynchronous mode for getting the image data to show
Changed the Album Art (gen_classicart.dll) plug-in to limit the image copy it works with to 600x600px which in combination with the asynchronous mode for getting the image data better prevents the plug-in locking up the UI whilst it's trying to render the artwork
Changed the artwork loading on the File Info (Alt+3) dialog to make use of the newly added asynchronous mode for getting the image data to show (there were also some other changes that in general reduce the loading time of the dialog compared to the prior implementation)
Changed the loading of the output plug-ins to (hopefully) only happen when playback is actually needed (this is testing out a loading optimisation so may be reverted if this is found to cause issues)
Changed the priority of output plug-ins attempting to be used if one is not specified or the prior one has been removed (this relates to taking over the handling of output plug-in management so we can be more flexible in how things work going forward)
Changed the Waveform Wrapper (in_wav.dll) to better prevent the original plug-in it wraps from re-saving unchanged values on closing (this was found with the new profiling where this was the worst offending plug-in from just loading & then closing the WACUP instance when nothing would have been done)
Changed some aspects of the loading & closing of the plug-ins to reduce the time taken based on the added profiling feature
Changed the settings cache to prime its copies of the winamp.ini & gen_ml.ini files with all sections instead of doing it on a per section basis as requested to help reduce loading times
Changed the tooltip handling on the plug-in preference pages to show the clipped text (if applicable) & then our information about the plug-in
Changed the IPC_GET_EMBEDIF handling to automatically register the created window into the classic skin's Ctrl+Tab window handling to save having to remember doing it on a per plug-in basis
Changed the IPC_GET_EXTLISTW & IPC_GET_EXTLIST apis to be handled by WACUP which allows known plug-ins with lots of extensions to be suppressed from being shown in the filter list (wparam == 1) response so that when using in the open/save file dialogs it is less likely to break (i.e. potential crash or showing all files despite a filter being selected)
Changed the right-click menu on the podcast 'Downloads' node to show the option to update all of the podcasts if its parented to the podcasts node (I keep clicking on the wrong item so this is to keep me happy : )
Changed the Big Clock plug-in visualisation modes to hopefully look better compared to the prior version due to using a poor upscaling method (as the plug-in has used for ~14 years) which makes it better fit in with the look of other aspects of Winamp/WACUP
Changed now the NDE database files are loaded to remove doing a large memory copy between buffers for a small reduction in loading times
Changed the NDE database loading to be smarter about when its trying to remove whitespace from strings which can make a noticeable reduction in the time to load the related view & query results
Changed the /RESETOUT command-line option to also reset the audio device of the known plug-ins (this is to make it easier to deal with some Windows 10 updates causing the output device id to change & making the DirectSound output plug-in freak out & block loading)
Changed the classic skin smooth window resizing option for the resizeable skinned windows to dock the edge of the window to the screen & other skinned windows so its easier to make a layout that better suits your needs (am debating enabling the smooth window resizing option by default now that we've got consistent snapping of the windows between the two available window sizing modes for classic skins)
Changed the main playlist editor drawing under modern skins to remove an undesirable 2 pixel border from the left edge & to ensure the scrollbar is correctly aligned to the right edge of the window which was wasting 8 pixels of screen space
Changed the handling of the IPC_GETHTTPGETTERW & IPC_GETHTTPGETTER API messages so HTTPS urls should now be correctly handled along with some othe related changes to improve the reliability of handling the download (still more HTTPS related work to go on in other parts of the player)
Changed how podcasts are handled to reduce the complexity in the checking down which could either cause occassional crashes or leave podcasts that had failed still being marked as successfully completed (this also led to the removal of the export -> podcast downloads option from the exporter plug-in as the handling is no longer trying to maintain compatibility with how the original podcasts plug-in worked)
Changed some of the plug-ins to use a new callback method that removes the need to subclass &/or handle some of the main playlist editor menu & WM_COMMAND handling to detect actions in the window (this reduces some of the overhead of the plug-ins & what goes on within the window)
Changed how existing podcasts are (re-)added into the local library database when using the replacement ml_ll to reduce the time taken (more needs to be done to deal with this process causing the ui to lock-up e.g. when re-adding existing podcast feeds to a new WACUP install)
Changed the main window song ticker area when using a non-skinned font under classic skins to better match how the playlist editor handling now works to remove the blurry text under double-size mode & making the non-skinned font better match the look of the skin overall
Changed the sizing increments used when resizing the playlist editor in double-size mode to match the generic skinned window sizing increments (this might make some classic skins look a bit odd for a small panel section but a skin update would be the only potential fix for this quirk)
Changed the default render processing priority of the Waveform Seeker plug-in back to high & added an option to use a lower priority if needed
Changed the handling of the modern skin menus options along with adding some options on the Modern Skins -> Current Skin preferences tab to enable or disable whether those options are displayed in some of the menus (this might help workaround some reports of stability issues)
Changed the artwork handling to start using our own handler for aquiring the image data from the required file to primarily work around some issues with the MP3 decoder (in_mp3) plug-in (this will gracefully fallback to the appropriate input plug-in if the request fails)
Changed the loading of the artwork tab of the File Info (Alt+3) dialog to do one less artwork related query on loading to improve loading times
Changed the replacement local library plug-in to allow for more of it's specific metadata to be ATF accessible (done based on an issue via reddit so that %lastplayed%, %lastupdated%, %filetime%, %filesize%, %dateadded%, %ispodcast%, %podcastchannel%, %podcastpubdate% & anything else I've forgotten of the local library specific metadata can be accessed if the plug-in is present - this may need some further tweaking fyi)
Changed how the image resources of the WACUP provided library plug-ins are handled as part of some internal re-working for possibilities later on
Changed how the installer detects SSE2 CPU support to improve successful detection
Changed the location of the MP4 Demuxer plug-in configuration on new / unmodified installs to provide a small reduction in loading time
Changed the Streaming Source plug-in to provide up to 2 stream outputs (this may require some minor reconfiguration of existing setups & only the first stream can be configured to automatically connect to the WACUP provided streaming server for the moment)
Changed how some of the supporting library dlls are loaded to reduce some of the bigger ones being loaded if not immediately needed
Changed when the win7shell plug-in initialises gdiplus to only happen when its needed which provides a relatively good closing time reduction (when compared to other plug-ins) if a taskbar preview was never drawn
Changed the crash reporter to now be fully implemented as part of the WACUP core instead of making use of a plug-in (see fixes) which resolves some stability & integration issues experienced when trying to keep it working as a plug-in compatible with how the Winamp core wants to work
Changed the default undo limit on new installs to be 10 instead of 50 which depending on the machine & settings configuration lessen some ui hangs / slowness seen when an action causing a new undo event to be stored is happening (later on the way this is all done will change to remove the need for the plug-in & hopefully remove most of the ui delay which can occur)
Changed the default loading state for some of the plug-ins with windows on new installs to lessen how many appear by default - too many is too much it seems :)
Changed the default loading state of the Audio CD playback, NSV Decoder & Portable Device Support plug-ins to be off on new installs if selected to be installed (this is done as an optimisation due to a lot of installs not needing them & requires enabling them manually via the appropriate plug-in management preferences page)
Changed to use Eridyne mode by default on new installs (this favours using the DirectShow input plug-in for video playback which is more reliable than the native input plug-ins which 5.666 provided)
Changed to use the Microsoft Detours library to massively improve the reliability of the WACUP core to be able to to do its hooking & live patching (this should now resolve the remaining quirks with patched functionality not working as well as some of the silent loading crashes)

Fixed a memory leak when checking if a file is supported by the current input plug-ins
Fixed the trim ATF method not correctly removing trailing space characters
Fixed the custom fallback artwork handling not live updating correctly due to invalid cache invalidation (needed a restart to be applied)
Fixed the classic albumart plug-in crashing when it gets some unexpected metadata
Fixed the classic albumart plug-in updating to show the wrong item when some of the options were changed & the current selection is meant to be showing rather than the currently playing item
Fixed the classic albumart plug-in not updating as expected when the custom fallback artwork handling is changed via the Artwork preferences page
Fixed the Discord updates being incorrectly limited on the number of characters allowed when using the multi-line support
Fixed the Discord & other ATF based aspects not dealing with emoji type characters correctly (thank you kobochat for reporting)
Fixed the line input plug-in crashing in some setups when attempting to start playback
Fixed some issues with the IPC_SET_PE_WIDTHHEIGHT handling not correctly validating input which could cause some odd sizing of the playlist editor when switching between modern skins back to classic skins (madness I tell thee, madness!)
Fixed some column text alignments in the Audio CD views to better match the rest of the library
Fixed a random crash on close if the Audio CD view was open and a metadata query was in progress
Fixed queued items (via the 'q' action in the main playlist editor, etc) not showing the queued item position if there was no length (this has been a limitation for far too many years & replacing all of the main playlist editor drawing routines for my own now allows this to work right!)
Fixed flickering of highlighted queued or missing file playlist items when doing fast scrolling downwards in the main playlist editor (finally due to the joys of double-buffered painting!)
Fixed beta build download links incorrectly being handled by the in-skin browser which was causing it to fail (and changed the other links on that preferences page to load in the default browser)
Fixed the expansion of @HAVE_LIBRARY@ in modern skins to work with additional parameters following (this helps to also get @HAVE_BROWSER@ working)
Fixed some podcast feeds incorrectly being handled when trying to make a HTTP/2 connection to the feed server so they will now gracefully revert back to a HTTP/1 connection automatically
Fixed all of the reproducible crashes related to the Internet Radio plug-in (e.g. when updating the cache & doing a search at the same time)
Fixed the Internet Radio view incorrectly running a double-search on loading
Fixed the Internet Radio plug-in not always animating the node icon when updating the stations cache
Fixed the Taskbar preview when set to show the current albumart using excessive CPU if the artwork image is high resolution (generally above 600x600px) due to not caching the artwork correctly & needing to re-process the image on every update of the Taskbar preview
Fixed the module plug-in not returning a valid 'family' metadata string
Fixed a shared file metadata failure between TagLib (and potentially other in-WACUP aspects) and reading of the metadata on Monkey's Audio files
Fixed tag.dll (TagLib) not having a version resource to match all other WACUP provided dlls
Fixed some of the plug-ins not updating correctly when artwork for the currently viewed file is deleted
Fixed files supported by the vgmstream input plug-in not generating a waveform via the Waveform Seeker plug-in
Fixed the the Waveform Seeker plug-in acting oddly with the background colour going white briefly when refreshing or changing to the base classic skin due to incorrectly handling the background colour brush used
Fixed the incorrect re-saving of the main winamp playlist (winamp.m3u8 in the settings folder) on closing when no changes had occurred
Fixed some of the media library plug-ins crashing when opened & there was nothing present in the main playlist editor (related to highlighting the currently playing item in the library views)
Fixed the podcast view updating the information pane more often than needed when changing the selection in the view
Fixed a number of crashes when abusing the loading order of the plug-ins from the normally expected loading order
Fixed some random crashes when plug-ins checking information relating to modern skins get incomplete due to the modern skin engine only having been partially loaded (classic skins ftw!)
Fixed the Album Art (gen_classicart.dll) plug-in corrupting the artwork cache (this was much more of an issue with massive artwork e.g. 12600x12600px where it crashes)
Fixed the Album Art (gen_classicart.dll) plug-in not drawing anything within the window or leaving a gap for the artwork in details view mode when no artwork is able to be obtained
Fixed loading issues if youtube-dl & supporting dlls are incomplete due to a crash on loading
Fixed removing a single selection from the excluded file list window not always ensuring the change was correctly saved for the next session
Fixed the embedded windows to correctly maintain minimum dimensions when invalid sizes are applied to the window on loading / programmatic setting
Fixed the occassional corruption of aspects of the skinned windows under classic skins (e.g. the window title)
Fixed the contents of skinned windows sometimes not updating skin change / refresh
Fixed some of the command-line options being massively slow to respond (especially if a ui needed to be displayed)
Fixed the crash reporter not always including the generated Info Tool report
Fixed a crash seen when trying to retrieve CD information when some of the expected information in the Musicbrainz response is not provided
Fixed the installer incorrectly removing the legacy font rendering engine within freetype.wac on subsequent updates (this relates to older modern skins not designed for the Winamp 5.5+ updates)
Fixed some installs not being able to load modern skins if freetype.wac was present the settings cache was enabled (as odd combination of issues working against each other that luckily was able to be patched out this time around)
Fixed some display issues when smooth resizing is enabled in relation to the way the main playlist editor scrollbar is drawn to prevent some odd scaling related artifacts
Fixed not being able to add Apple podcasts the podcasts subdomain instead of the (seemingly now deprecated) itunes subdomain url
Fixed registering global hotkeys not always working causing some to randomly fail or for the configuration to become corrupted
Fixed a sporadic crash on loading by the Winamp core related to the delayed loading of the nsutil.dll supporting library
Fixed the Winamp core not being able to handle the downloading of HTTPS based playlist urls & other associated files
Fixed a crash when allowing any currently downloading podcasts to be cancelled on exit
Fixed the podcast downloads view status column not sorting as expected for items not in the process of being downloaded
Fixed the archive playback plug-in trying to use other input plug-ins which have been intentionally disabled via the preferences
Fixed a crash when loading or viewing the metadata on some corrupted FLAC files
Fixed a crash on loading the global hotkeys plug-in (found whilst abusing plug-in loading)
Fixed incorrect usage of an OS api used to help make some internal strings case-consistent
Fixed some of the custom added tabs on the Unified Alt+3 dialog showing a generic string
Fixed a crash in the Yule Log plug-in related to a CRT mis-match between it & the WACUP core
Fixed some of the scaling differences seen with modern skin beat visualisation vs Winamp 5.666 (may not be 100% but it's closer now)
Fixed some setups not allowing modern skins to run their beat visualisation modes without forcing a settings toggle
Fixed the classic skin generic windows loading into window shaded mode when enabled & using the fixed resizing mode for such windows
Fixed the contents of the Waveform Seeker plug-in not being drawn correctly if some of the window client area is off-screen
Fixed the time display of the Big Clock plug-in not being drawn correctly if some of the window client area is off-screen
Fixed the main playlist editor items not being drawn correctly (e.g. partially drawn) when OS text scaling is enabled or with larger fonts where some of the characters would be clipped
Fixed plug-ins showing as not loaded when some 3rd party plug-ins force loading of them before the WACUP plug-in loader has completed loading
Fixed streams ending with .audio so it looks like a file extension being handled by the wrong input plug-in
Fixed the skin provided font not being used when the preferences option was enabled to make use of the font
Fixed Milkdrop not being able to locate some of the texture files after changing the default preset location
Fixed the autoplay plug-in incorrectly causing a volume change on loading when the autoplay setting is off
Fixed the loading of items into the main playlist not attempting to get the metadata when that option is set in the preferences (this isn't the default setting for handling items nowadays - reading in the background is - but some may still use it so it needed to be fixed)
Fixed the Edit Item Metadata in the main playlist editor not allowing the podcast attributes to be changed
Fixed downloaded podcasts not always being correctly added to the local library database due to a loading time quirk the caused the podcast plug-in to not always know that it had access to the local library database tagging service
Fixed an accessibility issue on the 'About | Updates' preferences page where tabbing through the window would not select the tab at the top
Fixed the Playback preferences dialog not correctly initialising things on loading (issue caused by a change in the previous build)
Fixing a regression with $abbr() ATF method related to an emoji handling fix
Fixed the playlist editor menus incorrectly appearing when using a classic skin & windowshaded mode is enabled
Fixed the updater not handling non-beta builds correctly (a server-side fix is also in-place now to help fix this for all existing builds)
Fixed changing the streaming server password not always being applied without a restart of the player to ensure its applied
Fixed the streaming server port & password configuration options being left enabled when the server is running
Fixed a compatibility issue with the streaming source plug-in when trying to connect to some servers
Fixed issues with the streaming source plug-in not always remembering the encoder settings correctly
Fixed some of the plug-ins (usually if loaded by another plug-in) not being handled via the settings cache as expected (also helps with above)
Fixed a delay loading failure causing a crash in some setups when trying to play MP4 based files
Fixed a crash when skinned preferences is loaded (related to a fix applied in the prior beta build)
Fixed the milkdrop visualisation window sometimes moving out of the expected position (more of an issue when double-size mode is enabled and the plug-in window is docked or close to the edge of the usable screen area)
Fixed non-embedded artwork not being displayed in the File Info / Alt+3 dialog (this has been broken in the last few beta builds)
Fixed a crash when scrolling through the playlist editor in classic skin windowshaded mode & accessing a wav file (other file formats were potentially affected so additional changes have been made to avoid the issue which caused this)
Fixed a crash seen when enabling the agent (but not directly related to it) as a side-effect of a change in the build 3996 for hooking more of the plug-ins
Fixed the wrong IP address being shown in some configurations on the Streaming Server preferences page when using a wireless connection (still needs some refinement)
Fixed the podcast view not always updating as expected on skin related changes
Fixed the menu on the Modern Skins -> Current Skin preferences tab being skinned when the preferences window is not set to be skinned
Fixed some files not being processed correctly with the ReplayGain plug-in due to an issue passing around data internally for the file
Fixed a crash when viewing some urls in the main playlist editor & artwork is set to be shown for the currently selected item in the artwork window
Fixed YouTube playback not working due to issues playing HTTPS based streams with the original MP4 demuxer plug-in from the 5.666 install
Fixed some MP4 based files not being processed via the Waveform Seeker plug-in
Fixed double-clicking in the main playlist editor not always working depending on the visible height of the window
Fixed the current modern skin colour theme preferences tab not using the expected colouring for the selection when skinned preferences is enabled
Fixed drag+dropping urls onto the main playlist editor not being added in the expected location especially under double-size mode
Fixed a crash with the new MP4 Demuxer (in_mp4.dll) plug-in when ReplayGain is enabled & appropriate information was found (related to a mis-match between different runtime libraries which saw some other plug-ins updated to avoid this issue when they're moved to be built with a different compiler)
Fixed the header information on the artwork tab of the File Info (Alt+3) dialog not updating correctly when no valid artwork can be found
Fixed some JPEG files (seem to be Abobe generated ones) not able to be loaded
Fixed a delay loading failure causing a crash in some setups when trying to play H264 encoded video files or ALAC encoded audio files
Fixed a crash issue with the undo plug-in being passed invalid data from a Winamp provided api
Fixed the corruption issue that caused the nde.dll to have to be reverted back to the one from build 3276
Fixed a crash when trying to update the metadata of MP4 based files
Fixed the installer not ensuring libmp4v2.dll is installed for all of the components that might try to load it
Fixed an issue causing the data sent to the visualisation plug-ins to miss the first few seconds of data subject to the output plug-in buffer size due to a patched method not working correctly in all scenarios
Fixed the skinned Components preferences page incorrectly being drawn with the checkbox it doesn't use
Fixed a crash when using the remove duplicate items option in the main playlist editor
Fixed an issue that could cause the visualisation plug-in to stop receiving data to render
Fixed a crash when inserting a separator due to some of the recent changes in how menus & playback is done
Fixed the sprite loading from milk2_img.ini not working correctly due to the move to the file in the user settings folder & it looking in he wrong sub-folder for the image files
Fixed in_zip not providing a "family" atf string
Fixed the replacement local library plug-in not always showing all of the required information in the view (this may cause the queries to run slower than before depending on how the view is configured due to it pulling down all of the information that is needed which will be slower)
Fixed a crash related to starting playback under a modern skin that has been plaguing some since build 3958
Fixed some of the rate of streaming issues with the Streaming Source plug-in when playback is paused / stopped (there is now a rough KB/s output provided to see if the output is racing ahead - more work will be done but this quick fix balances things out better than how they have been)
Fixed the albumart plug-in sometimes updating itself with the current artwork image multiple times on initial loading which could appear as flickering of the window contents
Fixed some of the generically skinned windows not being drawn as expected during initial loading & typically appearing as a white area (colour might vary depending on the Windows theming) before then appearing as expected
Fixed some issues with the profiling mode due to inconsistency in plug-in loading
Fixed some inconsistency seen in the loading of the w5s system component files
Fixed a random crash on loading related to how the Winamp core would load the crash reporter plug-in which could conflict at times (see changes)
Fixed the default location of some of the windows on first run with a classic skin (will look into modern skin default locations later on)
Fixed a number of issues causing Vorbis file tag editing to not work as expected or to crash in some scenarios (the fun of text conversions)
Fixed twitter authentication not working correctly due to a logic check breaking the persistence of the connection
Fixed the Streaming Url Processor plug-in preventing urls it supports from playing (especially if autoplay on start-up is enabled) if the url is already deemed valid to play and so does not require youtube-dl to be run beforehand to get an updated working url to play
Fixed the ability to click to pause / resume playback in the video window not working (really not sure when this broke but it now works again)

Other misc code clean-up, associated bug fixes during development & all the other developer fun that goes on

Removed the cPro skin update system due to the demise of the skinconsortium website (as WACUP is bundling a modified maintained copy of cPro there's no need to have it checking for updates along with removing the potential security issue with accessing an unmanaged domain)

Updated cacert.pem to latest (15 May 2019)
Updated the Big Bento Modern skins to 1.1.4 (14 Feb 2019)
Updated the cPro (ClassicPro) engine to 2.04 (16 Apr 2019)
Updated expat (xml.w5s) to 2.2.7 (19 Jun 2019)
Updated LAME (lame_enc.dll) to 3.100.2.1 (23 Jul 2019) for stability fixes
Updated libcurl (libcurl.dll) to 7.65.2 (17 July 2019)
Updated libebur128 (ml_rg.dll) to the latest github commit (17 May 2019)
Updated libFLAC (libFLAC.dll) to 1.3.3 (4 Aug 2019)
Updated libjpeg-turbo (image.w5s) to 2.0.2 (14 Feb 2019)
Updated libnghttp2 (libcurl.dll) to 1.39.2 (19 Aug 2019)
Updated libopenmpt (in_mod.dll) to 0.4.6.11911 (10 Aug 2019)
Updated libopus (libopus.dll) to 1.3.1 (12 Apr 2019)
Updated libpng (image.w5s) to 1.6.37 (14 Apr 2019)
Updated libsndfile to the latest github commit (2 Apr 2019)
Updated openssl (libcurl.dll) to 1.1.1c (28 May 2019)
Updated lzma (lzma.dll) to 19.00 (21 Feb 2019)
Updated minizip (zlib.dll) to 2.8.9 (4 Jul 2019)
Updated Monkey's Audio (in_ape.dll) to 4.84 (10 Aug 2019)
Updated taglib (tag.dll) to the latest Git commit from 24 Jul 2019
Updated unrar (unrar.dll) to 5.71.1 (2 Apr 2019)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 4 Aug 2019


Preview Version: 1.0.1.3276
Released: 28 January 2019

Added an initial Streaming Source plug-in (aka replacement Source DSP) to help validate it's usage for personal streaming in combination with the WACUP provided Streaming Server (if also installed)
Added some additional internal handling & hooks for the Streaming Source plug-in (aka replacement Source DSP) to simplify how it can get now playing information from the Winamp core without hooks & subclassing as DSP often require (not what we want to be doing to keep things cleaner)
Added initial support to allow the shuffle table to persist between sessions to help resolve one of the big complaints related to shuffle (this means it won't try to play files that have already been played as often - this is experimental so it may need some edge cases to be fixed)
Added a 'shuffle' diagnostics preference page (under the 'advanced' preferences group) to help visually inspect the in-memory shuffle table
Added initial support to deal with enter & double-click actions in the main playlist editor not updating the shuffle table to prevent playing the played file again (reported by a beta tester & confirmed with the shuffle table inspector above :) )
Added initial 'Raw Metadata' tab implemenatation to the File Info (Alt + 3) dialog to aid in testing the taglib integration (this is the start of potentially moving away from the input plug-ins handling most of the common tag formats to instead be done more consistently as a core service)
Added an ASIO output plug-in based on the source code by Otachan which makes it portable install compatible & adds an experimental volume control option (this works on the global master volume if enabled) & some other minor clean-up to work better within the needs of a WACUP install
Added the ability to single-click in the video window to pause/un-pause the currently playing item (this matches expected control methods for video playback though there is a bit of a lag due to having to determine if its a single or double-click from how Windows provides such events)
Added initial support to specify proxy connection modes (e.g. SOCKS4, SOCKS5) on the General preferences page (not all plug-ins & features use this which will be improved over time as more of the original Winamp plug-ins & features are replaced with WACUP versions)
Added logging now playing only to a specified file via the Yule Log plug-in (see the Play Tracking -> Now Playing preferences tab) which might be useful for streamers using the likes of OBS / SLOBS as it doesn't keep all of the playing history in the log file as the original handling does
Added new Mikdrop presets by En D from the 'MD Episode 1 - New Millenium' & 'MD Episode 2 - Out of Da Club into Da Head' packs (more visual goodness for you to enjoy)
Added new Milkdrop presets by Fumbling_Foo (more visual goodness for you to enjoy)

Changed the WACUP provided library plug-ins to hide the clear search button if there is no search & to use an 'X' instead of 'clear search' to give more space & a slightly less cluttered library view (more to come when other things related to skinning are finally replaced)
Changed mpg123 to now be a shared dll (mpg123.dll) instead of just used by the OpenMPT (in_mod.dll) based input plug-in (this relates to the vgmstream change where supporting dlls were not being installed)
Changed vgmstream (in_vgmstream.dll) to be built with VS2017 instead of VS2008 to resolve some playback handling issues with the older compiler
Changed the installer to default to a more appropriate folder when selecting the portable install mode (setting a custom path via the command-line should still be honoured for those doing such things)
Changed how the new default mode to use the spacebar to play/pause the currently playing item in the main playlist editor incorrectly blocking a number of actions that would otherwise scroll the currently playing item into view (a bit of a compromise but it should be less jarring in usage)
Changed the skin preferences page when using the Skin Manager plug-in to make the skin information area more prominent & show more at once
Changed the naming of the Yule Log preference tabs to better fit with the additional logging mode added into this build
Changed the installer to wait a bit longer if it needs to close an already running WACUP instance to better avoid an installer error
Changed the default setting for WM_APPCOMMAND hotkey handling (aka default multimedia key handling) for new / un-modified installs to now be enabled
Changed the Internet Radio plug-in & the new Streaming Source plug-in to make use of a shared genre list to reduce duplication
Changed some of the internals & build system for how beta vs preview/final builds are built to make the overall process quicker
Changed the installer to preserve AVS (vis_avs.dll) if present (e.g. when updating over an existing install - which still is not recommended)

Fixed most of the supporting dlls vgmstream requires not being correctly installed (this is now handled via a download during install if required)
Fixed loading of the FFmpeg supporting dlls from the vgmstream_dlls folder due to a quirk of delay loading and sub-dependency resolution
Fixed the installer incorrectly removing the Pluginsvgmstream_dlls folder when it didn't need to (found with the changes above causing downloads to occur when they should not have been happening)
Fixed the modern skin engine not correctly showing the time remaining for hh:mm:ss formatted time display strings (the minus sign would only show for times under an hour for some odd reason which broke the expected longer time remaining display so that check was thankfully able to be patched out)
Fixed the clear button not always working in the Internet Radio library view
Fixed opening the notification area preferences tab breaking using the keyboard to move up/down in the preferences tree
Fixed clipping of the skin name from modern skins on the skin preferences page information area
Fixed the send-to menus not working in the original local library plug-in (ml_local.dll) due to enforced enqueue & play menu items which do not work (prior changes removed the hackish work arounds to try to get that support working - this is why we have a replacement plug-in to do it cleanly!)
Fixed the splash screen window not being cancelled when clicking on it (as the native version would do)
Fixed the play & enqueue+play actions not working correctly in the podcast items list
Fixed the currently playing item not being correctly updated in the podcast download views when new podcasts are added with the list open
Fixed the failure to load of some WACUP & 3rd party plug-ins related to a change in how dll dependencies are loaded to fix other loading failures
Fixed slow column sorting issues with the filename related values in the replacement Local Library plug-in views (more so with decreasing sorts)
Fixed some multi-line comment tags not being correctly displayed on the File Info (Alt + 3) dialog
Fixed the preferences window being on top of all windows even when WACUP was not the active program
Fixed the preferences window now being re-sized to the skinned frame (if that mode is enabled) to deal with OS text scaling quirks
Fixed a crash when trying to use the 'Remove Duplicates' main playlist editor action (a JTFE bug)
Fixed restoring the shuffle table sometimes causing a crash on load
Fixed the shuffle table being incorrectly re-read on closing which could lead to potential corruption of the file (found whilst fixing above)
Fixed slow loading of the shuffle diagnostics preferences page
Fixed some possible causes of the crashes seen in the NDE database (this seems to affect more the Internet Radio view)
Fixed trying to drag & drop items on the naviagtion causing a crash if the replacement library bookmarks plug-in was enabled
Fixed dropping an item on a library bookmarks category node not having the newly added item assigned to that category
Fixed some stability issues found working on the replacement Media Library Core plug-in (gen_ml) with the existing library plug-ins if features are not present &/or working as expected (this shouldn't be needed when things are feature complete but it's better to prevent against crashes, etc)
Fixed some occassional text corruption issues on the 'basic info' tab of the File Info dialog

Updated cacert.pem to latest (23 Jan 2019)
Updated libnghttp2 (libcurl.dll) to 1.36.0 (18 Jan 2019)
Updated libopenmpt (in_mod.dll) to 0.4.2.11243 (22 Jan 2019)
Updated minizip to 2.8.3 (27 Jan 2019)
Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 28 Jan 2019 (first re-sync in over 5 months, oops)


Build #3174 Changes:

Added initial support to indicate missing files in library playlists to complement the option for the main playlist editor (this will just show a cross before the playlist item number / title depending on settings instead of changing the background colour at this time)
Added support for Discord now playing to use the state value to provide a second line of text if set in the preferences
Added a 'change origin playlist' option to the library playlist root menu for external playlists to make it easier to update the reference if it has been moved (e.g. to another drive) without having to remove the playlist reference first
Added an 'edit playcount' option to the library history view to act as a starting point to deal with moving files & needing to maintain playcounts
Added a confirmation prompt before allowing all of the preference pages to be hidden from the extended control menu
Added support to convert public Acast podcast pages into the RSS feed url so it can then be managed by WACUP
Added a small 'beta tester' section on the about preferences page for anyone interested in becoming a beta tester if they're only using a preview / final build

Changed from the long standing 0.9.9.xxxx version numbers to now start incrementing up from 1.0.0.xxxx with the shift to public preview builds
Changed the replacement Local Library plug-in to set 'last updated' to be the last modified time from file when adding new files to the database
Changed the playlist option to prevent pressing space scrolling the currently playing item into view to now support (by default if not already changed) using play / pause to toggle the playback state (see the options on the 'general' preferences page to control this when it's enabled)
Changed the installer to improve the handling of the 5.666 EN-US redux installer to better ensure a corrupted copy will not be used
Changed the 'Eridyne' mode on the Advanced preferences page to also handle WMA & WMV as we do not install the WMA playback plug-in & DirectShow can play most of those files
Changed the installer to better prompt if trying to install over an existing Winamp install as well as preventing installing over incompatible versions (i.e. anything that isn't 5.66/5.666)

Fixed the browse button not appearing on the edit playlist entry dialog in the library playlists view
Fixed the library playlist root view not appearing correctly with a missing playlist item selected
Fixed some quirks with the library playlist status message when information is missing
Fixed a text alignment issue of the playlist item time in the main playlist editor when the missing files highlighting mode is enabled
Fixed some SSL related issues with the jnetlib implementation but more needs to be done to allow for example working HTTPS based MP3 streams
Fixed the custom splash.bmp/splash.png support not correctly centering the image when it's shown on screen
Fixed the splash screen not showing on the same monitor as the classic main window (this fixes a Winamp bug)
Fixed the Playlist Undo plug-in crashing in rare cases (based on crash reports received from beta testers)
Fixed an occassional crash in the Waveform Seeker plug-in after completing file processing or when file processing is active when closing
Fixed the installer not correctly checking the Big Bento Modern skin versions when needing to updating existing installs
Fixed the podcast plug-in not correctly adding multiple selections to the main playlist editor
Fixed a double-border drawing issue on the podcast subscription node listviews
Fixed (hopefully) the playlist preferences node not maintaining its expanded state
Fixed moving items in the queue manager views not always keeping the selection on the moved items
Fixed header text being clipped on the Discord now playing preferences page

Other misc code clean-up & build process organisation in preparation for a public preview build (finally!)

Updated appropriate copyright dates to 2019
Updated libsndfile (libsndfile.dll) to latest code release (1 Jan 2019) to resolves a number of vulnerability issues
Updated lzma (lzma.dll) to 18.06 (30 Dec 2018)
Updated the Big Bento Modern skins to v1.1.3 (30 Dec 2018)
Updated the Milkdrop2 presets by Fumbling_Foo for your visual enjoyment




Search   Contact us   Privacy Policy   About   Advertise   Forum   RSS Feeds   Statistics   Software   

Site layout: Default Classic Blue

Affiliates: free-codecs.com

©1999-2020 videohelp.com