Home Artists Posts Import Register

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

Comments

Anonymous

Great! I would like to see something running on linux, having switched from Windows 6 months ago. Sounds like a lot of work actually. Probably by opening the codebase would allow other people from the community to contribute.

Anonymous

I would love a MacOS build. There is nothing that I have found with the flexibility of Winamp for the Mac and I believe it would be pretty successful. Many "old" Windows users (like me) use a Mac now and I am sure many miss Winamp.

Anonymous

Good stuff, Dro! Hope you enjoyed your time away for a bit!

Anonymous

Wow, a really big milestone with the WACUP core starting to run, really good work :) Multiplatform is definitely the way forward, though don't burn out trying to support it all yourself. I'll definitely be giving this a go, seems like lots of interesting challenges in the future.

Anonymous

Welcome back.

wacup

It's been the wacup core doing most things but that last few percent has been a pain to get to so it can run without the hooks into the old exe (still is a pain for the modern skin engine plug-in to be able to load which might take a while to resolve). As for multiplatform that's going to need more planning as there's too much Windows centric stuff going on despite some more recent changes plus i need to unlearn some of my Windows thinking for the other platforms 🙂 -dro

wacup

Could've done with more but at least we got a good week of weather away from the house as its cold & wet so far this week which wouldn't have been fun walking up & down on the steep hills. -dro

wacup

One key thing with going to another platform (or just changing the bit-ness of the build on Windows) means there'd be no 3rd party plug-ins which some might expect & no modern skins support until that plug-in is reimplanted (which is also needed for the Windows builds). So I don't know how useful such builds would end up being or how well they'd compare to the Windows build (its still going to be my primary platform of choice afaik) nor what issues will arise. Though I'm probably going to aim for Linux builds over macOS tbh as it better fits with my experience & preference on a platform but we shall see what comes with time 🙂 -dro

wacup

Just getting to this point with the Windows build has been a lot of work (not helped that it wasn't what I'd expected to be making otherwise I'd have done things differently). So going to another platform brings a whole different set of problems to tackle & tbf having it all OSS doesn't fit in with how I want to manage & develop things for the time being). I'm just not ideologically aligned with OSS as the only way to do things & the things I need help with (mostly time for which I honestly don't want to spend on managing others work) haven't appeared (e.g. a new midi input plug-in). Maybe things being made for different platforms makes more of a difference with OSS but for now I've still got to get a free from Winamp WACUP. After that I can then figure out what route I want to take for non-windows builds & how I'll manage the code. As it might even be easier for at least the core for it to be a fresh start vs the patchwork nature of what currently exists for Windows (which relates to me not starting WACUP as an intended reimplantation). We'll all just have to see what comes over time 😊 -dro

Anonymous

The warmcup name amuses me, though I wonder now I read this again if it would be confusing to have different executables like this ? Maybe you could retronym what WACUP stands for, much like WINE used to stand for "Wine is not an emulator"... but then it started including emulation (to run windows on ARM and PPC), I'm not sure if it stands for anything now.

wacup (edited)

Comment edits

2022-01-13 23:13:19 The intention wasn't necessarily to name the exe to run with those names. It was more just as a way to mentally differentiate between potential different platform versions & how they without intentional planning seem to fit in with becoming part of the WACUP acronyn 😉 -dro
2021-10-06 14:58:45 The intention wasn't necessarily to name the exe to run with those names. It was more just as a way to mentally differentiate between potential different platform versions & how they without intentional planning seem to fit in with becoming part of the WACUP acronyn 😉 -dro

The intention wasn't necessarily to name the exe to run with those names. It was more just as a way to mentally differentiate between potential different platform versions & how they without intentional planning seem to fit in with becoming part of the WACUP acronyn 😉 -dro