1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-11 09:31:13 +02:00

1794 Commits

Author SHA1 Message Date
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