Browse Source

Build VST2 plugins with meson

Signed-off-by: falkTX <falktx@falktx.com>
tags/2020-07-14
falkTX 4 years ago
parent
commit
99a2da118b
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
41 changed files with 1101 additions and 35 deletions
  1. +1
    -0
      libs/drowaudio/meson.build
  2. +1
    -0
      libs/juce-legacy/meson.build
  3. +1
    -0
      libs/juced/meson.build
  4. +85
    -16
      meson.build
  5. +18
    -18
      meson_options.txt
  6. +17
    -0
      ports-legacy/HiReSam/meson.build
  7. +30
    -0
      ports-legacy/LUFSMeter-Multi/meson.build
  8. +1
    -0
      ports-legacy/LUFSMeter-Multi/source
  9. +27
    -0
      ports-legacy/LUFSMeter/meson.build
  10. +23
    -0
      ports-legacy/arctican-function/meson.build
  11. +23
    -0
      ports-legacy/arctican-pilgrim/meson.build
  12. +35
    -0
      ports-legacy/dexed/meson.build
  13. +24
    -0
      ports-legacy/drowaudio-distortion/meson.build
  14. +25
    -0
      ports-legacy/drowaudio-distortionshaper/meson.build
  15. +24
    -0
      ports-legacy/drowaudio-flanger/meson.build
  16. +32
    -0
      ports-legacy/drowaudio-reverb/meson.build
  17. +25
    -0
      ports-legacy/drowaudio-tremolo/meson.build
  18. +20
    -0
      ports-legacy/drumsynth/meson.build
  19. +23
    -0
      ports-legacy/easySSP/meson.build
  20. +20
    -0
      ports-legacy/eqinox/meson.build
  21. +23
    -0
      ports-legacy/juce-opl/meson.build
  22. +34
    -0
      ports-legacy/klangfalter/meson.build
  23. +22
    -0
      ports-legacy/luftikus/meson.build
  24. +244
    -0
      ports-legacy/meson.build
  25. +19
    -0
      ports-legacy/obxd/meson.build
  26. +18
    -0
      ports-legacy/pitchedDelay/meson.build
  27. +18
    -0
      ports-legacy/refine/meson.build
  28. +18
    -0
      ports-legacy/stereosourceseparation/meson.build
  29. +18
    -0
      ports-legacy/tal-dub-3/meson.build
  30. +18
    -0
      ports-legacy/tal-filter-2/meson.build
  31. +23
    -0
      ports-legacy/tal-filter/meson.build
  32. +23
    -0
      ports-legacy/tal-noisemaker/meson.build
  33. +18
    -0
      ports-legacy/tal-reverb-2/meson.build
  34. +18
    -0
      ports-legacy/tal-reverb-3/meson.build
  35. +18
    -0
      ports-legacy/tal-reverb/meson.build
  36. +23
    -0
      ports-legacy/tal-vocoder-2/meson.build
  37. +27
    -0
      ports-legacy/temper/meson.build
  38. +20
    -0
      ports-legacy/vex/meson.build
  39. +40
    -0
      ports-legacy/wolpertinger/meson.build
  40. +0
    -1
      ports-legacy/wolpertinger/source/about.cpp
  41. +4
    -0
      scripts/plugin-symbols.version

+ 1
- 0
libs/drowaudio/meson.build View File

@@ -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,
) )


+ 1
- 0
libs/juce-legacy/meson.build View File

@@ -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,
) )


+ 1
- 0
libs/juced/meson.build View File

@@ -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,
) )


+ 85
- 16
meson.build View File

@@ -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')


############################################################################### ###############################################################################

+ 18
- 18
meson_options.txt View File

@@ -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',
) )

+ 17
- 0
ports-legacy/HiReSam/meson.build View File

@@ -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

###############################################################################

+ 30
- 0
ports-legacy/LUFSMeter-Multi/meson.build View File

@@ -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',
]

###############################################################################

