2018-03-30 18:34:31 +00:00
|
|
|
|
2020-02-03 06:39:43 +00:00
|
|
|
set( TARGET Audacity )
|
|
|
|
set( TARGET_ROOT ${topdir}/src )
|
|
|
|
|
|
|
|
message( STATUS "========== Configuring ${TARGET} ==========" )
|
|
|
|
|
|
|
|
# Allow modules to link against the Audacity executable
|
|
|
|
set( CMAKE_ENABLE_EXPORTS ON )
|
|
|
|
|
|
|
|
add_executable( ${TARGET} )
|
2020-02-23 09:57:31 +00:00
|
|
|
add_dependencies( ${TARGET} locale )
|
|
|
|
add_dependencies( ${TARGET} nyquist )
|
|
|
|
add_dependencies( ${TARGET} plug-ins )
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
def_vars()
|
|
|
|
|
2020-03-12 03:31:19 +00:00
|
|
|
# Add a target that will provide the git revision info
|
|
|
|
# whenever it changes. (Must be done at build time, not
|
|
|
|
# configuration time.)
|
|
|
|
if( GIT_FOUND )
|
|
|
|
add_custom_target(
|
|
|
|
version
|
|
|
|
COMMAND
|
2021-05-21 15:58:48 +00:00
|
|
|
${CMAKE_COMMAND} -D GIT="${GIT_EXECUTABLE}"
|
|
|
|
-D "_PRVDIR=${_PRVDIR}"
|
|
|
|
-P "${AUDACITY_MODULE_PATH}/Version.cmake"
|
2020-03-12 03:31:19 +00:00
|
|
|
WORKING_DIRECTORY
|
2020-04-25 04:39:12 +00:00
|
|
|
${topdir}
|
2020-03-12 03:31:19 +00:00
|
|
|
)
|
2021-05-21 15:58:48 +00:00
|
|
|
|
2020-03-12 03:31:19 +00:00
|
|
|
add_dependencies( ${TARGET} version )
|
|
|
|
endif()
|
|
|
|
|
2020-02-21 16:16:17 +00:00
|
|
|
# Handle Audio Units option
|
|
|
|
if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
|
|
|
cmd_option(
|
|
|
|
${_OPT}use_audio_units
|
|
|
|
"Use Audio Units plug-in support [on, off]"
|
|
|
|
ON
|
|
|
|
)
|
|
|
|
set( USE_AUDIO_UNITS ${${_OPT}use_audio_units} CACHE INTERNAL "" )
|
|
|
|
endif()
|
|
|
|
|
2021-05-21 15:58:48 +00:00
|
|
|
# Detect, which version of FileDialog to use for
|
|
|
|
# We always assume that GTK is used on platforms other than Windows and macOS,
|
|
|
|
# as there is no other implementation avalaible now
|
|
|
|
if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
|
|
|
set( wxIS_MAC on )
|
|
|
|
elseif( CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
|
|
|
set ( wxIS_WIN on )
|
|
|
|
else()
|
|
|
|
set ( wxIS_GTK on)
|
|
|
|
endif()
|
|
|
|
|
2020-02-21 16:16:17 +00:00
|
|
|
# Handle Ladspa option
|
|
|
|
cmd_option(
|
|
|
|
${_OPT}use_ladspa
|
|
|
|
"Use LADSPA plug-in support [on, off]"
|
|
|
|
ON
|
|
|
|
)
|
|
|
|
set( USE_LADSPA ${${_OPT}use_ladspa} CACHE INTERNAL "" )
|
|
|
|
|
|
|
|
# Handle VST option
|
|
|
|
cmd_option(
|
|
|
|
${_OPT}use_vst
|
|
|
|
"Use VST2 plug-in support [on, off]"
|
|
|
|
ON
|
|
|
|
)
|
|
|
|
set( USE_VST ${${_OPT}use_vst} CACHE INTERNAL "" )
|
|
|
|
|
2020-02-03 06:39:43 +00:00
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
|
|
|
list( APPEND SOURCES
|
|
|
|
PRIVATE
|
|
|
|
AColor.cpp
|
|
|
|
AColor.h
|
2021-06-03 13:42:34 +00:00
|
|
|
AColorResources.h
|
2020-07-23 06:19:29 +00:00
|
|
|
ActiveProjects.cpp
|
|
|
|
ActiveProjects.h
|
2020-02-03 06:39:43 +00:00
|
|
|
AboutDialog.cpp
|
|
|
|
AboutDialog.h
|
|
|
|
AdornedRulerPanel.cpp
|
|
|
|
AdornedRulerPanel.h
|
2020-05-26 17:31:32 +00:00
|
|
|
AllThemeResources.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
AllThemeResources.h
|
|
|
|
AttachedVirtualFunction.h
|
|
|
|
AudacityApp.cpp
|
|
|
|
AudacityApp.h
|
2020-12-09 20:18:03 +00:00
|
|
|
$<$<BOOL:${wxIS_MAC}>:AudacityApp.mm>
|
2020-02-03 06:39:43 +00:00
|
|
|
AudacityException.cpp
|
|
|
|
AudacityException.h
|
2021-01-31 14:45:05 +00:00
|
|
|
AudacityFileConfig.cpp
|
|
|
|
AudacityFileConfig.h
|
2020-02-03 06:39:43 +00:00
|
|
|
AudacityHeaders.cpp
|
|
|
|
AudacityHeaders.h
|
|
|
|
AudacityLogger.cpp
|
|
|
|
AudacityLogger.h
|
|
|
|
AudioIO.cpp
|
|
|
|
AudioIO.h
|
|
|
|
AudioIOBase.cpp
|
|
|
|
AudioIOBase.h
|
|
|
|
AudioIOListener.h
|
|
|
|
AutoRecoveryDialog.cpp
|
|
|
|
AutoRecoveryDialog.h
|
|
|
|
BatchCommandDialog.cpp
|
|
|
|
BatchCommandDialog.h
|
|
|
|
BatchCommands.cpp
|
|
|
|
BatchCommands.h
|
|
|
|
BatchProcessDialog.cpp
|
|
|
|
BatchProcessDialog.h
|
|
|
|
Benchmark.cpp
|
|
|
|
Benchmark.h
|
|
|
|
CellularPanel.cpp
|
|
|
|
CellularPanel.h
|
|
|
|
ClassicThemeAsCeeCode.h
|
|
|
|
ClientData.h
|
|
|
|
ClientDataHelpers.h
|
|
|
|
Clipboard.cpp
|
|
|
|
Clipboard.h
|
|
|
|
CommonCommandFlags.cpp
|
|
|
|
CommonCommandFlags.h
|
|
|
|
CrashReport.cpp
|
|
|
|
CrashReport.h
|
|
|
|
DarkThemeAsCeeCode.h
|
2020-07-23 06:04:46 +00:00
|
|
|
DBConnection.cpp
|
|
|
|
DBConnection.h
|
2020-02-03 06:39:43 +00:00
|
|
|
DeviceChange.cpp
|
|
|
|
DeviceChange.h
|
|
|
|
DeviceManager.cpp
|
|
|
|
DeviceManager.h
|
|
|
|
Diags.cpp
|
|
|
|
Diags.h
|
|
|
|
Dither.cpp
|
|
|
|
Dither.h
|
|
|
|
Envelope.cpp
|
|
|
|
Envelope.h
|
|
|
|
EnvelopeEditor.cpp
|
|
|
|
EnvelopeEditor.h
|
|
|
|
FFT.cpp
|
|
|
|
FFT.h
|
|
|
|
FFmpeg.cpp
|
|
|
|
FFmpeg.h
|
|
|
|
FileException.cpp
|
|
|
|
FileException.h
|
|
|
|
FileFormats.cpp
|
|
|
|
FileFormats.h
|
|
|
|
FileIO.cpp
|
|
|
|
FileIO.h
|
|
|
|
FileNames.cpp
|
|
|
|
FileNames.h
|
|
|
|
FreqWindow.cpp
|
|
|
|
FreqWindow.h
|
|
|
|
HelpText.cpp
|
|
|
|
HelpText.h
|
|
|
|
HiContrastThemeAsCeeCode.h
|
|
|
|
HistoryWindow.cpp
|
|
|
|
HistoryWindow.h
|
|
|
|
HitTestResult.h
|
|
|
|
ImageManipulation.cpp
|
|
|
|
ImageManipulation.h
|
|
|
|
InconsistencyException.cpp
|
|
|
|
InconsistencyException.h
|
|
|
|
InterpolateAudio.cpp
|
|
|
|
InterpolateAudio.h
|
|
|
|
KeyboardCapture.cpp
|
|
|
|
KeyboardCapture.h
|
|
|
|
LabelDialog.cpp
|
|
|
|
LabelDialog.h
|
|
|
|
LabelTrack.cpp
|
|
|
|
LabelTrack.h
|
|
|
|
LangChoice.cpp
|
|
|
|
LangChoice.h
|
|
|
|
Legacy.cpp
|
|
|
|
Legacy.h
|
|
|
|
LightThemeAsCeeCode.h
|
|
|
|
Lyrics.cpp
|
|
|
|
Lyrics.h
|
|
|
|
LyricsWindow.cpp
|
|
|
|
LyricsWindow.h
|
|
|
|
MacroMagic.h
|
|
|
|
Matrix.cpp
|
|
|
|
Matrix.h
|
|
|
|
Menus.cpp
|
|
|
|
Menus.h
|
|
|
|
Mix.cpp
|
|
|
|
Mix.h
|
|
|
|
MixerBoard.cpp
|
|
|
|
MixerBoard.h
|
|
|
|
ModuleManager.cpp
|
|
|
|
ModuleManager.h
|
2021-02-27 20:43:55 +00:00
|
|
|
ModuleSettings.cpp
|
|
|
|
ModuleSettings.h
|
2020-02-03 06:39:43 +00:00
|
|
|
NoteTrack.cpp
|
|
|
|
NoteTrack.h
|
|
|
|
NumberScale.h
|
|
|
|
PitchName.cpp
|
|
|
|
PitchName.h
|
|
|
|
PlatformCompatibility.cpp
|
|
|
|
PlatformCompatibility.h
|
2020-12-17 11:23:46 +00:00
|
|
|
PlaybackSchedule.cpp
|
|
|
|
PlaybackSchedule.h
|
2020-02-03 06:39:43 +00:00
|
|
|
PluginManager.cpp
|
|
|
|
PluginManager.h
|
2021-03-02 03:07:43 +00:00
|
|
|
PluginRegistrationDialog.cpp
|
2021-04-28 00:24:49 +00:00
|
|
|
PluginRegistrationDialog.h
|
2020-02-03 06:39:43 +00:00
|
|
|
Prefs.cpp
|
|
|
|
Prefs.h
|
|
|
|
Printing.cpp
|
|
|
|
Printing.h
|
2020-07-07 20:22:31 +00:00
|
|
|
Profiler.cpp
|
|
|
|
Profiler.h
|
2020-02-03 06:39:43 +00:00
|
|
|
Project.cpp
|
|
|
|
Project.h
|
|
|
|
ProjectAudioIO.cpp
|
|
|
|
ProjectAudioIO.h
|
|
|
|
ProjectAudioManager.cpp
|
|
|
|
ProjectAudioManager.h
|
|
|
|
ProjectFileIO.cpp
|
|
|
|
ProjectFileIO.h
|
|
|
|
ProjectFileIORegistry.cpp
|
|
|
|
ProjectFileIORegistry.h
|
|
|
|
ProjectFileManager.cpp
|
|
|
|
ProjectFileManager.h
|
|
|
|
ProjectHistory.cpp
|
|
|
|
ProjectHistory.h
|
|
|
|
ProjectManager.cpp
|
|
|
|
ProjectManager.h
|
|
|
|
ProjectSelectionManager.cpp
|
|
|
|
ProjectSelectionManager.h
|
2020-07-10 06:32:56 +00:00
|
|
|
ProjectSerializer.cpp
|
|
|
|
ProjectSerializer.h
|
2020-02-03 06:39:43 +00:00
|
|
|
ProjectSettings.cpp
|
|
|
|
ProjectSettings.h
|
|
|
|
ProjectStatus.cpp
|
|
|
|
ProjectStatus.h
|
|
|
|
ProjectWindow.cpp
|
|
|
|
ProjectWindow.h
|
|
|
|
ProjectWindowBase.cpp
|
|
|
|
ProjectWindowBase.h
|
|
|
|
RealFFTf.cpp
|
|
|
|
RealFFTf.h
|
|
|
|
RealFFTf48x.cpp
|
|
|
|
RealFFTf48x.h
|
|
|
|
RefreshCode.h
|
|
|
|
Registrar.h
|
2020-05-26 18:56:53 +00:00
|
|
|
Registry.cpp
|
|
|
|
Registry.h
|
2020-02-03 06:39:43 +00:00
|
|
|
Resample.cpp
|
|
|
|
Resample.h
|
|
|
|
RingBuffer.cpp
|
|
|
|
RingBuffer.h
|
2020-07-01 05:45:17 +00:00
|
|
|
SampleBlock.cpp
|
|
|
|
SampleBlock.h
|
2020-02-03 06:39:43 +00:00
|
|
|
SampleFormat.cpp
|
|
|
|
SampleFormat.h
|
|
|
|
Screenshot.cpp
|
|
|
|
Screenshot.h
|
|
|
|
SelectUtilities.cpp
|
|
|
|
SelectUtilities.h
|
|
|
|
SelectedRegion.cpp
|
|
|
|
SelectedRegion.h
|
|
|
|
SelectionState.cpp
|
|
|
|
SelectionState.h
|
|
|
|
Sequence.cpp
|
|
|
|
Sequence.h
|
|
|
|
Shuttle.cpp
|
|
|
|
Shuttle.h
|
|
|
|
ShuttleGetDefinition.cpp
|
|
|
|
ShuttleGetDefinition.h
|
|
|
|
ShuttleGui.cpp
|
|
|
|
ShuttleGui.h
|
|
|
|
ShuttlePrefs.cpp
|
|
|
|
ShuttlePrefs.h
|
|
|
|
Snap.cpp
|
|
|
|
Snap.h
|
|
|
|
SoundActivatedRecord.cpp
|
|
|
|
SoundActivatedRecord.h
|
|
|
|
Spectrum.cpp
|
|
|
|
Spectrum.h
|
|
|
|
SpectrumAnalyst.cpp
|
|
|
|
SpectrumAnalyst.h
|
|
|
|
SplashDialog.cpp
|
|
|
|
SplashDialog.h
|
Unitary changes (#599)
* Define SampleBlockFactory replacing static members of SampleBlock...
... This will become an abstract base class
* Sequence and WaveTrack only store SampleBlockFactory not Project...
... This adds a dependency from Track to SampleBlock which temporarily enlarges
a cycle in the dependency graph
* Register a global factory of SampleBlockFactory...
... so that later we can make an abstract SampleBlockFactory, separate from the
concrete implementation in terms of sqlite, and inject the dependency at startup
avoiding static dependency
* New concrete classes SqliteSampleBlock, SqliteSampleBlockFactory...
... separated from abstract base classes and put into a new source file,
breaking dependency cycles, and perhaps allowing easy reimplementation for other
databases in the future.
Note that the new file is a header-less plug-in! Nothing depends on it. It
uses static initialization to influence the program's behavior.
* Compile dependency on sqlite3.h limited to just two .cpp files...
... these are ProjectFileIO.cpp and SqliteSampleBlock.cpp.
But there is still close cooperation of ProjectFileIO and SqliteSampleBlock.cpp.
This suggests that these files ought to be merged, and perhaps ProjectFileIO
also needs to be split into abstract and concrete classes, and there should be
another injection of a factory function at startup. That will make the choice
of database implementation even more modular.
Also removed one unnecessary inclusion of ProjectFileIO.h
* Fix crashes cutting and pasting cross-project...
... in case the source project is closed before the paste happens.
This caused destruction of the ProjectFileIO object and a closing of the sqlite
database with the sample data in it, leaving dangling references in the
SqliteSampleBlock objects.
The fix is that the SqliteSampleBlockFactory object holds a shared_ptr to the
ProjectFileIO object. So the clipboard may own WaveTracks, which own WaveClips,
which own Sequences, which own SqliteSampleBlockFactories, which keep the
ProjectFileIO and the database connection alive until the clipboard is cleared.
The consequence of the fix is delayed closing of the entire database associated
with the source project.
If the source project is reopened before the clipboard is cleared, will there
be correct concurrent access to the same persistent store? My preliminary
trials suggest this is so (reopening a saved project, deleting from it, closing
it again -- the clipboard contents are still unchanged and available).
2020-07-02 23:11:38 +00:00
|
|
|
SqliteSampleBlock.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
SseMathFuncs.cpp
|
|
|
|
SseMathFuncs.h
|
|
|
|
Tags.cpp
|
|
|
|
Tags.h
|
2021-01-14 15:50:06 +00:00
|
|
|
TempDirectory.cpp
|
|
|
|
TempDirectory.h
|
2020-02-03 06:39:43 +00:00
|
|
|
Theme.cpp
|
|
|
|
Theme.h
|
|
|
|
ThemeAsCeeCode.h
|
|
|
|
TimeDialog.cpp
|
|
|
|
TimeDialog.h
|
|
|
|
TimeTrack.cpp
|
|
|
|
TimeTrack.h
|
|
|
|
TimerRecordDialog.cpp
|
|
|
|
TimerRecordDialog.h
|
|
|
|
Track.cpp
|
|
|
|
Track.h
|
|
|
|
TrackArtist.cpp
|
|
|
|
TrackArtist.h
|
|
|
|
TrackInfo.cpp
|
|
|
|
TrackInfo.h
|
|
|
|
TrackPanel.cpp
|
|
|
|
TrackPanel.h
|
|
|
|
TrackPanelAx.cpp
|
|
|
|
TrackPanelAx.h
|
2020-05-27 15:07:49 +00:00
|
|
|
TrackPanelCell.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
TrackPanelCell.h
|
2020-05-27 15:07:49 +00:00
|
|
|
TrackPanelDrawable.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
TrackPanelDrawable.h
|
|
|
|
TrackPanelDrawingContext.h
|
|
|
|
TrackPanelListener.h
|
|
|
|
TrackPanelMouseEvent.h
|
|
|
|
TrackPanelResizeHandle.cpp
|
|
|
|
TrackPanelResizeHandle.h
|
|
|
|
TrackPanelResizerCell.cpp
|
|
|
|
TrackPanelResizerCell.h
|
|
|
|
TrackUtilities.cpp
|
|
|
|
TrackUtilities.h
|
|
|
|
UIHandle.cpp
|
|
|
|
UIHandle.h
|
|
|
|
UndoManager.cpp
|
|
|
|
UndoManager.h
|
|
|
|
UserException.cpp
|
|
|
|
UserException.h
|
|
|
|
ViewInfo.cpp
|
|
|
|
ViewInfo.h
|
|
|
|
VoiceKey.cpp
|
|
|
|
VoiceKey.h
|
|
|
|
WaveClip.cpp
|
|
|
|
WaveClip.h
|
|
|
|
WaveTrack.cpp
|
|
|
|
WaveTrack.h
|
|
|
|
WaveTrackLocation.h
|
|
|
|
WrappedType.cpp
|
|
|
|
WrappedType.h
|
|
|
|
ZoomInfo.cpp
|
|
|
|
ZoomInfo.h
|
|
|
|
float_cast.h
|
|
|
|
wxFileNameWrapper.h
|
|
|
|
|
|
|
|
# Commands
|
|
|
|
|
|
|
|
commands/AppCommandEvent.cpp
|
|
|
|
commands/AppCommandEvent.h
|
|
|
|
commands/AudacityCommand.cpp
|
|
|
|
commands/AudacityCommand.h
|
|
|
|
commands/BatchEvalCommand.cpp
|
|
|
|
commands/BatchEvalCommand.h
|
|
|
|
commands/Command.cpp
|
|
|
|
commands/Command.h
|
|
|
|
commands/CommandBuilder.cpp
|
|
|
|
commands/CommandBuilder.h
|
|
|
|
commands/CommandContext.cpp
|
|
|
|
commands/CommandContext.h
|
|
|
|
commands/CommandDirectory.cpp
|
|
|
|
commands/CommandDirectory.h
|
|
|
|
commands/CommandFlag.h
|
|
|
|
commands/CommandFunctors.h
|
|
|
|
commands/CommandHandler.cpp
|
|
|
|
commands/CommandHandler.h
|
|
|
|
commands/CommandManager.cpp
|
|
|
|
commands/CommandManager.h
|
|
|
|
commands/CommandManagerWindowClasses.h
|
|
|
|
commands/CommandMisc.h
|
|
|
|
commands/CommandSignature.cpp
|
|
|
|
commands/CommandSignature.h
|
|
|
|
commands/CommandTargets.cpp
|
|
|
|
commands/CommandTargets.h
|
|
|
|
commands/CommandType.cpp
|
|
|
|
commands/CommandType.h
|
|
|
|
commands/CompareAudioCommand.cpp
|
|
|
|
commands/CompareAudioCommand.h
|
|
|
|
commands/Demo.cpp
|
|
|
|
commands/Demo.h
|
|
|
|
commands/DragCommand.cpp
|
|
|
|
commands/DragCommand.h
|
|
|
|
commands/GetInfoCommand.cpp
|
|
|
|
commands/GetInfoCommand.h
|
|
|
|
commands/GetTrackInfoCommand.cpp
|
|
|
|
commands/GetTrackInfoCommand.h
|
|
|
|
commands/HelpCommand.cpp
|
|
|
|
commands/HelpCommand.h
|
|
|
|
commands/ImportExportCommands.cpp
|
|
|
|
commands/ImportExportCommands.h
|
|
|
|
commands/Keyboard.cpp
|
|
|
|
commands/Keyboard.h
|
|
|
|
commands/LoadCommands.cpp
|
|
|
|
commands/LoadCommands.h
|
|
|
|
commands/MessageCommand.cpp
|
|
|
|
commands/MessageCommand.h
|
|
|
|
commands/OpenSaveCommands.cpp
|
|
|
|
commands/OpenSaveCommands.h
|
|
|
|
commands/PreferenceCommands.cpp
|
|
|
|
commands/PreferenceCommands.h
|
|
|
|
commands/ResponseQueue.cpp
|
|
|
|
commands/ResponseQueue.h
|
|
|
|
commands/ScreenshotCommand.cpp
|
|
|
|
commands/ScreenshotCommand.h
|
|
|
|
commands/ScriptCommandRelay.cpp
|
|
|
|
commands/ScriptCommandRelay.h
|
|
|
|
commands/SelectCommand.cpp
|
|
|
|
commands/SelectCommand.h
|
|
|
|
commands/SetClipCommand.cpp
|
|
|
|
commands/SetClipCommand.h
|
|
|
|
commands/SetEnvelopeCommand.cpp
|
|
|
|
commands/SetEnvelopeCommand.h
|
|
|
|
commands/SetLabelCommand.cpp
|
|
|
|
commands/SetLabelCommand.h
|
|
|
|
commands/SetProjectCommand.cpp
|
|
|
|
commands/SetProjectCommand.h
|
|
|
|
commands/SetTrackInfoCommand.cpp
|
|
|
|
commands/SetTrackInfoCommand.h
|
|
|
|
commands/Validators.h
|
|
|
|
|
|
|
|
# Built-in Effects
|
|
|
|
|
|
|
|
effects/Amplify.cpp
|
|
|
|
effects/Amplify.h
|
|
|
|
effects/AutoDuck.cpp
|
|
|
|
effects/AutoDuck.h
|
|
|
|
effects/BassTreble.cpp
|
|
|
|
effects/BassTreble.h
|
|
|
|
effects/Biquad.cpp
|
|
|
|
effects/Biquad.h
|
|
|
|
effects/ChangePitch.cpp
|
|
|
|
effects/ChangePitch.h
|
|
|
|
effects/ChangeSpeed.cpp
|
|
|
|
effects/ChangeSpeed.h
|
|
|
|
effects/ChangeTempo.cpp
|
|
|
|
effects/ChangeTempo.h
|
|
|
|
effects/ClickRemoval.cpp
|
|
|
|
effects/ClickRemoval.h
|
|
|
|
effects/Compressor.cpp
|
|
|
|
effects/Compressor.h
|
|
|
|
effects/Contrast.cpp
|
|
|
|
effects/Contrast.h
|
|
|
|
effects/Distortion.cpp
|
|
|
|
effects/Distortion.h
|
|
|
|
effects/DtmfGen.cpp
|
|
|
|
effects/DtmfGen.h
|
|
|
|
effects/EBUR128.cpp
|
|
|
|
effects/EBUR128.h
|
|
|
|
effects/Echo.cpp
|
|
|
|
effects/Echo.h
|
|
|
|
effects/Effect.cpp
|
|
|
|
effects/Effect.h
|
|
|
|
effects/EffectManager.cpp
|
|
|
|
effects/EffectManager.h
|
|
|
|
effects/EffectUI.cpp
|
|
|
|
effects/EffectUI.h
|
|
|
|
effects/Equalization.cpp
|
|
|
|
effects/Equalization.h
|
|
|
|
effects/Equalization48x.cpp
|
|
|
|
effects/Equalization48x.h
|
|
|
|
effects/Fade.cpp
|
|
|
|
effects/Fade.h
|
|
|
|
effects/FindClipping.cpp
|
|
|
|
effects/FindClipping.h
|
|
|
|
effects/Generator.cpp
|
|
|
|
effects/Generator.h
|
|
|
|
effects/Invert.cpp
|
|
|
|
effects/Invert.h
|
|
|
|
effects/LoadEffects.cpp
|
|
|
|
effects/LoadEffects.h
|
|
|
|
effects/Loudness.cpp
|
|
|
|
effects/Loudness.h
|
|
|
|
effects/Noise.cpp
|
|
|
|
effects/Noise.h
|
|
|
|
effects/NoiseReduction.cpp
|
|
|
|
effects/NoiseReduction.h
|
|
|
|
effects/NoiseRemoval.cpp
|
|
|
|
effects/NoiseRemoval.h
|
|
|
|
effects/Normalize.cpp
|
|
|
|
effects/Normalize.h
|
|
|
|
effects/Paulstretch.cpp
|
|
|
|
effects/Paulstretch.h
|
|
|
|
effects/Phaser.cpp
|
|
|
|
effects/Phaser.h
|
|
|
|
effects/RealtimeEffectManager.cpp
|
|
|
|
effects/RealtimeEffectManager.h
|
|
|
|
effects/Repair.cpp
|
|
|
|
effects/Repair.h
|
|
|
|
effects/Repeat.cpp
|
|
|
|
effects/Repeat.h
|
|
|
|
effects/Reverb.cpp
|
|
|
|
effects/Reverb.h
|
|
|
|
effects/Reverb_libSoX.h
|
|
|
|
effects/Reverse.cpp
|
|
|
|
effects/Reverse.h
|
|
|
|
effects/SBSMSEffect.cpp
|
|
|
|
effects/SBSMSEffect.h
|
|
|
|
effects/ScienFilter.cpp
|
|
|
|
effects/ScienFilter.h
|
|
|
|
effects/ScoreAlignDialog.cpp
|
|
|
|
effects/ScoreAlignDialog.h
|
|
|
|
effects/Silence.cpp
|
|
|
|
effects/Silence.h
|
|
|
|
effects/SimpleMono.cpp
|
|
|
|
effects/SimpleMono.h
|
|
|
|
effects/SoundTouchEffect.cpp
|
|
|
|
effects/SoundTouchEffect.h
|
|
|
|
effects/StereoToMono.cpp
|
|
|
|
effects/StereoToMono.h
|
|
|
|
effects/TimeScale.cpp
|
|
|
|
effects/TimeScale.h
|
|
|
|
effects/TimeWarper.cpp
|
|
|
|
effects/TimeWarper.h
|
|
|
|
effects/ToneGen.cpp
|
|
|
|
effects/ToneGen.h
|
|
|
|
effects/TruncSilence.cpp
|
|
|
|
effects/TruncSilence.h
|
|
|
|
effects/TwoPassSimpleMono.cpp
|
|
|
|
effects/TwoPassSimpleMono.h
|
|
|
|
effects/Wahwah.cpp
|
|
|
|
effects/Wahwah.h
|
|
|
|
|
|
|
|
# VST Effects
|
|
|
|
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_VST}>:
|
|
|
|
effects/VST/VSTControl.h
|
|
|
|
effects/VST/VSTEffect.cpp
|
|
|
|
effects/VST/VSTEffect.h
|
|
|
|
effects/VST/aeffectx.h
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<AND:$<BOOL:${USE_VST}>,$<BOOL:${wxIS_GTK}>>:
|
|
|
|
effects/VST/VSTControlGTK.cpp
|
|
|
|
effects/VST/VSTControlGTK.h
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<AND:$<BOOL:${USE_VST}>,$<BOOL:${wxIS_WIN}>>:
|
|
|
|
effects/VST/VSTControlMSW.cpp
|
|
|
|
effects/VST/VSTControlMSW.h
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<AND:$<BOOL:${USE_VST}>,$<BOOL:${wxIS_MAC}>>:
|
|
|
|
effects/VST/VSTControlOSX.h
|
|
|
|
effects/VST/VSTControlOSX.mm
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# Audio Unit Effects
|
|
|
|
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<AND:$<BOOL:${USE_AUDIO_UNITS}>,$<BOOL:${wxIS_MAC}>>:
|
|
|
|
effects/audiounits/AUControl.h
|
|
|
|
effects/audiounits/AUControl.mm
|
|
|
|
effects/audiounits/AudioUnitEffect.cpp
|
|
|
|
effects/audiounits/AudioUnitEffect.h
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# Ladspa Effects
|
|
|
|
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_LADSPA}>:
|
|
|
|
effects/ladspa/LadspaEffect.cpp
|
|
|
|
effects/ladspa/LadspaEffect.h
|
|
|
|
effects/ladspa/ladspa.h
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# LV2 Effects
|
|
|
|
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_LV2}>:
|
|
|
|
effects/lv2/LV2Effect.cpp
|
|
|
|
effects/lv2/LV2Effect.h
|
|
|
|
effects/lv2/LoadLV2.cpp
|
|
|
|
effects/lv2/LoadLV2.h
|
|
|
|
effects/lv2/NativeWindow.h
|
|
|
|
effects/lv2/lv2_external_ui.h
|
|
|
|
effects/lv2/zix/common.h
|
|
|
|
effects/lv2/zix/ring.cpp
|
|
|
|
effects/lv2/zix/ring.h
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# Nyquist Effects
|
|
|
|
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_NYQUIST}>:
|
|
|
|
effects/nyquist/LoadNyquist.cpp
|
|
|
|
effects/nyquist/LoadNyquist.h
|
|
|
|
effects/nyquist/Nyquist.cpp
|
|
|
|
effects/nyquist/Nyquist.h
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# VAMP Effects
|
|
|
|
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_VAMP}>:
|
|
|
|
effects/vamp/LoadVamp.cpp
|
|
|
|
effects/vamp/LoadVamp.h
|
|
|
|
effects/vamp/VampEffect.cpp
|
|
|
|
effects/vamp/VampEffect.h
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# Export
|
|
|
|
|
|
|
|
export/Export.cpp
|
|
|
|
export/Export.h
|
|
|
|
|
|
|
|
# Standard exporters
|
|
|
|
export/ExportCL.cpp
|
|
|
|
export/ExportMP3.cpp
|
|
|
|
export/ExportMP3.h
|
|
|
|
export/ExportMultiple.cpp
|
|
|
|
export/ExportMultiple.h
|
|
|
|
export/ExportPCM.cpp
|
|
|
|
|
|
|
|
# Optional exporters
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_FFMPEG}>:
|
|
|
|
export/ExportFFmpeg.cpp
|
|
|
|
export/ExportFFmpegDialogs.cpp
|
|
|
|
export/ExportFFmpegDialogs.h
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<BOOL:${USE_LIBFLAC}>:
|
|
|
|
export/ExportFLAC.cpp
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<BOOL:${USE_LIBTWOLAME}>:
|
|
|
|
export/ExportMP2.cpp
|
|
|
|
>
|
|
|
|
|
2020-02-19 16:53:50 +00:00
|
|
|
$<$<AND:$<BOOL:${USE_LIBOGG}>,$<BOOL:${USE_LIBVORBIS}>>:
|
2020-02-11 07:15:26 +00:00
|
|
|
export/ExportOGG.cpp
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# Import
|
|
|
|
|
|
|
|
import/FormatClassifier.cpp
|
|
|
|
import/FormatClassifier.h
|
|
|
|
import/Import.cpp
|
|
|
|
import/Import.h
|
|
|
|
import/ImportForwards.h
|
|
|
|
import/MultiFormatReader.cpp
|
|
|
|
import/MultiFormatReader.h
|
|
|
|
import/RawAudioGuess.cpp
|
|
|
|
import/RawAudioGuess.h
|
|
|
|
import/SpecPowerMeter.cpp
|
|
|
|
import/SpecPowerMeter.h
|
|
|
|
|
|
|
|
# Standard importers
|
|
|
|
|
2020-07-12 08:53:25 +00:00
|
|
|
import/ImportAUP.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
import/ImportLOF.cpp
|
|
|
|
import/ImportPCM.cpp
|
|
|
|
import/ImportPlugin.h
|
2020-05-27 15:07:49 +00:00
|
|
|
import/ImportPlugin.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
import/ImportRaw.cpp
|
|
|
|
import/ImportRaw.h
|
|
|
|
|
|
|
|
# Optional importers
|
|
|
|
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_FFMPEG}>:
|
|
|
|
import/ImportFFmpeg.cpp
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<BOOL:${USE_LIBFLAC}>:
|
|
|
|
import/ImportFLAC.cpp
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<BOOL:${USE_GSTREAMER}>:
|
|
|
|
import/ImportGStreamer.cpp
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<BOOL:${USE_MIDI}>:
|
|
|
|
import/ImportMIDI.cpp
|
|
|
|
import/ImportMIDI.h
|
|
|
|
>
|
|
|
|
|
|
|
|
$<$<BOOL:${USE_LIBMAD}>:
|
|
|
|
import/ImportMP3.cpp
|
|
|
|
>
|
|
|
|
|
2020-02-19 16:53:50 +00:00
|
|
|
$<$<AND:$<BOOL:${USE_LIBOGG}>,$<BOOL:${USE_LIBVORBIS}>>:
|
2020-02-11 07:15:26 +00:00
|
|
|
import/ImportOGG.cpp
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# Menus
|
|
|
|
|
|
|
|
menus/ClipMenus.cpp
|
|
|
|
menus/EditMenus.cpp
|
|
|
|
menus/ExtraMenus.cpp
|
|
|
|
menus/FileMenus.cpp
|
|
|
|
menus/HelpMenus.cpp
|
|
|
|
menus/LabelMenus.cpp
|
|
|
|
menus/NavigationMenus.cpp
|
|
|
|
menus/PluginMenus.cpp
|
|
|
|
menus/SelectMenus.cpp
|
|
|
|
menus/ToolbarMenus.cpp
|
|
|
|
menus/TrackMenus.cpp
|
|
|
|
menus/TransportMenus.cpp
|
|
|
|
menus/ViewMenus.cpp
|
|
|
|
menus/WindowMenus.cpp
|
|
|
|
|
|
|
|
# Preferences
|
|
|
|
|
|
|
|
prefs/BatchPrefs.cpp
|
|
|
|
prefs/BatchPrefs.h
|
|
|
|
prefs/DevicePrefs.cpp
|
|
|
|
prefs/DevicePrefs.h
|
|
|
|
prefs/DirectoriesPrefs.cpp
|
|
|
|
prefs/DirectoriesPrefs.h
|
|
|
|
prefs/EffectsPrefs.cpp
|
|
|
|
prefs/EffectsPrefs.h
|
|
|
|
prefs/ExtImportPrefs.cpp
|
|
|
|
prefs/ExtImportPrefs.h
|
|
|
|
prefs/GUIPrefs.cpp
|
|
|
|
prefs/GUIPrefs.h
|
|
|
|
prefs/GUISettings.h
|
|
|
|
prefs/ImportExportPrefs.cpp
|
|
|
|
prefs/ImportExportPrefs.h
|
|
|
|
prefs/KeyConfigPrefs.cpp
|
|
|
|
prefs/KeyConfigPrefs.h
|
|
|
|
prefs/LibraryPrefs.cpp
|
|
|
|
prefs/LibraryPrefs.h
|
|
|
|
prefs/MidiIOPrefs.cpp
|
|
|
|
prefs/MidiIOPrefs.h
|
|
|
|
prefs/ModulePrefs.cpp
|
|
|
|
prefs/ModulePrefs.h
|
|
|
|
prefs/MousePrefs.cpp
|
|
|
|
prefs/MousePrefs.h
|
|
|
|
prefs/PlaybackPrefs.cpp
|
|
|
|
prefs/PlaybackPrefs.h
|
|
|
|
prefs/PrefsDialog.cpp
|
|
|
|
prefs/PrefsDialog.h
|
2020-05-27 15:07:49 +00:00
|
|
|
prefs/PrefsPanel.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
prefs/PrefsPanel.h
|
|
|
|
prefs/QualityPrefs.cpp
|
|
|
|
prefs/QualityPrefs.h
|
2021-05-15 18:39:26 +00:00
|
|
|
prefs/QualitySettings.cpp
|
|
|
|
prefs/QualitySettings.h
|
2020-02-03 06:39:43 +00:00
|
|
|
prefs/RecordingPrefs.cpp
|
|
|
|
prefs/RecordingPrefs.h
|
|
|
|
prefs/SpectrogramSettings.cpp
|
|
|
|
prefs/SpectrogramSettings.h
|
|
|
|
prefs/SpectrumPrefs.cpp
|
|
|
|
prefs/SpectrumPrefs.h
|
|
|
|
prefs/ThemePrefs.cpp
|
|
|
|
prefs/ThemePrefs.h
|
|
|
|
prefs/TracksBehaviorsPrefs.cpp
|
|
|
|
prefs/TracksBehaviorsPrefs.h
|
|
|
|
prefs/TracksPrefs.cpp
|
|
|
|
prefs/TracksPrefs.h
|
|
|
|
prefs/WarningsPrefs.cpp
|
|
|
|
prefs/WarningsPrefs.h
|
|
|
|
prefs/WaveformPrefs.cpp
|
|
|
|
prefs/WaveformPrefs.h
|
|
|
|
prefs/WaveformSettings.cpp
|
|
|
|
prefs/WaveformSettings.h
|
|
|
|
|
|
|
|
# Toolbars
|
|
|
|
|
|
|
|
toolbars/ControlToolBar.cpp
|
|
|
|
toolbars/ControlToolBar.h
|
|
|
|
toolbars/DeviceToolBar.cpp
|
|
|
|
toolbars/DeviceToolBar.h
|
|
|
|
toolbars/EditToolBar.cpp
|
|
|
|
toolbars/EditToolBar.h
|
|
|
|
toolbars/MeterToolBar.cpp
|
|
|
|
toolbars/MeterToolBar.h
|
|
|
|
toolbars/MixerToolBar.cpp
|
|
|
|
toolbars/MixerToolBar.h
|
|
|
|
toolbars/ScrubbingToolBar.cpp
|
|
|
|
toolbars/ScrubbingToolBar.h
|
|
|
|
toolbars/SelectionBar.cpp
|
|
|
|
toolbars/SelectionBar.h
|
|
|
|
toolbars/SelectionBarListener.h
|
|
|
|
toolbars/SpectralSelectionBar.cpp
|
|
|
|
toolbars/SpectralSelectionBar.h
|
|
|
|
toolbars/SpectralSelectionBarListener.h
|
2020-05-30 21:00:24 +00:00
|
|
|
toolbars/TimeToolBar.cpp
|
|
|
|
toolbars/TimeToolBar.h
|
2020-02-03 06:39:43 +00:00
|
|
|
toolbars/ToolBar.cpp
|
|
|
|
toolbars/ToolBar.h
|
|
|
|
toolbars/ToolDock.cpp
|
|
|
|
toolbars/ToolDock.h
|
|
|
|
toolbars/ToolManager.cpp
|
|
|
|
toolbars/ToolManager.h
|
|
|
|
toolbars/ToolsToolBar.cpp
|
|
|
|
toolbars/ToolsToolBar.h
|
|
|
|
toolbars/TranscriptionToolBar.cpp
|
|
|
|
toolbars/TranscriptionToolBar.h
|
|
|
|
|
|
|
|
# Tracks
|
|
|
|
|
|
|
|
tracks/labeltrack/ui/LabelDefaultClickHandle.cpp
|
|
|
|
tracks/labeltrack/ui/LabelDefaultClickHandle.h
|
|
|
|
tracks/labeltrack/ui/LabelGlyphHandle.cpp
|
|
|
|
tracks/labeltrack/ui/LabelGlyphHandle.h
|
|
|
|
tracks/labeltrack/ui/LabelTextHandle.cpp
|
|
|
|
tracks/labeltrack/ui/LabelTextHandle.h
|
|
|
|
tracks/labeltrack/ui/LabelTrackControls.cpp
|
|
|
|
tracks/labeltrack/ui/LabelTrackControls.h
|
2020-09-20 18:17:27 +00:00
|
|
|
tracks/labeltrack/ui/LabelTrackShifter.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
tracks/labeltrack/ui/LabelTrackVRulerControls.cpp
|
|
|
|
tracks/labeltrack/ui/LabelTrackVRulerControls.h
|
|
|
|
tracks/labeltrack/ui/LabelTrackView.cpp
|
|
|
|
tracks/labeltrack/ui/LabelTrackView.h
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.cpp
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackButtonHandle.h
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackControls.cpp
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackControls.h
|
2020-09-20 18:17:27 +00:00
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackShifter.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackSliderHandles.cpp
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackSliderHandles.h
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackVRulerControls.cpp
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackVRulerControls.h
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackVZoomHandle.cpp
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackVZoomHandle.h
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackView.cpp
|
|
|
|
tracks/playabletrack/notetrack/ui/NoteTrackView.h
|
|
|
|
tracks/playabletrack/notetrack/ui/StretchHandle.cpp
|
|
|
|
tracks/playabletrack/notetrack/ui/StretchHandle.h
|
|
|
|
tracks/playabletrack/ui/PlayableTrackButtonHandles.cpp
|
|
|
|
tracks/playabletrack/ui/PlayableTrackButtonHandles.h
|
|
|
|
tracks/playabletrack/ui/PlayableTrackControls.cpp
|
|
|
|
tracks/playabletrack/ui/PlayableTrackControls.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/CutlineHandle.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/CutlineHandle.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/SampleHandle.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/SampleHandle.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/SpectrumVRulerControls.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/SpectrumVRulerControls.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/SpectrumVZoomHandle.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/SpectrumVZoomHandle.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/SpectrumView.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/SpectrumView.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackControls.h
|
2020-09-20 18:17:27 +00:00
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackShifter.cpp
|
2020-02-03 06:39:43 +00:00
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackSliderHandles.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackSliderHandles.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackVRulerControls.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackVRulerControls.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackVZoomHandle.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackVZoomHandle.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackView.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveTrackViewConstants.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveformVRulerControls.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveformVRulerControls.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveformVZoomHandle.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveformVZoomHandle.h
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveformView.cpp
|
|
|
|
tracks/playabletrack/wavetrack/ui/WaveformView.h
|
|
|
|
tracks/timetrack/ui/TimeTrackControls.cpp
|
|
|
|
tracks/timetrack/ui/TimeTrackControls.h
|
|
|
|
tracks/timetrack/ui/TimeTrackVRulerControls.cpp
|
|
|
|
tracks/timetrack/ui/TimeTrackVRulerControls.h
|
2021-02-04 09:17:32 +00:00
|
|
|
tracks/timetrack/ui/TimeTrackVZoomHandle.cpp
|
|
|
|
tracks/timetrack/ui/TimeTrackVZoomHandle.h
|
2020-02-03 06:39:43 +00:00
|
|
|
tracks/timetrack/ui/TimeTrackView.cpp
|
|
|
|
tracks/timetrack/ui/TimeTrackView.h
|
|
|
|
|
|
|
|
# Tracks UI
|
|
|
|
|
|
|
|
tracks/ui/BackgroundCell.cpp
|
|
|
|
tracks/ui/BackgroundCell.h
|
|
|
|
tracks/ui/ButtonHandle.cpp
|
|
|
|
tracks/ui/ButtonHandle.h
|
|
|
|
tracks/ui/CommonTrackControls.cpp
|
|
|
|
tracks/ui/CommonTrackControls.h
|
|
|
|
tracks/ui/CommonTrackPanelCell.cpp
|
|
|
|
tracks/ui/CommonTrackPanelCell.h
|
|
|
|
tracks/ui/CommonTrackView.cpp
|
|
|
|
tracks/ui/CommonTrackView.h
|
|
|
|
tracks/ui/EditCursorOverlay.cpp
|
|
|
|
tracks/ui/EditCursorOverlay.h
|
|
|
|
tracks/ui/EnvelopeHandle.cpp
|
|
|
|
tracks/ui/EnvelopeHandle.h
|
|
|
|
tracks/ui/PlayIndicatorOverlay.cpp
|
|
|
|
tracks/ui/PlayIndicatorOverlay.h
|
|
|
|
tracks/ui/ScrubUI.cpp
|
|
|
|
tracks/ui/ScrubUI.h
|
|
|
|
tracks/ui/Scrubbing.cpp
|
|
|
|
tracks/ui/Scrubbing.h
|
|
|
|
tracks/ui/SelectHandle.cpp
|
|
|
|
tracks/ui/SelectHandle.h
|
|
|
|
tracks/ui/SliderHandle.cpp
|
|
|
|
tracks/ui/SliderHandle.h
|
|
|
|
tracks/ui/TimeShiftHandle.cpp
|
|
|
|
tracks/ui/TimeShiftHandle.h
|
|
|
|
tracks/ui/TrackButtonHandles.cpp
|
|
|
|
tracks/ui/TrackButtonHandles.h
|
|
|
|
tracks/ui/TrackControls.cpp
|
|
|
|
tracks/ui/TrackControls.h
|
|
|
|
tracks/ui/TrackSelectHandle.cpp
|
|
|
|
tracks/ui/TrackSelectHandle.h
|
|
|
|
tracks/ui/TrackVRulerControls.cpp
|
|
|
|
tracks/ui/TrackVRulerControls.h
|
|
|
|
tracks/ui/TrackView.cpp
|
|
|
|
tracks/ui/TrackView.h
|
|
|
|
tracks/ui/ZoomHandle.cpp
|
|
|
|
tracks/ui/ZoomHandle.h
|
|
|
|
|
|
|
|
# Widgets
|
|
|
|
|
|
|
|
widgets/AButton.cpp
|
|
|
|
widgets/AButton.h
|
|
|
|
widgets/ASlider.cpp
|
|
|
|
widgets/ASlider.h
|
|
|
|
widgets/AttachableScrollBar.cpp
|
|
|
|
widgets/AttachableScrollBar.h
|
|
|
|
widgets/AudacityMessageBox.cpp
|
|
|
|
widgets/AudacityMessageBox.h
|
|
|
|
widgets/BackedPanel.cpp
|
|
|
|
widgets/BackedPanel.h
|
|
|
|
widgets/ErrorDialog.cpp
|
|
|
|
widgets/ErrorDialog.h
|
|
|
|
widgets/ExpandingToolBar.cpp
|
|
|
|
widgets/ExpandingToolBar.h
|
2021-01-31 10:24:35 +00:00
|
|
|
widgets/FileConfig.cpp
|
|
|
|
widgets/FileConfig.h
|
2020-05-25 15:51:28 +00:00
|
|
|
widgets/FileDialog/FileDialog.cpp
|
|
|
|
widgets/FileDialog/FileDialog.h
|
|
|
|
$<$<BOOL:${wxIS_WIN}>:
|
2020-07-29 05:08:48 +00:00
|
|
|
widgets/FileDialog/win/FileDialogPrivate.cpp
|
|
|
|
widgets/FileDialog/win/FileDialogPrivate.h
|
2020-05-25 15:51:28 +00:00
|
|
|
>
|
|
|
|
$<$<BOOL:${wxIS_MAC}>:
|
2020-07-29 05:08:48 +00:00
|
|
|
widgets/FileDialog/mac/FileDialogPrivate.mm
|
|
|
|
widgets/FileDialog/mac/FileDialogPrivate.h
|
2020-05-25 15:51:28 +00:00
|
|
|
>
|
|
|
|
$<$<BOOL:${wxIS_GTK}>:
|
2020-07-29 05:08:48 +00:00
|
|
|
widgets/FileDialog/gtk/FileDialogPrivate.cpp
|
|
|
|
widgets/FileDialog/gtk/FileDialogPrivate.h
|
2020-05-25 15:51:28 +00:00
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
widgets/FileHistory.cpp
|
|
|
|
widgets/FileHistory.h
|
|
|
|
widgets/Grabber.cpp
|
|
|
|
widgets/Grabber.h
|
|
|
|
widgets/Grid.cpp
|
|
|
|
widgets/Grid.h
|
|
|
|
widgets/HelpSystem.cpp
|
|
|
|
widgets/HelpSystem.h
|
|
|
|
widgets/HtmlWindow.cpp
|
|
|
|
widgets/HtmlWindow.h
|
|
|
|
widgets/ImageRoll.cpp
|
|
|
|
widgets/ImageRoll.h
|
|
|
|
widgets/KeyView.cpp
|
|
|
|
widgets/KeyView.h
|
|
|
|
widgets/Meter.cpp
|
|
|
|
widgets/Meter.h
|
|
|
|
widgets/MeterPanelBase.cpp
|
|
|
|
widgets/MeterPanelBase.h
|
|
|
|
widgets/MultiDialog.cpp
|
|
|
|
widgets/MultiDialog.h
|
|
|
|
widgets/NumericTextCtrl.cpp
|
|
|
|
widgets/NumericTextCtrl.h
|
|
|
|
widgets/Overlay.cpp
|
|
|
|
widgets/Overlay.h
|
|
|
|
widgets/OverlayPanel.cpp
|
|
|
|
widgets/OverlayPanel.h
|
|
|
|
widgets/PopupMenuTable.cpp
|
|
|
|
widgets/PopupMenuTable.h
|
|
|
|
widgets/ProgressDialog.cpp
|
|
|
|
widgets/ProgressDialog.h
|
2021-04-05 08:37:36 +00:00
|
|
|
widgets/ReadOnlyText.h
|
2020-02-03 06:39:43 +00:00
|
|
|
widgets/Ruler.cpp
|
|
|
|
widgets/Ruler.h
|
2021-06-07 16:15:17 +00:00
|
|
|
$<$<BOOL:${${_OPT}has_sentry_reporting}>:
|
|
|
|
widgets/ErrorReportDialog.cpp
|
|
|
|
widgets/ErrorReportDialog.h
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
widgets/Warning.cpp
|
|
|
|
widgets/Warning.h
|
|
|
|
widgets/WindowAccessible.cpp
|
|
|
|
widgets/WindowAccessible.h
|
|
|
|
widgets/numformatter.cpp
|
|
|
|
widgets/numformatter.h
|
|
|
|
widgets/valnum.cpp
|
|
|
|
widgets/valnum.h
|
|
|
|
widgets/wxPanelWrapper.cpp
|
|
|
|
widgets/wxPanelWrapper.h
|
2020-07-29 05:08:48 +00:00
|
|
|
widgets/wxTextCtrlWrapper.h
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
# XML handling
|
|
|
|
xml/XMLFileReader.cpp
|
|
|
|
xml/XMLFileReader.h
|
|
|
|
xml/XMLTagHandler.cpp
|
|
|
|
xml/XMLTagHandler.h
|
|
|
|
xml/XMLWriter.cpp
|
|
|
|
xml/XMLWriter.h
|
|
|
|
xml/audacityproject.dtd
|
2020-06-19 19:43:09 +00:00
|
|
|
|
2021-06-10 19:43:08 +00:00
|
|
|
# Update version
|
|
|
|
$<$<BOOL:${${_OPT}has_updates_check}>:
|
|
|
|
update/VersionId.h
|
|
|
|
update/VersionId.cpp
|
|
|
|
update/VersionPatch.h
|
|
|
|
update/UpdateDataParser.h
|
|
|
|
update/UpdateDataParser.cpp
|
|
|
|
update/UpdateManager.h
|
|
|
|
update/UpdateManager.cpp
|
|
|
|
update/UpdatePopupDialog.h
|
|
|
|
update/UpdatePopupDialog.cpp
|
2021-06-17 12:25:50 +00:00
|
|
|
prefs/ApplicationPrefs.h
|
|
|
|
prefs/ApplicationPrefs.cpp
|
2021-06-10 19:43:08 +00:00
|
|
|
>
|
|
|
|
|
2020-06-19 19:43:09 +00:00
|
|
|
Experimental.cmake
|
2018-03-30 18:34:31 +00:00
|
|
|
)
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
|
|
|
list( APPEND HEADERS
|
|
|
|
../include/audacity/EffectInterface.h
|
|
|
|
../include/audacity/Types.h
|
|
|
|
../include/audacity/ConfigInterface.h
|
|
|
|
../include/audacity/ModuleInterface.h
|
|
|
|
../include/audacity/PluginInterface.h
|
|
|
|
../include/audacity/ComponentInterface.h
|
|
|
|
../include/audacity/EffectAutomationParameters.h
|
|
|
|
../include/audacity/ImporterInterface.h
|
2018-03-30 18:34:31 +00:00
|
|
|
)
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
|
|
|
list( APPEND INCLUDES
|
2020-02-05 17:10:22 +00:00
|
|
|
PUBLIC
|
2020-03-01 18:12:37 +00:00
|
|
|
${_PRVDIR}
|
2020-02-03 06:39:43 +00:00
|
|
|
${topdir}/include
|
|
|
|
${TARGET_ROOT}
|
2018-03-30 18:34:31 +00:00
|
|
|
)
|
2020-02-03 06:39:43 +00:00
|
|
|
|
2020-02-19 20:59:33 +00:00
|
|
|
#
|
|
|
|
# Define resources
|
|
|
|
#
|
|
|
|
list( APPEND RESOURCES
|
|
|
|
../presets/EQDefaultCurves.xml
|
|
|
|
)
|
|
|
|
|
2020-02-03 06:39:43 +00:00
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
|
|
|
list( APPEND DEFINES
|
|
|
|
PRIVATE
|
|
|
|
BUILDING_AUDACITY
|
|
|
|
WXUSINGDLL
|
2020-02-23 09:57:31 +00:00
|
|
|
CMAKE
|
2020-02-12 19:08:41 +00:00
|
|
|
$<$<BOOL:${HAVE_LRINT}>:
|
|
|
|
HAVE_LRINT
|
|
|
|
>
|
|
|
|
$<$<BOOL:${HAVE_LRINTF}>:
|
|
|
|
HAVE_LRINTF
|
|
|
|
>
|
2020-02-12 07:05:51 +00:00
|
|
|
$<$<BOOL:${HAVE_MLOCK}>:
|
|
|
|
HAVE_MLOCK
|
|
|
|
>
|
2020-02-03 06:39:43 +00:00
|
|
|
$<$<PLATFORM_ID:Windows>:
|
|
|
|
_CRT_SECURE_NO_WARNINGS
|
|
|
|
__STDC_CONSTANT_MACROS
|
|
|
|
STRICT
|
|
|
|
>
|
2021-06-10 19:43:08 +00:00
|
|
|
$<$<BOOL:${USE_UPDATE_CHECK}>:
|
|
|
|
HAVE_UPDATES_CHECK
|
|
|
|
>
|
2018-03-30 18:34:31 +00:00
|
|
|
)
|
2020-02-03 06:39:43 +00:00
|
|
|
|
2021-05-12 13:17:30 +00:00
|
|
|
# If we have cmake 3.16 or higher, we can use precompiled headers, but
|
|
|
|
# only use them if ccache is not available and the user hasn't disabled
|
|
|
|
# it.
|
|
|
|
if( CMAKE_VERSION VERSION_GREATER_EQUAL "3.16" AND NOT CCACHE_PROGRAM )
|
|
|
|
cmd_option(
|
|
|
|
${_OPT}use_pch
|
|
|
|
"Use precompiled headers [yes, no]"
|
|
|
|
YES
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
audacity_append_common_compiler_options( OPTIONS "${${_OPT}use_pch}" )
|
2020-02-03 06:39:43 +00:00
|
|
|
|
|
|
|
list( APPEND LDFLAGS
|
|
|
|
PRIVATE
|
2020-03-21 15:28:05 +00:00
|
|
|
$<$<CXX_COMPILER_ID:MSVC>:/MANIFEST:NO>
|
2020-07-05 18:39:57 +00:00
|
|
|
$<$<CXX_COMPILER_ID:GNU>:-Wl,--disable-new-dtags>
|
2018-03-30 18:34:31 +00:00
|
|
|
)
|
|
|
|
|
2020-02-03 06:39:43 +00:00
|
|
|
#
|
|
|
|
#
|
|
|
|
#
|
|
|
|
list( APPEND LIBRARIES
|
2021-02-15 19:44:49 +00:00
|
|
|
PUBLIC
|
2020-02-03 06:39:43 +00:00
|
|
|
${CMAKE_REQUIRED_LIBRARIES}
|
2021-05-21 15:58:48 +00:00
|
|
|
ZLIB::ZLIB
|
|
|
|
wxwidgets::wxwidgets
|
|
|
|
expat::expat
|
|
|
|
libmp3lame::libmp3lame
|
2020-02-03 06:39:43 +00:00
|
|
|
libsndfile
|
|
|
|
libsoxr
|
|
|
|
portaudio-v19
|
2020-06-21 22:48:07 +00:00
|
|
|
sqlite
|
2021-05-04 18:43:19 +00:00
|
|
|
$<$<BOOL:${${_OPT}has_crashreports}>:crashreports>
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_FFMPEG}>:ffmpeg>
|
2021-05-21 15:58:48 +00:00
|
|
|
$<$<BOOL:${USE_LIBID3TAG}>:libid3tag::libid3tag>
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_LIBFLAC}>:libflac>
|
2021-05-21 15:58:48 +00:00
|
|
|
$<$<BOOL:${USE_LIBMAD}>:libmad::libmad>
|
2020-02-19 16:53:50 +00:00
|
|
|
$<$<BOOL:${USE_LIBOGG}>:libogg>
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_LIBVORBIS}>:libvorbis>
|
|
|
|
$<$<BOOL:${USE_LIBTWOLAME}>:twolame>
|
|
|
|
$<$<BOOL:${USE_LV2}>:lv2>
|
|
|
|
$<$<BOOL:${USE_MIDI}>:portmidi>
|
|
|
|
$<$<BOOL:${USE_MIDI}>:portsmf>
|
|
|
|
$<$<BOOL:${USE_NYQUIST}>:libnyquist>
|
|
|
|
$<$<BOOL:${USE_PORTMIXER}>:portmixer>
|
2021-02-01 16:12:06 +00:00
|
|
|
$<$<BOOL:${USE_SBSMS}>:libsbsms>
|
2020-02-11 07:15:26 +00:00
|
|
|
$<$<BOOL:${USE_SOUNDTOUCH}>:soundtouch>
|
|
|
|
$<$<BOOL:${USE_VAMP}>:libvamp>
|
2020-05-28 21:21:22 +00:00
|
|
|
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD,NetBSD,CYGWIN>:PkgConfig::GLIB>
|
|
|
|
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD,NetBSD,CYGWIN>:PkgConfig::GTK>
|
|
|
|
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD,NetBSD,CYGWIN>:z>
|
|
|
|
$<$<PLATFORM_ID:Linux,FreeBSD,OpenBSD,NetBSD,CYGWIN>:pthread>
|
2018-03-30 18:34:31 +00:00
|
|
|
)
|
2020-02-03 06:39:43 +00:00
|
|
|
|
2020-02-23 09:57:31 +00:00
|
|
|
set( BUILDING_AUDACITY YES )
|
2020-02-06 00:45:05 +00:00
|
|
|
set( INSTALL_PREFIX "${_PREFIX}" )
|
2020-07-05 18:39:57 +00:00
|
|
|
set( PKGLIBDIR "${_PKGLIBDIR}" )
|
|
|
|
set( LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}" )
|
2020-02-05 17:10:22 +00:00
|
|
|
set( HAVE_GTK ${GTK_FOUND} )
|
2018-04-01 14:51:11 +00:00
|
|
|
|
2020-02-23 22:32:36 +00:00
|
|
|
# Do not define these for Windows or Mac until further testing
|
|
|
|
# can be done against ExportMP3.cpp. If either are defined, the
|
|
|
|
# build will fail.
|
|
|
|
if( NOT CMAKE_SYSTEM_NAME MATCHES "Windows|Darwin" )
|
|
|
|
if( "${${_OPT}use_lame}" STREQUAL "local" )
|
|
|
|
set( DISABLE_DYNAMIC_LOADING_LAME YES )
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if( "${${_OPT}use_ffmpeg}" STREQUAL "linked" )
|
|
|
|
set( DISABLE_DYNAMIC_LOADING_FFMPEG YES )
|
|
|
|
endif()
|
2020-02-23 09:57:31 +00:00
|
|
|
endif()
|
2018-03-31 21:12:44 +00:00
|
|
|
|
2020-02-23 09:57:31 +00:00
|
|
|
if( CMAKE_SYSTEM_NAME MATCHES "Windows" )
|
2020-02-03 06:39:43 +00:00
|
|
|
set_target_properties(
|
|
|
|
${TARGET}
|
|
|
|
PROPERTIES
|
|
|
|
# Make sure we're a GUI application and not a console tool
|
|
|
|
WIN32_EXECUTABLE ON
|
|
|
|
)
|
|
|
|
|
2020-02-19 20:59:33 +00:00
|
|
|
# Define the Windows specific resources
|
|
|
|
list( APPEND WIN_RESOURCES
|
|
|
|
../win/audacity.rc
|
|
|
|
)
|
|
|
|
|
2020-02-03 06:39:43 +00:00
|
|
|
# Copy over the wxWidgets DLLs
|
2020-02-04 01:05:32 +00:00
|
|
|
|
2020-07-05 18:39:57 +00:00
|
|
|
# Copy the required wxWidgets libs into the bundle
|
2020-02-03 06:39:43 +00:00
|
|
|
add_custom_command(
|
|
|
|
TARGET
|
|
|
|
${TARGET}
|
|
|
|
COMMAND
|
2020-07-05 18:39:57 +00:00
|
|
|
${CMAKE_COMMAND} -D SRC="${_EXEDIR}/Audacity.exe"
|
|
|
|
-D DST="${_EXEDIR}"
|
2021-05-25 17:21:55 +00:00
|
|
|
-D WXWIN="${_SHARED_PROXY_BASE_PATH}/$<CONFIG>/"
|
2021-05-21 15:58:48 +00:00
|
|
|
-P ${AUDACITY_MODULE_PATH}/CopyLibs.cmake
|
2020-02-03 06:39:43 +00:00
|
|
|
POST_BUILD
|
|
|
|
)
|
2020-02-05 17:10:22 +00:00
|
|
|
|
2020-02-12 07:05:51 +00:00
|
|
|
# Copy the VC runtime libraries as well
|
|
|
|
add_custom_command(
|
|
|
|
TARGET
|
|
|
|
${TARGET}
|
|
|
|
COMMAND
|
|
|
|
${CMAKE_COMMAND} -E copy ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} ${_DEST}
|
|
|
|
POST_BUILD
|
|
|
|
)
|
2020-02-03 06:39:43 +00:00
|
|
|
elseif( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
2020-05-10 07:36:28 +00:00
|
|
|
# Bug 2400 workaround
|
|
|
|
#
|
|
|
|
# Replaces the SDK version in the built executable with 10.13 to
|
|
|
|
# prevent high CPU usage and slow drawing on Mojave or newer
|
|
|
|
check_for_platform_version()
|
|
|
|
if( PLATFORM_VERSION_SUPPORTED )
|
|
|
|
list( APPEND LDFLAGS
|
|
|
|
PRIVATE
|
2021-05-21 14:10:39 +00:00
|
|
|
-Wl,-platform_version,macos,${MIN_MACOS_VERSION},${TARGET_MACOS_VERSION}
|
2020-05-10 07:36:28 +00:00
|
|
|
)
|
|
|
|
else()
|
|
|
|
list( APPEND LDFLAGS
|
|
|
|
PRIVATE
|
|
|
|
-Wl,-sdk_version,10.13
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
|
2020-02-19 20:59:33 +00:00
|
|
|
# Define Mac specific resources
|
|
|
|
list( APPEND MAC_RESOURCES
|
|
|
|
../mac/Resources/Audacity.icns
|
|
|
|
../mac/Resources/AudacityAIFF.icns
|
|
|
|
../mac/Resources/AudacityAU.icns
|
|
|
|
../mac/Resources/AudacityMP3.icns
|
|
|
|
../mac/Resources/AudacityOGG.icns
|
|
|
|
../mac/Resources/AudacityProject.icns
|
|
|
|
../mac/Resources/AudacityWAV.icns
|
|
|
|
)
|
|
|
|
|
2020-02-03 06:39:43 +00:00
|
|
|
set_target_properties(
|
|
|
|
${TARGET}
|
|
|
|
PROPERTIES
|
|
|
|
# Build a bundle
|
2020-02-19 20:59:33 +00:00
|
|
|
MACOSX_BUNDLE ON
|
|
|
|
# Add the resources
|
|
|
|
RESOURCE "${MAC_RESOURCES};${RESOURCES}"
|
2020-02-03 06:39:43 +00:00
|
|
|
)
|
2020-03-08 00:16:27 +00:00
|
|
|
set_target_property_all( ${TARGET} RUNTIME_OUTPUT_DIRECTORY "${_DESTDIR}" )
|
2020-02-03 06:39:43 +00:00
|
|
|
|
2020-05-26 19:39:36 +00:00
|
|
|
# These sources must be compiled as Objective C++ and excluded
|
|
|
|
# from precompiled header usage
|
2020-02-03 06:39:43 +00:00
|
|
|
set_source_files_properties(
|
2020-12-09 20:18:03 +00:00
|
|
|
AudacityApp.mm
|
2020-02-03 06:39:43 +00:00
|
|
|
KeyboardCapture.cpp
|
|
|
|
effects/EffectUI.cpp
|
2020-05-26 19:39:36 +00:00
|
|
|
effects/VST/VSTControlOSX.mm
|
|
|
|
effects/audiounits/AUControl.mm
|
2020-02-03 06:39:43 +00:00
|
|
|
menus/WindowMenus.cpp
|
2020-05-26 19:39:36 +00:00
|
|
|
widgets/FileDialog/mac/FileDialogPrivate.mm
|
2020-02-03 06:39:43 +00:00
|
|
|
PROPERTIES
|
|
|
|
COMPILE_FLAGS "-x objective-c++"
|
2020-05-26 19:39:36 +00:00
|
|
|
SKIP_PRECOMPILE_HEADERS YES
|
2020-02-03 06:39:43 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
# Add our required frameworks
|
2020-02-23 09:57:31 +00:00
|
|
|
list( APPEND LIBRARIES
|
2020-02-03 06:39:43 +00:00
|
|
|
PRIVATE
|
|
|
|
"-framework AudioUnit"
|
2020-02-11 07:15:26 +00:00
|
|
|
"-framework CoreAudio"
|
2020-02-03 06:39:43 +00:00
|
|
|
"-framework CoreAudioKit"
|
|
|
|
)
|
|
|
|
|
2020-02-28 21:07:09 +00:00
|
|
|
# Use the Aqua theme
|
|
|
|
set( USE_AQUA_THEME 1 )
|
|
|
|
|
2020-07-05 18:39:57 +00:00
|
|
|
# Copy the required wxWidgets libs into the bundle
|
|
|
|
add_custom_command(
|
|
|
|
TARGET
|
|
|
|
${TARGET}
|
|
|
|
COMMAND
|
|
|
|
${CMAKE_COMMAND} -D SRC="${_EXEDIR}/Audacity"
|
|
|
|
-D DST="${_PKGLIB}"
|
2021-05-25 17:21:55 +00:00
|
|
|
-D WXWIN="${_SHARED_PROXY_BASE_PATH}/$<CONFIG>"
|
2021-05-21 15:58:48 +00:00
|
|
|
-P ${AUDACITY_MODULE_PATH}/CopyLibs.cmake
|
2020-07-05 18:39:57 +00:00
|
|
|
POST_BUILD
|
|
|
|
)
|
2020-02-05 17:10:22 +00:00
|
|
|
|
|
|
|
# Define the Wrapper target
|
2020-02-23 09:57:31 +00:00
|
|
|
set( WRAPPER_ROOT "${TARGET_ROOT}/../mac" )
|
|
|
|
set( WRAPPER_SOURCES "${WRAPPER_ROOT}/Wrapper.c" )
|
2020-02-05 17:10:22 +00:00
|
|
|
|
2020-02-23 09:57:31 +00:00
|
|
|
add_executable( Wrapper "${WRAPPER_SOURCES}" )
|
2020-04-19 06:23:37 +00:00
|
|
|
add_dependencies( "${TARGET}" Wrapper )
|
2020-02-05 17:10:22 +00:00
|
|
|
|
2020-02-07 02:10:29 +00:00
|
|
|
set_target_property_all( "Wrapper" RUNTIME_OUTPUT_DIRECTORY "${_EXEDIR}" )
|
2020-02-05 17:10:22 +00:00
|
|
|
organize_source( "${WRAPPER_ROOT}" "mac" "${WRAPPER_SOURCES}" )
|
|
|
|
|
2020-02-25 18:42:12 +00:00
|
|
|
else()
|
2020-07-05 18:39:57 +00:00
|
|
|
set_target_property_all( ${TARGET} RUNTIME_OUTPUT_DIRECTORY "${_DEST}" )
|
2020-03-11 23:07:30 +00:00
|
|
|
|
2020-02-29 18:41:11 +00:00
|
|
|
# Build the list of mimetypes
|
|
|
|
#
|
|
|
|
# (Don't use generator expressions since it will leave null/empty
|
|
|
|
# entries in the list.)
|
2021-06-16 14:19:48 +00:00
|
|
|
set( MIMETYPES
|
|
|
|
application/x-audacity-project
|
|
|
|
)
|
2020-02-29 18:41:11 +00:00
|
|
|
if( USE_FFMPEG )
|
|
|
|
list( APPEND MIMETYPES
|
|
|
|
audio/aac
|
2020-02-11 07:15:26 +00:00
|
|
|
audio/ac3
|
|
|
|
audio/mp4
|
|
|
|
audio/x-ms-wma
|
2020-02-29 18:41:11 +00:00
|
|
|
video/mpeg
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
if( USE_LIBFLAC )
|
|
|
|
list( APPEND MIMETYPES
|
|
|
|
audio/flac
|
|
|
|
audio/x-flac
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
if( USE_LIBMAD )
|
|
|
|
list( APPEND MIMETYPES
|
|
|
|
audio/mpeg
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
if( USE_SNDFILE )
|
|
|
|
list( APPEND MIMETYPES
|
|
|
|
audio/basic
|
2020-02-11 07:15:26 +00:00
|
|
|
audio/x-aiff
|
2020-02-29 18:41:11 +00:00
|
|
|
audio/x-wav
|
|
|
|
)
|
|
|
|
endif()
|
|
|
|
if( USE_LIBOGG AND USE_LIBVORBIS )
|
|
|
|
list( APPEND MIMETYPES
|
|
|
|
application/ogg
|
|
|
|
audio/x-vorbis+ogg
|
|
|
|
)
|
|
|
|
endif()
|
2020-02-06 07:17:20 +00:00
|
|
|
|
|
|
|
# Create the desktop file
|
|
|
|
configure_file( audacity.desktop.in ${_INTDIR}/audacity.desktop )
|
|
|
|
|
2020-07-05 18:39:57 +00:00
|
|
|
# Copy the required wxWidgets libs into the bundle
|
|
|
|
add_custom_command(
|
|
|
|
TARGET
|
|
|
|
${TARGET}
|
|
|
|
COMMAND
|
|
|
|
${CMAKE_COMMAND} -D SRC="${_EXEDIR}/audacity"
|
|
|
|
-D DST="${_DEST}/${_PKGLIB}"
|
2021-05-25 17:21:55 +00:00
|
|
|
-D WXWIN="${_SHARED_PROXY_BASE_PATH}/$<CONFIG>"
|
2021-05-21 15:58:48 +00:00
|
|
|
-P ${AUDACITY_MODULE_PATH}/CopyLibs.cmake
|
2020-07-05 18:39:57 +00:00
|
|
|
POST_BUILD
|
|
|
|
)
|
2018-03-31 21:12:44 +00:00
|
|
|
endif()
|
2020-02-03 06:39:43 +00:00
|
|
|
|
2021-05-04 18:43:19 +00:00
|
|
|
if(CRASH_REPORT_URL)
|
|
|
|
list(APPEND DEFINES PRIVATE -DCRASH_REPORT_URL="${CRASH_REPORT_URL}")
|
|
|
|
endif()
|
|
|
|
|
2020-04-25 04:43:24 +00:00
|
|
|
set_target_property_all( ${TARGET} RUNTIME_OUTPUT_NAME ${AUDACITY_NAME} )
|
2020-02-06 07:17:20 +00:00
|
|
|
|
2020-02-03 06:39:43 +00:00
|
|
|
organize_source( "${TARGET_ROOT}/.." "include" "${HEADERS}" )
|
2020-02-19 20:59:33 +00:00
|
|
|
organize_source( "${TARGET_ROOT}/../presets" "presets" "${RESOURCES}" )
|
2020-02-03 06:39:43 +00:00
|
|
|
organize_source( "${TARGET_ROOT}" "src" "${SOURCES}" )
|
2020-02-19 20:59:33 +00:00
|
|
|
organize_source( "${TARGET_ROOT}/../mac/Resources" "mac" "${MAC_RESOURCES}" )
|
|
|
|
organize_source( "${TARGET_ROOT}/../win" "win" "${WIN_RESOURCES}" )
|
2020-02-03 06:39:43 +00:00
|
|
|
|
2020-03-01 18:12:37 +00:00
|
|
|
#
|
|
|
|
# Get those pesky CMake files out of the way (on Windows)
|
|
|
|
#
|
|
|
|
source_group(
|
|
|
|
TREE
|
|
|
|
"${_INTDIR}"
|
|
|
|
PREFIX
|
|
|
|
"CMake"
|
|
|
|
FILES
|
|
|
|
${_INTDIR}/CMakeFiles/Audacity.dir/cmake_pch.cxx
|
|
|
|
${_INTDIR}/CMakeFiles/Audacity.dir/cmake_pch.hxx
|
|
|
|
)
|
|
|
|
|
2021-05-08 11:05:33 +00:00
|
|
|
# Define AUDACITY_DLL_API
|
|
|
|
import_symbol_define( import_symbol AUDACITY_DLL )
|
|
|
|
export_symbol_define( export_symbol AUDACITY_DLL )
|
|
|
|
list( APPEND DEFINES PRIVATE "${export_symbol}" INTERFACE "${import_symbol}" )
|
|
|
|
|
2020-03-12 04:43:17 +00:00
|
|
|
target_sources( ${TARGET} PRIVATE ${HEADERS} ${SOURCES} ${RESOURCES} ${MAC_RESOURCES} ${WIN_RESOURCES} )
|
2020-02-03 06:39:43 +00:00
|
|
|
target_compile_definitions( ${TARGET} PRIVATE ${DEFINES} )
|
|
|
|
target_compile_options( ${TARGET} PRIVATE ${OPTIONS} )
|
|
|
|
target_include_directories( ${TARGET} PRIVATE ${INCLUDES} )
|
2020-05-10 07:36:28 +00:00
|
|
|
target_link_options( ${TARGET} PRIVATE ${LDFLAGS} )
|
2021-02-15 19:44:49 +00:00
|
|
|
target_link_libraries( ${TARGET} ${LIBRARIES} )
|
2021-02-11 14:54:59 +00:00
|
|
|
target_link_libraries( ${TARGET} PUBLIC ${AUDACITY_LIBRARIES} )
|
2020-02-11 07:15:26 +00:00
|
|
|
|
2020-05-27 01:01:49 +00:00
|
|
|
if( CMAKE_VERSION VERSION_GREATER_EQUAL "3.16" AND NOT CCACHE_PROGRAM )
|
|
|
|
if( ${_OPT}use_pch )
|
|
|
|
message( STATUS "Using precompiled headers" )
|
2021-05-12 13:17:30 +00:00
|
|
|
target_precompile_headers( ${TARGET} PRIVATE
|
2021-05-12 20:30:15 +00:00
|
|
|
$<$<PLATFORM_ID:Windows>:${CMAKE_BINARY_DIR}/src/private/configwin.h>
|
2021-05-12 13:17:30 +00:00
|
|
|
$<$<PLATFORM_ID:Darwin>:${CMAKE_BINARY_DIR}/src/private/configmac.h>
|
|
|
|
$<$<NOT:$<PLATFORM_ID:Windows,Darwin>>:${CMAKE_BINARY_DIR}/src/private/configunix.h>
|
|
|
|
AudacityHeaders.h
|
|
|
|
)
|
2020-05-27 01:01:49 +00:00
|
|
|
else()
|
|
|
|
message( STATUS "Not using precompiled headers" )
|
|
|
|
endif()
|
2020-02-11 07:15:26 +00:00
|
|
|
endif()
|
2020-02-03 06:39:43 +00:00
|
|
|
|
2021-06-10 15:52:24 +00:00
|
|
|
if( "${CMAKE_GENERATOR}" MATCHES "Xcode|Visual Studio*" )
|
|
|
|
install(
|
|
|
|
DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/$<CONFIG>/"
|
|
|
|
DESTINATION "."
|
|
|
|
USE_SOURCE_PERMISSIONS
|
|
|
|
PATTERN "*.pdb" EXCLUDE
|
|
|
|
PATTERN "*.ilk" EXCLUDE
|
|
|
|
)
|
|
|
|
else()
|
2020-02-06 07:17:20 +00:00
|
|
|
if( CMAKE_SYSTEM_NAME MATCHES "Darwin" )
|
2020-07-05 18:39:57 +00:00
|
|
|
install( TARGETS ${TARGET}
|
|
|
|
DESTINATION "."
|
|
|
|
RESOURCE DESTINATION "${_APPDIR}/Resources" )
|
2020-02-06 07:17:20 +00:00
|
|
|
else()
|
2020-07-05 18:39:57 +00:00
|
|
|
install( TARGETS ${TARGET} RUNTIME )
|
|
|
|
install( DIRECTORY "${_DEST}/${_LIBDIR}/"
|
2020-04-25 04:59:11 +00:00
|
|
|
DESTINATION "${_LIBDIR}"
|
|
|
|
USE_SOURCE_PERMISSIONS
|
2020-07-05 18:39:57 +00:00
|
|
|
FILES_MATCHING PATTERN "*.so*" )
|
2020-02-06 07:17:20 +00:00
|
|
|
install( FILES "${_INTDIR}/audacity.desktop"
|
|
|
|
DESTINATION "${_DATADIR}/applications" )
|
|
|
|
install( FILES "${topdir}/LICENSE.txt" "${topdir}/README.txt"
|
2020-04-25 04:59:11 +00:00
|
|
|
DESTINATION "${_DATADIR}/doc/${AUDACITY_NAME}" )
|
2020-02-06 07:17:20 +00:00
|
|
|
install( FILES "${_SRCDIR}/audacity.xml"
|
|
|
|
DESTINATION "${_DATADIR}/mime/packages" )
|
|
|
|
install( FILES "${topdir}/presets/EQDefaultCurves.xml"
|
|
|
|
DESTINATION "${_PKGDATA}" )
|
2021-06-10 15:52:24 +00:00
|
|
|
install( PROGRAMS "${PROJECT_SOURCE_DIR}/linux/audacity.sh"
|
|
|
|
DESTINATION "."
|
|
|
|
RENAME "audacity" )
|
2020-02-06 07:17:20 +00:00
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2020-10-17 09:26:15 +00:00
|
|
|
# collect dependency information for third party libraries
|
|
|
|
list( APPEND GRAPH_EDGES "Audacity [shape=house]" )
|
|
|
|
foreach( LIBRARY ${LIBRARIES} )
|
|
|
|
if (NOT LIBRARY MATCHES "PUBLIC|PRIVATE|INTERFACE")
|
2021-06-07 13:36:02 +00:00
|
|
|
canonicalize_node_name(LIBRARY "${LIBRARY}")
|
2020-10-17 09:26:15 +00:00
|
|
|
list( APPEND GRAPH_EDGES "\"${TARGET}\" -> \"${LIBRARY}\"" )
|
|
|
|
endif()
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
#propagate collected edgets to root CMakeLists.txt
|
|
|
|
set( GRAPH_EDGES "${GRAPH_EDGES}" PARENT_SCOPE )
|