Week 87 Progress Update (can we keep this up…)

Like the title says, can we keep up the habit of doing weekly updates again? I’m not sure two posts makes a habit but little victories mount up in the end :)

As the development is a rolling process, you may want to check out last week’s update as a few of this week’s work is a continuation.


The following things were worked on (in no particular order as taken from my internal development progress changelog):

  • Finishing off the classic skin generic windows double-size support so it doesn’t break modern skins and other code clean-up to finish this off

  • Attempted some more work on making a gen_ml.dll (library plug-in controller) replacement as one of my on-going sunday night research projects
    - This is something I’ve been very slowly working on and it can now load library plug-ins but it needs a lot more work to get most of the needed library APIs implemented (which I’ll just be aiming at what is used by mine & the 5.666 plug-ins since some actions are done via a number of API methods over the years).
    - The aim of doing this is to have more control over the loading of the library plug-ins (ml_*.dll) as well as it not being needed for skinning of things (which would instead be done from evolving the Skinned Preferences plug-in core). It would also then leave just gen_ff (modern skin engine) as the only ‘native’ general purpose plug-in still being used.

  • Waveform Seeker got the means to use a custom txt file or colour values specified in a modern skin to fine tune the colour from the default skin colours used
    - This is primarily a refinement as not always do the skin colours work nicely within the plug-in’s window so by allowing for a direct way to tweak things (classic & modern skins) it should be possible to find a reasonable colour palette.
    - These changes will eventually need to be rolled back into the standalone version of the plug-in (along with other changes made to it) though the WACUP provided version will be the primary version that sees development made towards it.

  • Fixed an issue with the modern skin pledit.moveto(..) method failing (gibberish playlist entries on some installs)
    - This seems to have been around for a while within the gen_ff (modern skin engine) but is intermittent due to the cause of the bug. Thankfully it was something that was easy to do via WACUP with a micro-patch to get it working :)

  • Fixed the wrong ‘blue’ level being used for the classic base skin selection backgroud (i’ve been setting it wrong for years it seems!)
    - This was found from looking into something Jordan (who’s responsible for winamp2-js) was seeing some inconsistency.
    - It turned out that at some point the blue level was changed but all of the examples / skinning information had a different colour. This took a little bit of digging within the winamp.exe to find the correct blue level with the 5.666 release. Most wouldn’t have noticed it but for consistency it was good to find and fix.

  • Re-worked the installer to be able to build it as either a standalone installer (all files needed included as the beta testers already get) or as one that can use the 5.666 redux installer to get the required files
    - This is one of the steps needed towards a non-beta release by not having to include the 5.666 files within the WACUP installer. This helps shave ~4MB off the installer (though as a one off a ~10MB installer is downloaded and stored within the Winamp / WACUP folder)

  • Fixed the installer not downloading the DirectX setup (and redux installer) files
    - Although this worked when first implemented, using NSISdl doesn’t seem to behave now with my hosting & the default HTTPS handling that’s enforced. The fix was to change over to using the NSIS InetC plug-in which can handle things as needed which was a simple change to get things working again.

  • Finished off de-duplicating the files seen by the installer
    - Due to some of the plug-ins appearing multiple times (directly or indirectly) within the installer, it was causing the install size to be over reported by ~7MB compared to the current beta build.
    - This means a full install is reported as around 31MB of disk space (subject to drive type, folder compression, existing plug-ins & skins installed) but is nice to have the installer being more accurate.
    - This is the final step of work begun a few weeks prior that I’d tweeted about (which had only taken ~3-4MB off the reported disk space size).

One thing that I do need to address is what’s going on with beta builds & getting involved with beta testing. With the builds, I’m at a stage where I’m trying to focus on finishing off things that have been started but aren’t quite ready (this may not seem like it on some things but this is covering certain aspects started a year ago).

This is why there’s not been a new build out for a while as I’m not at a point where I’m happy with what I’ve got with regards to it not causing a lot of support issues which can then take out time from coding. Not to sound ungrateful but I appreciate that if I get the coding (mostly) right to start with, beta testing & using WACUP is then easier for everyone involved.

Because the new build isn’t ready, I’m still accepting beta tester requests but they’re not being actioned and are automatically added to a pending queue.

When the new beta build is finally made available then the pending beta tester requests will be processed. This is better for me as I believe the jump from the existing beta build is worth the wait especially from some of the required stability fixes that the newer build comes with. Once the build is ready, I hopefully should be able to get back onto a more regular beta build release schedule (closer to 2 weeks between builds instead of an average that’s around a month as it’s slipped to).


That’s it for this week’s update post which ranged from skinning through to bug fixes and a fair amount of installer work. Until next week, happy Winamping!

-dro