Signed-off-by: falkTX <falktx@falktx.com>tags/2020-07-14
@@ -11,6 +11,7 @@ lib_drowaudio = static_library('drowaudio', | |||||
include_directories('..' / 'juce-legacy' / 'source' / 'modules'), | include_directories('..' / 'juce-legacy' / 'source' / 'modules'), | ||||
], | ], | ||||
cpp_args: build_flags_cpp, | cpp_args: build_flags_cpp, | ||||
dependencies: dependencies, | |||||
pic: true, | pic: true, | ||||
install: false, | install: false, | ||||
) | ) | ||||
@@ -40,6 +40,7 @@ lib_juce_legacy = static_library('juce-legacy', | |||||
include_directories('source' / 'modules'), | include_directories('source' / 'modules'), | ||||
], | ], | ||||
cpp_args: build_flags_cpp, | cpp_args: build_flags_cpp, | ||||
dependencies: dependencies, | |||||
pic: true, | pic: true, | ||||
install: false, | install: false, | ||||
) | ) | ||||
@@ -11,6 +11,7 @@ lib_juced = static_library('juced', | |||||
include_directories('..' / 'juce-legacy' / 'source' / 'modules'), | include_directories('..' / 'juce-legacy' / 'source' / 'modules'), | ||||
], | ], | ||||
cpp_args: build_flags_cpp, | cpp_args: build_flags_cpp, | ||||
dependencies: dependencies, | |||||
pic: true, | pic: true, | ||||
install: false, | install: false, | ||||
) | ) | ||||
@@ -13,9 +13,19 @@ prefix = get_option('prefix') | |||||
bindir = get_option('bindir') | bindir = get_option('bindir') | ||||
libdir = get_option('libdir') | libdir = get_option('libdir') | ||||
build_lv2 = get_option('build-lv2') | |||||
build_vst2 = get_option('build-vst2') | |||||
build_vst3 = get_option('build-vst3') | |||||
linux_embed = get_option('linux-embed') | linux_embed = get_option('linux-embed') | ||||
optimizations = get_option('optimizations') | optimizations = get_option('optimizations') | ||||
############################################################################### | |||||
# set paths | |||||
lv2dir = prefix / libdir / 'lv2' | |||||
vst2dir = prefix / libdir / 'vst' | |||||
vst3dir = prefix / libdir / 'vst3' | |||||
############################################################################### | ############################################################################### | ||||
# set target OS | # set target OS | ||||
@@ -37,12 +47,15 @@ endif | |||||
if os_darwin | if os_darwin | ||||
bin_suffix = '' | bin_suffix = '' | ||||
lib_suffix = '.dylib' | lib_suffix = '.dylib' | ||||
bintype_prefix = 'Mac-' | |||||
elif os_windows | elif os_windows | ||||
bin_suffix = '.exe' | bin_suffix = '.exe' | ||||
lib_suffix = '.dll' | lib_suffix = '.dll' | ||||
bintype_prefix = 'Windows-' | |||||
else | else | ||||
bin_suffix = '' | bin_suffix = '' | ||||
lib_suffix = '.so' | lib_suffix = '.so' | ||||
bintype_prefix = 'Linux-' | |||||
endif | endif | ||||
############################################################################### | ############################################################################### | ||||
@@ -51,32 +64,64 @@ endif | |||||
cc = meson.get_compiler('c') | cc = meson.get_compiler('c') | ||||
cpp = meson.get_compiler('cpp') | cpp = meson.get_compiler('cpp') | ||||
############################################################################### | |||||
# dependencies | |||||
dependencies = [ | |||||
] | |||||
if os_linux | |||||
dependencies += [ | |||||
cc.find_library('dl'), | |||||
cc.find_library('rt'), | |||||
] | |||||
endif | |||||
if os_linux and not linux_embed | |||||
dependencies += [ | |||||
dependency('alsa'), | |||||
dependency('freetype2'), | |||||
dependency('x11'), | |||||
dependency('xext'), | |||||
] | |||||
endif | |||||
############################################################################### | |||||
# build flags | |||||
build_flags = [ | build_flags = [ | ||||
'-DJUCE_APP_CONFIG_HEADER="AppConfig.h"', | '-DJUCE_APP_CONFIG_HEADER="AppConfig.h"', | ||||
'-pthread', | '-pthread', | ||||
'-Wall', '-Wno-multichar', '-Wno-unused-but-set-variable', '-Wno-unused-function', '-Wno-strict-overflow', | |||||
'-Wall', | |||||
'-Wno-multichar', | |||||
'-Wno-strict-overflow', | |||||
'-Wno-unused-but-set-variable', | |||||
'-Wno-unused-function', | |||||
] | ] | ||||
build_flags_cpp = [ | build_flags_cpp = [ | ||||
'-Wno-class-memaccess', | |||||
] | ] | ||||
build_flags_release = [ | |||||
'-O3', '-fvisibility=hidden', '-DNDEBUG=1', | |||||
build_flags_debug = [ | |||||
'-O0', '-ggdb', | |||||
'-DDEBUG=1', '-D_DEBUG=1', | |||||
] | ] | ||||
build_flags_release_cpp = [ | |||||
'-fvisibility-inlines-hidden', | |||||
build_flags_debug_cpp = [ | |||||
] | ] | ||||
build_flags_debug = [ | |||||
'-O0', '-ggdb', '-DDEBUG=1', '-D_DEBUG=1', | |||||
build_flags_release = [ | |||||
'-O3', '-fvisibility=hidden', | |||||
'-DNDEBUG=1', | |||||
] | ] | ||||
build_flags_debug_cpp = [ | |||||
build_flags_release_cpp = [ | |||||
'-fvisibility-inlines-hidden', | |||||
] | ] | ||||
if optimizations and not linux_embed | if optimizations and not linux_embed | ||||
build_flags_release += [ | |||||
build_flags_release += [ | |||||
'-mtune=generic', '-msse', '-msse2', | '-mtune=generic', '-msse', '-msse2', | ||||
] | ] | ||||
endif | endif | ||||
@@ -115,25 +160,49 @@ else | |||||
build_flags += [ | build_flags += [ | ||||
'-DLINUX=1', | '-DLINUX=1', | ||||
] | ] | ||||
build_flags_cpp += [ | |||||
'`pkg-config --cflags alsa freetype2 x11 xext`', | |||||
endif | |||||
############################################################################### | |||||
# link flags | |||||
link_flags = [ | |||||
'-pthread', | |||||
] | |||||
link_flags_debug = [ | |||||
] | |||||
link_flags_release = [ | |||||
] | |||||
if not os_darwin | |||||
link_flags += [ | |||||
'-Wl,--no-undefined', | |||||
] | |||||
link_flags_release += [ | |||||
'-fdata-sections', '-ffunction-sections', '-Wl,--gc-sections', | |||||
'-Wl,--as-needed', | |||||
'-Wl,--strip-all', | |||||
] | ] | ||||
endif | endif | ||||
############################################################################### | ############################################################################### | ||||
# combine flags depending on build type | |||||
if buildtype == 'debug' | if buildtype == 'debug' | ||||
build_flags = build_flags + build_flags_debug | |||||
build_flags_cpp = build_flags + build_flags_cpp + build_flags_debug_cpp | |||||
build_flags += build_flags_debug | |||||
build_flags_cpp += build_flags_debug_cpp + build_flags | |||||
link_flags += link_flags_debug | |||||
else | else | ||||
build_flags = build_flags + build_flags_release | |||||
build_flags_cpp = build_flags + build_flags_cpp + build_flags_release_cpp | |||||
build_flags += build_flags_release | |||||
build_flags_cpp += build_flags_release_cpp + build_flags | |||||
link_flags += link_flags_release | |||||
endif | endif | ||||
############################################################################### | ############################################################################### | ||||
# go into subdir to build libraries and plugins | # go into subdir to build libraries and plugins | ||||
subdir('libs') | subdir('libs') | ||||
# subdir('ports') | |||||
subdir('ports-legacy') | |||||
############################################################################### | ############################################################################### |
@@ -1,29 +1,29 @@ | |||||
option('optimizations', | option('optimizations', | ||||
type: 'boolean', | |||||
value: true, | |||||
description: 'Enable SSE2 optimizations' | |||||
type: 'boolean', | |||||
value: true, | |||||
description: 'Enable SSE2 optimizations', | |||||
) | ) | ||||
option('linux-embed', | option('linux-embed', | ||||
type: 'boolean', | |||||
value: true, | |||||
description: 'DSP-only plugin builds, without editor/GUI' | |||||
type: 'boolean', | |||||
value: false, | |||||
description: 'DSP-only plugin builds, without editor/GUI', | |||||
) | ) | ||||
option('build-lv2', | |||||
type: 'boolean', | |||||
value: true, | |||||
description: 'Build LV2 plugin variants' | |||||
option('build-lv2', | |||||
type: 'boolean', | |||||
value: true, | |||||
description: 'Build LV2 plugin variants', | |||||
) | ) | ||||
option('build-vst2', | |||||
type: 'boolean', | |||||
value: true, | |||||
description: 'Build VST2 plugin variants' | |||||
option('build-vst2', | |||||
type: 'boolean', | |||||
value: true, | |||||
description: 'Build VST2 plugin variants', | |||||
) | ) | ||||
option('build-vst3', | |||||
type: 'boolean', | |||||
value: true, | |||||
description: 'Build VST3 plugin variants' | |||||
option('build-vst3', | |||||
type: 'boolean', | |||||
value: true, | |||||
description: 'Build VST3 plugin variants', | |||||
) | ) |
@@ -0,0 +1,17 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/BinaryData.cpp', | |||||
'source/SamWithBubble.cpp', | |||||
'source/SpectrumAnalyserAudioProcessor.cpp', | |||||
'source/SpectrumAnalyserAudioProcessorEditor.cpp', | |||||
'source/SpectrumProcessor.cpp', | |||||
'source/SpectrumViewer.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'HiReSam' | |||||
plugin_uses_drowaudio = true | |||||
plugin_extra_build_flags = build_flags_drowaudio | |||||
############################################################################### |
@@ -0,0 +1,30 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/BinaryData.cpp', | |||||
'source/Ebu128LoudnessMeter.cpp', | |||||
'source/LUFSMeterAudioProcessor.cpp', | |||||
'source/LUFSMeterAudioProcessorEditor.cpp', | |||||
'source/filters/SecondOrderIIRFilter.cpp', | |||||
'source/gui/AnimatedSidePanel.cpp', | |||||
'source/gui/BackgroundGrid.cpp', | |||||
'source/gui/BackgroundGridCaption.cpp', | |||||
'source/gui/BackgroundVerticalLinesAndCaption.cpp', | |||||
'source/gui/LoudnessBar.cpp', | |||||
'source/gui/LoudnessBarRangeSlider.cpp', | |||||
'source/gui/LoudnessHistory.cpp', | |||||
'source/gui/LoudnessHistoryGroup.cpp', | |||||
'source/gui/LoudnessNumeric.cpp', | |||||
'source/gui/LoudnessRangeBar.cpp', | |||||
'source/gui/LoudnessRangeHistory.cpp', | |||||
'source/gui/MultiChannelLoudnessBar.cpp', | |||||
'source/gui/PreferencesPane.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'LUFSMeterMulti' | |||||
plugin_extra_build_flags = [ | |||||
'-DLUFS_MULTI=1', | |||||
] | |||||
############################################################################### |
@@ -0,0 +1 @@ | |||||
../LUFSMeter/source/ |
@@ -0,0 +1,27 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/BinaryData.cpp', | |||||
'source/Ebu128LoudnessMeter.cpp', | |||||
'source/LUFSMeterAudioProcessor.cpp', | |||||
'source/LUFSMeterAudioProcessorEditor.cpp', | |||||
'source/filters/SecondOrderIIRFilter.cpp', | |||||
'source/gui/AnimatedSidePanel.cpp', | |||||
'source/gui/BackgroundGrid.cpp', | |||||
'source/gui/BackgroundGridCaption.cpp', | |||||
'source/gui/BackgroundVerticalLinesAndCaption.cpp', | |||||
'source/gui/LoudnessBar.cpp', | |||||
'source/gui/LoudnessBarRangeSlider.cpp', | |||||
'source/gui/LoudnessHistory.cpp', | |||||
'source/gui/LoudnessHistoryGroup.cpp', | |||||
'source/gui/LoudnessNumeric.cpp', | |||||
'source/gui/LoudnessRangeBar.cpp', | |||||
'source/gui/LoudnessRangeHistory.cpp', | |||||
'source/gui/MultiChannelLoudnessBar.cpp', | |||||
'source/gui/PreferencesPane.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'LUFSMeter' | |||||
############################################################################### |
@@ -0,0 +1,23 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/PluginProcessor.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/Headers/UI/Knob.cpp', | |||||
'source/Headers/UI/FancyButton.cpp', | |||||
'source/Headers/Binary Data/Backgrounds/thefunctionbackground.cpp', | |||||
'source/Headers/Binary Data/UI/button.cpp', | |||||
'source/Headers/Binary Data/UI/knobs.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TheFunction' | |||||
############################################################################### |
@@ -0,0 +1,23 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/PluginParameter.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/BackgroundImage.cpp', | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginParameter.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/Knob.cpp', | |||||
'source/KnobsBI.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'ThePilgrim' | |||||
############################################################################### |
@@ -0,0 +1,35 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/AlgoDisplay.cpp', | |||||
'source/BinaryData.cpp', | |||||
'source/CartManager.cpp', | |||||
'source/DXComponents.cpp', | |||||
'source/DXLookNFeel.cpp', | |||||
'source/EngineMkI.cpp', | |||||
'source/EngineOpl.cpp', | |||||
'source/GlobalEditor.cpp', | |||||
'source/OperatorEditor.cpp', | |||||
'source/ParamDialog.cpp', | |||||
'source/PluginData.cpp', | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginFx.cpp', | |||||
'source/PluginParam.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/ProgramListBox.cpp', | |||||
'source/SysexComm.cpp', | |||||
'source/msfa/dx7note.cc', | |||||
'source/msfa/env.cc', | |||||
'source/msfa/exp2.cc', | |||||
'source/msfa/fm_core.cc', | |||||
'source/msfa/fm_op_kernel.cc', | |||||
'source/msfa/freqlut.cc', | |||||
'source/msfa/lfo.cc', | |||||
'source/msfa/pitchenv.cc', | |||||
'source/msfa/sin.cc', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'Dexed' | |||||
############################################################################### |
@@ -0,0 +1,24 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/DRowAudioFilter.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/DRowAudioEditorComponent.cpp', | |||||
'source/DRowAudioFilter.cpp', | |||||
'../drowaudio-common/dRowAudio_PluginLookAndFeel.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'drowaudio-distortion' | |||||
plugin_uses_drowaudio = true | |||||
plugin_extra_build_flags = build_flags_drowaudio | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'../drowaudio-common', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,25 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/DRowAudioFilter.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/DRowAudioEditorComponent.cpp', | |||||
'source/DRowAudioFilter.cpp', | |||||
'source/GraphComponent.cpp', | |||||
'../drowaudio-common/dRowAudio_PluginLookAndFeel.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'drowaudio-distortionshaper' | |||||
plugin_uses_drowaudio = true | |||||
plugin_extra_build_flags = build_flags_drowaudio | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'../drowaudio-common', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,24 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/DRowAudioFilter.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/DRowAudioEditorComponent.cpp', | |||||
'source/DRowAudioFilter.cpp', | |||||
'../drowaudio-common/dRowAudio_PluginLookAndFeel.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'drowaudio-flanger' | |||||
plugin_uses_drowaudio = true | |||||
plugin_extra_build_flags = build_flags_drowaudio | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'../drowaudio-common', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,32 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/DRowAudioFilter.cpp', | |||||
'../drowaudio-common/dRowAudio_AllpassFilter.cpp', | |||||
'../drowaudio-common/dRowAudio_DelayRegister.cpp', | |||||
'../drowaudio-common/dRowAudio_LBCF.cpp', | |||||
'../drowaudio-common/dRowAudio_TappedDelayLine.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/DRowAudioEditorComponent.cpp', | |||||
'source/DRowAudioFilter.cpp', | |||||
'../drowaudio-common/dRowAudio_AllpassFilter.cpp', | |||||
'../drowaudio-common/dRowAudio_DelayRegister.cpp', | |||||
'../drowaudio-common/dRowAudio_LBCF.cpp', | |||||
'../drowaudio-common/dRowAudio_PluginLookAndFeel.cpp', | |||||
'../drowaudio-common/dRowAudio_TappedDelayLine.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'drowaudio-reverb' | |||||
plugin_uses_drowaudio = true | |||||
plugin_extra_build_flags = build_flags_drowaudio | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'../drowaudio-common', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,25 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/PluginProcessor.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginLookAndFeel.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/TremoloBufferView.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'drowaudio-tremolo' | |||||
plugin_uses_drowaudio = true | |||||
plugin_extra_build_flags = build_flags_drowaudio | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'../drowaudio-common', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,20 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/DrumSynthComponent.cpp', | |||||
'source/DrumSynthPlugin.cpp', | |||||
'source/Components/DrumSynthEnvelope.cpp', | |||||
'source/Components/DrumSynthKeyboard.cpp', | |||||
'source/Components/DrumSynthMain.cpp', | |||||
'source/DrumSynth/drumsynth.cpp', | |||||
'source/IniParser/dictionary.cpp', | |||||
'source/IniParser/iniparser.cpp', | |||||
'source/Resources/DrumSynthResources.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'drumsynth' | |||||
plugin_uses_juced = true | |||||
plugin_extra_build_flags = build_flags_juced | |||||
############################################################################### |
@@ -0,0 +1,23 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/AboutLayout.cpp', | |||||
'source/BinaryData.cpp', | |||||
'source/MainLayout.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/PreferencesLayout.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'EasySSP' | |||||
# FIX GCC9 compiler bug, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90006 | |||||
plugin_extra_build_flags = [ | |||||
'-fno-tree-slp-vectorize', | |||||
] | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'source/dsp-utility', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,20 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/XEQComponent.cpp', | |||||
'source/XEQPlugin.cpp', | |||||
'source/Components/XEQAbout.cpp', | |||||
'source/Components/XEQGraph.cpp', | |||||
'source/Components/XEQMain.cpp', | |||||
'source/Components/XEQTabPanel.cpp', | |||||
'source/Filters/jucetice_AnalogFilter.cpp', | |||||
'source/Filters/jucetice_EQ.cpp', | |||||
'source/Filters/jucetice_Limiter.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'eqinox' | |||||
plugin_uses_juced = true | |||||
plugin_extra_build_flags = build_flags_juced | |||||
############################################################################### |
@@ -0,0 +1,23 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/ChannelButtonLookAndFeel.cpp', | |||||
'source/DROMultiplexer.cpp', | |||||
'source/EnumFloatParameter.cpp', | |||||
'source/FloatParameter.cpp', | |||||
'source/IntFloatParameter.cpp', | |||||
'source/OPLLookAndFeel.cpp', | |||||
'source/PluginGui.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/SbiLoader.cpp', | |||||
'source/dbopl.cpp', | |||||
'source/hiopl.cpp', | |||||
'source/nkopl3.cpp', | |||||
'source/tests.cpp', | |||||
'source/zdopl.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'JuceOPL' | |||||
############################################################################### |
@@ -0,0 +1,34 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/BinaryData.cpp', | |||||
'source/ChangeNotifier.cpp', | |||||
'source/Convolver.cpp', | |||||
'source/CookbookEq.cpp', | |||||
'source/Envelope.cpp', | |||||
'source/IRAgent.cpp', | |||||
'source/IRCalculation.cpp', | |||||
'source/LevelMeasurement.cpp', | |||||
'source/Parameters.cpp', | |||||
'source/Persistence.cpp', | |||||
'source/Processor.cpp', | |||||
'source/Settings.cpp', | |||||
'source/StereoWidth.cpp', | |||||
'source/FFTConvolver/AudioFFT.cpp', | |||||
'source/FFTConvolver/FFTConvolver.cpp', | |||||
'source/FFTConvolver/TwoStageFFTConvolver.cpp', | |||||
'source/FFTConvolver/Utilities.cpp', | |||||
'source/UI/CustomLookAndFeel.cpp', | |||||
'source/UI/DecibelScale.cpp', | |||||
'source/UI/IRBrowserComponent.cpp', | |||||
'source/UI/IRComponent.cpp', | |||||
'source/UI/KlangFalterEditor.cpp', | |||||
'source/UI/LevelMeter.cpp', | |||||
'source/UI/SettingsDialogComponent.cpp', | |||||
'source/UI/WaveformComponent.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'KlangFalter' | |||||
############################################################################### |
@@ -0,0 +1,22 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/PluginProcessor.cpp', | |||||
'source/dsp/eqdsp.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/GuiLookAndFeel.cpp', | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/dsp/eqdsp.cpp', | |||||
'source/gui2/BinaryData.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'Luftikus' | |||||
############################################################################### |
@@ -0,0 +1,244 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugins = [ | |||||
'arctican-function', | |||||
'arctican-pilgrim', | |||||
'drowaudio-distortion', | |||||
'drowaudio-distortionshaper', | |||||
'drowaudio-flanger', | |||||
'drowaudio-reverb', | |||||
'drowaudio-tremolo', | |||||
'luftikus', | |||||
'obxd', | |||||
'tal-dub-3', | |||||
'tal-filter', | |||||
'tal-filter-2', | |||||
'tal-noisemaker', | |||||
'tal-reverb', | |||||
'tal-reverb-2', | |||||
'tal-reverb-3', | |||||
'tal-vocoder-2', | |||||
'temper', | |||||
'vex', | |||||
'wolpertinger', | |||||
] | |||||
else | |||||
plugins = [ | |||||
'arctican-function', | |||||
'arctican-pilgrim', | |||||
'dexed', | |||||
'drowaudio-distortion', | |||||
'drowaudio-distortionshaper', | |||||
'drowaudio-flanger', | |||||
'drowaudio-reverb', | |||||
'drowaudio-tremolo', | |||||
'drumsynth', | |||||
'easySSP', | |||||
'eqinox', | |||||
'HiReSam', | |||||
'juce-opl', | |||||
'klangfalter', | |||||
'LUFSMeter', | |||||
'LUFSMeter-Multi', | |||||
'luftikus', | |||||
'obxd', | |||||
'pitchedDelay', | |||||
'refine', | |||||
'stereosourceseparation', | |||||
'tal-dub-3', | |||||
'tal-filter', | |||||
'tal-filter-2', | |||||
'tal-noisemaker', | |||||
'tal-reverb', | |||||
'tal-reverb-2', | |||||
'tal-reverb-3', | |||||
'tal-vocoder-2', | |||||
'temper', | |||||
'vex', | |||||
'wolpertinger', | |||||
] | |||||
endif | |||||
plugin_include_dirs = [ | |||||
'../../libs/drowaudio/source', | |||||
'../../libs/juced/source', | |||||
'../../libs/juce-legacy', | |||||
'../../libs/juce-legacy/source', | |||||
'../../libs/juce-legacy/source/modules', | |||||
'../../libs/juce-plugin', | |||||
'../../libs/juce-plugin/juce-legacy', | |||||
] | |||||
############################################################################### | |||||
# dependencies | |||||
dependencies_plugin = [ | |||||
] | |||||
if os_windows | |||||
dependencies_plugin += [ | |||||
cc.find_library('comdlg32'), | |||||
cc.find_library('gdi32'), | |||||
cc.find_library('imm32'), | |||||
cc.find_library('ole32'), | |||||
cc.find_library('oleaut32'), | |||||
cc.find_library('shlwapi'), | |||||
cc.find_library('uuid'), | |||||
cc.find_library('version'), | |||||
cc.find_library('winmm'), | |||||
cc.find_library('wininet'), | |||||
cc.find_library('ws2_32'), | |||||
] | |||||
endif | |||||
############################################################################### | |||||
# build flags for plugins | |||||
build_flags_plugin = [ | |||||
'-Werror=deprecated-declarations', | |||||
] | |||||
build_flags_plugin_debug = [ | |||||
] | |||||
build_flags_plugin_release = [ | |||||
'-ffast-math', | |||||
] | |||||
if optimizations and not linux_embed | |||||
build_flags_plugin_release += [ | |||||
'-mfpmath=sse', | |||||
] | |||||
endif | |||||
############################################################################### | |||||
# link flags for plugins | |||||
link_flags_plugin = [ | |||||
] | |||||
if not os_darwin | |||||
link_flags_plugin += [ | |||||
'-Wl,--version-script=../scripts/plugin-symbols.version', | |||||
] | |||||
endif | |||||
if os_darwin | |||||
link_flags_plugin += [ | |||||
'-framework Accelerate', | |||||
'-framework AudioToolbox', | |||||
'-framework AudioUnit', | |||||
'-framework Carbon', | |||||
'-framework Cocoa', | |||||
'-framework CoreAudio', | |||||
'-framework CoreAudioKit', | |||||
'-framework CoreMIDI', | |||||
'-framework IOKit', | |||||
'-framework QuartzCore', | |||||
'-framework WebKit', | |||||
] | |||||
endif | |||||
############################################################################### | |||||
# combine flags depending on build type | |||||
if buildtype == 'debug' | |||||
build_flags_plugin += build_flags_plugin_debug | |||||
else | |||||
build_flags_plugin += build_flags_plugin_release | |||||
endif | |||||
############################################################################### | |||||
# format-specific flags | |||||
build_flags_plugin_lv2 = [ | |||||
'-DJucePlugin_Build_AU=0', | |||||
'-DJucePlugin_Build_LV2=1', | |||||
'-DJucePlugin_Build_RTAS=0', | |||||
'-DJucePlugin_Build_VST=0', | |||||
'-DJucePlugin_Build_Standalone=0', | |||||
'-DBINTYPE=@0@LV2'.format(bintype_prefix), | |||||
] | |||||
build_flags_plugin_vst2 = [ | |||||
'-DJucePlugin_Build_AU=0', | |||||
'-DJucePlugin_Build_LV2=0', | |||||
'-DJucePlugin_Build_RTAS=0', | |||||
'-DJucePlugin_Build_VST=1', | |||||
'-DJucePlugin_Build_Standalone=0', | |||||
'-DBINTYPE=@0@VST2'.format(bintype_prefix), | |||||
'-Wno-write-strings', | |||||
] | |||||
############################################################################### | |||||
build_flags_drowaudio = [ | |||||
'-DUSE_DROWAUDIO=1', | |||||
] | |||||
build_flags_juced = [ | |||||
'-DUSE_JUCED=1', | |||||
] | |||||
############################################################################### | |||||
foreach plugin : plugins | |||||
plugin_uses_drowaudio = false | |||||
plugin_uses_juced = false | |||||
plugin_uses_opengl = false | |||||
plugin_extra_dependencies = [] | |||||
plugin_extra_include_dirs = [] | |||||
plugin_extra_build_flags = [] | |||||
plugin_extra_link_flags = [] | |||||
subdir(plugin) | |||||
link_with_plugin = [ | |||||
lib_juce_legacy | |||||
] | |||||
if plugin_uses_drowaudio | |||||
link_with_plugin += lib_drowaudio | |||||
endif | |||||
if plugin_uses_juced | |||||
link_with_plugin += lib_juced | |||||
endif | |||||
if plugin_uses_opengl | |||||
if os_darwin | |||||
plugin_extra_link_flags += [ | |||||
'-framework OpenGL', | |||||
] | |||||
elif os_windows | |||||
plugin_extra_dependencies += [ | |||||
cc.find_library('opengl32'), | |||||
] | |||||
elif not linux_embed | |||||
plugin_extra_dependencies += [ | |||||
dependency('gl') | |||||
] | |||||
endif | |||||
endif | |||||
if build_vst2 | |||||
plugin_vst2_lib = shared_library(plugin_name, | |||||
name_prefix: '', | |||||
sources: plugin_srcs, | |||||
include_directories: [ | |||||
include_directories(plugin / 'source'), | |||||
plugin_include_dirs, | |||||
plugin_extra_include_dirs, | |||||
], | |||||
c_args: build_flags + build_flags_plugin + build_flags_plugin_vst2 + plugin_extra_build_flags, | |||||
cpp_args: build_flags_cpp + build_flags_plugin + build_flags_plugin_vst2 + plugin_extra_build_flags, | |||||
link_args: link_flags + link_flags_plugin, | |||||
link_with: link_with_plugin, | |||||
dependencies: dependencies_plugin + plugin_extra_dependencies, | |||||
install: true, | |||||
install_dir: vst2dir, | |||||
) | |||||
endif | |||||
endforeach | |||||
############################################################################### |
@@ -0,0 +1,19 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/PluginProcessor.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/Gui/BinaryData.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'Obxd' | |||||
############################################################################### |
@@ -0,0 +1,18 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/BinaryData.cpp', | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/dsp/BandLimit.cpp', | |||||
'source/dsp/delaytabdsp.cpp', | |||||
'source/dsp/pitcheddelay.cpp', | |||||
'source/dsp/simpledetune.cpp', | |||||
'source/gui/DelayGraph.cpp', | |||||
'source/gui/pitcheddelaytab.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'PitchedDelay' | |||||
############################################################################### |
@@ -0,0 +1,18 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/Analyzer.cpp', | |||||
'source/BinaryData.cpp', | |||||
'source/Buffers.cpp', | |||||
'source/MiscDsp.cpp', | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/ReFineLookAndFeel.cpp', | |||||
'source/RefineDsp.cpp', | |||||
'source/Visualisation.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'ReFine' | |||||
############################################################################### |
@@ -0,0 +1,18 @@ | |||||
############################################################################### | |||||
plugin_srcs = files([ | |||||
'source/ADRess.cpp', | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/kiss_fft/kiss_fft.c', | |||||
'source/kiss_fft/kiss_fftr.c', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
plugin_name = 'StereoSourceSeparation' | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'source/kiss_fft', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,18 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/TalComponent.cpp', | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TAL-Dub-3' | |||||
############################################################################### |
@@ -0,0 +1,18 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/TalComponent.cpp', | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TAL-Filter-2' | |||||
############################################################################### |
@@ -0,0 +1,23 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'source/Engine/Lfo.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/TalComponent.cpp', | |||||
'source/TalCore.cpp', | |||||
'source/Engine/Lfo.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TAL-Filter' | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'source/Engine', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,23 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'source/Engine/Lfo.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/TalComponent.cpp', | |||||
'source/TalCore.cpp', | |||||
'source/Engine/Lfo.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TAL-NoiseMaker' | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'source/Engine', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,18 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/TalComponent.cpp', | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TAL-Reverb-2' | |||||
############################################################################### |
@@ -0,0 +1,18 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/TalComponent.cpp', | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TAL-Reverb-3' | |||||
############################################################################### |
@@ -0,0 +1,18 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'source/ReverbComponent.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TAL-Reverb' | |||||
############################################################################### |
@@ -0,0 +1,23 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/TalCore.cpp', | |||||
'source/engine/vocoder/Fft.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/TalComponent.cpp', | |||||
'source/TalCore.cpp', | |||||
'source/engine/vocoder/Fft.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'TAL-Vocoder-2' | |||||
plugin_extra_include_dirs = include_directories([ | |||||
'source/engine', | |||||
]) | |||||
############################################################################### |
@@ -0,0 +1,27 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/FaustUIBridge.cpp', | |||||
'source/BinaryData.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/BinaryData.cpp', | |||||
'source/FaustUIBridge.cpp', | |||||
'source/MainComponent.cpp', | |||||
'source/PluginEditor.cpp', | |||||
'source/PluginProcessor.cpp', | |||||
'source/RestrictionProcessor.cpp', | |||||
'source/SpectroscopeComponent.cpp', | |||||
'source/TemperLookAndFeel.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'Temper' | |||||
plugin_uses_opengl = true | |||||
############################################################################### |
@@ -0,0 +1,20 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/Vex-src.cpp', | |||||
'source/VexFilter.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/Vex-src.cpp', | |||||
'source/VexEditorComponent.cpp', | |||||
'source/VexFilter.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'Vex' | |||||
############################################################################### |
@@ -0,0 +1,40 @@ | |||||
############################################################################### | |||||
if linux_embed | |||||
plugin_srcs = files([ | |||||
'source/ADSRenv.cpp', | |||||
'source/synth.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
else | |||||
plugin_srcs = files([ | |||||
'source/ADSRenv.cpp', | |||||
'source/KeyboardButton.cpp', | |||||
'source/PresetComboBox.cpp', | |||||
'source/RotatingToggleButton.cpp', | |||||
'source/about.cpp', | |||||
'source/editor.cpp', | |||||
'source/synth.cpp', | |||||
'source/tabbed-editor.cpp', | |||||
'../../libs/juce-plugin/JucePluginMain.cpp', | |||||
]) | |||||
endif | |||||
plugin_name = 'Wolpertinger' | |||||
plugin_extra_build_flags = [ | |||||
'-DWOLPVERSION=0041', | |||||
'-DWOLPVERSIONSTRING=0.4.1', | |||||
] | |||||
if buildtype == 'debug' | |||||
plugin_extra_build_flags += [ | |||||
'-DCONFIGURATION=Debug', | |||||
] | |||||
else | |||||
plugin_extra_build_flags += [ | |||||
'-DCONFIGURATION=Release', | |||||
] | |||||
endif | |||||
############################################################################### |
@@ -71,7 +71,6 @@ about::about () | |||||
#define tostring(x) #x | #define tostring(x) #x | ||||
//#define stringify(x) tostring(x) | //#define stringify(x) tostring(x) | ||||
String buildinfo= String(T("v")) + T(stringify(WOLPVERSIONSTRING)) + T("\n") + | String buildinfo= String(T("v")) + T(stringify(WOLPVERSIONSTRING)) + T("\n") + | ||||
T("Build Date ") + T(stringify(BUILDDATE)) + T("\n") + | |||||
T(stringify(BINTYPE)) + T(", ") + T(stringify(CONFIGURATION)); | T(stringify(BINTYPE)) + T(", ") + T(stringify(CONFIGURATION)); | ||||
label2->setText(buildinfo, dontSendNotification); | label2->setText(buildinfo, dontSendNotification); | ||||
//[/Constructor] | //[/Constructor] | ||||
@@ -0,0 +1,4 @@ | |||||
{ | |||||
global: VSTPluginMain; | |||||
local: *; | |||||
}; |