by gpers0n | 2025-11-05 17:31:31+00:00
Hello! Indeed, I'm most the one pushing all this forward, and I keep planning to do this because I find it fun! I will take breaks occasionally, but I can assure anyone that I'll still be around. I have plenty of ideas regarding it too.

I do want to mention the build system part though: indeed, there are trade offs of Tenacity's build system vs Audacity's build system. However, on Windows (and hopefully Mac soon), it does allow us to ship newer versions of our dependencies, such as wxWidgets, which means we can do some neat little things. For example, the latest development nightly version of Tenacity (which you can download at https://tenacityaudio.org/nightly) supports Windows dark mode simply because wxWidgets now has support for it. Alas, it's an undocumented features on Windows that can break at any time, but for now, it works, and it's a nice little thing to have. It will especially help when we implement dynamic theming support (which I have figured out how to adapt to light/dark mode changes via wxWidgets). Of course, merging upstream changes can be very long, but we can also work around that. (Sometimes, we are the upstream too, especially with libmad and libid3tag ;). Either way, I find one benefit of it is allowing us to easily use newer dependencies that enable us to use newer features, and while this doesn't matter a whole lot on systems like Linux, *BSD, Haiku, etc., it does help with systems like Windows and (hopefully soon) macOS. (Currently, you can install Tenacity via MacPorts).

Also, I wouldn't necessarily say that work on the build system lead to us falling behind in development necessarily. I'd say that was due to the hiatus we had. Unfortunately, maintainer burnout can happen, and it doesn't help that Tenacity's start had a bit of its own controversy either with naming. At this point, that seems to be mostly behind us. From what I've seen anyways, I don't see many people mention it at all, but I could be wrong.

Regarding the rebase, yes, not everything's been ported back. In fact, for 1.4 alpha 1, I actually intentionally left out one thing: our own themes. I decided I was done dealing with the theme system, so I decided I would go about rewriting it. I had this planned for several years at this point, and there was already some code to experiment with before the rebase. If not for user themes, then it's certainly for the maintenance part of it, as themes should be easier to work with afterwards. (If anyone is interested in what the new theme system would have to offer, then I'd be glad to discuss it! :D)

Finally, would it be appropriate to say we're going to keep legacy Audacity alive "for legacy systems"? Maybe the "legacy Audacity" part, but not "legacy systems". If anything, I think it's safe to say that Tenacity on Linux requires a distribution like Debian 12 or later (including its derivatives). Sure, Debian 12 might be a bit older at this point, but I wouldn't necessary call it "legacy" just yet right now. Do we aim to support older distributions as time goes along? As long as it's reasonable. The same goes with Windows and macOS. In fact, Tenacity requires macOS 10.15 and has for some time. I want to increase the minimum version some time later, at least to macOS 11 if not later, but I'll likely give (what I think should be) plenty of time before that happens.

I think time will have to tell where this all goes. After all, I think there's some purpose for Tenacity to exist considering we've already had over 3,000 downloads for the 64-bit Windows installer for 1.4 alpha 1 alone. It might not be much compared to Audacity, and I think it pales in comparison to Audacity's popularity. To me, however, even 3,000 downloads is quite a lot, and it means something to me. There's also someone looking to package Tenacity for FreeBSD, albeit it appears to be the 1.4 alpha 1 version (which I would prefer the latest stable version for clear reasons). Yes, it's, like you said, a "more niche" system, but it's interest nonetheless.

P.S. I welcome any contributions from any contributors, especially those packaging Tenacity. We don't require any CLA, just the Developer Certificate of Origin (the same one the Linux kernel uses), and neither do we use AI to review contributions ;)