Add a single CardinalNative standalone variant
Based on FX but forces usage of native audio/midi instead of JACK Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
39f240f705
commit
4ead1d80bd
14 changed files with 95 additions and 18 deletions
2
dpf
2
dpf
|
@ -1 +1 @@
|
|||
Subproject commit d41b971d77dceadcb76a7736908d0b6a36ff1469
|
||||
Subproject commit f412918c5f4022f074663abf86877a67f9d9a421
|
|
@ -28,13 +28,7 @@
|
|||
#define DISTRHO_PLUGIN_BRAND "DISTRHO"
|
||||
#define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/cardinal#fx"
|
||||
|
||||
#if defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD)
|
||||
# define DISTRHO_PLUGIN_NAME "Mini Cardinal"
|
||||
# define DISTRHO_PLUGIN_LABEL "MiniCardinal"
|
||||
#elif defined(DISTRHO_OS_WASM)
|
||||
# define DISTRHO_PLUGIN_NAME "Cardinal"
|
||||
# define DISTRHO_PLUGIN_LABEL "Cardinal"
|
||||
#elif defined(__MOD_DEVICES__)
|
||||
#if defined(__MOD_DEVICES__)
|
||||
# define DISTRHO_PLUGIN_NAME "Cardinal Mini"
|
||||
# define DISTRHO_PLUGIN_LABEL "CardinalMini"
|
||||
#else
|
||||
|
|
1
src/CardinalNative/CardinalCommon.cpp
Symbolic link
1
src/CardinalNative/CardinalCommon.cpp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../CardinalCommon.cpp
|
1
src/CardinalNative/CardinalPlugin.cpp
Symbolic link
1
src/CardinalNative/CardinalPlugin.cpp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../CardinalPlugin.cpp
|
1
src/CardinalNative/CardinalUI.cpp
Symbolic link
1
src/CardinalNative/CardinalUI.cpp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../CardinalUI.cpp
|
59
src/CardinalNative/DistrhoPluginInfo.h
Normal file
59
src/CardinalNative/DistrhoPluginInfo.h
Normal file
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* DISTRHO Cardinal Plugin
|
||||
* Copyright (C) 2021-2022 Filipe Coelho <falktx@falktx.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 3 of
|
||||
* the License, or any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* For a full copy of the GNU General Public License see the LICENSE file.
|
||||
*/
|
||||
|
||||
#ifndef DISTRHO_PLUGIN_INFO_H_INCLUDED
|
||||
#define DISTRHO_PLUGIN_INFO_H_INCLUDED
|
||||
|
||||
#define CARDINAL_VARIANT_MAIN 0
|
||||
#define CARDINAL_VARIANT_FX 1
|
||||
#define CARDINAL_VARIANT_SYNTH 0
|
||||
|
||||
#define CARDINAL_NUM_AUDIO_INPUTS 2
|
||||
#define CARDINAL_NUM_AUDIO_OUTPUTS 2
|
||||
|
||||
#define DISTRHO_PLUGIN_BRAND "DISTRHO"
|
||||
#define DISTRHO_PLUGIN_URI "https://distrho.kx.studio/plugins/cardinal"
|
||||
|
||||
#if defined(DISTRHO_OS_WASM) && defined(STATIC_BUILD)
|
||||
# define DISTRHO_PLUGIN_NAME "Mini Cardinal"
|
||||
# define DISTRHO_PLUGIN_LABEL "MiniCardinal"
|
||||
#else
|
||||
# define DISTRHO_PLUGIN_NAME "Cardinal"
|
||||
# define DISTRHO_PLUGIN_LABEL "Cardinal"
|
||||
#endif
|
||||
|
||||
#ifdef HEADLESS
|
||||
#define DISTRHO_PLUGIN_HAS_UI 0
|
||||
#else
|
||||
#define DISTRHO_PLUGIN_HAS_UI 1
|
||||
#define DISTRHO_PLUGIN_WANT_DIRECT_ACCESS 1
|
||||
#define DISTRHO_UI_FILE_BROWSER 1
|
||||
#define DISTRHO_UI_USE_NANOVG 1
|
||||
#define DISTRHO_UI_USER_RESIZABLE 1
|
||||
#endif
|
||||
#define DISTRHO_PLUGIN_IS_SYNTH 0
|
||||
#define DISTRHO_PLUGIN_NUM_INPUTS CARDINAL_NUM_AUDIO_INPUTS
|
||||
#define DISTRHO_PLUGIN_NUM_OUTPUTS CARDINAL_NUM_AUDIO_OUTPUTS
|
||||
#define DISTRHO_PLUGIN_WANT_MIDI_INPUT 1
|
||||
#define DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 1
|
||||
#define DISTRHO_PLUGIN_WANT_FULL_STATE 1
|
||||
#define DISTRHO_PLUGIN_WANT_STATE 1
|
||||
#define DISTRHO_PLUGIN_WANT_TIMEPOS 1
|
||||
#define DISTRHO_PLUGIN_LV2_CATEGORY "lv2:UtilityPlugin"
|
||||
#define DISTRHO_PLUGIN_VST3_CATEGORIES "Fx|Generator"
|
||||
|
||||
#endif // DISTRHO_PLUGIN_INFO_H_INCLUDED
|
8
src/CardinalNative/Makefile
Normal file
8
src/CardinalNative/Makefile
Normal file
|
@ -0,0 +1,8 @@
|
|||
#!/usr/bin/make -f
|
||||
# Makefile for DISTRHO Plugins #
|
||||
# ---------------------------- #
|
||||
# Created by falkTX
|
||||
#
|
||||
|
||||
NAME = CardinalNative
|
||||
include ../Makefile.cardinal.mk
|
1
src/CardinalNative/RemoteNanoVG.cpp
Symbolic link
1
src/CardinalNative/RemoteNanoVG.cpp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../custom/RemoteNanoVG.cpp
|
1
src/CardinalNative/RemoteWindow.cpp
Symbolic link
1
src/CardinalNative/RemoteWindow.cpp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../custom/RemoteWindow.cpp
|
1
src/CardinalNative/Window.cpp
Symbolic link
1
src/CardinalNative/Window.cpp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../override/Window.cpp
|
1
src/CardinalNative/common.cpp
Symbolic link
1
src/CardinalNative/common.cpp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../override/common.cpp
|
1
src/CardinalNative/glfw.cpp
Symbolic link
1
src/CardinalNative/glfw.cpp
Symbolic link
|
@ -0,0 +1 @@
|
|||
../custom/glfw.cpp
|
|
@ -206,9 +206,10 @@ ifeq ($(MOD_BUILD),true)
|
|||
$(MAKE) -C Cardinal lv2
|
||||
$(MAKE) -C CardinalFX lv2
|
||||
else ifeq ($(WASM),true)
|
||||
$(MAKE) -C CardinalFX jack
|
||||
$(MAKE) -C CardinalNative
|
||||
else
|
||||
$(MAKE) -C Cardinal
|
||||
$(MAKE) -C CardinalNative
|
||||
$(MAKE) -C CardinalFX $(CARDINAL_FX_ARGS)
|
||||
$(MAKE) -C CardinalSynth $(CARDINAL_SYNTH_ARGS)
|
||||
endif
|
||||
|
@ -216,6 +217,9 @@ endif
|
|||
jack: $(TARGET)
|
||||
$(MAKE) jack -C Cardinal
|
||||
|
||||
native: $(TARGET)
|
||||
$(MAKE) jack -C CardinalNative
|
||||
|
||||
lv2: $(TARGET)
|
||||
$(MAKE) lv2 -C Cardinal
|
||||
$(MAKE) lv2 -C CardinalFX $(CARDINAL_FX_ARGS)
|
||||
|
|
|
@ -10,6 +10,8 @@ ifeq ($(NAME),Cardinal)
|
|||
CARDINAL_VARIANT = main
|
||||
else ifeq ($(NAME),CardinalFX)
|
||||
CARDINAL_VARIANT = fx
|
||||
else ifeq ($(NAME),CardinalNative)
|
||||
CARDINAL_VARIANT = native
|
||||
else ifeq ($(NAME),CardinalSynth)
|
||||
CARDINAL_VARIANT = synth
|
||||
endif
|
||||
|
@ -55,6 +57,15 @@ NVG_DISABLE_SKIPPING_WHITESPACE = true
|
|||
NVG_FONT_TEXTURE_FLAGS = NVG_IMAGE_NEAREST
|
||||
USE_NANOVG_FBO = true
|
||||
WASM_EXCEPTIONS = true
|
||||
|
||||
ifeq ($(CARDINAL_VARIANT),main)
|
||||
# main variant should not use rtaudio/sdl2 fallback (it has CV ports)
|
||||
SKIP_NATIVE_AUDIO_FALLBACK = true
|
||||
else
|
||||
# fx and synth variants should only use rtaudio/sdl2 fallbacks
|
||||
FORCE_NATIVE_AUDIO_FALLBACK = true
|
||||
endif
|
||||
|
||||
include ../../dpf/Makefile.base.mk
|
||||
|
||||
# --------------------------------------------------------------
|
||||
|
@ -300,11 +311,9 @@ BUILD_CXX_FLAGS += -DCARDINAL_PLUGIN_PREFIX='"$(PREFIX)"'
|
|||
# Enable all possible plugin types and setup resources
|
||||
|
||||
ifeq ($(CARDINAL_VARIANT),main)
|
||||
ifneq ($(STATIC_BUILD),true)
|
||||
all: jack lv2 vst3
|
||||
else
|
||||
all: lv2 vst3
|
||||
endif # STATIC_BUILD
|
||||
else ifeq ($(CARDINAL_VARIANT),native)
|
||||
all: jack
|
||||
else
|
||||
all: lv2 vst2 vst3 static
|
||||
endif
|
||||
|
@ -323,11 +332,6 @@ LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui/documentation.pdf
|
|||
LV2_RESOURCES += $(TARGET_DIR)/$(NAME).lv2/modgui
|
||||
endif
|
||||
|
||||
# Cardinal main variant should not use rtaudio/sdl2 fallback (it has CV ports)
|
||||
ifeq ($(CARDINAL_VARIANT),main)
|
||||
jack: BUILD_CXX_FLAGS += -DDPF_JACK_STANDALONE_SKIP_RTAUDIO_FALLBACK -DDPF_JACK_STANDALONE_SKIP_SDL2_FALLBACK
|
||||
endif
|
||||
|
||||
# Cardinal main variant is not available as VST2 due to lack of CV ports
|
||||
ifneq ($(CARDINAL_VARIANT),main)
|
||||
ifeq ($(MACOS),true)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue