Commit Graph

1923 Commits

Author SHA1 Message Date
SteveDaulton 8e57ce451a Add spectral delete effect 2020-04-02 22:41:06 +01:00
Leland Lucius 8ae9a708fe Fix disabled OK button in effects when monitoring 2020-03-31 13:54:02 -05:00
Leland Lucius 4b76af5314 Bug 2376 - Crash when attempting to use AudioUnit in Basic mode 2020-03-30 00:39:07 -05:00
David Bailes 203d801293 Built-in Generate and Analyse dialogs: add missing access keys 2020-03-27 14:40:26 +00:00
David Bailes eeeb4f3e1f Built-in effect dialogs: add access keys where necessary
Several of the dialog were missing acccess keys.
Note: access keys not added to Distortion effect as yet, due to complexity of control names changing when the Distortion type is changed.
2020-03-27 10:51:34 +00:00
Paul Licameli 9f076b5179 Make changes to Change Tempo dialog during preview work as intended...
... See commits b22f6b59d2 and
19fa6d2833
2020-03-26 11:13:43 -04:00
Paul Licameli 85c34132f4 fix sync-lock adjustment in effects, see commit a93c447 2020-03-26 11:08:22 -04:00
Paul Licameli 491b1d40a3 Remove unused member of Effect 2020-03-26 11:02:53 -04:00
Paul Licameli 8570ab7402 Fix incorrect type shuttling Loudness parameters 2020-03-22 22:08:31 -04:00
Paul Licameli 210fc28863 Bug 2368: Effects with clip boundaries differing across channels...
... Wrong results could happen in effects that don't compute the channels
independently, such as the built-in Reverb.

To fix it, always fetch same position of left & right channels when
computing effects.
2020-03-22 07:56:40 -04:00
Paul Licameli 8eee265c38 Fix error in generator code...
... see commit 5378b0a951

complete the change that was intended there, for both channels
2020-03-22 07:56:40 -04:00
James Crook d809745a55 Bug 2367 - Residual: Change Speed effect may create spurious clip at end
Also the fix for Change Pitch was not complete as it only worked for mono tracks.
2020-03-22 11:49:39 +00:00
Paul Licameli 37c8a6ef23 Remove unused member variable 2020-03-21 16:19:13 -04:00
Paul Licameli 7ae5c65580 Remove test in Loudness effect for same clip boundaries in channels...
... it was not correctly written, and anyway WaveTrack::Get doesn't really
report sufficient information to test as intended.
2020-03-21 15:48:58 -04:00
James Crook 0fe483f0e2 Bug 2367 - Change Pitch effect may create spurious clip at end 2020-03-21 19:40:56 +00:00
Paul Licameli b683ed8c07 Remove vestiges of unification of Normalize with Loudness 2020-03-21 11:14:13 -04:00
Paul Licameli 7224671628 Fix a comment 2020-03-19 15:47:55 -04:00
Paul Licameli 76a896845c Use safenew (appropriately!) in two places 2020-03-19 14:34:16 -04:00
Leland Lucius 9cf80a41ee Bug 2334 - Mac: AU effects cannot Export or Import the effect's settings
This removes the ability to import/export multiple presets at
once and add the standard method used by the other plug-ings.

It also adds a workaround for the AU view not updating after
setting a new preset.  I will continue to look for the true
cause of this, but the workaround does correct the display
issue.
2020-03-14 18:58:55 -05:00
Paul Licameli 76c3008759 Remove unused variable 2020-03-14 14:52:47 -04:00
Leland Lucius 12c940cdf6 Suppress deprecation warning 2020-03-11 23:47:55 -05:00
Paul Licameli c2feee6cea Bug2346: Complete fix...
... without making undesirable dependency cycles.

Eliminate calls to NewWaveTrack in effects, but in Edit>Copy too, which was
not mentioned in the bug report.  (Copying a track, deselecting all, and pasting
preserved CLIP colors, but not the TRACK color setting which applies to newly
generated clips.)

Instead, always use the new function WaveTrack::EmptyCopy from the track to be
later replaced, getting color information.

NewWaveTrack is still used in benchmark test, import, the Track menu
commands that make new tracks, recording to new tracks, and generators without
a selection, where there is no track to copy from.

Also when deserializing tracks from the .aup file, in which case the saved
color is later retrieved from the file.

Also, in mix-and-render, where other logic decides whether to copy colors
afterward.

See commit a9658e6ef7
2020-03-10 22:32:23 -04:00
Paul Licameli 046ee21e72 Move GetEditClipsCanMove to global function in TracksBehaviorsPrefs.cpp 2020-03-09 11:23:08 -04:00
Paul Licameli 37d730edfe Break dependency cycle of Effect and EffectManager 2020-03-08 16:21:28 -04:00
Leland Lucius ced4c21700 Bug 2334 - Mac: AU effects cannot Export or Import the effect's settings
Nearly all of the entire preset handling was broken.  It was based
on the parameter names only and for various reasons, that was very
inadequate.

So, it now uses the recommended approach.
2020-03-07 02:06:15 -06:00
Leland Lucius 35fa6cf399 Bug 2036 - Mac: Some AU plug-in effects can be enabled but fail to register
None of the effects listed in the bug expose any parameters.
2020-03-07 01:39:11 -06:00
Leland Lucius d15308b7e7 Bug 1602 - Mac: AUPeakLimiter plug-in visual corruption makes it hard to use the effect
And fix for #3 listed here:

https://forum.audacityteam.org/viewtopic.php?f=47&t=109165&p=387698#p387698
2020-03-06 23:20:23 -06:00
Paul Licameli a9658e6ef7 Alternative fix for Bug2346 without dependency cycles 2020-03-06 17:32:24 -05:00
James Crook f1b6843b9a Bug 2321 - Crash on editing ChangePitch parameters in a Macro
EffectChangePitch:: Don't use the inputTracks() when building the GUI
in Batch mode.

Repeat and NyquistEffect had the same problem as they could call
FindProject() which used inputTracks() on a closed project.  Fixed by a change in Effect::GetSelectionFormat().
2020-03-06 19:14:31 +00:00
James Crook 09883646ec Fix Linux builds (Case sensitive include paths) 2020-03-05 23:00:05 +00:00
James Crook 95bbe617b8 Bug 2343 - Presets: Effect Ids not the same in Presets as for Macros 2020-03-05 22:14:17 +00:00
Paul Licameli b8fd99692d Preview button of Noise Reduction always disabled when editing macro...
... as was intended but not properly implemented
2020-03-03 12:47:34 -05:00
James Crook 042b0f6b9b Bug 2338 - Graphic EQ: Frequency sliders cannot be identified by just looking at the effect UI. 2020-03-02 18:57:09 +00:00
Paul Licameli 91503a91f1 Amplify effect should correctly restore the saved can-clip setting...
... bug began at commit d98e41a

When not batch processing, don't overwrite mCanClip
2020-03-02 12:12:27 -05:00
Paul Licameli 310b5dea30 Fix (again) calls to AddCheckBox...
... Force you to pass bool now.  Break compilation in case you pass literal
"false", rather than implicitly converting it to bool true !

See commit 7766d9a192 which was in 2.3.2

But Max merged later at d9608cddea in 2.4.0, with
his effect apparently written analogously with the old code in Normalize from
before that, and this quetly compiled with the wrong effects.
2020-03-01 22:17:20 -05:00
James Crook ec00a7352f Bug 2340 - Macros: Graphic Eq and Filter Curve may open with wrong settings from Macro Editor 2020-02-26 12:31:31 +00:00
Paul Licameli da2e02242f Bug2325: Don't hang exporting effect presets twice...
... or, what I saw in my Mac builds:  there wasn't a hang, but there was
incorrect behavior on alternate attempts to export presets.  Sometimes, instead
of (correctly) giving a file overwrite warning, there was instead a message
box about failure to open a non-existent file path, which had the last path
component duplicated.
2020-02-25 11:39:46 -05:00
James Crook 3653af42fc Bug 2326 - Further wording tweaks. 2020-02-25 11:41:36 +00:00
James Crook d70365ba2b Bug 2326 - Wording improvement (as requested). 2020-02-25 11:09:43 +00:00
James Crook 64811e49f9 Bug 2326 - Export settings from one effect can be attempted to be imported into another effect - silent fail, with no error message 2020-02-24 20:57:47 +00:00
Paul Licameli 25d0871e55 Move i18n-hint to proper place...
... It must be on the line preceding the string to get into the .pot file
2020-02-23 14:41:58 -05:00
James Crook 24e5c9bde9 Remove old printfs
These were introduced when working on import/export of presets.
2020-02-22 19:06:01 +00:00
James Crook acf91a70e0 Clean up EQ changes.
- i18n comment
- Remove hanging not-needed comment.
- Remove some already commented out code.
2020-02-22 19:02:28 +00:00
Leland Lucius 80662a1b60 Add missing value initialization 2020-02-21 11:17:59 -06:00
James Crook 3332c9451e Slightly faster parsing of Nyquist programs.
This reads the program into a buffer first.
It also preallocates space for the Nyquist program.
2020-02-21 15:39:37 +00:00
David Bailes f5b8b4028b Accessibility: AutoDuck and Truncate silence effects.
Problem:
Screen readers don't automatically read the units of the values in text boxes.

Fix:
Add units the the accessibility name of the text boxes.

Thanks to Paul for providing ShuttleGui::NameSuffix(), which makes the code neat and readable.
2020-02-21 14:55:15 +00:00
SteveDaulton 3ba5f69089 Fix bug 2328: Ensure fade out at end of each DTMF tone 2020-02-19 19:42:21 +00:00
Paul Licameli 33b5d151ac Bug2271, Compressor ratio slider should not overlap the label...
... commit 707a069 was at fault
2020-02-18 14:21:11 -05:00
James Crook 970061483b Bug 2269 - Linux: Graphic Eq crash 2020-02-17 22:17:16 +00:00
James Crook a6699ed494 Bug 2283 - Crash on editing Nyquist Generator plug-in parameters in Macro
Big Thanks to Steve for finding this and writing clear steps to reproduce when logging this bug in Bugzilla.  Also thanks to Peter for confirming the same bug is present on Windows, i.e. is all platforms, not just Linux.
2020-02-17 16:31:40 +00:00
James Crook 1d9aa20a40 Bug 2261 - Graphic EQ sliders have no frequency labels 2020-02-17 14:10:37 +00:00
James Crook 4d54430c7c Bug 2270 - Graphic Eq: GUI opens too small vertically 2020-02-17 13:27:13 +00:00
James Crook 3d7cf17950 Bug 2254 - Graphic Eq: Inappropriate presets 2020-02-17 13:21:44 +00:00
James Crook 83c294c844 Bug 2237 - Equalization effects have no Import or Export for curves
This is a minimal fix for this bug, and can be improved on in time.  There is almost no error checking in the file read and write, so if you use a bad presets file, you won't be told (yet).

It does provide import and export for all effects that have presets.
2020-02-17 11:59:40 +00:00
SteveDaulton 63c7f6b722 Nyquist: Handle nyx_list return value
Required to avoid error on running Macoro Scripting commands
from Nyquist.
2020-02-15 15:28:01 +00:00
David Bailes 7ff9f1b302 Bug 2293 - Change Tempo effect fails
Problem:
Validation of the length fails, because what should be the min and max are in fact the max and min.

Introduced by commit 1d32824, which got the min and max the wrong way round.
2020-02-10 10:44:03 +00:00
SteveDaulton b85a393af4 Increase size of Nyquist string widget 2020-02-09 12:03:46 +00:00
Leland Lucius 70a67c51d2 Get rid of warning in LV2Effect.cpp
Use the wxCRT_StrdupA to use the appropriate strdup
function for the platform.
2020-02-06 23:18:48 -06:00
Leland Lucius 37f24ee3b0 Get rid of warnings
Must use the deprecated types to support older plug-ins.
2020-02-05 19:00:49 -06:00
Leland Lucius df1aeb8f3f Ensure suil can find the interface modules
Suil uses loadable modules to embed different
UI toolkits within other toolkits, so he needs
to be told where to find them.
2020-02-05 15:30:05 -06:00
Leland Lucius 703f59d709 Ensure a native window exists
Don't send a size event to a native window unless the native
window actually exists.
2020-02-05 15:26:08 -06:00
Paul Licameli 3b77af5dfc Remove TranslatableStringArray.h 2020-02-02 18:02:32 -05:00
SteveDaulton 3e94dfdca0 bug 2300: Limit number of clips in *track* clips property
Nyquist has a limit (less than 2000) for the number of arguments
which may be exceeded when creating the *track* clips property.
In the event that there are more than 1000 clips in a track,
Audacity will now only add the first 1000 clips to the *track* property
and add NIL as the 1001th.
2020-02-02 21:24:44 +00:00
Paul Licameli 4d43967add Restore commit c1d129ec98 2020-01-31 23:51:12 -05:00
Paul Licameli 2c25a37994 Revert to a465ce0046 2020-01-31 22:34:25 -05:00
Paul Licameli d9d3f95570 Several nonmodal top level window tools register their menu items...
... removing link dependencies on them from src/menus, so they are now suitable
for moving out into modules.

They are:
Mixer Board
Karaoke (also called Lyrics)
History
Contrast
Plot Spectrum

Their header files are now no longer included anywhere but in their own
implementation files!
2020-01-31 21:12:36 -05:00
Leland Lucius 6da68f2035 Remove obsolete config*.h files
These are ancient and "configunix.h" was being pulled in
via Types.h.  Nothing major, but they were generated for
a 32-bit system and "may" cause problems when used on
64-bit systems.

