Commit Graph

363 Commits

Author SHA1 Message Date
Avery King
5dbd925a79 Add dynamic compressor utility classes
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>
2025-09-19 01:31:52 +02:00
Avery King
d56ccefe49 Get rid of unnecessary wxCHECK_VERSION usage
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>
2025-09-14 05:01:18 +02:00
Avery King
04686c5505 Address Weblate comments
- Fix Audacity name usage
- Remove redundant formatting

Signed-off-by: Avery King <gperson@disroot.org>
2025-09-02 17:35:27 -07:00
Dmitry Makarenko
5016d95520 4444 Fix crash on macro (#9114)
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>
2025-08-11 08:04:35 -07:00
Dmitry Makarenko
830acf7838 7470 Fix crash when importing short audio (#9096)
(cherry picked from commit efc959a77f2fbdd25966d70b32da91a384db16ca)
Signed-off-by: Avery King <gperson@disroot.org>
2025-08-11 08:04:11 -07:00
Avery King
5e19ab0c2a Partially reapply commit ac413c1d48
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>
2025-07-13 18:10:41 +02:00
Avery King
9edbca7e74 Fix wxFileName deprecation warning
Signed-off-by: Avery King <gperson@disroot.org>
2025-06-29 21:57:14 -07:00
Avery King
817addaa6a Fix comment
Signed-off-by: Avery King <gperson@disroot.org>
2025-06-29 21:57:14 -07:00
Avery King
219b0e8046 Fix some trivial warnings
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>
2025-06-29 21:57:14 -07:00
Avery King
e7a22e8969 Remerge: Add FAT FS check for FreeBSD
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>
2025-06-29 10:44:48 -07:00
Hailey Somerville
be1fd954c1 remove unused EXPERIMENTAL_FFT_Y_GRID code
Signed-off-by: Hailey Somerville <hailey@hails.org>
2025-06-29 16:17:38 +02:00
Hailey Somerville
b340835d4f remove unused EXPERIMENTAL_FIND_NOTES code
Signed-off-by: Hailey Somerville <hailey@hails.org>
2025-06-29 16:17:38 +02:00
Hailey Somerville
754a0bb204 remove vestigal OPENMP code, completely unused
Signed-off-by: Hailey Somerville <hailey@hails.org>
2025-06-29 16:13:43 +02:00
Hailey Somerville
ae1abaf786 ZoomInfo: remove fisheye
Signed-off-by: Hailey Somerville <hailey@hails.org>
2025-06-29 20:43:46 +10:00
Hailey Somerville
df7475fa01 ZoomInfo: remove ignoreFisheye param
Signed-off-by: Hailey Somerville <hailey@hails.org>
2025-06-29 20:43:46 +10:00
Hailey Somerville
b9b022d87f remove vestigal fisheye code
Signed-off-by: Hailey Somerville <hailey@hails.org>
2025-06-29 20:16:16 +10:00
Avery King
f628980d7d Reapply commit d55cf9a34d
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>
2025-06-24 12:48:37 -07:00
Avery King
82c96c3405 Check for GTK on Haiku for wxWidgets wrappers
Signed-off-by: Avery King <gperson@disroot.org>
2025-06-19 16:51:22 +02:00
Avery King
bcad217020 Reapply f1cb1d18bf
Adds proper support for Haiku folders

Signed-off-by: Avery King <gperson@disroot.org>
2025-06-19 16:51:22 +02:00
Avery King
eb7546412f Reapply cdcc724213
Fixes MIDIPlay on Haiku

Signed-off-by: Avery King <gperson@disroot.org>
2025-06-19 16:51:22 +02:00
Matthieu Hodgkinson
a12a07f87d Delay compensation fix
(cherry picked from commit ff4a84f7fd920c6c706f81ebb56bb70180b9d13c)
2025-06-16 22:10:38 -07:00
LWinterberg
9c8db2aac4 fix infinite loop
(and this, kids, is why oneliners loops are inherently suspicious)

(cherry picked from commit 727f6e3ef4533effcdc77e943f04e3c6b134cd1e)
2025-06-16 22:09:28 -07:00
Christopher Oezbek
d1f2633f47 Label Import select all supported formats rather than just txt.
(cherry picked from commit c0689cca8d66722a03bfed25c12d028381f90c0d)
2025-06-16 22:08:51 -07:00
witwald
e8b9ea1b81 Removed the static declaration from the coeff1 variable in the Hamming window derivative calculation. This coefficient depends on NumSamples, so cannot be static.
(cherry picked from commit 735af2eaa6f9085affa1a86c4ab6c92e2883b5f5)
2025-06-16 22:08:29 -07:00
Dmitry Makarenko
ecbb09689a Fix #8559 Joining is broken for pitched clips when rendering is not required
(cherry picked from commit 22417b60bedbf48574998eef04f9bfa9a531bb12)
2025-06-16 22:08:19 -07:00
Dmitry Makarenko
00ced2c107 fix #8468. Revert "Only splits strictly within selection are taken into account by the split-restore algorithm"
This reverts commit a11c540569c4a7ea82deece5e99c031be57e296c

(cherry picked from commit 21f83991f43adba040e517fe76acd623b4128cd7)
2025-06-16 22:07:41 -07:00
Dmitry Makarenko
acb3a6b16e Fix #8442: incorrect rendering if the waveform is clipping
(cherry picked from commit 6105681cf65fa7fbe6be60bb86886c15855d9b07)
2025-06-16 22:07:07 -07:00
Avery King
c001351c86 Add missing <algorithm> header
Fixes GCC 15 build on Arch Linux.

Signed-off-by: Avery King <gperson@disroot.org>
2025-05-25 12:08:43 -07:00
Avery King
cc6cdd8ff9 Nuke FileDialog(Private).*
And it's gone again!

Signed-off-by: Avery King <gperson@disroot.org>
2025-03-20 19:01:18 +00:00
Avery King
e647489119 SelectFile: Use wxFileSelector instead
Use wxWidgets' file selector instead of our own custom version.

Signed-off-by: Avery King <gperson@disroot.org>
2025-03-20 19:01:18 +00:00
Avery King
085831c9bd FileDialogWrapper: Derive from wxFileDialog
Also remove some FileDialog.h includes

Signed-off-by: Avery King <gperson@disroot.org>
2025-03-20 19:01:18 +00:00
Avery King
8e58d68a4c Fix wxWidgets dependency propogation
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>
2025-03-20 19:00:19 +00:00
Avery King
6044776452 Fix app icon
- Reapply commit fb4a1c1857
- Use TenacityLogo instead of AudacityLogo

Signed-off-by: Avery King <gperson@disroot.org>
2025-03-19 16:31:23 -07:00
Avery King
4fa976ce85 lib-music-information-retrieval: Add pffft
Add pffft as a library to fix link errors under MSVC.

Signed-off-by: Avery King <gperson@disroot.org>
2025-03-18 01:44:33 +00:00
Dmitry Makarenko
83081805aa Fix clip being incorrectly shifted after join/paste/apply effect operations
(cherry picked from commit 037fb5b1e5d80cae8c069cfde56a3772dbf9b306)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:09:01 -07:00
Matthieu Hodgkinson
7b2fbc5cff Only splits strictly within selection are taken into account by the split-restore algorithm
(cherry picked from commit a11c540569c4a7ea82deece5e99c031be57e296c)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:09:01 -07:00
Joe Souza
0fbf044873 Fix Windows build; include missing <chrono> header
(cherry picked from commit 61d61339683d793dfe22e2ceec1b55bc5b531590)
(cherry picked from commit 1852c67ef7223b70b55cee5592f66a7179c1a248)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:09:00 -07:00
Dmitry Makarenko
3f9bd26699 Fix #8290 Skip empty tracks when applying Pitch and Tempo effects
(cherry picked from commit 2ff26c59529af1048e3a55e483545cfc969b1dac)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:09:00 -07:00
Dmitry Makarenko
b197a3d875 Draw envelope area in the clip view
(cherry picked from commit 943116907325b85715489b49d6ce89e0d2086807)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:09:00 -07:00
Dmitry Makarenko
59489b587d Fix incorrect drawing on high zoom levels
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>
2025-03-16 23:08:59 -07:00
GovindaMadhava
709653f7c4 Rectified similar error in High Contrast mode
(cherry picked from commit 6418609e04b939e5a95f41ac16551327a908b6e1)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:08:59 -07:00
GovindaMadhava
e17f81cada Removed comment from l ibraries/lib-theme-resources/dark/Components/Colors.txt
(cherry picked from commit 543d310182afb444fd928a2e041c0436a1fae9c6)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:08:59 -07:00
GovindaMadhava
88f5d9fcfa Update Colors.txt #7154
(cherry picked from commit 094e484276fc96333d8086a0802a517efebc5de7)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:08:59 -07:00
LWinterberg
504cf9b87d set the default playback quality to best
(cherry picked from commit 32862f3b26dce6e7add4fe55e27e6c9acebd4b59)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:08:58 -07:00
Dmitry Makarenko
81e8a10600 Fix drawing narrow toolbar buttons were missing mid-sections
(cherry picked from commit bd19b7e8fe68affae4445021764e1348201bbb9a)
2025-03-16 23:08:58 -07:00
Dmitry Makarenko
be81d31b59 Fix 8155: crash on opening mixer window during recording
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>
2025-03-16 23:08:57 -07:00
Grzegorz Wojciechowski
589c10883a Horizontal scrolling fix
(cherry picked from commit e2b6e7eadcff1175a63e2fe6bff57ab6d42ea9d5)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:08:57 -07:00
Dmitry Makarenko
db821dbb46 fix 4231: do not set stream format for the global scope as it is not required and not supported by all effects
(cherry picked from commit 3cc0977d3646478dc15951523eb6fc16cceb1c7e)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:08:57 -07:00
Gabriel de Freitas Sartori
e68ca482a5 Fix paste on moved tracks with left trim
(cherry picked from commit 119a1c284639815babc8249268b10a5fe0073ea8)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:08:56 -07:00
Gabriel de Freitas Sartori
8ed0f94cd6 Adjust start time when pasting a clip
(cherry picked from commit eb5ee2dfce88c0afad81846ef2c2ff4a64af0d82)
Signed-off-by: Avery King <gperson@disroot.org>
2025-03-16 23:08:56 -07:00