#[[
Library of built-in effects. Implement the UI-agnostic APIs of au3-effects.
]]

set( TARGET au3-builtin-effects )

set( SOURCES
#   AmplifyBase.cpp
#   AmplifyBase.h
   AutoDuckBase.cpp
   AutoDuckBase.h
   BassTrebleBase.cpp
   BassTrebleBase.h
   ChangePitchBase.cpp
   ChangePitchBase.h
   ChangeSpeedBase.cpp
   ChangeSpeedBase.h
   ChangeTempoBase.cpp
   ChangeTempoBase.h
#   ClickRemovalBase.cpp
#   ClickRemovalBase.h
   CompressorInstance.cpp
   CompressorInstance.h
   ContrastBase.cpp
   ContrastBase.h
#   DtmfBase.cpp
#   DtmfBase.h
   DistortionBase.cpp
   DistortionBase.h
   EchoBase.cpp
   EchoBase.h
   EqualizationBase.cpp
   EqualizationBase.h
   EqualizationCurves.cpp
   EqualizationCurves.h
   EqualizationCurvesList.cpp
   EqualizationCurvesList.h
   EqualizationFilter.cpp
   EqualizationFilter.h
   EqualizationParameters.cpp
   EqualizationParameters.h
   FindClippingBase.cpp
   FindClippingBase.h
   Generator.cpp
   Generator.h
   LegacyCompressorBase.cpp
   LegacyCompressorBase.h
#   LoudnessBase.cpp
#   LoudnessBase.h
#   NoiseBase.cpp
#   NoiseBase.h
#   NoiseReductionBase.cpp
#   NoiseReductionBase.h
#   NormalizeBase.cpp
#   NormalizeBase.h
#   PaulstretchBase.cpp
#   PaulstretchBase.h
   PhaserBase.cpp
   PhaserBase.h
   PlotSpectrumBase.cpp
   PlotSpectrumBase.h
#   Repair.cpp
#   Repair.h
   RepeatBase.cpp
   RepeatBase.h
#   ReverbBase.cpp
#   ReverbBase.h
   SBSMSBase.cpp
   SBSMSBase.h
   ScienFilterBase.cpp
   ScienFilterBase.h
   SilenceBase.cpp
   SilenceBase.h
   SoundTouchBase.cpp
   SoundTouchBase.h
#   StereoToMono.cpp # need some cleanups, commenting for now
#   StereoToMono.h # need some cleanups, commenting for now
   ToneGenBase.cpp
   ToneGenBase.h
   TruncSilenceBase.cpp
   TruncSilenceBase.h
   TwoPassSimpleMono.cpp
   TwoPassSimpleMono.h
   WahWahBase.cpp
   WahWahBase.h
)
set( LIBRARIES
   au3-dynamic-range-processor-interface
   au3-wave-track-fft-interface
   au3-label-track-interface
#   au3-note-track-interface # don't link for now as we need USE_MIDI
   PRIVATE
   $<$<BOOL:${AU_USE_SBSMS}>:libsbsms>
   $<$<BOOL:${AU_USE_SOUNDTOUCH}>:soundtouch>
   au3-strings-interface
   wxBase
)
set( DEFINES
   PUBLIC
   $<$<BOOL:${AU_USE_SOUNDTOUCH}>:USE_SOUNDTOUCH=1>
   $<$<BOOL:${AU_USE_SBSMS}>:USE_SBSMS=1>
)
audacity_library( ${TARGET} "${SOURCES}" "${LIBRARIES}"
   "${DEFINES}" ""
)
