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

7821 Commits

Author SHA1 Message Date
Paul Licameli
43a8725044 comment 2019-11-28 14:24:43 -05:00
Paul Licameli
7ccd35d219 wxWidgets docs recommend: don't SetSizeHints on non-top-level windows 2019-11-28 14:24:43 -05:00
Paul Licameli
c67a47e3e6 ShuttleGuiBase::mpDlg is const 2019-11-28 14:24:43 -05:00
Paul Licameli
f20e4786e9 Replace ShuttleGui::SetNoMatchSelector with arg in TieNumberAsChoice 2019-11-28 14:24:43 -05:00
Paul Licameli
d4ffbe0d68 Group setting path & default value arguments of Tie...() functions 2019-11-28 13:26:23 -05:00
Paul Licameli
7675d51044 Separate function TieIntegerTextBox...
... For the cases in which there is an associated preference variable which
should be a whole number
2019-11-28 13:18:33 -05:00
Paul Licameli
7fbe97c5ca Privatize, rename ShuttleGuiBase member fns (those using WrappedType) 2019-11-28 12:54:57 -05:00
Paul Licameli
08a9e7246f Use the proper type alias for ComponentInterfaceSymbol 2019-11-27 22:03:25 -05:00
Paul Licameli
e4e6e0a03a Make sure to translate certain strings in ExportMP3 rewrite 2019-11-27 21:43:02 -05:00
Paul Licameli
1add6f3930 Fix warning treated as error in Mac build 2019-11-27 21:38:59 -05:00
SteveDaulton
fe7434bc9f Merge loudness effect from mmmaise 2019-11-27 21:14:05 +00:00
SteveDaulton
c97573abb5 update makefiles for Loudness effect on Linux 2019-11-27 21:00:51 +00:00
Paul Licameli
87a9e7ccbb Use global ChoiceSettings variables, not coincidental string literals 2019-11-27 13:38:17 -05:00
Paul Licameli
9b41741074 Remove an overload of TieChoice; use more ChoiceSetting instead...
... this also corrects some mis-specifications of the default choice, formerly
by string instead of array position
2019-11-27 13:38:16 -05:00
Paul Licameli
087ac5e6c9 Change one overload of TieChoice to expect un-translated strings...
... preparatory to removing that overload.

This overload is used in exactly these files:

DevicePrefs.cpp (displaying host names retrieved by portaudio, which are not
defined in Audacity source)

EffectsPrefs.cpp

ExportFLAC.cpp (twice)

ExportMultiple.cpp (displaying the descriptions defined in the several export
plugin classes)

GUIPrefs.cpp (four times: languages, manual location, theme, and meter DB
range; the language names themselves don't have localizations!)

MidiIOPrefs.cpp (displaying host names retrieved by portmidi)

TracksBehaviorsPrefs.cpp (for solo button choices)

There is also TieNumberAsChoice, used in QualityPrefs and elsewhere, which
calls through to that overload.
2019-11-27 13:38:16 -05:00
Paul Licameli
5638d6844f Eliminate an overload of TieChoice...
... with one exception (/FileFormats/FFmpegAACProfile),
the calls are replaced with TieNumberAsChoice.

Some unfortunately repetitious string tables are a small price in exchange for
reduced confusion in ShuttleGui.cpp

Untranslated strings are passed to TieNumberAsChoice, which is wrong, but that
will be made right in the next commit when we change the implementation of that
function
2019-11-27 13:38:16 -05:00
Paul Licameli
dc3e872ca6 Reimplement TieNumberAsChoice and fix some comments...
... Make the array of integer choices optional, and call through to the
non-deprecated overload of TieChoice, which uses strings.

In 2.3.3 this function is only used in the Quality preferences dialog.
2019-11-27 13:38:06 -05:00
Paul Licameli
0493aaccee TieChoice needs only const reference to ChoiceSetting 2019-11-27 13:37:26 -05:00
Paul Licameli
e008a44022 Pass ChoiceSetting to StartRadioButtonGroup...
... and we don't need to pass strings to TieRadioButton.

This removes some repetition of string literals in import/export, which is
good too.
2019-11-27 13:37:25 -05:00
Paul Licameli
c5e21ead18 Rename, privatize, combine ShuttleGui members related to radios 2019-11-27 13:37:25 -05:00
Paul Licameli
89f3369556 Some WrappedType members just for radio buttons are no longer needed 2019-11-27 13:37:25 -05:00
Paul Licameli
c8a8c6a3fa Remove radio button function overloads made unused in previous commit 2019-11-27 13:37:24 -05:00
Paul Licameli
51115903d4 Remove uses of overload of TieRadioButton taking int values...
... and migrate old preferences with EnumSetting
2019-11-27 13:37:24 -05:00
Paul Licameli
0d910bbe02 EnumSetting has a template parameter 2019-11-27 13:37:24 -05:00
Paul Licameli
85b06fe6d0 Define ChoiceSetting::ReadWithDefault ...
... because some calls might not have used the same defaults as in the Tie...
functions
2019-11-27 13:37:24 -05:00
Paul Licameli
bc08f571dc ChoiceSetting default is changeable and can be unspecified 2019-11-27 13:37:23 -05:00
Paul Licameli
1236c5bfed class EnumValueSymbols lets you specify a table...
... of EnumValueSymbol either row-wise or column-wise
2019-11-27 13:37:23 -05:00
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