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