Fixes #71 Signed-off-by: falkTX <falktx@falktx.com>tags/2021-03-15
| @@ -10,7 +10,6 @@ | |||
| #define BUILD_JUCE_APPCONFIG_H_INCLUDED | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_formats 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_plugin_client 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_processors 1 | |||
| @@ -30,6 +29,11 @@ | |||
| #define JUCE_MODULE_AVAILABLE_juce_product_unlocking 0 | |||
| #define JUCE_MODULE_AVAILABLE_juce_video 0 | |||
| // optional | |||
| #ifndef JUCE_MODULE_AVAILABLE_juce_audio_devices | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_devices 0 | |||
| #endif | |||
| //============================================================================= | |||
| #define JUCE_STANDALONE_APPLICATION 0 | |||
| @@ -3,7 +3,6 @@ | |||
| if linux_embed | |||
| juce_current_srcs = [ | |||
| 'source/modules/juce_audio_basics/juce_audio_basics.cpp', | |||
| 'source/modules/juce_audio_devices/juce_audio_devices.cpp', | |||
| 'source/modules/juce_audio_formats/juce_audio_formats.cpp', | |||
| 'source/modules/juce_audio_processors/juce_audio_processors.cpp', | |||
| 'source/modules/juce_audio_utils/juce_audio_utils.cpp', | |||
| @@ -16,7 +15,6 @@ if linux_embed | |||
| else | |||
| juce_current_srcs = [ | |||
| 'source/modules/juce_audio_basics/juce_audio_basics.cpp', | |||
| 'source/modules/juce_audio_devices/juce_audio_devices.cpp', | |||
| 'source/modules/juce_audio_formats/juce_audio_formats.cpp', | |||
| 'source/modules/juce_audio_processors/juce_audio_processors.cpp', | |||
| 'source/modules/juce_audio_utils/juce_audio_utils.cpp', | |||
| @@ -32,6 +30,10 @@ else | |||
| ] | |||
| endif | |||
| juce_current_devices_srcs = [ | |||
| 'source/modules/juce_audio_devices/juce_audio_devices.cpp', | |||
| ] | |||
| juce_current_extra_cpp_args = [ | |||
| '-std=gnu++14', | |||
| '-Wno-non-virtual-dtor', | |||
| @@ -64,4 +66,17 @@ lib_juce_current = static_library('juce-current', | |||
| install: false, | |||
| ) | |||
| lib_juce_current_device = static_library('juce-current-devices', | |||
| sources: juce_current_devices_srcs, | |||
| include_directories: [ | |||
| include_directories('.'), | |||
| include_directories('source'), | |||
| include_directories('source/modules'), | |||
| ], | |||
| cpp_args: build_flags_cpp + juce_current_extra_cpp_args + ['-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1'], | |||
| dependencies: dependencies_devices, | |||
| pic: true, | |||
| install: false, | |||
| ) | |||
| ############################################################################### | |||
| @@ -10,7 +10,6 @@ | |||
| #define BUILD_JUCE_APPCONFIG_H_INCLUDED | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_basics 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_devices 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_formats 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_plugin_client 1 | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_processors 1 | |||
| @@ -30,6 +29,11 @@ | |||
| #define JUCE_MODULE_AVAILABLE_juce_product_unlocking 0 | |||
| #define JUCE_MODULE_AVAILABLE_juce_video 0 | |||
| // optional | |||
| #ifndef JUCE_MODULE_AVAILABLE_juce_audio_devices | |||
| #define JUCE_MODULE_AVAILABLE_juce_audio_devices 0 | |||
| #endif | |||
| //============================================================================= | |||
| #define JUCE_STANDALONE_APPLICATION 0 | |||
| @@ -3,7 +3,6 @@ | |||
| if linux_embed | |||
| juce_legacy_srcs = [ | |||
| 'source/modules/juce_audio_basics/juce_audio_basics.cpp', | |||
| 'source/modules/juce_audio_devices/juce_audio_devices.cpp', | |||
| 'source/modules/juce_audio_formats/juce_audio_formats.cpp', | |||
| 'source/modules/juce_audio_processors/juce_audio_processors.cpp', | |||
| 'source/modules/juce_audio_utils/juce_audio_utils.cpp', | |||
| @@ -16,7 +15,6 @@ if linux_embed | |||
| else | |||
| juce_legacy_srcs = [ | |||
| 'source/modules/juce_audio_basics/juce_audio_basics.cpp', | |||
| 'source/modules/juce_audio_devices/juce_audio_devices.cpp', | |||
| 'source/modules/juce_audio_formats/juce_audio_formats.cpp', | |||
| 'source/modules/juce_audio_processors/juce_audio_processors.cpp', | |||
| 'source/modules/juce_audio_utils/juce_audio_utils.cpp', | |||
| @@ -32,6 +30,10 @@ else | |||
| ] | |||
| endif | |||
| juce_legacy_devices_srcs = [ | |||
| 'source/modules/juce_audio_devices/juce_audio_devices.cpp', | |||
| ] | |||
| juce_legacy_extra_cpp_args = [ | |||
| '-Wno-non-virtual-dtor', | |||
| ] | |||
| @@ -56,4 +58,17 @@ lib_juce_legacy = static_library('juce-legacy', | |||
| install: false, | |||
| ) | |||
| lib_juce_legacy_devices = static_library('juce-legacy-devices', | |||
| sources: juce_legacy_devices_srcs, | |||
| include_directories: [ | |||
| include_directories('.'), | |||
| include_directories('source'), | |||
| include_directories('source' / 'modules'), | |||
| ], | |||
| cpp_args: build_flags_cpp + juce_legacy_extra_cpp_args + ['-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1'], | |||
| dependencies: dependencies_devices, | |||
| pic: true, | |||
| install: false, | |||
| ) | |||
| ############################################################################### | |||
| @@ -74,22 +74,42 @@ cpp = meson.get_compiler('cpp') | |||
| ############################################################################### | |||
| # dependencies | |||
| dependencies = [ | |||
| ] | |||
| if os_linux | |||
| dependencies += [ | |||
| dependencies = [ | |||
| cc.find_library('dl'), | |||
| cc.find_library('rt'), | |||
| dependency('fftw3f').partial_dependency(link_args: false, links: false), | |||
| ] | |||
| endif | |||
| if os_linux and not linux_embed | |||
| dependencies += [ | |||
| dependencies_devices = [ | |||
| dependency('alsa'), | |||
| dependency('freetype2'), | |||
| dependency('x11'), | |||
| dependency('xext'), | |||
| ] | |||
| if not linux_embed | |||
| dependencies += [ | |||
| dependency('freetype2'), | |||
| dependency('x11').partial_dependency(link_args: false, links: false), | |||
| dependency('xext').partial_dependency(link_args: false, links: false), | |||
| ] | |||
| endif | |||
| elif os_windows | |||
| dependencies = [ | |||
| 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('wininet'), | |||
| cc.find_library('ws2_32'), | |||
| ] | |||
| dependencies_devices = [ | |||
| cc.find_library('winmm'), | |||
| ] | |||
| else | |||
| dependencies = [ | |||
| ] | |||
| dependencies_devices = [ | |||
| ] | |||
| endif | |||
| @@ -236,17 +256,19 @@ subdir('ports-legacy') | |||
| ############################################################################### | |||
| # extra files to install | |||
| extra_lv2_preset_bundles = [ | |||
| 'TAL-NoiseMaker-Noise4U.lv2', | |||
| ] | |||
| if 'tal-noisemaker' in get_option('plugins') | |||
| extra_lv2_preset_bundles = [ | |||
| 'TAL-NoiseMaker-Noise4U.lv2', | |||
| ] | |||
| foreach bundle : extra_lv2_preset_bundles | |||
| install_data([ | |||
| 'static-lv2-ttl/@0@/manifest.ttl'.format(bundle), | |||
| 'static-lv2-ttl/@0@/presets.ttl'.format(bundle), | |||
| ], | |||
| install_dir: lv2dir / bundle, | |||
| ) | |||
| endforeach | |||
| foreach bundle : extra_lv2_preset_bundles | |||
| install_data([ | |||
| 'static-lv2-ttl/@0@/manifest.ttl'.format(bundle), | |||
| 'static-lv2-ttl/@0@/presets.ttl'.format(bundle), | |||
| ], | |||
| install_dir: lv2dir / bundle, | |||
| ) | |||
| endforeach | |||
| endif | |||
| ############################################################################### | |||
| @@ -30,5 +30,9 @@ plugin_srcs = files([ | |||
| ]) | |||
| plugin_name = 'Dexed' | |||
| plugin_uses_devices = true | |||
| plugin_extra_build_flags = [ | |||
| '-DJUCE_MODULE_AVAILABLE_juce_audio_devices=1' | |||
| ] | |||
| ############################################################################### | |||
| @@ -72,22 +72,13 @@ plugin_include_dirs = [ | |||
| ############################################################################### | |||
| # 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'), | |||
| if os_linux and not linux_embed | |||
| dependencies_plugin = [ | |||
| dependency('x11'), | |||
| dependency('xext'), | |||
| ] | |||
| else | |||
| dependencies_plugin = [ | |||
| ] | |||
| endif | |||
| @@ -197,6 +188,7 @@ if build_lv2 or build_vst2 | |||
| if plugin in get_option('plugins') | |||
| plugin_uses_drowaudio = false | |||
| plugin_uses_juced = false | |||
| plugin_uses_devices = false | |||
| plugin_uses_opengl = false | |||
| plugin_extra_dependencies = [] | |||
| plugin_extra_include_dirs = [] | |||
| @@ -223,6 +215,15 @@ if build_lv2 or build_vst2 | |||
| link_with_plugin += lib_juced | |||
| endif | |||
| if plugin_uses_devices | |||
| link_with_plugin += lib_juce_legacy_devices | |||
| if os_linux | |||
| plugin_extra_dependencies += [ | |||
| dependency('alsa'), | |||
| ] | |||
| endif | |||
| endif | |||
| if plugin_uses_opengl or buildtype == 'debug' | |||
| if os_darwin | |||
| plugin_extra_link_flags += [ | |||
| @@ -19,28 +19,6 @@ plugin_include_dirs = [ | |||
| include_directories('../libs/juce-plugin'), | |||
| ] | |||
| ############################################################################### | |||
| # 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 | |||
| @@ -167,6 +145,7 @@ endif | |||
| foreach plugin : plugins | |||
| if plugin in get_option('plugins') and not build_legacy_only | |||
| plugin_uses_devices = false | |||
| plugin_uses_opengl = false | |||
| plugin_extra_dependencies = [] | |||
| plugin_extra_include_dirs = [] | |||
| @@ -181,6 +160,15 @@ foreach plugin : plugins | |||
| '../libs/juce-plugin/JucePluginUtils.cpp', | |||
| ]) | |||
| if plugin_uses_devices | |||
| link_with_plugin += lib_juce_current_devices | |||
| if os_linux | |||
| plugin_extra_dependencies += [ | |||
| dependency('alsa') | |||
| ] | |||
| endif | |||
| endif | |||
| if plugin_uses_opengl | |||
| if os_darwin | |||
| plugin_extra_link_flags += [ | |||
| @@ -207,7 +195,7 @@ foreach plugin : plugins | |||
| ], | |||
| c_args: build_flags + build_flags_plugin + plugin_extra_build_flags, | |||
| cpp_args: build_flags_cpp + build_flags_plugin + build_flag_plugin_cpp + plugin_extra_build_flags, | |||
| dependencies: dependencies_plugin + plugin_extra_dependencies, | |||
| dependencies: plugin_extra_dependencies, | |||
| pic: true, | |||
| install: false, | |||
| ) | |||