+ 1
- 0
ports-legacy/LUFSMeter-Multi/source View File

@@ -0,0 +1 @@
../LUFSMeter/source/

+ 27
- 0
ports-legacy/LUFSMeter/meson.build View File

@@ -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'

###############################################################################

+ 23
- 0
ports-legacy/arctican-function/meson.build View File

@@ -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'

###############################################################################

+ 23
- 0
ports-legacy/arctican-pilgrim/meson.build View File

@@ -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'

###############################################################################

+ 35
- 0
ports-legacy/dexed/meson.build View File

@@ -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'

###############################################################################

+ 24
- 0
ports-legacy/drowaudio-distortion/meson.build View File

@@ -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',
])

###############################################################################

+ 25
- 0
ports-legacy/drowaudio-distortionshaper/meson.build View File

@@ -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',
])

###############################################################################

+ 24
- 0
ports-legacy/drowaudio-flanger/meson.build View File

@@ -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',
])

###############################################################################

+ 32
- 0
ports-legacy/drowaudio-reverb/meson.build View File

@@ -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',
])

###############################################################################

+ 25
- 0
ports-legacy/drowaudio-tremolo/meson.build View File

@@ -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',
])

###############################################################################

+ 20
- 0
ports-legacy/drumsynth/meson.build View File

@@ -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

###############################################################################

+ 23
- 0
ports-legacy/easySSP/meson.build View File

@@ -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',
])

###############################################################################

+ 20
- 0
ports-legacy/eqinox/meson.build View File

@@ -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

###############################################################################

+ 23
- 0
ports-legacy/juce-opl/meson.build View File

@@ -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'

###############################################################################

+ 34
- 0
ports-legacy/klangfalter/meson.build View File

@@ -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'

###############################################################################

+ 22
- 0
ports-legacy/luftikus/meson.build View File

@@ -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'

###############################################################################

+ 244
- 0
ports-legacy/meson.build View File

@@ -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

###############################################################################

+ 19
- 0
ports-legacy/obxd/meson.build View File

@@ -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'

###############################################################################

+ 18
- 0
ports-legacy/pitchedDelay/meson.build View File

@@ -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'

###############################################################################

+ 18
- 0
ports-legacy/refine/meson.build View File

@@ -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'

###############################################################################

+ 18
- 0
ports-legacy/stereosourceseparation/meson.build View File

@@ -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',
])

###############################################################################

+ 18
- 0
ports-legacy/tal-dub-3/meson.build View File

@@ -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'

###############################################################################

+ 18
- 0
ports-legacy/tal-filter-2/meson.build View File

@@ -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'

###############################################################################

+ 23
- 0
ports-legacy/tal-filter/meson.build View File

@@ -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',
])

###############################################################################

+ 23
- 0
ports-legacy/tal-noisemaker/meson.build View File

@@ -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',
])

###############################################################################

+ 18
- 0
ports-legacy/tal-reverb-2/meson.build View File

@@ -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'

###############################################################################

+ 18
- 0
ports-legacy/tal-reverb-3/meson.build View File

@@ -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'

###############################################################################

+ 18
- 0
ports-legacy/tal-reverb/meson.build View File

@@ -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'

###############################################################################

+ 23
- 0
ports-legacy/tal-vocoder-2/meson.build View File

@@ -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',
])

###############################################################################

+ 27
- 0
ports-legacy/temper/meson.build View File

@@ -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

###############################################################################

+ 20
- 0
ports-legacy/vex/meson.build View File

@@ -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'

###############################################################################

+ 40
- 0
ports-legacy/wolpertinger/meson.build View File

@@ -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

###############################################################################

+ 0
- 1
ports-legacy/wolpertinger/source/about.cpp View File

@@ -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]


+ 4
- 0
scripts/plugin-symbols.version View File

@@ -0,0 +1,4 @@
{
global: VSTPluginMain;
local: *;
};

Loading…
Cancel
Save