1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-02 08:39:46 +02:00

11259 Commits

Author SHA1 Message Date
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
Leland Lucius
e4fda3ad3e Workaround for bug #2264
Reverting back to previous behavior to get proper
escaping.
2020-01-06 22:01:08 -06:00
Paul Licameli
80025d9a57 Eliminate uses of GetActiveProject in src/effects and src/tracks 2020-01-06 14:14:44 -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
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
c7984a2c83 Fix mistaken usage of ProjectSettings 2020-01-06 13:48:51 -05:00
Paul Licameli
79bc14b2cf Eliminate GetActiveProject in EffectUI.cpp, with some behavior changes 2020-01-06 11:30:48 -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
f50171ed00 Fix a couple of comments 2020-01-06 09:03:45 -06:00
Leland Lucius
777cc0a14e Add comment on how to force cache recreation 2020-01-06 01:25:02 -06:00
Leland Lucius
cbdefbc876 Add Github CI build
If at any point this needs to be disabled, go into
"Settings -> Actions" for the Github Audacity project and
select the "Disable Actions for this repository" radio button.

Or, edit build.yml and follow the instructions at the top to
disable the action.
2020-01-06 01:22:31 -06: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
Leland Lucius
2ab995bacf Allow warnings when building 32-bit portmidi
This simply disables "-Werror" for the Debug and Release targets.
2020-01-05 22:46:13 -06:00
Leland Lucius
feef327e05 Partial recommit of Xcode project
Recommits most of f1ee1689c695db13ef4cfc159e9a7d6fd4a23ccd
but without the SDKROOT and MACOSX_DEPLOYMENT_TARGET changes.

We will want to make those changes eventually though and must
do so before full testing begins for next release.
2020-01-05 22:44:59 -06:00
Paul Licameli
91515520bc Remove the nullary override of Effect::Preview 2020-01-05 19:59:30 -05:00
Paul Licameli
b7ddd7dc53 Break a dependency cycle of 3 source files involving Effect.cpp ...
... EffectUI (renamed from EffectRack) includes the experimental rack and other
non-experimental dialog handling.  It has a one-way dependency on EffectManager,
which uses Effect.

This is also preliminary to removing other calls to GetActiveProject.
2020-01-05 16:12:18 -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
Leland Lucius
3637f134ac Remove unnecessary SDK handling
And restrict 32-bit builds to <OS 10.15 and <SDK 10.14
2020-01-05 13:54:08 -06: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
dd4870b83f Remove various calls to GetActiveProject 2020-01-04 14:03:01 -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
Paul Licameli
92b857d551 Remove unnecessary const_cast 2020-01-04 11:59:44 -05:00
Paul Licameli
dffe3155b0 Pass AudacityProject & into ButtonHandle::Tip 2020-01-04 11:27:28 -05:00
Paul Licameli
2f71f2768d Revert "Clean up the Xcode project a tad"
This reverts commit f1ee1689c695db13ef4cfc159e9a7d6fd4a23ccd.
2020-01-04 10:32:02 -05:00
Paul Licameli
f64bc5a829 Pass non-const AudacityProject to HitTest::Preview...
... because that will be needed for elimination of some GetActiveProject()
calls.  Because some overrides need to find the focused track, but that may
mutate the project by setting the focused track when it wasn't yet defined.
2020-01-04 09:40:33 -05:00
Leland Lucius
f1ee1689c6 Clean up the Xcode project a tad
This removes dependencies on older SDKs, fixes a signing
issue, reinstates 10.7 as the minimum supported MacOS version,
and cleans out some (legacy) library handling.
2020-01-04 03:16:55 -06:00
Leland Lucius
3f22cbe549 Simplify the wxWidgets build script
Since we're not using a specific SDK any longer, I cleaned
up the script but still left the ability to specify an SDK
if we need to in the future.
2020-01-04 03:14:26 -06:00
Leland Lucius
9e0c1b0bd4 Sign the DMG with the correct cert
It must be signed with a "Developer ID Application" certificate
and not the "Developer ID Installer" certificate.

And make sure to sign the app before copying it to the temporary
DMG folder.
2020-01-04 03:12:26 -06:00