1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-26 15:23:48 +01:00
Commit Graph

8076 Commits

Author SHA1 Message Date
James Crook
57ff92b20c Bug 2275 - Crash when unchecking Multi-view with neither of the views checked 2020-01-09 15:56:00 +00:00
James Crook
e047c07a90 Bug 2282 - Multi-view: Array out of bounds exception (crash) 2020-01-09 15:13:36 +00:00
James Crook
596fd7c02f Bug 2279 - Multi-view: turning it on does not cause a split Multi-view to be displayed 2020-01-09 14:04:31 +00:00
Paul Licameli
05e24ec760 Remove unused declaration 2020-01-08 19:53:02 -05: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
04a9ce8ba6 Remove some GetActiveProject calls in CommandManager.cpp ...
... The remaining ones, for use in a global event handler, are appropriate
2020-01-08 13:20:00 -05:00
SteveDaulton
8fc6f340b5 Fix incorrect type 2020-01-08 15:43:04 +00:00
David Bailes
d22edcbc10 Keyboard scrubbing: change some of the parameters
Changes to some of the parameters, based on user feedback.
2020-01-08 09:05:53 +00:00
Paul Licameli
a178f0df09 another null check on GetActiveProject 2020-01-07 18:45:56 -05:00
Paul Licameli
4385326e9d Fewer calls to Effect::FindProject when only rate is needed 2020-01-07 18:38:56 -05:00
Paul Licameli
314ede2137 Don't store default sample format in ProjectSettings...
... it's a global preference.
2020-01-07 18:36:34 -05:00
Paul Licameli
7532677781 Revert "Don't store default sample format in ProjectSettings..."
This reverts commit 44d9916f85.
2020-01-07 18:36:28 -05:00
Paul Licameli
44d9916f85 Don't store default sample format in ProjectSettings...
... it's a global preference.
2020-01-07 18:22:38 -05:00
Paul Licameli
32d2d2390f Eliminate GetActiveProject from MixerBoard, Snap, Meter 2020-01-07 17:06:23 -05:00
Paul Licameli
0c2c6c5da3 Eliminate GetActiveProject from Track.cpp 2020-01-07 16:45:37 -05:00
Paul Licameli
515e1277bf Eliminate GetActiveProject from Menus.cpp 2020-01-07 16:42:05 -05:00
Paul Licameli
545fab88dd Eliminate GetActiveProject from ScreenshotCommand 2020-01-07 16:32:52 -05:00
Paul Licameli
54542c532f Eliminate GetActiveProject from FreqWindow.cpp 2020-01-07 16:16:18 -05:00
Paul Licameli
15d7d4271d Eliminate GetActiveProject from src/ondemand 2020-01-07 16:16:18 -05:00
Paul Licameli
852c07bc58 Eliminate GetActiveProject from WaveTrack.cpp 2020-01-07 16:16:18 -05:00
Paul Licameli
7bce0a643b Bug2281: Revert changes to FreqWindow.cpp at f0b7583, don't crash 2020-01-07 13:11:24 -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
e2adccb461 Don't use GetActiveProject drawing pan, gain, velocity sliders 2020-01-06 14:14:21 -05:00
Paul Licameli
d244b55709 Don't use GetActiveProject when drawing label track 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
390d833229 Remove one more GetActiveProject in a menu command handler 2020-01-04 14:00:32 -05:00
Paul Licameli
f0b75832b4 Remove uses of GetActiveProject in some dialogs 2020-01-04 13:55:34 -05:00
Paul Licameli
f924df16f8 Eliminate calls to GetActiveProject in src/prefs 2020-01-04 13:19:06 -05:00
Paul Licameli
c3b32d1106 Remove GetActiveProject where finding track panel button tooltips 2020-01-04 12:59:37 -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
Paul Licameli
9029eee5bd Remove GetActiveProject from SelectHandle 2020-01-04 12:59:37 -05:00
Paul Licameli
02e5b8db07 Remove unnecessary members of CommandHandler...
... see also commit 02d5e6c
2020-01-04 12:59:37 -05:00
Paul Licameli
c9a9c06bd0 Pass AudacityProject * into preference panel factories 2020-01-04 12:37:57 -05:00
Paul Licameli
72f66b7096 Mac: don't crash in Preferences when there is no project window...
... and you press Preview in Spectrogram preferences.

And complete null checks on GetActiveProject calls in src/prefs.

And in fact, don't even show the useless Preview button when there is no
project.
2020-01-04 12:14:47 -05:00