1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-20 17:41:13 +02:00
Commit Graph

7844 Commits

Author SHA1 Message Date
Paul Licameli
9b67e7538f ChoiceSetting contains vectors; simplify constructions of it 2019-11-27 13:37:23 -05:00
Paul Licameli
e485afa156 enums not #defines in ExportMP3.cpp 2019-11-27 13:37:23 -05:00
Paul Licameli
bbaceba347 Register export plugins, breaking cycles...
... as we did last relase for import; making several header files unnecessary.

This breaks up a strongly connected component of 9, which was the largest
remaining.  Now the largest remaining is 5.
2019-11-27 13:33:28 -05:00
Paul Licameli
af3b54ba2a EffectsPrefs queries PluginManager for checkbox settings paths 2019-11-26 11:55:58 -05:00
Paul Licameli
82e3ec6818 Don't duplicate registry path calculation in PluginManager.cpp 2019-11-26 11:02:35 -05:00
Paul Licameli
15983499c8 New virtual function in ModuleInterface 2019-11-26 11:02:35 -05:00
Paul Licameli
9333b1ff0f remove unused 2019-11-26 11:02:35 -05:00
David Bailes
14b53e6736 Bug 2251 - Windows: NVDA sometimes reads the name of the track twice
Problem:
Currently calling Track::EnsureVisible() also sets the track as focus.
In Audacity 2.3.3 the timing of the code to set the focus was changed. Rather than a direct call, an event is queued, and then the focus is set. This has changed the timing of the focus event which is sent with respect to other focus and name change events. In particular in the case of toggling the selectness of the focused track, this moved the focus event to be after the name change event.
These changes only had an effect on NVDA - Jaws and Narrator were unaffected.

The introduction of this bug has highlighted an existing problem.
1. There are a small number of existing cases where a track needs to be visible, but where it is already the focus, and so setting the focus is unnecessary. For example, pressing Enter to toggle whether a track is selected.
2. Some of the Audacity code which calls EnsureVisible() is written with the assumption that EnsureVisible() doesn't set the focus, and so there are unnecessary focus events. Whilst other code which calls EnsureVisible() assumes that it also sets the focus. Confusion.

The Fix:
Remove the setting of focus from within Track::EnsureVisible(), and so remove the unnecessary focus events.
Calls to set the focus were added before calls to EnsureVisible where the code was relying on EnsureVisible to set the focus. In TrackPanel::ProcessUIHandleResult, and TrackPanel::OnMouseEvent, I wasn't sure if the focus needed to be set, so called it anyway to ensure that the behaviour did not change.

So I would like to remove the setting of focus from within Track::EnsureVisible(), and add explicit calls to set the focus where necessary.
I think this would make the code clearer, remove unnecessary calls to set the focus, and make it easier to keep NVDA happy.
2019-11-26 14:43:25 +00:00
Paul Licameli
c707edad7a Don't lose split view after undo & redo, or an effect 2019-11-26 04:49:15 -05:00
Geoffrey McRae
b3ade99a58 Fix loading of LV2 effects that have Event ports (Calf Plugins)
The Calf plugin suite exposes Event ports which is currently not supported or defined in `liblilv`, so instead of flat rejecting the filter, test the port name for `Events` and allow them to load.
2019-11-24 21:33:25 +00:00
Philipp Claßen
af79017f3a Prevent heap-use-after-free crash 2019-11-24 21:09:39 +00:00
Lars Wendler
b280253e60 build: Fix bad include path
tracks/labeltrack/ui/LabelTextHandle.cpp:25:10: fatal error: ../../../images/Cursors.h: No such file or directory
     25 | #include "../../../images/Cursors.h"
        |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
  compilation terminated.

