Classes added in this commit are used by the dynamic compressor. Add
these first in lib-builtin-effects as the dynamic compressor will later
use them again.
Signed-off-by: Avery King <gperson@disroot.org>
Tenacity requires wxWidgets 3.1.5 or later, so we can get rid of these
version macros that check for older versions that we already require.
Also remove HAS_I18N_COTNEXTS since that's always true.
Signed-off-by: Avery King <gperson@disroot.org>
Destructor called at exit of RemoveStateAt(), caused an event loop spin, in which unprocessed UndoEvents resulted in a call to CommandManager::ModifyUndoMenuItems, where it tried to access removed UndoState due to `current` being not updated yet.
(cherry picked from commit 97b04c31bed057503637fc9a628d0eff3ee4cc04)
Signed-off-by: Avery King <gperson@disroot.org>
Change default sample rate to 48000
Tenacity's default sample rate is now 48 kHz instead of 44.1 kHz. Some
hard-coded values were also changed to 48000.
This matches the default sample rate in Audacium, which is also 48 kHz.
--------------------
This reapplication does less changes in other places as I've determined
that some of them aren't relevant towards using the default sample rate.
Therefore, leave those values alone.
Signed-off-by: Avery King <gperson@disroot.org>
Building still has a lot of warnings, and some of these errors happened
to show up quite a bit. Fixing these warnings should help reduce that,
although there are still plenty to fix.
Signed-off-by: Avery King <gperson@disroot.org>
This effectively reapplies commits 21f2dbf1ad and 7ccf26ce4c, except it
has a separate definition for FreeBSD rather than sharing the same one
for FreeBSD and macOS. The code is literally copied and pasted with only
"msdos" being changed to "msdosfs".
Signed-off-by: Avery King <gperson@disroot.org>
NOTE: I made some changes to comments here, so it's not a full 1:1
reapplication. However, this still fixes an issue with Tenacity failing
to open projects created in older versions of itself.
--------------------
Restore compatibility with Audacity-created projects
PR #84 introduced new project compatibility code taken from upstream.
However, this project compatibility code was geared towards focusing on
dealing with newer and older versions of Audacity, not Tenacity. This
resulted in Tenacity failing to open projects it created in prior
versions because of incorrectly assuming that the project was created in
a newer version of Tenacity when this was not the case. To fix this, the
following was introduced:
1. Add new version constants to represent Tenacity's version.
2. Check the project version against the Audacity version constants.
This will succeed even if the project was created or updated in
Tenacity.
While the solution is not ideal, it provides a temporary fix.
Unfortunately, we do not have a clear way of distinguising ourselves
from Audacity projects right now, but there might be ways that we can
distinguish ourselves from Audacity projects in the future.
Signed-off-by: Avery King <avery98@pm.me>
(cherry picked from commit d55cf9a34d)
Signed-off-by: Avery King <gperson@disroot.org>
This fixes an error with wxEventFilter's constructor and destructor
defined in multiple places. It stems from upstream's conversion of
wxBase into an actual target and not just an alias. (Eventually, we'll
sort this out later, but for now, this fixes it).
Signed-off-by: Avery King <gperson@disroot.org>
(cherry picked from commit 61d61339683d793dfe22e2ceec1b55bc5b531590)
(cherry picked from commit 1852c67ef7223b70b55cee5592f66a7179c1a248)
Signed-off-by: Avery King <gperson@disroot.org>
Use strict PPS comparison to match the requirement of std::merge and std::equal_range.
(cherry picked from commit eb336d3a474340c05ea6804c79c29e6e89965ecd)
Signed-off-by: Avery King <gperson@disroot.org>
Do not process data that is not yet committed to sample blocks during recording
(cherry picked from commit c932a3e9be76cf0b08fccbf93bbaca1c3a24031c)
Signed-off-by: Avery King <gperson@disroot.org>