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.
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.
Since it is only issued with clang 11(+), attempting to
disable it for via Xcode options doesn't work on older
versions of Xcode/clang.
So, make it clang version specific via configmac.h.
The distribution will be signed and notarized during an "install" build
and is handled by mac/scripts/build_dist.sh.
The wrapper scripts, mac/Audacity.sh, is no longer needed as it's function
has been integrated into AudacityApp.cpp/main().
Initially, all "hardened entitlements" have been enabled since we don't
know which ones plug-ins will need.
On Mac and Windows, system sleep will be disabled when recording starts
and re-enabled when it ends.
... 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.
This is based on my old loudness effect prototype which was included
in the Normalize effect.
Create all source files and add them to all build systems.
Currently, the effect only consists of a GUI mockup.
Create Octave+mod-script-pipe based dummy unit-test as well.
... though in a small cycle with each other, by moving RealtimeEffectManager to
new files, which remain in the big component.
Net loss of 1, the big component now has 27 files
... New files, but (almost) empty; don't use the global variable gAudioIO,
but use one of two accessor function names (which are the same function for
now).
AudioIOBase will have fewer dependencies than AudioIO -- in particular, no
dependency on tracks.
It won't include StartStream. It will contain functions to query the
present state of streams, and device capabilities.
... freeing 15 files from the big strongly connected component:
ImportFFmpeg & ODDecodeFFMpegTask (still in a cycle of two)
ImportFLAC
ImportGStreamer
ImportLOF
ImportMIDI
ImportMP3
ImportOGG
ImportPCM
ImportQT
ProjectFileManager
ProjectFSCK
ProjectManager
ProjectSelectionManager
ODDecodeFlacTask
And eight header files in src/import are deleted.
This breaks a lot of cycles because Import, which is still in the big component,
no longer includes ImportLOF, which recursively uses ProjectManager. A
registration system for the subclasses of ImportFileHandle allows that
recursion without the cyclic compilation dependencies.
... leaving AutoRecovery as a lower-level file, to be used by ProjectHistory
for auto-save, and not including ProjectManager.
The new file floats to a high level of the graph, but AutoRecovery.cpp
remains in the big strongly connected component.