(That's unlikely though since they haven't all this time.)
2020-01-31 09:29:15 -06:00
Paul Licameli 9093364b8c Fix other problems since commit f6e5696...
... Problem with static initialization order of ReservedCommandFlags, caused
wrong enablement of menu items (at least on Mac), such as Plot Spectrum or
Contrast enabled when there was no selection
2020-01-28 17:49:07 -05:00
Leland Lucius d28009c93e Remove unneeded include 2020-01-24 22:25:52 -06:00
Max Maisel 17ef5b1c75 Fix two bugs in loudness effect (#410)
* Calculate loudness for short or silent selections as well.

In case of selections shorter than 400ms (one momentary loudness block),
take what we have got and divide only be the actual length.

Abort loudness normalization silently if the selected audio is all
silent.

* Fix loudness effect bug when selection includes a gap.

If the selected audio in a track contained a gap between two clips,
an incorrect amount of samples was processed.
2020-01-24 18:04:19 +00:00
Paul Licameli 921d7f28ef Correct a naked new 2020-01-24 10:25:51 -05:00
Paul Licameli b5b9ab6ecd EffectUIHost::BuildButtonBar uses ShuttleGui 2020-01-23 19:06:23 -05:00
Paul Licameli c28c170cc0 EffectUIHost::Initialize uses ShuttleGui 2020-01-23 19:06:23 -05:00
Paul Licameli eb3e5d8f6f Factor EffectUIHost::Initialize 2020-01-23 19:06:23 -05:00
Paul Licameli 1c84932dfa EffectUIClientInterface::PopulateUI takes ShuttleGui & 2020-01-23 19:06:23 -05:00
Paul Licameli eff5b2ef92 Make Effect::PopulateUI final (no special case for Equalization) 2020-01-23 19:06:23 -05:00
Paul Licameli 46e99bb038 Move EffectPresetsDialog out of Effect.cpp 2020-01-23 15:23:46 -05:00
Paul Licameli 808d4accfd Remove some friends from Effect 2020-01-23 15:23:46 -05:00
Paul Licameli e5625bfb89 Move EffectDialog out of Effect.cpp 2020-01-23 15:23:43 -05:00
SteveDaulton 9a0ee24c5c bug 2290: Add error message
See https://bugzilla.audacityteam.org/show_bug.cgi?id=2290#c9
2020-01-23 12:59:53 +00:00
SteveDaulton 32a60103b4 bug 2290: Bail if no DTMF sequence 2020-01-20 21:29:50 +00:00
Paul Licameli bbdc27b462 LoadEffects.cpp doesn't depend on individual effect classes... 2020-01-19 19:16:51 -05:00
Paul Licameli 69dab8b552 Each built-in effect class registers itself with BuiltinEffectsModule 2020-01-19 19:16:51 -05:00
Paul Licameli 4579835911 Eliminate one of the ## macro hacks in LoadEffects 2020-01-19 19:16:51 -05:00
Paul Licameli 83be5b3045 All loaded built-in effects have nullary constructors 2020-01-19 19:16:50 -05:00
Paul Licameli f2ed21f9e5 Fix some comments 2020-01-19 13:23:30 -05:00
Paul Licameli 2570b56176 Rename Maybe and its members more like std::optional of C++17 2020-01-19 11:38:12 -05:00
Paul Licameli d2ccde77e7 Remove another exhaustive switch on view sub-types, in Nyquist.cpp 2020-01-18 20:28:53 -05:00
Paul Licameli 7cff170cf7 Sub-view objects report their complete type, not just an enum value 2020-01-18 20:28:53 -05:00
Paul Licameli d9ddb41410 Un-fix smart single quotes in Nyquist prompt too; see commit 45a0ce1 2020-01-18 19:34:40 -05:00
Paul Licameli 73fd60543d Amending commit 1176b61 to avoid compatiblity break in macros using EQ 2020-01-18 11:14:41 -05:00
Paul Licameli 705d4a26a5 Don't supply "Waveform (dB)" to the 'VIEW property in Nyquist...
... consistently with the drop-down menu, and now the Tracks Preferences too.

Only distinguish Waveform and Spectrogram and nil.

See also commit e3d9fd9.
2020-01-17 22:48:23 -05:00
James Crook 1176b61953 Wording changes, per wiki:
https://wiki.audacityteam.org/wiki/Wording
2020-01-10 17:02:31 +00:00
Paul Licameli 66fd95f3d6 Rewrite the path through NyquistEffect, in the case that...
... you use the prompt, and you enter a complete script with control comments
that are reinterpreted to put up a second dialog.

This simplifies Effect::Delegate() and avoids mutual recursion of ShowInterface
with DoEffect.
2020-01-08 16:48:37 -05:00
Paul Licameli e8c8db8b33 Parent and dialog factory arguments of Effect::DoEffect are optional 2020-01-08 16:47:21 -05:00
Paul Licameli 4385326e9d Fewer calls to Effect::FindProject when only rate is needed 2020-01-07 18:38:56 -05:00
SteveDaulton 8b1ecf03a4 Fix bug 2280 2020-01-07 16:47:50 +00:00
Paul Licameli 6a0aed3884 Eliminate uses of GetActiveProject in src/effects 2020-01-06 14:14:21 -05:00
Paul Licameli a93c4472f5 TrackList has back-pointer to project...
... and Track::GetOwner() is publicized, so that now you can find the
the AudacityProject, if any, that owns a given Track; this will help eliminate
some uses of GetActiveProject
2020-01-06 14:14:21 -05:00
Paul Licameli c7984a2c83 Fix mistaken usage of ProjectSettings 2020-01-06 13:48:51 -05:00
Paul Licameli ed9871d6b5 Eliminate GetActiveProject in EffectUI.cpp...
... This changes visible behavior.

If a realtime effect was open (say, AUGraphicEQ on Mac), and there were multiple
projects, then the window was associated with one of the projects.

But the "Apply" button could apply the effect to the active project, even if
that was not the associated one.  But the associated project was queried for
the existence of a selection.

Now, EffectUIHost::OnApply consistently examines and changes only the associated
project, even if it is not active.

You have to close the window and reopen it with the other project if you really
want to change the other.

You can't have two realtime effects open at once, even if for different
projects.  To overcome that limitation, we would have to make
RealtimeEffectsManager store state per-project, not globally.
2020-01-06 11:30:48 -05:00
Paul Licameli 723c5256c0 Don't call GetActiveProject when constructing EffectUIHost...
... relying on guarantees in the previous commit
2020-01-06 11:30:47 -05:00
Paul Licameli bb26b2f2c4 Require a ProjectWindow as ancestor of effect dialog...
... by passing parent as reference, not pointer, and testing in the dialog
factory function.

This is important so that we know the lifetime of an effect dialog, even when
it is non-modal, is bounded by the lifetime of the associated project.
2020-01-06 11:30:47 -05:00
Leland Lucius 2803bc30a6 Fix Windows build
2>c:\users\yam\documents\aud\audacity\src\effects\effectui.h(215): warning C4099: 'CommandContext': type name first seen using 'class' now seen using 'struct'

...

2>BatchCommands.obj : error LNK2019: unresolved external symbol "bool __cdecl EffectUI::DoEffect(class wxString const &,class CommandContext const &,unsigned int)" (?DoEffect@EffectUI@@YA_NABVwxString@@ABVCommandContext@@I@Z) referenced in function "public: bool __thiscall MacroCommands::ApplyEffectCommand(class wxString const &,class TranslatableString const &,class TaggedIdentifier<struct CommandIdTag,0> const &,class wxString const &,class CommandContext const &)" (?ApplyEffectCommand@MacroCommands@@QAE_NABVwxString@@ABVTranslatableString@@ABV?$TaggedIdentifier@UCommandIdTag@@$0A@@@0ABVCommandContext@@@Z)

2>PluginMenus.obj : error LNK2001: unresolved external symbol "bool __cdecl EffectUI::DoEffect(class wxString const &,class CommandContext const &,unsigned int)" (?DoEffect@EffectUI@@YA_NABVwxString@@ABVCommandContext@@I@Z)

2>TrackMenus.obj : error LNK2001: unresolved external symbol "bool __cdecl EffectUI::DoEffect(class wxString const &,class CommandContext const &,unsigned int)" (?DoEffect@EffectUI@@YA_NABVwxString@@ABVCommandContext@@I@Z)
2>C:\Users\Yam\Documents\aud\audacity\win\Debug\Audacity.exe : fatal error LNK1120: 1 unresolved externals
2020-01-06 00:00:14 -06:00
Paul Licameli 91515520bc Remove the nullary override of Effect::Preview 2020-01-05 19:59:30 -05:00
Paul Licameli 8bbc22e47a Cut and paste; EffectManager doesn't need EffectUI; cycle of 3 broken! 2020-01-05 16:11:55 -05:00
Paul Licameli 91c45dd32a Move static EffectManager::DoEffect into new namespace 2020-01-05 16:11:55 -05:00
Paul Licameli 23a0206d2a Remove CreateUI; pass dialog factory to effect client instead 2020-01-05 16:11:55 -05:00
Paul Licameli 738c5c5e90 Remove Effect::PromptUser...
... it was only a thin wrapper of ShowInterface when not overridden, not
clearly serving a distinct purpose.
2020-01-05 16:11:55 -05:00
Paul Licameli fb678c0eb8 Remove EffectHostInterface::Apply so Effect doesn't use EffectManager 2020-01-05 16:11:54 -05:00
Paul Licameli 8c4d8db133 Move classes EffectUIHost and EffectPanel to EffectUI.cpp 2020-01-05 16:11:54 -05:00
Paul Licameli 91536d734f Rename EffectRack.* as EffectUI 2020-01-05 16:11:54 -05:00
Paul Licameli 129c9deb99 Remove GetActiveProject from EffectRack...
... and make one EffectRack window per project
2020-01-04 16:36:55 -05:00
Paul Licameli 275797bbb4 Fewer uses of ::GetActiveProject()...
... where we have a window, ascend the chain of parent pointers instead to
find the project window.
2020-01-04 12:59:37 -05:00
Leland Lucius 04dcc8994d Remove leftover debugging code 2020-01-04 00:43:52 -06:00
Paul Licameli 914bb1dc95 Remove some uses of GetActiveProject in src/effects 2020-01-02 13:32:04 -05:00
Paul Licameli 45a0ce1819 Bug2268: should be able to use " in Nyquist Prompt for Mac...
... We need to un-correct the smart quote characters back to dumb quotes
before passing the input to the Lisp interpreter.

The smart quote correction is a consequence of the move to the MacOS 10.9 SDK.
Stopping the correction at the source would require objective-C hacks in a
custom build of wxWidgets, and just not worth the effort.

This fix only corrects the text input at one wxTextCtrl.  Should we reexamine
other uses of that class?
2019-12-31 15:31:45 -05:00
Paul Licameli de4edb0424 Nyquist output dialog uses ShuttleGui 2019-12-29 17:46:02 -05:00
Paul Licameli aa39f9ade2 Rewrite FileNames::SelectFile using FileTypes...
... And more uniformity in the descriptions of file types used in more than
one place

Also fixes missing translations in VSTEffect.cpp
2019-12-29 15:35:04 -05:00
Paul Licameli c64b3cb31f Rewrite FileDialogWrapper using FileNames::FileTypes...
... also removing some repeated code and using the config keys /DefaultOpenType
and /LastOpenType only in Import.cpp
2019-12-29 15:35:03 -05:00
Paul Licameli 0704f6919a EffectPresetsDialog::SetPrefix takes TranslatableString 2019-12-29 00:01:57 -05:00
Paul Licameli 6e14d2e56c RulerPanel uses TranslatableString for units string...
... also fixing missed translation of "k" in spectrum vertical ruler
2019-12-28 23:49:18 -05:00
Paul Licameli 3b9442a000 Fewer uses of macro _ in Nyquist.cpp 2019-12-28 23:49:18 -05:00
Paul Licameli 956e0813c4 SliderAx uses TranslatableString 2019-12-28 23:49:17 -05:00
Paul Licameli 18942d9909 Rename a function in Distortion.cpp 2019-12-28 19:56:59 -05:00
Paul Licameli d6cd48cde1 Eliminate uses of macro _ in Distortion 2019-12-28 19:56:59 -05:00
Paul Licameli cf5c18b9b3 Rewrite export of data in Contrast.cpp 2019-12-26 22:11:44 -05:00
Paul Licameli 23cd7f40f3 Fix export of Contrast data on Mac 2019-12-26 20:36:34 -05:00
Paul Licameli d396472c9f Rewrite overload of TieChoice that took wxString& instead of int& ...
... let it take TranslatableString& instead.

It was used only in AudioUnitEffect.cpp.
2019-12-26 15:33:47 -05:00
Paul Licameli 744f4b626c Fix unreported bug in AudioUnit effects...
... When locale is not English (and translation is complete enough, as in
French) then the switching from Generic to Full interface in Options... did not
work.

(Locales lacking translations of the strings "Full" and "Generic" didn't have
this problem.)

(AudioUnit effects still don't implement a "Basic" interface distinct from
"Generic" regardless of locale.  That's another matter.)
2019-12-26 15:31:17 -05:00
Paul Licameli 57350ff104 Rewrite conditionally compiled Add/TieCheckBox calls 2019-12-24 00:31:06 -05:00
Paul Licameli 2d3cea1d2c Keep advanced options of NoiseReduction compilable 2019-12-24 00:00:08 -05:00
Paul Licameli d1637c22c0 TranslatableString for explicit prompts and units in ShuttleGui 2019-12-23 19:22:03 -05:00
Paul Licameli 747c35645a TranslatableString for checkbox captions 2019-12-23 19:15:34 -05:00
Paul Licameli c23451af9d TranslatableString for prompts of radio buttons 2019-12-23 19:02:21 -05:00
Paul Licameli 455d3185a8 TranslatableString for list control column headers, menus 2019-12-23 19:02:21 -05:00
Paul Licameli 6b235bdec5 TranslatableString for captions of sliders 2019-12-23 19:02:21 -05:00
Paul Licameli 13417b6d5b ShuttleGui::AddFixedText takes TranslatableString 2019-12-23 19:02:19 -05:00
Paul Licameli acd1158e1b TranslatableString for titles, and spin control and combo prompts 2019-12-23 18:53:00 -05:00
Paul Licameli 707a069712 ShuttleGui::AddVariableText takes TranslatableString 2019-12-23 18:53:00 -05:00
Paul Licameli 5168d62e3d TranslatableString for captions of text entry boxes 2019-12-23 18:53:00 -05:00
Paul Licameli b404eb7800 TranslatableString for static text box captions 2019-12-23 18:52:37 -05:00
Paul Licameli 21e7b9f2de TranslatableString for prompts of choice controls 2019-12-23 15:39:49 -05:00
Paul Licameli 1944ac2040 TranslatableString for labels of ShuttleGui buttons 2019-12-23 15:35:48 -05:00
Paul Licameli 75996a851c ShuttleGui::AddChoice and TieChoice take TranslatableStrings 2019-12-23 15:35:47 -05:00
Paul Licameli 86e9288bbd return pitch names as TranslatableString 2019-12-21 12:45:24 -05:00
Paul Licameli 89a3771730 TranslatableString for AudacityTextEntryDialog message and caption 2019-12-21 11:23:32 -05:00
Paul Licameli 99c3c29158 Some compilation fixes for EXPERIMENTAL_SCOREALIGN 2019-12-21 00:34:59 -05:00
Paul Licameli 1537930195 DiscoverPluginsAtPath reports error as TranslatableString 2019-12-20 22:06:18 -05:00
Paul Licameli 2007346551 Pass TranslatableString to help, warning, and error dialogs 2019-12-20 21:48:21 -05:00
Paul Licameli 5909f67fdb NumericTextCtrl::SetName takes TranslatableString 2019-12-20 21:38:05 -05:00
Paul Licameli dc39f22442 AudacityMessageBox takes TranslatableString message and caption 2019-12-20 21:32:50 -05:00
Paul Licameli d8c2610d88 TranslatableString in AudacityCommand::MessageBox, Effect::MessageBox 2019-12-20 21:32:47 -05:00
Paul Licameli ae42397d64 FileNames::SelectFile takes TranslatableString for message 2019-12-20 13:40:20 -05:00
Paul Licameli 71e9e38083 AudacityMessageDialog takes TranslatableString message and caption 2019-12-20 13:40:20 -05:00
Paul Licameli 1b726f4f09 More TranslatableString in dialog wrapper classes...
... All of the dialog names, and the messages for File and directory dialog
wrappers
2019-12-20 13:40:20 -05:00
Paul Licameli e3ea93a624 Define and use function Verbatim...
... in cases of "TranslatableString" that are not really translated.

This makes it easier to scan the code for such unusual constructions of
TranslatableString, distinct from mere mentions of the TranslatableString type.
2019-12-19 22:49:23 -05:00
Paul Licameli 3a633e4fd8 XMLFileWriter takes TranslatableString caption 2019-12-19 16:41:48 -05:00
Paul Licameli 092033b284 Just one accessor for the name of a ComponentInterface...
... Translate it explicitly where needed.
2019-12-19 11:47:37 -05:00
Paul Licameli 16e66a1e7e Keep EffectNoiseRemoval compilable 2019-12-19 11:31:55 -05:00
Paul Licameli 027a5ca32e ShuttleGui static boxes can wrap long text 2019-12-18 10:43:15 -05:00
Paul Licameli 826e50b366 Mac build band-aid 2019-12-17 14:30:04 -05:00
Leland Lucius ccfd2f1c80 Update LV2 host
This greatly improves the LV2 host to the point where all
(non-midi) plugins distributed with Ubuntu 18.04 and Fedora
30 are supported.
2019-12-17 12:54:30 -06:00
Paul Licameli 618fee21ec TranslatableString for ComponentInterface::GetDescription() 2019-12-16 14:21:57 -05:00
Paul Licameli 4eb220e7b9 TranslatableString for undo history short and long descriptions 2019-12-16 14:19:23 -05:00
Paul Licameli 1f86a77569 TranslatableString for effect command names and descriptions 2019-12-16 10:58:05 -05:00
Paul Licameli 89df7a3ffc Use TranslatableString in XMLFileReader & move the help URL logic 2019-12-16 10:58:05 -05:00
Paul Licameli 681950fc61 TranslatableString for names, labels, tooltips of wxPanelWrapper...
... and Grabber too
2019-12-16 10:58:05 -05:00
Paul Licameli 53ee9c9800 TranslatableString for titles, names, labels of wxDialogWrappers...
... Found one missed translation in CommandTargets.cpp
2019-12-16 10:58:05 -05:00
Paul Licameli 5639f834c8 CommandManager stores labels as TranslatableString 2019-12-16 10:58:05 -05:00
Paul Licameli 9a609fe1fe TranslatableString in ProgressDialog 2019-12-14 01:48:15 -05:00
Paul Licameli aac50ae36e EffectManager returns TranslatableString for family and vendor 2019-12-12 15:30:36 -05:00
Paul Licameli 0cf90d65e6 S.GetParent() for all windows passed to ShuttleGui::AddWindow()...
... Verified that this makes no real change.
2019-12-10 09:58:38 -05:00
James Crook 5a3e9cd063 Fix dialog naming
For nicer Doxygen results, we need consistency in naming of classes.
Dialag classes are now called SomethingDialog.
2019-12-06 10:39:07 +00:00
SteveDaulton c2d4b5616e Add Noise Gate plug-in 2019-12-05 21:13:24 +00:00
Paul Licameli 15260c2c95 TranslatableString can store a context and format arguments...
... Format arguments are substituted into the translation of the msgid, which
may not be known at the time the format arguments are captured (because locale
may change).  This allows TranslatableString with arguments to be constructed
at static initialization time.

There is also a special "verbatim" or null context which makes no translations
of msgids.

There is not yet any use of other contexts besides default or null.
2019-12-05 11:34:06 -05:00
Paul Licameli ca70cc940f Don't concatenate ":" onto user-visible strings...
... include it in the msgid intead, to get appropriate translations.  For
instance some locales use the same character but prefer to insert a space
before it.
2019-12-04 16:19:07 -05:00
Paul Licameli 930c21dc2a Define and use ShuttleGui::Size 2019-12-02 22:02:46 -05:00
Paul Licameli dd954247d3 More uses of Position(); don't fiddle with sizer items directly 2019-12-02 22:01:55 -05:00
Paul Licameli 3aef0f4eef Don't directly create wxPanel in Equalization 2019-12-02 22:01:27 -05:00
Paul Licameli 96291c5476 Remove second argument of AddWindow(), use Position() instead 2019-12-02 22:01:22 -05:00
Paul Licameli b5ee7676fd Rename ShuttleGui::SetSizeHints, chain-call it like other methods...
... And rewrite some other existing calls to SetMinSize
2019-12-02 19:35:06 -05:00
Paul Licameli 64a96e6f01 Define and use ShuttleGui::ConnectRoot...
... And corrected improper connections in HistoryWindow and ContrastDialog,
improper because they got called with the wrong this pointer, to
the control instead of the dialog.  But that was harmless anyway because the
handlers did not use this.
2019-12-02 19:35:01 -05:00
Paul Licameli d98e41aad1 Define and use ShuttleGui::Disable; remove EnableCtrl 2019-12-02 17:54:07 -05:00
Paul Licameli c72dbf5b51 Define and use ShuttleGui::Focus 2019-12-02 17:26:40 -05:00
Paul Licameli 30d375d6fa Remove style argument from ShuttleGui::AddCombo & AddListBox...
... use the Style() chain-call instead, as needed
2019-12-02 17:26:38 -05:00
Paul Licameli 1bfbfb9640 ShuttleGui::Style analogous to other functions 2019-12-02 17:23:34 -05:00
Paul Licameli 9eeef4713d Define and use ShuttleGui::Name and NameSuffix...
... For radio buttons, the name will default to the same as the prompt if not
otherwise specified
2019-12-02 16:55:46 -05:00
Paul Licameli 3ea0209e5c Define and use ShuttleGui::ToolTip 2019-12-02 11:41:51 -05:00
Paul Licameli 1d32824e02 Define and use ShuttleGui::Validator 2019-12-02 11:21:40 -05:00
Paul Licameli 72df562c4a Conversion of TranslatableString to wxString is private 2019-12-01 18:17:57 -05:00
Paul Licameli b351eabf47 ComponentInterfaceSymbol contains TranslatableString 2019-12-01 18:08:56 -05:00
Paul Licameli e4a7c9ba5b Uses of TranslatableString as value of XO macro...
... It is not implicitly convertible from wxString, compelling many uses of
the new type to fix compilation.
2019-12-01 18:05:20 -05:00
Paul Licameli b256a4fd1a Less code directly inside ShuttleGui code blocks...
... Trying to reduce that just to chained calls on S, or conditional and looping
logic for variations in layout.

Lift some declarations to higher scope; or use expressions that avoid local
variables; or even use lambdas for more complicated computation of arguments
for the member functions of S.
2019-11-29 15:16:51 -05:00
Paul Licameli f846c25806 Rewrite AddChoice and TieChoice calls...
... either lifting or inlining array-of-string computations, so fewer statements
are mixed among ShuttleGui method calls
2019-11-29 15:16:48 -05:00
Paul Licameli ae353fe61f Specify list control columns and styles all in one call 2019-11-28 14:24:44 -05:00
Paul Licameli 17ee2478bc An overload of AddChoice specifying selected as string value 2019-11-28 14:24:44 -05:00
Paul Licameli 089b46ab64 Specify initial radio button state in ShuttleGui method arguments 2019-11-28 14:24:44 -05:00
Paul Licameli fab756562e Use AddSlider arguments, not SetRange() 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