Signed-off-by: Lars Wendler <polynomial-c@gentoo.org>
2019-11-24 21:04:10 +00:00
Paul Licameli
54e0df5660 Implement a dragging handle to adjust wave track sub-view heights 2019-11-23 16:44:42 -05:00
Paul Licameli
d26b55ee3c WaveTrackSubView has a back-pointer to the WaveTrackView 2019-11-23 15:27:04 -05:00
Paul Licameli
e3d9fd95ab If track has multiple views, pass a list in 'VIEW property to Nyquist...
... this makes no difference to any of the .ny plug-ins now in the project,
which only ever test whether the view type is NIL, signifying preview
2019-11-23 15:24:16 -05:00
Paul Licameli
af9959dc98 Rewrite WaveTrackView::GetSubViews to cache last computed heights 2019-11-23 15:02:09 -05:00
Paul Licameli
125b8ad0da Wave track context menu has non-exclusive check items for display type 2019-11-23 14:57:29 -05:00
Paul Licameli
f694d75993 Define ClientData::FindIf 2019-11-23 14:52:47 -05:00
James Crook
846938e871 Set BUILD_LEVEL back to 0 and Version to 2.4.0, ready for onward development. 2019-11-23 09:30:06 +00:00
Max Maisel
f911bdb46c Include ProgressDialog.h in Loudness effect. 2019-11-22 19:42:33 +01:00
Max Maisel
b4821228df Rename Loudness effect to "Loudness Normalization". 2019-11-22 19:42:33 +01:00
Max Maisel
ed1e7ee37a Implement RMS normalization in new Loudness effect. 2019-11-22 19:42:33 +01:00
Max Maisel
d9608cddea Implement perceived loudness normalization in new Loudness effect. 2019-11-22 19:42:33 +01:00
Max Maisel
8555018bd4 Implement EBUR128 integrative loudness class. 2019-11-22 19:42:33 +01:00
Max Maisel
a94cda94ae Create empty EBUR128 class.
This class will contain all EBU-R128 related analysis code.
Add all new files to all build systems as well.
2019-11-22 19:42:33 +01:00
Max Maisel
d8424755d1 Add buffer handling and flow control code to new Loudness effect.
Currently, the effect still does nothing.
2019-11-22 19:42:33 +01:00
Max Maisel
c002165952 Add EBU R128 k-weighting filter implementation to Biquad. 2019-11-22 19:42:33 +01:00
Max Maisel
c3d25cfb44 Remove all Loudness related code from Normalize effect. 2019-11-22 19:42:33 +01:00
Max Maisel
e439e8f4c7 Consistently use double within Biquad filter coefficient calcultations.
This avoids catastrophic rounding errors which can even lead to filter
instability in some cases. This is a real problem in the coming IIR envelope
detector.
2019-11-22 19:42:33 +01:00
Max Maisel
86ae0460c9 More Biquad refactoring. 2019-11-22 19:42:32 +01:00
Max Maisel
064ddb5a54 Refactored filter calculation out of ScienFilter into Biquad.
This allows easy code reuse in other effects.
2019-11-22 19:42:32 +01:00
Max Maisel
6da48db127 Start work on new Loudness effect
This is based on my old loudness effect prototype which was included
in the Normalize effect.

Create all source files and add them to all build systems.
Currently, the effect only consists of a GUI mockup.
Create Octave+mod-script-pipe based dummy unit-test as well.
2019-11-22 19:42:32 +01:00
James Crook
008d8d8c8c Set BUILD_LEVEL 2, ready for release. 2019-11-15 11:14:55 +00:00
Paul Licameli
eb2161d3aa Fix (again) TAB key navigation to graphic EQ sliders on Mac...
... original fix was at c8d95e1

regression was at 3e98a10
2019-11-14 23:28:15 +00:00
David Bailes
185d555fc6 Bug2239: Windows, accessibility problem when TrackPanel regains focus
Problem:
When the TrackPanel regains focus, screen readers do not read the track name.
Introduced by the commit: acfd2b70

Fix:
Change TrackPanel::SetFocusedCell() so that it actually sets the focus, rather than just getting it :)

Note: this also fixes bug 2238
2019-11-13 16:49:02 +00:00
SteveDaulton
3c5906193b Fix bug 2233, First effect group incorrectly named 2019-11-12 19:46:55 +00:00
James Crook
eb00470042 Bug 2231 - Graphic Eq may create wrong effect 2019-11-08 20:12:13 +00:00
Paul Licameli
e96c213f4b Fix missing Spanish language choice on Linux...
... Don't modify a hash table (with operator []) while iterating it!
2019-10-24 15:31:24 -04:00
SteveDaulton
e9c8438d2d Fix for bug 2230 - Audacity crashes on selecting Resample
See https://bugzilla.audacityteam.org/show_bug.cgi?id=2230
2019-10-24 13:27:29 +01:00
Paul Licameli
cfbffe6d54 Bug 2228: crash closing, only Linux, gcc, opt, wxWidgets 3.0...
... Not the most satisfactory fix, but in fact no dangling pointers will
happen with the code we have now, because the relevant windows are all destroyed
only at the end of AudacityProject's lifetime, including the non-modal windows
(macros, history, lyrics, mixer board, plot spectrum, and contrast) which
are hidden and shown again, not destroyed and recreated, when dismissed and
reopened.

