This includes the following changes:
- Rename Audacity to Tenacity
- Rename theme
A few notes too:
- Some strings that were updated to use Tenacity's name might later be
removed pending remerges.
- I'm not readding Tenacity's original themes. We'll rewrite the theme
system before reintroducing them.
Signed-off-by: Avery King <avery98@pm.me>
Some of our basic changes remained, but a lot of work still needs to be
done. At least it builds though!
I have a few notes off the top of my head writing this:
- Our build system was kept and modified to work with the new codebase.
Similarly, the codebase was modified to work with our build system.
- We don't support Audacity's full wxBase restrictions, so I just
replaced it with wxWidgets::wxWidgets for now. (See above).
- There are still networking features, which are to be removed in the
next commit.
- pffft was added as a library in lib-src, and I wrote a new
CMakeLists.txt for it.
- I modified WrapAllegro.h to use our allegro.h shim instead.
Signed-off-by: Avery King <avery98@pm.me>
Audacity and its resources (e.g. modules, translations, etc.) are
installed to fixed locations defined during configuration by the
CMake variable INSTALL_PREFIX.
Executable: INSTALL_PREFIX/bin/audacity
Resources: INSTALL_PREFIX/share/*
Typical values:
INSTALL_PREFIX: /usr/local
Executable: /usr/local/bin/audacity
Resources: /usr/local/share/*
Previously, at runtime Audacity would check for resources at the
location specified by INSTALL_PREFIX. This worked fine as long as the
resources were never moved from that location, which is usually true
for distribution packages and self-compiled builds. However, if the
resources were ever moved from where CMake installed them then Audacity
would be unable to find them at runtime.
This is a problem for the AppImage, which self-mounts at a different
temporary location every time it is run, meaning that the resources are
in a different place each time, and never at the place specified in
INSTALL_PREFIX.
Typical values for the AppImage:
INSTALL_PREFIX: /home/runner/work/audacity/audacity/build/install
Executable: /tmp/.mount_audaciXXXXXX/usr/bin/audacity
Resources: /tmp/.mount_audaciXXXXXX/usr/share/*
(Where 'XXXXXX' is a different alphanumeric sequence on each run.)
To solve this, a PORTABLE_PREFIX is constructed at runtime by dropping
the final two components of the path to the exectuable.
Executable: /some/directory/bin/audacity
PORTABLE_PREFIX: /some/directory (dropped '/bin/audacity')
Resources: /some/directory/share/*
This enables Audacity to find the resources even if they are moved, as
long as the executable and resources are moved together (i.e. their
location relative to each other stays the same), which is the case with
the AppImage.
As a fallback in case the executable and resources become separated
(i.e. their location relative to each other changes) Audacity will
revert back to using the fixed location specified by INSTALL_PREFIX.
Fix#1382.
Cherry-picked from Audacity commit 529d0c6856. Modified for Tenacity.
Co-authored-by: Peter Jonas <shoogle@users.noreply.github.com>
Co-authored-by: David Karoly <david.karoly@outlook.com>
Signed-off-by: David Karoly <david.karoly@outlook.com>