• Pre-Release v1.3-beta2 26af230428

    Tenacity 1.3 Beta 2

    generic-pers0n released this 24 hours ago | 0 commits to main since this release

    A little more than a week later, Tenacity 1.3 beta 2 is already out. This is a hotfix release that fixes MP3 exports on Windows requiring LAME to be loaded. On a side note, a little activity from Weblate came in, so you might see one or two translations very slightly modified in some way.

    FFmpeg libraries are also provided here as well like in beta 1, but these are the exact same libraries as the ones presented alongside 1.3 beta 1. They are provided here for convenience.

  • Pre-Release v1.3-beta 9ed21f1b8f

    Tenacity 1.3 Beta

    generic-pers0n released this 1 week ago | 7 commits to main since this release

    A day in Tenacity project history has been made: our very first beta release has been made! While we've had nightly builds out before, this marks our first release in a while, and it's a significant step forward.

    It took over a year to get to our first release. Since then, we've encountered many hardships as it's not easy maintaining software, especially an open source project. (We can definitely tell you that first hand ;). However, the most important thing we had as a project is the inherit perseverance: if one could not take the project through, they could easily fork it and continue the project in spirit. And that's why we're here: the natural perseverance of an open source project allowed us to carry these changes to a new codebase and restart development.

    Inspiration talk aside, we have a lot to go over this release, both in changelog and implications for other similar forks. First, we'll go over the release notes in order to get what's new out of the way.


    This changelog is going to be different from most because it depends where you're coming from. In order to keep our changelog short and simple as much as possible, we have some of the most common and important changes.

    • Saucedacity's codebase is now used instead of Tenacity's original codebase. It has been maintained and has had several crucial updates that keep it building and working on recent platforms.

    • The dark theme is now the default theme. We still have plenty of other themes, light, dark, or in between, available in Tenacity. We have 17 total themes, in fact!

    • Shadows have been removed from tracks. We're trying to make the UI more modern :P

    • On Windows, the modern file dialog is used. This should help with Tenacity blending in with dark mode better for those concerned about theming; relatedly, this will be an improvement if you simply liked the newer file dialog better (or a downgrade if you liked the old one better).

      • As a result of code cleanups, there is a new export options dialog that shows after the file dialog. This is similar to Audacium's implementation except that you can't change the format from the dialog.
    • Clip features from Audacity have been implemented. This includes clip handles, clip titles, and clip trimming. Simply drag a clip in the timeline to move it. Double click on its handle to rename it. Move your cursor to the edge of a clip and drag to trim it.

      • As a result of implementing these features, the timeshift tool has been removed in favor of clips. This tool has been made redundant because you can now move audio via a clip handle.

    Known Issues

    • Some links still point to Audacity resources, like the Audacity manual. Because we either don't have the resources yet or they are not mature enough, we haven't updated them. This will be resolved before the final release.

    • On Windows, LAME must be manually loaded. We intend to change this behavior so that LAME no longer needs to be loaded manually and is either enabled or disabled at compile time.

    Supported Platforms

    • Windows: Windows 7 and later, both 32-bit (if applicable) and 64-bit, are supported for now. For versions prior to Windows 10, you will need to install the Microsoft Visual Studio 2015-2022 redistributable for your appropriate architecture. If you are using the 32-bit version, install the 'x86' version. If you're using the 64-bit version, install the 'x64' version.

    • Linux: Ubuntu 20.04 or similar at minimum should work. The AppImage was built on Ubuntu 20.04 and works on Pop!_OS 22.04

      • Note that the final release will be distributed in the form of a Flatpak. The AppImage is only provided for convenience purposes. Additionally, we do not support building AppImages, but it is possible.
    • Haiku: While we don't have downloads for Haiku, Tenacity now builds on Haiku thanks to the work of @davidkaroly.


    Version shipped at the time of this release: 5.1.2

    Tenacity provides FFmpeg libraries for Windows, both 32-bit and 64-bit, in case you want to use additional formats Tenacity doesn't natively support. These libraries are licensed under LGPL v3 (as per our configuration; GPL code is disabled).

    Our FFmpeg libraries will always be the latest version at the time a stable release is made. This means we ship the latest fixes and features from FFmpeg. However, because this is our very first release, we will provide these libraries as an initial Tenacity FFmpeg distribution.

    You are free to use these libraries in applications other than Tenacity, even in Audacity if you want to use newer FFmpeg libraries than what is provided for Audacity (which is 5.0.0, at the time of this writing). However, this is not a full distribution; it only includes libavformat, libavcodec, and libavutil. Additionally, we only support using these libraries with Tenacity and not in any other application (including Audacity).

    There is also no need to install these libraries. In Tenacity, go to Preferences > Library > FFmpeg Import/Export Library > Locate to point Tenacity to the downloaded location of the libraries.


    Thanks to everyone involved in the development of Tenacity, past, present, and future! Without your work, we wouldn't have made it here to our first beta.

    Enjoy! :)

  • Stable v1.2.1 179d56f910

    Saucedacity 1.2.1

    generic-pers0n released this 4 months ago | 0 commits to saucedacity-1.2.1 since this release

    UPDATE: Unfortunately, I was so excited to get macOS builds working that I forgot to mention the caveats: macOS builds do not support MP3 because of build issues with the libmad submodule.

    While unexpected, this is a small release intended to bring a few updates to libraries, macOS support, a very slight appearance change, and some project loading performance improvements backported from Audacity.

    Note that this release does not bring anything from Tenacity. That won't happen until 1.3, which is making some steady changes. If you would like to try out release 1.3, you can check out https://nightly.link/tenacityteam/saucedacity/workflows/cmake_build/main.

    Changes compared to 1.2

    • Updated libmad submodule to 0.16.3
    • macOS specific changes:
      • Fixed wrapper failing to launch Saucedacity. Turns out this wrapper hadn't been updated since the project was forked from upstream.
      • Updated app icon.
    • Removed system border around our numeric text control.

    Changes from Audacity

    • FFmpeg 5.0 is now officially supported
    • Improved project loading performance by ~10x.

    Notes on macOS Binaries

    • macOS is believed to work on macOS Intel. If you're on Apple Silicon, you will need to use Rosetta 2.
    • Saucedacity binaries for macOS are unsigned. You will need to go to System Preferences > Security & Privacy > General and click "Open Anyway" if you attempted to run Saucedacity with Gatekeeper enabled.
  • Stable v1.2 fd648711a4

    Saucedacity 1.2 "Tenacious S"

    generic-pers0n released this 6 months ago | 520 commits to main since this release

    UPDATE: I have replaced the AppImage ZIP with the actual AppImage itself. The ZIP itself was pretty much irrelevant as it only included the AppImage and an unneeded JSON file was included too. I've also added a Linux tarball too, just like the old days. However, this will be the last release to feature this tarball. Future releases will use AppImages instead unless there is a special condition.

    UPDATE 2: Fixed Linux tarballs. The env_libs.sh script which you're supposed to source didn't set LD_LIBRARY_PATH properly. This has now been fixed. Edit: The AppImage appears to be a little glitchy theme-wise, so I advise caution. If you don't experience these glitches, then you might be lucky...

    The original release announcement goes as follows.

    Long in the making, Saucedacity 1.2 has finally been released! 🎉

    We have a couple of things to go over here in this release announcement, but for now, I bring to you our old friend, the change log:

    Change Log


    • Added a new default theme. Hopefully you guys like it!


    • We now use Tenacity's libmad fork instead of Audacity's.
      • This was a part of an effort to move away from Conan, but we have an alternative solution that will be implemented soon after this release instead.
    • On Linux and similar, Saucedacity's default preference directory has changed to $XDG_CONFIG_HOME/saucedacity (or ~/.config/saucedacity). If you are migrating from Saucedacity 1.1, it is recommended you copy your .Saucedacity-data to this new directory in order to avoid accidentally "resetting" your preferences. Windows users don't have to worry about this.


    • FFmpeg now works again (#22).
    • The track view is no longer cut off at the bottom of the window (#20)


    • Removed a useless IsSaucedacity preference in saucedacity.cfg

    System Requirements


    • Saucedacity can run on at least Windows 7 (either 32 or 64 bit).
    • You might need to install the Microsoft Visual C++ Redistributable in order for Saucedacity to work on some systems. You can download it here. Make sure the version you download matches the same architecture as Saucedacity.


    • You need Ubuntu 20.04 or any similar distro. Previous versions are not supported.
    • The AppImage and tarballs are 64 bit.

    Saucedacity Going Forward

    Not too long ago, I began talking with the people over at Tenacity. These talks have progressed well, and I've even received advice from one of them (shoutout to @n0toose for your advice!). But what have we been talking about? Well, I've made a major proposal, and we are going to start merging parts of Tenacity into Saucedacity. From then on (well, not exactly; I'll detail more below), we'll be continuing under the name "Tenacity". We'll practically look like Tenacity (as we'll technically be part of Tenacity then) but we'll still have the code base and the spirit of Saucedacity under the hood.

    The Start of my Involvement in Tenacity

    *Note: I don't know if "Involvement" is the right word, but this is the start of my talks in the Tenacity community anyways.

    It all started in #21, where @FrostKnight discovered this project and introduced us to Tenacity. Just a little while after, I decided to get involved and try to welcome anyone to the project. Then, a more serious proposal came...

    The Major Proposal

    Then, I finally proposed this major proposal, in which we could either merge Tenacity into Saucedacity or the two into a new fork. Since making the proposal, I've made several decisions regarding Saucedacity, and some attention has been brought to us by Tenacity. Because of that, I've seen some people chip in about our name. The consensus: the name seemed like a joke. Therefore, I knew that if I wanted to continue on with this project, I'd have to change the name. I have finally chosen the path of reusing Tenacity's name, so we'll be called that from now on.

    The Plan Going Forward

    While the above was a brief uncovering of events, it should nevertheless provide an accurate summary. Now, what are we going to do going forward? Well, that's what I'll detail right now.

    The first thing is that I will take a break. It will be a small one (maybe for a day or two). I kind of want to rest my brain for coding and try to avoid being on a computer that much. Either way, I have some stuff coming up, so this break comes at a perfect time. Of course, I'll still be participating in discussions and messages.

    Once my break is over, I will be immediately working towards the next release. This will be the first release under the Tenacity name. and I hope that we make some good progress from then on.

    Finally, in case you haven't realized already, this will be technically the last Saucedacity release that there will ever be. For those who have stuck around since the early days, it might be hard to accept this change. But don't worry! We'll still be active, just under a different name, and with some added features! :)

    This quote explains it well:

    “Don't cry because it's over, be happy because it happened”

    ― Dr. Suess

    I've heard of this quote once before and wanted to use this because this explains my thoughts quite well. However, there's one thing: Saucedacity isn't over. We're just continuing development under a new name.

    Now, there are some things to be resolved. We are still discussing which organization to use and similar details. There's also the deal of existing funds from donations. I don't plan to accept for now, but maybe some time in the future.

    Final Words

    Before I wrap this long announcement up, I'd like to say a couple of words before we start our new journey. For those who have stopped by, I thank you just for stopping by and checking it out. You were the ultimate motivation for me to work on Saucedacity because you were interested. I never expect anyone to be interested in any work I do, yet you and others saw what I did and were interested. For that, I give you my ultimate thanks and appreciation.

    To those of Tenacity, I look forward to working with you.You guys have done some amazing work on Tenacity this far, and I want to continue your work. As one example, I've looked at this POC PR that looks to automatically set the theme for Windows. I have commented on this and see this PR's potential.

    Finally, I have a list of things that I current have on my mind to merge into Saucedacity's code base. This is definitely not a definitive list of features I will merge into Saucedacity's code base. We will definitely spend time merging features over from Tenacity's original code base over to Saucedacity's code base. This is the current list:

    • Translations (as suggested by #10)
    • Build system (this was the prerequisite before starting Qt development; since Tenacity's build system removes Conan, this will mean the start of Tenacity 2.0, written using Qt).
    • Themes (I plan to still keep Saucedacity's theme as an extra theme for now)
    • Dynamic theming support, e.g., where Tenacity adapts to the system's theme (currently available as a PR for Windows only, but we are definitely in discussion about it).

    If you have suggestions as to what other changes in Tenacity there are that should be merged into Saucedacity's code base, feel free to open an issue and we'll go over it.

    So that's it. The last release under the name Saucedacity. It's time to start working on the future of Tenacity and the first ever release of Tenacity, which is long overdue.

  • Pre-Release v1.2b2 cfeebed1ea

    Saucedacity 1.2 Beta 2

    generic-pers0n released this 6 months ago | 537 commits to main since this release

    UPDATE: Note about Windows binaries
    These binaries come from CI, and they are built as release binaries if I recall correctly. Either way, what's contained in the ZIP files attached below are not only installers but also ZIP files, just like back in the old days! Therefore, if you want a more portable version of Saucedacity, you can use the ZIP provided.

    The original update goes as follows:


    The second beta of Saucedacity 1.2 is here! With each commit we are getting closer to releasing a stable 1.2. We hope to get there soon!

    There have been a couple of things since beta 1, and we've received some notice from others. We've seen some notice from some over at Tenacity, which if you guys are unaware of, go check them out! However, I think some of you guys are quite familiar 😉. With that said, I would like to thank you guys for the interest. Given I (generic-pers0n) am the sole contributor for now, I appreciate you guys stopping bye! 😄

    Anyways, now for the all-familiar changelog in comparison to beta 1:



    • We are now using Tenacity's libmad in place of Audacity's. Tenacity's libmad uses CMake and fixes several security issues to upstream libmad. This is in addition
      • This is progress towards making Saucedacity build without Conan on Windows and Linux.


    • FFmpeg exporting now works again. We pulled lib-ffmpeg-support from Audacity 3.0.5 to get it up and working. Now we plan to pull a more updated version now that we got that started.

    Unresolved (Still)

    • The track view still gets cut off (#20). This is still a bummer ☹️

    Status of macOS Builds

    From our beta 1 discussion, it appears that the macOS builds do not run. For the final release, macOS builds will not be published unless they are fixed by then. (Right now, they no longer build because of our switch to Tenacity's libmad, which I'll try to fix at one point).

    Notes on Use

    If you want to use Saucedacity for lightweight use (e.g. to test or do simple recordings), Saucedacity should be relatively stable. Any hardcore work, however, you should wait until Saucedacity 1.2 is released. This is namely because of #20 (the track view gets cut off and progressively gets worse).

    Thanks and Appreciation

    It appears that we've had some increased visibility after beta 1. Notably, we've had a few from Tenacity come over here. To them, I'd like to say thanks for stopping by and checking us out! The interest is what motivates me to work on Saucedacity because I know that some care about the project. In other words, I know that I'm not alone in this project. I know that some are also interested to see where this project goes too. I'm also eager to see where this project goes too, and so far, we've been non-stop. Overall, let's see what we can do together! But more importantly, thanks to all who've stopped by! 😄 :ta

    Saucedacity is getting better and better, really thanks to you guys 🎉

  • Pre-Release v1.2b1 352a379d98

    Saucedacity 1.2 beta 1

    generic-pers0n released this 7 months ago | 565 commits to main since this release

    UPDATE: It appears that the macOS builds do not work. They will still be provided if anyone wants to experiment with them.

    Just in time for Saucedacity's 1 year anniversary, 1.2 beta 1 has been released on this very day! This beta therefore celebrates that milestone and some new developments, but also a couple of announcements too. Announcements aside, this is a beta release, which means that things listed here may not always make it for the final release. Additionally, there is always the possibility of last-minute severe bugs that exist in betas, so there is a risk of data lost with using beta builds (although let's hope not, but that's always a possibility).

    1.2 beta 1 Changelog


    • Added a new default theme, simply called "Default".
    • We now provide Windows installers for 32-bit and 64-bit Windows.
    • For the first time, we are now providing some experimental macOS Intel builds. GitHub Actions was fixed, and now we produce some rather glorious things!
      • There is a reason as to why they are experimental though: We still don't have an actual Mac for testing these builds. Therefore, we could actually be distributing broken macOS builds. If the builds don't work, please let us know.
      • We are currently investigating macOS ARM builds. If you are interested in helping, also let us know.


    • Dropped preference checking because that's definitely not needed...for now.
    • Dropped some obsolete code.


    • AppImages are now buildable, but they are currently broken

    Known Issues

    • CodeQL code scanning was set up and it reported...150 issues. Those will be fixed by 1.2 stable.
    • #20 - The track view gets cut off at the bottom of the window. The cause is currently being investigated.
    • #22 - FFmpeg exports don't work.


    I have made a couple of announcements during the development of 1.2, including some recent ones. They are going to be listed here in case you missed them.

    Decision on wxWidgets

    Note: this is actually an older announcement preceding a much more larger one, as you will see below. This is kept here for historical reasons

    I have decided to use the next stable version of wxWidgets, 3.2.0. Saucedacity will NOT (and has not been able to) build against wxWidgets 3.0. Of course, we still are able to build against 3.1.x development versions, and we are not leaving them behind. However, we are looking towards wxWidgets 3.2.0 as the next stable version of wxWidgets, so we will be focusing on building Saucedacity against this version of wxWidgets.

    For other platforms, this shouldn't mean much, maybe a couple of minor differences, but it shouldn't be anything big (except for older platforms). For Linux, however, this comes with an additional (but kind of hidden, I apologize) statement: we are no longer focusing on GTK 2. I've actually drop some code adjusting the font size in the device toolbar on GTK 2 in this beta, s

    However, there is bigger fish to fry...

    Migration of Saucedacity to Qt

    **Having seem the shortcomings of wxWidgets and how other open source applications (e.g. VLC and Dolphin), I have decided that moving to Qt for Saucedacity will be in the best interest of Saucedacity. Qt is more feature rich and also has better platform support as well, with some special points of interest at some of its offerings like QML. Either way, it is time we move on to something better, in the hopes to write better code and add some good features not previously possible.

  • Pre-Release v1.2-devel1 20809681d5

    Saucedacity 1.2 Nightly Builds

    generic-pers0n released this 10 months ago | 604 commits to main since this release

    Today is 4/20 day, and yes, this seems like another coincidence to make official releases...well, kind of. I like how 4/20 is related to 420, and so I thought today would be kind of special.

    So it's been a while since Saucedacity 1.1 was released, and I thought it'd be a little nice to give you guys a preview of the latest stuff we have going on. Not too much has changed, but I have some ideas that I hope to execute later on.

    Below are attached binaries, all of which look very different than 1.1's release. Simply, these are artifacts from our GitHub Actions workflow. And yes, we got that up and working again! Better yet, Saucedacity 1.2 will be the first release of macOS to be (guaranteed to be) built for macOS Intel, but keep in mind that this is the very least I can do. I cannot test macOS releases because I don't have a Mac. Therefore, it should be noted that these binaries might not work. But should they work, Saucedcity should only work on macOS 10.12 or higher; OS X 10.9 to 10.11 will (or should) not work on Saucedacity. This is due to a lack of a required C++ feature on these platforms because of their age.

    Key Changes in This Release

    • Build options are now prefixed with saucedacity_ instead of audacity_
    • Dropped saucedacity_enable_legacy. saucedacity_use_ladspa is now available.
    • A new default theme has been introduced.

    Known Issues

    • FFmpeg exports are currently broken. See #22 for details. Hopefully this can get fixed by 1.2 stable, but this issue might be persistent through any betas.
    • Part of the track area can be cut off by a toolbar. See #20 for details. Again do I hope that this gets fixed by 1.2 stable, and once again, this might be persistent through any betas.

    Closing Words

    Again, I (or perhaps, we, I don't know at this point) am/are accepting contributions. I look forward to seeing what you guys might have to contribute! 😄

    Hopefully you guys like this build of Saucedacity. If something doesn't work, make an issue or discussion about it and we'll try to get it resolved as soon as possible.

  • Stable v1.1 685e7c781a

    Saucedacity 1.1

    generic-pers0n released this 1 year ago | 744 commits to main since this release

    Today marks the release of Saucedacity 1.1. However, on this same day, there was an attack on the Twin Towers in the United States. Many people died in that attack, leading to a string of events from the attacks themselves to many others, some of which have recent effects as of today.

    There are various coincidences with the 20th anniversary of 9/11 and the Saucedacity 1.1 release today. One coincidence is the release date itself. The second coincidence is the 1.1 version number, which came naturally (I didn't predict Saucedacity 1.1 being released on 9/11). However, I wouldn't call them complete coincidences. While I did not expect Saucedacity 1.1 to be released officially on 9/11, I would like to bring something special to the table. I would like to dedicate this release of Saucedacity to those who died on 9/11, those who died from illnesses caused by 9/11, the survivors of 9/11, the first responders of 9/11, basically everyone that was involved. There's just too much to list here, but for those involved, I dedicate this release to you for everything. You've been through so much, regardless of who you are or your actual role, in so many different ways.

    With that said, lets get to the changelog of this release! Nothing too special, but here's what we have anyways:


    • A new compile-time option has been introduced, -Dsaucedacity_enabled_legacy. This disables some legacy options for now, namely LADSPA plugin support (in addition to dealing with extremely old Audacity project formats). Right now, this is enabled by default, but will be disabled in other releases.
    • Saucedacity now recognizes if its preferences were written by Saucedacity or Audacity (IsSaucedacity in the preferences). This means nothing but is more or less for future proofing. You will be notified if these preferences were not made by Saucedacity, although clicking 'OK' will only mean setting the IsSaucedacity preference to 1, being true.


    • The welcome dialog now only shows up on first run (unless Saucedacity's preferences are reset or deleted).
    • More branding changes, including a new splash screen logo and some interim branding.
    • We're now based on Audacity 3.0.4, incorporating Audacity's latest changes (minus the error reporting and update checking).
    • The Linux binaries were built on Ubuntu 18.04 rather than Pop!_OS 21.04. This comes from #16, largely in order to increase binary compatibility among different Linux distros.

    Anyways, that's it for this release. Hope you like this release!

    To all the 9/11 victims, survivors, families, and anyone else involved, this release is for you. I hope to bring something to your hearts, but this won't compensate for the damage caused by 9/11, be it physical, emotional, both, or in any other way. Nevertheless, I shall pay all my respects to you. For first responders, we thank you for your service. For victims and their families, I pay my respects to you.

    - The Saucedacity Team, with love and support all the way.

  • Pre-Release v1.1b2 41c36209f6

    Saucedacity 1.1 beta 2

    generic-pers0n released this 1 year ago | 752 commits to main since this release

    New month, new beta! Well, kind of. This was by coincidence.

    Anyways, there's not much behind this release, so this change log is going to be a sweet and short one. The changes are listed below


    • We've rebased off of Audacity 3.0.4. Nothing changed much in this release but it does fix audacity#1476.
    • The interim logos have been changed from a question mark ('?') to an 'S'. This should hopefully distinguish Saucedacity a bit further.
      • In addition, the EXE icon on Windows has finally been updated with the new interim logo.
  • Pre-Release v1.1b1 0fe2a259e5

    Saucedacity 1.1 beta 1

    generic-pers0n released this 1 year ago | 761 commits to main since this release

    Today marks the release of Saucedacity 1.1 beta 1. This is the next and 2nd release of Saucedacity ever since we released Saucedacity 1.0.


    • Saucedacity now alerts you if you're using a pre-release version (either a beta or alpha version). This is independent of the startup dialog

    • Branding changes should be complete (except for translations).

    • Saucedacity is now based on Audacity 3.0.3. We'll rebase on beta 2 to Audacity 3.0.4.

    • Some legacy features (namely LADSPA plugins right now) will be disabled at compile-time. Though this isn't the case right not, this will move to a new library over time. You will still be able to enable these features in builds.


    • Effects are back. Yay!

    So overall, nothing too special either. If you have a feature suggestion, feel free to make an issue or ask about it

    Binary Status

    Binaries for Windows and Linux have been attached below. I've finally made up for 1.0 by release x86 binaries, but due to plugin compatibility, this will (likely) be a norm.