To do:  figure out how to make wxWeakRef work on that combination without
crashing.
2019-10-17 17:07:37 -04:00
ajkenny122
f5a6a02da0 Update audacity.desktop.in
Korean translation has been added.
(ko)
2019-10-07 10:39:48 +01:00
David Bailes
cff0011ee4 Bug 2225 - No error message when trying to delete with no selection
The problem only applies to the delete on the edit menu (ctrl+k), pressing delete or backspace work.

Fix: add a couple of missing flags.
2019-10-05 10:17:58 +01:00
James Crook
85a3e9880c Bug 2052 - Remove lock file, even if read only
The line breaks in the second message are also changed.
They are not changed in the first message, as that message is already translated.
2019-10-04 11:31:23 +01:00
James Crook
3bce6f1c21 Raise splashscreen at start up. 2019-10-03 20:24:06 +01:00
James Crook
98f495a485 Bug 2052 - Mac: Lock file prevents launching Audacity
This ameliorates the problem, by prompting the user telling them the lock file
location.  It does not fully solve it, but should allow us to reduce the bug to P2.
2019-10-03 17:19:32 +01:00
Leland Lucius
5955dbc752 Possible fix for bug #590
This change reduces the risk of LADSPA plugins referencing
Audacity symbols by using the RTLD_DEEPBIND flag when loading
the plugins.

It also addresses an issue specific to the "blop" plugins where
they load their own libraries (without RTLD_DEEPBIND).

A much better solution would be to change Audacity's default
symbol visibility to "hidden" which would expose ONLY symbols
specificially marked as visible.
2019-10-02 10:17:00 -05:00
David Bailes
9e51dba3db Bug 2215 - Cut does not work when in Pause mode
In bool MenuManager::TryToMakeActionAllowed(), there's the condition:
(MissingFlags & enabler.possibleFlags()) == MissingFlags

that is, the missing flags has to be a subset of the possible flags.
For cut in pause mode, this condition is not met for the enabler stopIfPaused, because MissingFlags also includes the CutCopyAvailableFlag, which is not one of the enabler's possible flags.
It is not sensible for the missing flags to have to be a subset of the possible flags, because for this to work, for each enabler the possible flags would have to include other flags that could need fixing by other enablers.

Fix:
1. Change the condition to the intersection of the missing flags and possible flags is non-empty.
2. In CutCopyAvailableFlag, remove the condition !AudioIOBusyPred(). If this is present, then due to the first change, paused audio could cause all audio to be selected even when there was a selection. The commands for which this flag is used are cut and copy, and they already have AudioIONotBusy flags, so this change should not affect previous behaviour.
2019-10-02 10:39:15 +01:00
David Bailes
b06af2330b Revert "Bug 2215 - Cut does not work when in Pause mode"
This reverts commit 458d92157a.

The fix caused another bug: when paused, with select all enabled, all audio was selected.
2019-10-01 15:19:11 +01:00
David Bailes
458d92157a Bug 2215 - Cut does not work when in Pause mode
In bool MenuManager::TryToMakeActionAllowed(), there's the condition:
(MissingFlags & enabler.possibleFlags()) == Missing

that is, the missing flags has to be a subset of the possible flags.
For cut in pause mode, this condition is not met for the enabler stopIfPaused, because MissingFlags also includes the CutCopyAvailableFlag, which is not one of the enabler's possible flags.
It is not sensible for the missing flags to have to be a subset of the possible flags, because for this to work, for each enabler the possible flags would have to include other flags that could need fixing by other enablers.

Fix: change the condition to the intersection of the missing flags and possible flags is non-empty.
2019-10-01 13:56:33 +01:00
David Bailes
6b2785b625 Revert "Bug 2215: Cut does not work when in pause mode"
This reverts commit 6a37cbae35.

This was reverted because it caused bug 2221.
2019-09-30 12:57:31 +01:00