this post was submitted on 28 Jan 2026
663 points (95.1% liked)

Programmer Humor

29027 readers
827 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] ChickenLadyLovesLife@lemmy.world 46 points 3 days ago (2 children)

As a programmer, it's pretty wild how much of Windows under the hood has remained completely unchanged. I started writing software synthesizer applications back in the late '90s, using a part of the Win95 API called "winOutX". The functions are kind of clunky to use but they allow you to programmatically create your own audio buffer arrays filled with whatever sounds you're up to creating and dump them into the playback stream for seamless audio. This shit has remained in place, working pretty much perfectly, for the last 30 years. It was even there in WinCE/Windows Mobile, which allowed me to write software synthesis applications for early smartphones circa 2005. And it's still all there today.

I like to rip on MS as much as the next guy (not least for them completely dropping the fucking ball as far as smartphones were concerned), but sometimes their incredibly long-term conservatism can work to your benefit.

[–] SlurpingPus@lemmy.world 4 points 2 days ago* (last edited 2 days ago) (1 children)

Wait until you hear about SDL. I have two music apps on my Android phone that also work the same on the three desktop platforms. And one of them, Sunvox, also existed twenty years ago on Palm and WinCE. The UI's reaction to my actions in both apps is so snappy it's unsettling after using other apps.

The downside is that all the dialogs and controls are drawn by the apps and SDL, with their peculiar interaction. Though there's some leeway to that, like calling the system's file picker.

[–] bstix@feddit.dk 2 points 2 days ago (1 children)

Sunvox is a masterpiece. Perfect for small size audio. It's strange that it isn't more widely used in game development or even webpages. Not just because of small sizes, but because it's also possible to interact with the music, while it's being generated. I have no idea of how to classify this as a piece of software but it's mind boggling powerfull and it still runs perfectly on any potato.

It would be nice to have better recording options than using the sampler, but I guess that defies the purpose of it.

[–] SlurpingPus@lemmy.world 1 points 2 days ago* (last edited 2 days ago)

how to classify this as a piece of software

It's a tracker combined with a modular synth in the style of Max/MSP, but also with a sequencer. Modular stuff in this vein is generally fit for live fiddling, like Reactable for example.

Unfortunately, I have a better experience with trackers in Renoise, which has dozens of decent samples out of the box, through which I can click and listen; and its effects like distortion are also much more pronounced. Sunvox seems more tailored to ‘beep boop’ synth sounds, and I'm not good with those.

would be nice to have better recording options than using the sampler

Ironically the other SDL music app, Caustic 3, has functionality for recording sounds and even a built-in audio editor. It's a very neat mobile DAW, but alas it's not being developed anymore — and its longstanding problem of only having two effects per instrument won't be fixed.

[–] CeeBee_Eh@lemmy.world 2 points 3 days ago (1 children)

It sounds like the app you wrote is doing 99% of the work. And I'm guessing it was written in C, which means it's an x86 binary and could theoretically run on any x86 system.

Modern Windows actually has a lot of problems running older software. In some cases, the only way to get those applications working again is using Wine on Linux.

[–] ChickenLadyLovesLife@lemmy.world 11 points 3 days ago (1 children)

It was originally written as a C DLL utilized by a Visual Basic front end. The C DLL used the Win95 API, though, so it wouldn't have worked on anything but Windows 95 and onwards. I subsequently ported the entire thing to C# but still using the same API to do the actual playing of the audio (I experimented with using DirectSound instead but that was really not appropriate for an application doing its own audio mixing). Now I'm working on an iOS version and I couldn't give two fucks about Windows at this point.

[–] CeeBee_Eh@lemmy.world 3 points 3 days ago (1 children)

it wouldn't have worked on anything but Windows 95 and onwards

I know what you mean. All I was saying is that the binary would execute on an x86 processor regardless of the OS. Now the OS knowing what to do with it is another matter.

This is actually what Wine does, it's a translation layer that intercepts the Win APIs and converts it to a Linux API and vice versa. The actual binary runs on the processor just the same.

I wonder if my old app circa 2000 would actually run on Linux/Wine. One of my projects for this winter is to install Linux on one of my Windows laptops. I'll have to give the old app a try.