Home Artists Posts Import Register

Downloads

Content

Hope you're all keeping as well as you can do.  As I'm not in a position to provide a viable new beta build to try out which I realise has been almost 2 months since the last one (time is flying but also not in that weird way it can), I thought it might be nice to at least see the current state of the changelog for what will become a new build as a thank you for your support.

So below is the changelog as it currently stands since beta build 6050. I've also attached a plain text copy of this as I'm not sure how well this will appear as a post on here as well as the overall changelog since the last preview build 5684 which is approaching 200 lines :eek:

  • Added the currently available visualisation plug-ins onto the visualisation submenus so it's easier to quickly switch or disable using a visualisation without having to go into the preferences
  • Added the ability to set an older Winamp logo via the Discord now playing support as well as making it easier to enter a custom app_id if you want to use your own thing (within the limitations in the WACUP forum thread)
  • Added the ability for the visualisation plug-ins to now be handled by Crystal Classic skins (classic skin window transparency) via some additions to the WACUP core making it possible to detect generic skinned windows not created on the main UI thread (blah blah blah this makes things more consistently handled :) )
  • Added a /NOPATHSINI option to the installer for those really wanting to get a pre-5.1x style handling of the WACUP settings with new installs (don't do this on an existing install as you will regret it) so it's not within a sub-folder within the main program file (weird legacy request ;) )
  • Added a compatibility mode for the MAD input plug-in (in_mad.dll) so it can be used in a portable manner without needing to run as an administrator due to it trying to read / save it's settings from the OS registry (it'll now redirect them to be read from an in_mad.ini from the WACUP settings folder)
  • Added an initial test release of the Not So Wavey replacement WaveOut | MME output plug-in which unlike Winamp's WaveOut (out_wave) plug-in it will by default alter the output volume / pan directly on the audio without a discernable lag (unlike out_wave's alternate volume mode which was only ever as responsive to such changes as the length of the output buffer) instead of altering the WACUP process volume


  • Changed the Milkdrop desktop mode handling to use a method that will work on Windows 8 & newer without it requiring additional dlls nor it having the flickering issue that's plagued this feature for years due to Windows changes (note: this change kills the mode on Windows 7 installs - I'm still looking for a nicer solution that's not affected by 32-bit vs 64-bit Windows versions as the prior solution was)
  • Changed the WACUP core dll to now be a VS2017 compile which was the last thing being built as part of the WACUP provided files with the older VS2008 compiler (hopefully I've caught any issues that exist from mis-matched compiler quirks that can occur)
  • Changed the installer to download the default modern skins if selected instead of always shipping them within the installer &/or patching copies from the 5.666 installer (this gives an ~20% saving on the main WACUP installer whilst reducing the overall download requirement for subsequent updates as the modern skins provided aren't going to be updated every build so I'll save everyone & myself some bandwidth)
  • Changed how some aspects of installation are handled with leveraging the WACUP core to now better behave when updating an existing install
  • Changed the visualisation menu items for start/stop & configure to only be enabled if there's a valid visualisation plug-in to use
  • Changed how the bookmark menus are handled to better handle the library bookmarks plug-in not being installed (this is so something will be possible even if the full experience & some of the menu items are disabled due to the plug-in not being installed / enabled)
  • Changed to use less of the main window procedure handling from the Winamp core to better help with some of the locking issues with the recent builds as well as leaving (hopefully) just the main window drawing & the actual skin change handling under the Winamp core with everything else routing directly through the WACUP core now (aka another step closer to dropping the need for the Winamp core, yipee)
  • Changed how classic skins handled starting minimised (prior state or when forced via the loading shortcut properties) to do a better job in not having the windows show up until WACUP is restored to see it (there's still going to be cases where this isn't 100% such as from 3rd party plug-ins & also the legacy library window for the moment but it's still better compared to letting the Winamp core handle things)
  • Changed how adding or editing a podcast feed is done to better deal with slow web responses when trying to access the feed information so it now shouldn't be causing WACUP to lock-up / trigger the OS hung process handling
  • Changed how a number of the shared dlls are built to remove more unused code within them for almost 200KB of file size saving (not a lot in the grand scheme of things but every little helps)
  • Changed some of the API message handling to improve compatibility with some plug-ins along with trying to resolve some of the weirder crash reports seen over the past few months
  • Changed the Yule Log Twitter support to now use a non-deprecated libcurl api (which also helps to reduce the compiled libcurl size by a few KB)
  • Changed to use just the modern detours library instead of the previous hybrid compile with both the modern & a legacy version required for the skinned preferences scrollbar handling (this change may help with some of the conflicting weirdness experienced with the library scrollbar skinning though more needs to be done when it comes to skinned scrollbars)
  • Changed how some of the extraction works with the installer to better fit in with the compiler related changes & the sharing of the common runtime files
  • Changed to not load the specific old version of the AudioScrobbler plug-in that comes with the ml_ipod plug-in since it'll fail on all supported Windows releases due to a framework bug in the old plug-in
  • Changed to use a different way of handling the option for disabling always on top when a fullscreen application is detected instead of using the appbar based method from the Winamp core (this option with Winamp has been a source of odd bug reports for years so by using a Vista+ era api instead of a Win9x era api will work better along with not having a monitoring window running all of the time when not required)
  • Changed how the classic artwork window deals with the rating control (if visible) to reduce the rate of metadata re-querying that's done (e.g. when moving the mouse over the window)
  • Changed a lot of the internal WACUP core handling to now use more of the internal methods instead of the SendMessage(..) based ones that were needed before taking over the API handling (this provides a small performance boost by reducing how many messages have to be processed via the main window & in-turn any of the subclass procedures hooked on to the main window's)
  • Changed the WACUP general purpose plug-in API to now support a limited 'messageproc' callback solution (similar to the media library plug-ins) which helps remove a 3rd of the main window subclassing done by the WACUP provided plug-ins along with reducing the overhead involved with main window subclassing (this may make things feel a bit snappier depending on the setup as there's less things touching all of the messages going through the main window)
  • Changed how the generic skinned windows are created to effectively halve the time taken to create the raw window with my testing (for me this is a reduction from ~6ms to ~3ms which applied across all of the default WACUP windows is an ~20ms saving - this may not seem like a lot but any reduction is welcome though mileage will vary)
  • Changed it so if a plug-in has been disabled & a close is initiated that the restart message from the preferences will not be shown
  • Changed a number of things in preparation for replacing the Media Library core plug-in (gen_ml.dll) with an integrated WACUP replacement (this has been a long time coming but it should be worth it!)
  • Changed how the OpenMPT Decoder plug-in (in_mod.dll) is built to workaround a weird extreme slowness seen when initially loading the plug-in compared to all other plug-ins & supporting dlls (against my test setups it was often taking longer for in_mod just to be loaded to the point it can be queried for validity as an input plug-in vs how long it takes to do loading & initial initialisation of all of the general purpose plug-ins!)


  • Fixed a crash seen when starting playback or querying the %playcount% ATF value with a corrupted library history database
  • Fixed (by replacing Winamp's handling) using the Numpad+1 / Numpad+3 to go back/forward by 10 playlist entries being slow
  • Fixed the Silence Detection idle timeout not being correctly disabled when the main silence detection option is being disabled (timer related weirdness)
  • Fixed a conflict with TortoiseGit where it would prevent some of the VS2017 runtime files within the WACUP program folder from being removed on uninstall
  • Fixed a potential crash that could occur during install due to a combination of dll loading order related weirdness
  • Fixed the classic Nullsoft easter egg not working due to some of the recent changes to handle more of the actions from the Winamp core
  • Fixed the OpenMPT Decoder preferences not showing the actual gain & stereo separation values (missed when doing a code merge some time back it seems :( )
  • Fixed the 'Generate HTML playlist' option not trying to automatically open the generated HTML file in the default browser (my IPC_OPEN_URL was incomplete)
  • Fixed WMA metadata sometimes having the last character incorrectly clipped off due to a prior taglib related change & how the BOM in some strings are used
  • Fixed the classic skin video window not showing the deactivated state when switching to a generic skinned window that was not created on the main ui thread (e.g. skinned visualisation windows)
  • Fixed enabling visualisation or DSP plug-ins & then allowing WACUP to restart to enable the plug-ins not then having it as the expected active plug-in (assuming the input selection wasn't then changed)
  • Fixed a crash related to loading corrupted NDE databases (note: there still be issues & depending on the corruption a large amount of the database may no longer be accessible but this is better than a full process crash & further potential data corruption)
  • Fixed the probable cause of the remaining message processing stack overflow crashes seen over the 1.0.14 beta builds (which hopefully the fix applied won't break anything else)
  • Fixed the Discord now playing not always showing the correct status if playback is restored in a paused state
  • Fixed the Discord now playing mode causing the odd hangs / crashes that have been seen when the feature is enabled due to multiple threads being generated which would then cause a block on the stopping mode (thanks to Dr Flay for trying out things which finally generated crash reports that actually helped to figure out what was going on at last since this has been an issue for some for many months)
  • Fixed a number of internal issues when attempting to build the WACUP core using the VS2017 compiler including some weirdness with some of the preference entries showing garbled text
  • Fixed a metadata handling issue with the PSF player plug-in
  • Fixed the possible cause of some of the weirder modern skin engine related start/stopping deadlock issues seen from the crash reports
  • Fixed the probable cause of trying to restart a visualisation plug-in too fast causing an error to be thrown or a running visualisation plug-in preventing closing with a modern skin from completing correctly
  • Fixed a number of cases where I was not cleaning up locally set accelerator tables which could cause a slow memory leak in some specific scenarios if the window related to it wasn't correctly created / destroyed (the fun things you find when trying to replace API interfaces from the inside-out!)
  • Fixed stopping the current visualisation plug-in sometimes being a lot slower than would be liked (which could appear as modern skins acting a bit oddly for a few seconds) as well as it causing an unnecessary delay on the overall WACUP closing time
  • Fixed the wrong menu being shown when opening the 'sel' button in the main playlist editor window (typo, oops)
  • Fixed the probable cause of a crash seen by some when the AAC decoder service fails to be correctly loaded
  • Fixed the streaming source plug-in incorrectly send the next song when the option has been set to disabled
  • Fixed some of the Milkdrop stats output re-querying strings that won't change for a small boost in overall fps
  • Fixed the probable cause of some hang crashes experienced when playing YouTube videos over an unstable connection & a track change is then attempted but cannot complete
  • Fixed some more instances of configuration settings being saved when there's been no actual change in the settings (this may help with some Milkdrop window position quirks)
  • Fixed the probable cause of a deadlock experienced with a ml_ll library import when handling a file using the legacy metadata handling mode whilst also attempting to start playback with a modern skin
  • Fixed a number of drawing issues with the skinned up/down control (mostly due to weirdness with how the hover state was being handled)
  • Fixed the classic ml_ipod plug-in not able to load due to a supporting dll failure as a result of a security related feature of WACUP
  • Fixed an issue with the installer where one of the NSIS plug-ins might not be removed prior to the installer cleaning up after itself (the temp folder would be removed after a restart but this helps to better ensure it'll be removed completely there & then)
  • Fixed the Milkdrop window when going into fullscreen mode (not when using the fake fullscreen mode) often shows the edge of the window to be used before the rendering has begun
  • Fixed the current installer not removing older copies of the WACUP installer from it's updates folder (if any exist) from the self-update support (depending on how the installer is run the current installer may still be left in the updates folder)
  • Fixed the Waveform Wrapper plug-in not correctly handing off some WAV files with MP3 data in them which could cause brief blips in the audio output
  • Fixed Milkdrop sometimes hanging / going slower a few seconds after WACUP is loaded & the information about the current song is being displayed via the F3 toggle (most probably don't even know that option exists but it helped to more consistently replicate a loading bottle-neck on loading along with the option to show the current frame rate - I now get an almost instant 50-60FPS compared to low 20FPS before)
  • Fixed the Alt+3 stream info dialog for HTTPS streams handled via the in_mp3 plug-in not showing the current stream information due to a force HTTPS -> HTTP remapping to allow the in_mp3 to even work
  • Fixed the replacement local library plug-in not correctly handling importing some files where some of the basic expected metadata is missing which would incorrectly cause the basic guessing to be used
  • Fixed some of the initial slowness on loading when the classic artwork window is enabled (there's still a lot more to do related to this in general as the Winamp core drawing the main window is now hindering things but this change helps a bit at least to my eyes with a fully loaded classic skin)
  • Fixed the preference options on the library nodes not always working or opening to the wrong item
  • Fixed a compatibility issue with some older plug-ins that use the IPC_FORMAT_TITLE api (e.g. ml_dlna)
  • Fixed a crash with the Streaming Source plug-in when trying to process a really long playlist file path
  • Fixed some slowness with the initial loading of the library playlists view as well as it not auto-scrolling the selected playlist into view
  • Fixed the internet radio view list flickering when any form of resizing is being done to the view (a side effect of how the tree was drawn)
  • Fixed the second information line on the discord status sometimes showing gibberish
  • Fixed 'bitrate' not being correctly returned via ATF / local library imports due to a typo causing the fallback mode to be used (i.e. guesses based on the file size)
  • Fixed some cases of newly added items into the replacement media library not always triggering an appropriate local library view update to allow those items to be seen without manually refreshing the view


  • Other changes related to moving more of the general handling over to just be done via the WACUP core without Winamp's core doing some of it (e.g. as with the visualisation & DSP plug-ins)


  • Updated cacert.pem to latest (14 Oct 2020)
  • Updated LAME (lame_enc.dll) to 3.100.2.4 (25 Aug 2020) for a 51KB size reduction due to it now using mpg123 for certain features
  • Updated libcurl (libcurl.dll) to 7.73.0 (14 Oct 2020)
  • Updated libexpat (xml.w5s) to 2.2.10 (3 Oct 2020)
  • Updated libopenmpt (in_mod.dll) to 0.5.3.13775 (25 Oct 2020)
  • Updated libsidplayfp (in_sidious.dll) to 2.0.4 (1 Oct 2020)
  • Updated libsndfile (libsndfile.dll) to 1.0.30 (19 Sep 2020)
  • Updated minizip (zlib.dll) to 2.10.2 (25 Oct 2020)
  • Updated Monkey's Audio (in_ape.dll) to 5.58 (27 Oct 2020)
  • Updated OpenSSL (libcurl.dll) to 1.1.1h (22 Sep 2020)
  • Updated Patreon list
  • Updated unrar (unrar.dll) to 6.0.1 (22 Oct 2020)
  • Updated vgmstream (in_vgmstream.dll) to the latest Git commit from 28 Oct 2020
  • Updated zlib-ng (zlib.dll) to latest re-based update (24 Oct 2020)

If you've gotten down to here then well done :)  I hope now it's a bit more obvious why it's taking longer to get the new build out as there's a lot going on especially with getting the replacement media library core to an initial testable state & getting to the bottom of the stability issues that have plagued the past few beta builds. Enjoy!

-dro

Comments

Anonymous

Thanks as always for putting so much work into this project. I only wish I could contribute more than just financially!

Anonymous

I am waiting, salivating for the Milkdrop desktop mode. You're creating the perfect home pc audio player software, idk why the whole industry doesn't want a piece of this action

Anonymous

I really don't know how I can be more appreciative. Thank you very much for this project to exist and even being contributed.

wacup

The rise of walled garden ecosystems & them wanting (or needing) to maximise profits to pay back their investors is most likely why it's just a mess nowadays. Hopefully desktop mode has worked ok now the builds are out with it.