WACUP Development Update September 2021 (Patreon)
Downloads
Content
It's fair to say this month & also August haven't really gone to plan when it comes to WACUP's development since the plan for July had been to have had a new preview build out which is still a way off due to recurring stability issues with the replacement local media library plug-in (aka multi-threading can be hard at times).
Additionally my frustration at the rate of progress along with IRL stuff going on meant having a wobbly moment ~2 weeks ago (taking some time away from things & actually going away for a week or so to north Wales has helped on that count along with getting some of the IRL complications sorted).
-
On a more positive note now I've had some time to think about things, I've actually made a decent amount of progress over the past 6 months since the last preview build was released especially when it comes to the transition over to the new integrated media library core (aka the removal of Winamp's gen_ml.dll plug-in).
As a little early bonus (this post will go public in a few days time), I've attached a copy of my w.i.p. changelog that covers the overall changes between the current preview build 7236 & the state of my development build which is a long read at 283 lines (it's probably going to end up around 300 lines when things get to the point to allow for a new preview build).
-
One aspect of what's been worked on during the limited time this month that's not fully mentioned in the w.i.p. changelog yet is that I've finally been able to get the WACUP core loading without the use of the Winamp core (yipee 🥳).
What that means is when running WACUP in this new mode it's just the WACUP loader + core dll that's running instead of the loader + core dll starting the winamp.original process (aka the Winamp 5.666 program) & the WACUP core being hooked into that early on in the loading process).
This isn't going to be the default mode for the time being as there is 2 key aspects missing which prevent it from being a 100% solution but it might be ok for some & so when I've got things to a point that I think is usable including having it running under Windows 7 as it doesn't do that at the moment without crashing part way through loading then it'll be offered as a configuration option.
The first limitation is that the modern skin engine (gen_ff.dll) won't run without crashing on attempting to load a modern style skin as I've still to figure out & implement what I believe is just one wasabi based api that the Winamp core offers which I don't. The solution for this for now is that the gen_ff plug-in will not be loaded in this mode.
The second limitation is because I've not yet sorted out what to use as the equaliser implementation as what the Winamp core uses is under a closed source license & probably isn't worth even trying to re-license to get it like for like (especially as I doubt 4front would even want to see that code used any more). The solution for this for now is that the equaliser window will not be created & I've made some internal changes to the WACUP core so it'll not attempt to do anything equaliser related (DSP plug-ins still work so streaming, etc is still viable with this change 🙂).
-
With things now being in this weirder half-way state I've decided to bump the WACUP development version to v1.5 as this seems to best reflect the now current state of either everything being there but it relying on the Winamp core of it not quite being there but it being all WACUP core.
-
One final thing to mention which came up from the discord server before I took time off is how I'll likely be referring to some of the potential various WACUP builds that could arise in the future. This doesn't guarantee anything happen especially with the non-Windows names but its why getting closer to having a complete lack of dependency on using the Winamp core is important for WACUP to be able to have it move beyond it's origins as a Winamp plug-in pack.
- wacup / wacup prime (aka 32-bit legacy compatible windows build, full 3rd party plug-in compatibility)
- wacup64 (aka 64-bit windows build, likely minimal 3rd party plug-in compatibility)
- warmcup (aka ARM windows build, highly unlikely any 3rd party compatibility)
- walicup (aka Linux build)
- wamacup (aka macOS build)
- warpicup (aka Raspberry Pi build, unlikely but I found rpi builds a great way to track down performance issues)
-
I think that's more than enough for this update & well done if you've made it this far with my ramblings as well as putting up with the issues that come from new writing code & I'm forever appreciative of the continued support that those of you who are active patrons (as well as all past ones) 👍
-dro