Browse Source

Start moving some plugins to external dir

tags/1.9.8
falkTX 7 years ago
parent
commit
2f721f3b4d
11 changed files with 1042 additions and 886 deletions
  1. +16
    -31
      Makefile
  2. +1
    -1
      README.md
  3. +11
    -68
      source/Makefile.mk
  4. +0
    -1
      source/modules/Makefile.mk
  5. +19
    -289
      source/native-plugins/Makefile
  6. +10
    -54
      source/native-plugins/_all.c
  7. +12
    -442
      source/native-plugins/_data.cpp
  8. +202
    -0
      source/native-plugins/external/Makefile
  9. +223
    -0
      source/native-plugins/external/Makefile.mk
  10. +78
    -0
      source/native-plugins/external/_all.c
  11. +470
    -0
      source/native-plugins/external/_data.cpp

+ 16
- 31
Makefile View File

@@ -4,6 +4,7 @@
# Created by falkTX # Created by falkTX
# #


CWD=source
include source/Makefile.mk include source/Makefile.mk


# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------
@@ -50,7 +51,7 @@ BIN: backend discovery bridges-plugin bridges-ui interposer libjack plugin theme


# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------


ALL_LIBS = $(MODULEDIR)/carla_engine.a
ALL_LIBS += $(MODULEDIR)/carla_engine.a
ALL_LIBS += $(MODULEDIR)/carla_engine_plugin.a ALL_LIBS += $(MODULEDIR)/carla_engine_plugin.a
ALL_LIBS += $(MODULEDIR)/carla_plugin.a ALL_LIBS += $(MODULEDIR)/carla_plugin.a
ALL_LIBS += $(MODULEDIR)/jackbridge.a ALL_LIBS += $(MODULEDIR)/jackbridge.a
@@ -59,10 +60,6 @@ ALL_LIBS += $(MODULEDIR)/lilv.a
ALL_LIBS += $(MODULEDIR)/rtmempool.a ALL_LIBS += $(MODULEDIR)/rtmempool.a
ALL_LIBS += $(MODULEDIR)/water.a ALL_LIBS += $(MODULEDIR)/water.a


ifeq ($(HAVE_DGL),true)
ALL_LIBS += $(MODULEDIR)/dgl.a
endif

ifeq ($(HAVE_HYLIA),true) ifeq ($(HAVE_HYLIA),true)
ALL_LIBS += $(MODULEDIR)/hylia.a ALL_LIBS += $(MODULEDIR)/hylia.a
endif endif
@@ -782,7 +779,7 @@ else
FEV="Qt5" FEV="Qt5"
endif endif


features:
features_print:
@echo "$(tS)---> Main features $(tE)" @echo "$(tS)---> Main features $(tE)"
ifeq ($(HAVE_PYQT),true) ifeq ($(HAVE_PYQT),true)
@echo "Front-End: $(ANS_YES)(Using $(FEV))" @echo "Front-End: $(ANS_YES)(Using $(FEV))"
@@ -944,38 +941,26 @@ endif
@echo "" @echo ""


@echo "$(tS)---> Internal plugins: $(tE)" @echo "$(tS)---> Internal plugins: $(tE)"
@echo "Basic Plugins: $(ANS_YES)"
ifneq ($(WIN32),true) ifneq ($(WIN32),true)
@echo "Carla-Patchbay: $(ANS_YES)"
@echo "Carla-Rack: $(ANS_YES)"
else
@echo "Carla-Patchbay: $(ANS_NO) $(mS)Not available for Windows$(mE)"
@echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)"
endif
ifeq ($(HAVE_DGL),true)
@echo "DISTRHO Plugins:$(ANS_YES)(with UI)"
ifeq ($(HAVE_PROJECTM),true)
@echo "DISTRHO ProM: $(ANS_YES)"
@echo "Carla-Patchbay: $(ANS_YES)"
@echo "Carla-Rack: $(ANS_YES)"
else else
@echo "DISTRHO ProM: $(ANS_NO) (missing libprojectM)"
@echo "Carla-Patchbay: $(ANS_NO) $(mS)Not available for Windows$(mE)"
@echo "Carla-Rack: $(ANS_NO) $(mS)Not available for Windows$(mE)"
endif endif
ifeq ($(EXTERNAL_PLUGINS),true)
@echo "External Plugins:$(ANS_YES)"
else else
@echo "DISTRHO Plugins:$(ANS_YES)(without UI)"
@echo "DISTRHO ProM: $(ANS_NO) (missing OpenGL)"
@echo "External Plugins:$(ANS_NO)"
endif endif
ifeq ($(HAVE_ZYN_DEPS),true)
ifeq ($(HAVE_ZYN_UI_DEPS),true)
ifeq ($(HAVE_NTK),true)
@echo "ZynAddSubFX: $(ANS_YES)(with NTK UI)"
else
@echo "ZynAddSubFX: $(ANS_YES)(with FLTK UI)"
endif
else
@echo "ZynAddSubFX: $(ANS_YES)(without UI) $(mS)FLTK or NTK missing$(mE)"
endif
else
@echo "ZynAddSubFX: $(ANS_NO) $(mS)fftw3, mxml or zlib missing$(mE)"

ifneq ($(EXTERNAL_PLUGINS),true)
features_print_external_plugins:
endif endif


features: features_print features_print_external_plugins

# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------


.FORCE: .FORCE:


+ 1
- 1
README.md View File

@@ -10,7 +10,7 @@ It's open source and licensed under the GNU General Public License, version 2 or
Features Features
--------- ---------


* LADSPA, DSSI, LV2, VST2, VST3 and AU plugin formats
* LADSPA, DSSI, LV2 and VST plugin formats
* GIG, SF2 and SFZ sound banks * GIG, SF2 and SFZ sound banks
* Internal audio and midi file player * Internal audio and midi file player
* Automation of plugin parameters via MIDI CC * Automation of plugin parameters via MIDI CC


+ 11
- 68
source/Makefile.mk View File

@@ -7,6 +7,9 @@
# -------------------------------------------------------------- # --------------------------------------------------------------
# Modify to enable/disable specific features # Modify to enable/disable specific features


# Build external plugins
EXTERNAL_PLUGINS = true

# Enable experimental plugins, don't complain if the build fails when using this! # Enable experimental plugins, don't complain if the build fails when using this!
EXPERIMENTAL_PLUGINS = false EXPERIMENTAL_PLUGINS = false


@@ -136,7 +139,6 @@ CFLAGS += -Wnested-externs -Wmissing-prototypes -Wstrict-prototypes -Wwrite-
CXXFLAGS += -Wc++0x-compat -Wc++11-compat -Weffc++ -Wnon-virtual-dtor -Woverloaded-virtual -Wzero-as-null-pointer-constant CXXFLAGS += -Wc++0x-compat -Wc++11-compat -Weffc++ -Wnon-virtual-dtor -Woverloaded-virtual -Wzero-as-null-pointer-constant
ifeq ($(LINUX),true) ifeq ($(LINUX),true)
BASE_FLAGS += -isystem /opt/kxstudio/include BASE_FLAGS += -isystem /opt/kxstudio/include
CXXFLAGS += -isystem /opt/kxstudio/include/ntk
CXXFLAGS += -isystem /usr/include/glib-2.0 CXXFLAGS += -isystem /usr/include/glib-2.0
CXXFLAGS += -isystem /usr/include/glib-2.0/glib CXXFLAGS += -isystem /usr/include/glib-2.0/glib
CXXFLAGS += -isystem /usr/include/gtk-2.0 CXXFLAGS += -isystem /usr/include/gtk-2.0
@@ -163,10 +165,7 @@ endif
# -------------------------------------------------------------- # --------------------------------------------------------------
# Check for optional libs (required by backend or bridges) # Check for optional libs (required by backend or bridges)


ifeq ($(MACOS_OR_WIN32),true)
HAVE_DGL = true
else
HAVE_DGL = $(shell pkg-config --exists gl x11 && echo true)
ifneq ($(MACOS_OR_WIN32),true)
HAVE_GTK2 = $(shell pkg-config --exists gtk+-2.0 && echo true) HAVE_GTK2 = $(shell pkg-config --exists gtk+-2.0 && echo true)
HAVE_GTK3 = $(shell pkg-config --exists gtk+-3.0 && echo true) HAVE_GTK3 = $(shell pkg-config --exists gtk+-3.0 && echo true)
HAVE_PULSEAUDIO = $(shell pkg-config --exists libpulse-simple && echo true) HAVE_PULSEAUDIO = $(shell pkg-config --exists libpulse-simple && echo true)
@@ -187,8 +186,6 @@ endif
HAVE_FLUIDSYNTH = $(shell pkg-config --exists fluidsynth && echo true) HAVE_FLUIDSYNTH = $(shell pkg-config --exists fluidsynth && echo true)
HAVE_LIBLO = $(shell pkg-config --exists liblo && echo true) HAVE_LIBLO = $(shell pkg-config --exists liblo && echo true)
HAVE_LINUXSAMPLER = $(shell pkg-config --atleast-version=1.0.0.svn41 linuxsampler && echo true) HAVE_LINUXSAMPLER = $(shell pkg-config --atleast-version=1.0.0.svn41 linuxsampler && echo true)
HAVE_NTK = $(shell pkg-config --exists ntk ntk_images && echo true)
HAVE_PROJECTM = $(shell pkg-config --exists libprojectM && echo true)


# -------------------------------------------------------------- # --------------------------------------------------------------
# Check for optional libs (special non-pkgconfig unix tests) # Check for optional libs (special non-pkgconfig unix tests)
@@ -198,16 +195,6 @@ ifeq ($(UNIX),true)
# libmagic doesn't have a pkg-config file, so we need to call the compiler to test it # libmagic doesn't have a pkg-config file, so we need to call the compiler to test it
HAVE_LIBMAGIC = $(shell echo '\#include <magic.h>' | $(CC) $(CFLAGS) -x c -w -c - -o .libmagic-tmp 2>/dev/null && echo true) HAVE_LIBMAGIC = $(shell echo '\#include <magic.h>' | $(CC) $(CFLAGS) -x c -w -c - -o .libmagic-tmp 2>/dev/null && echo true)


# fltk doesn't have a pkg-config file but has fltk-config instead.
# Also, don't try looking for it if we already have NTK.
ifneq ($(HAVE_NTK),true)
ifeq ($(shell which fltk-config 1>/dev/null 2>/dev/null && echo true),true)
ifeq ($(shell which fluid 1>/dev/null 2>/dev/null && echo true),true)
HAVE_FLTK = true
endif
endif
endif

endif endif


# -------------------------------------------------------------- # --------------------------------------------------------------
@@ -290,10 +277,6 @@ ifeq ($(HAVE_PYQT),true)
BASE_FLAGS += -DHAVE_PYQT BASE_FLAGS += -DHAVE_PYQT
endif endif


ifeq ($(HAVE_DGL),true)
BASE_FLAGS += -DHAVE_DGL
endif

ifeq ($(HAVE_FLUIDSYNTH),true) ifeq ($(HAVE_FLUIDSYNTH),true)
BASE_FLAGS += -DHAVE_FLUIDSYNTH BASE_FLAGS += -DHAVE_FLUIDSYNTH
endif endif
@@ -314,10 +297,6 @@ ifeq ($(HAVE_LINUXSAMPLER),true)
BASE_FLAGS += -DHAVE_LINUXSAMPLER BASE_FLAGS += -DHAVE_LINUXSAMPLER
endif endif


ifeq ($(HAVE_PROJECTM),true)
BASE_FLAGS += -DHAVE_PROJECTM
endif

ifeq ($(HAVE_X11),true) ifeq ($(HAVE_X11),true)
BASE_FLAGS += -DHAVE_X11 BASE_FLAGS += -DHAVE_X11
endif endif
@@ -346,11 +325,6 @@ LINUXSAMPLER_LIBS += -lws2_32
endif endif
endif endif


ifeq ($(HAVE_PROJECTM),true)
PROJECTM_FLAGS = $(shell pkg-config --cflags libprojectM)
PROJECTM_LIBS = $(shell pkg-config --libs libprojectM)
endif

ifeq ($(HAVE_X11),true) ifeq ($(HAVE_X11),true)
X11_FLAGS = $(shell pkg-config --cflags x11) X11_FLAGS = $(shell pkg-config --cflags x11)
X11_LIBS = $(shell pkg-config --libs x11) X11_LIBS = $(shell pkg-config --libs x11)
@@ -384,10 +358,6 @@ HYLIA_FLAGS = -DLINK_PLATFORM_LINUX=1
JACKBRIDGE_LIBS = -ldl -lpthread -lrt JACKBRIDGE_LIBS = -ldl -lpthread -lrt
LILV_LIBS = -ldl -lm -lrt LILV_LIBS = -ldl -lm -lrt
WATER_LIBS = -ldl -lpthread -lrt WATER_LIBS = -ldl -lpthread -lrt
ifeq ($(HAVE_DGL),true)
DGL_FLAGS = $(shell pkg-config --cflags gl x11)
DGL_LIBS = $(shell pkg-config --libs gl x11)
endif
ifeq ($(HAVE_ALSA),true) ifeq ($(HAVE_ALSA),true)
RTAUDIO_FLAGS += $(shell pkg-config --cflags alsa) -D__LINUX_ALSA__ RTAUDIO_FLAGS += $(shell pkg-config --cflags alsa) -D__LINUX_ALSA__
RTAUDIO_LIBS += $(shell pkg-config --libs alsa) -lpthread RTAUDIO_LIBS += $(shell pkg-config --libs alsa) -lpthread
@@ -401,7 +371,6 @@ endif
endif endif


ifeq ($(MACOS),true) ifeq ($(MACOS),true)
DGL_LIBS = -framework OpenGL -framework Cocoa
HYLIA_FLAGS = -DLINK_PLATFORM_MACOSX=1 HYLIA_FLAGS = -DLINK_PLATFORM_MACOSX=1
JACKBRIDGE_LIBS = -ldl -lpthread JACKBRIDGE_LIBS = -ldl -lpthread
LILV_LIBS = -ldl -lm LILV_LIBS = -ldl -lm
@@ -411,7 +380,6 @@ WATER_LIBS = -framework AppKit
endif endif


ifeq ($(WIN32),true) ifeq ($(WIN32),true)
DGL_LIBS = -lopengl32 -lgdi32
HYLIA_FLAGS = -DLINK_PLATFORM_WINDOWS=1 HYLIA_FLAGS = -DLINK_PLATFORM_WINDOWS=1
JACKBRIDGE_LIBS = -lpthread JACKBRIDGE_LIBS = -lpthread
LILV_LIBS = -lm LILV_LIBS = -lm
@@ -421,38 +389,6 @@ RTMIDI_FLAGS += -D__WINDOWS_MM__
WATER_LIBS = -luuid -lwsock32 -lwininet -lversion -lole32 -lws2_32 -loleaut32 -limm32 -lcomdlg32 -lshlwapi -lrpcrt4 -lwinmm WATER_LIBS = -luuid -lwsock32 -lwininet -lversion -lole32 -lws2_32 -loleaut32 -limm32 -lcomdlg32 -lshlwapi -lrpcrt4 -lwinmm
endif endif


# --------------------------------------------------------------
# Set libs stuff (part 3)

HAVE_ZYN_DEPS = $(shell pkg-config --exists liblo fftw3 mxml zlib && echo true)
ifeq ($(HAVE_FLTK),true)
HAVE_ZYN_UI_DEPS = true
endif
ifeq ($(HAVE_NTK),true)
HAVE_ZYN_UI_DEPS = true
endif

ifeq ($(HAVE_DGL),true)
NATIVE_PLUGINS_LIBS += $(DGL_LIBS)
ifeq ($(HAVE_PROJECTM),true)
NATIVE_PLUGINS_LIBS += $(PROJECTM_LIBS)
endif
endif

ifeq ($(EXPERIMENTAL_PLUGINS),true)
BASE_FLAGS += -DHAVE_EXPERIMENTAL_PLUGINS
NATIVE_PLUGINS_LIBS += -lclthreads -lzita-convolver -lzita-resampler
NATIVE_PLUGINS_LIBS += $(shell pkg-config --libs fftw3f)
endif

ifeq ($(HAVE_ZYN_DEPS),true)
BASE_FLAGS += -DHAVE_ZYN_DEPS
NATIVE_PLUGINS_LIBS += $(shell pkg-config --libs liblo fftw3 mxml zlib)
ifeq ($(HAVE_ZYN_UI_DEPS),true)
BASE_FLAGS += -DHAVE_ZYN_UI_DEPS
endif
endif

# -------------------------------------------------------------- # --------------------------------------------------------------
# Set app extension # Set app extension


@@ -493,3 +429,10 @@ SHARED = -shared
endif endif


# -------------------------------------------------------------- # --------------------------------------------------------------

ifeq ($(EXTERNAL_PLUGINS),true)
BASE_FLAGS += -DHAVE_EXTERNAL_PLUGINS
include $(CWD)/native-plugins/external/Makefile.mk
endif

# --------------------------------------------------------------

+ 0
- 1
source/modules/Makefile.mk View File

@@ -29,6 +29,5 @@ endif


BUILD_C_FLAGS += -I. -I$(CWD)/includes BUILD_C_FLAGS += -I. -I$(CWD)/includes
BUILD_CXX_FLAGS += -I. -I$(CWD)/includes -I$(CWD)/utils BUILD_CXX_FLAGS += -I. -I$(CWD)/includes -I$(CWD)/utils
BUILD_CXX_FLAGS += -DJUCE_APP_CONFIG_HEADER='<AppConfig.h>'


# ---------------------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------------------

+ 19
- 289
source/native-plugins/Makefile View File

@@ -5,78 +5,29 @@
# #


CWD=.. CWD=..
CWDE=..
EXTERNAL=external/
MODULENAME=native-plugins MODULENAME=native-plugins
include ../modules/Makefile.mk include ../modules/Makefile.mk


# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------


BUILD_C_FLAGS += -I.. BUILD_C_FLAGS += -I..
BUILD_CXX_FLAGS += -I.. -isystem $(CWD)/modules -I$(CWD)/modules/distrho
BUILD_CXX_FLAGS += -I.. -I$(CWD)/modules


# ----------------------------------------------------------------------------------------------------------------------------
# Flags for Zita UIs

ifeq ($(EXPERIMENTAL_PLUGINS),true)
ZITA_DSP_CXX_FLAGS = $(BUILD_CXX_FLAGS) -Wno-unused-parameter
ZITA_DSP_CXX_FLAGS += $(shell pkg-config --cflags fftw3f)
ZITA_UI_CXX_FLAGS = $(BUILD_CXX_FLAGS) -Wno-ignored-qualifiers -Wno-unused-parameter -Wno-unused-result
ZITA_UI_CXX_FLAGS += $(shell pkg-config --cflags cairo libpng12 freetype2 x11 xft zlib)
ZITA_UI_LINK_FLAGS = $(LINK_FLAGS) -lclxclient -lclthreads
ZITA_UI_LINK_FLAGS += $(shell pkg-config --libs cairo libpng12 freetype2 x11 xft zlib)
ZITA_UI_LINK_FLAGS += -ldl -lpthread -lrt
endif # EXPERIMENTAL_PLUGINS

# ----------------------------------------------------------------------------------------------------------------------------
# Flags for ZynAddSubFX

ifeq ($(HAVE_ZYN_DEPS),true)
ZYN_CXX_FLAGS = $(BUILD_CXX_FLAGS) -Izynaddsubfx -Izynaddsubfx/rtosc
ZYN_CXX_FLAGS += $(shell pkg-config --cflags fftw3 mxml zlib)
ZYN_LD_FLAGS = $(LINK_FLAGS)
ZYN_LD_FLAGS += $(shell pkg-config --libs liblo)
ZYN_LD_FLAGS += -ldl -lpthread
ifneq ($(WIN32),true)
ZYN_CXX_FLAGS += -DHAVE_ASYNC
endif
ifeq ($(HAVE_X11),true)
ZYN_CXX_FLAGS += $(shell pkg-config --cflags x11)
ZYN_LD_FLAGS += $(shell pkg-config --libs x11)
endif
ifeq ($(HAVE_ZYN_UI_DEPS),true)
ifeq ($(HAVE_NTK),true)
FLUID = ntk-fluid
ZYN_CXX_FLAGS += -DNTK_GUI
ZYN_CXX_FLAGS += $(shell pkg-config --cflags ntk_images ntk)
ZYN_LD_FLAGS += $(shell pkg-config --libs ntk_images ntk)
else # HAVE_NTK
FLUID = fluid
ZYN_CXX_FLAGS += -DFLTK_GUI
ZYN_CXX_FLAGS += $(shell fltk-config --use-images --cxxflags)
ZYN_LD_FLAGS += $(shell fltk-config --use-images --ldflags)
endif # HAVE_NTK
ifeq ($(LINUX),true)
ZYN_LD_FLAGS += -lrt
else
ZYN_LD_FLAGS += $(MODULEDIR)/water.a
endif
else # HAVE_ZYN_UI_DEPS
ZYN_CXX_FLAGS += -DNO_UI
endif # HAVE_ZYN_UI_DEPS
endif # HAVE_ZYN_DEPS

# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------
# Set targets # Set targets


TARGETS = $(MODULEDIR)/$(MODULENAME).a TARGETS = $(MODULEDIR)/$(MODULENAME).a


# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------
# Set objects # Set objects


OBJS = \ OBJS = \
$(OBJDIR)/_all.c.o \ $(OBJDIR)/_all.c.o \
$(OBJDIR)/_data.cpp.o $(OBJDIR)/_data.cpp.o


# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------
# Simple plugins # Simple plugins


OBJS += \ OBJS += \
@@ -96,99 +47,18 @@ OBJS += \
$(OBJDIR)/midi-pattern.cpp.o \ $(OBJDIR)/midi-pattern.cpp.o \
$(OBJDIR)/notes.cpp.o $(OBJDIR)/notes.cpp.o


# ----------------------------------------------------------------------------------------------------------------------------
# DISTRHO plugins

OBJS += \
$(OBJDIR)/distrho-3bandeq.cpp.o \
$(OBJDIR)/distrho-3bandsplitter.cpp.o \
$(OBJDIR)/distrho-kars.cpp.o \
$(OBJDIR)/distrho-nekobi.cpp.o \
$(OBJDIR)/distrho-pingpongpan.cpp.o

ifeq ($(HAVE_DGL),true)
ifeq ($(HAVE_PROJECTM),true)
OBJS += $(OBJDIR)/distrho-prom.cpp.o
endif
endif

# ----------------------------------------------------------------------------------------------------------------------------
# DISTRHO plugins (Juice)

OBJS += \
$(OBJDIR)/distrho-vectorjuice.cpp.o \
$(OBJDIR)/distrho-wobblejuice.cpp.o

# ----------------------------------------------------------------------------------------------------------------------------
# ZynAddSubFX

ifeq ($(HAVE_ZYN_DEPS),true)
OBJS += \
$(OBJDIR)/zynaddsubfx-fx.cpp.o \
$(OBJDIR)/zynaddsubfx-synth.cpp.o \
$(OBJDIR)/zynaddsubfx-src.cpp.o

ifeq ($(HAVE_ZYN_UI_DEPS),true)
TARGETS += resources/zynaddsubfx-ui$(APP_EXT)

ZYN_UI_FILES_CPP = \
zynaddsubfx/UI/ADnoteUI.cpp \
zynaddsubfx/UI/BankUI.cpp \
zynaddsubfx/UI/ConfigUI.cpp \
zynaddsubfx/UI/EffUI.cpp \
zynaddsubfx/UI/EnvelopeUI.cpp \
zynaddsubfx/UI/FilterUI.cpp \
zynaddsubfx/UI/LFOUI.cpp \
zynaddsubfx/UI/MasterUI.cpp \
zynaddsubfx/UI/MicrotonalUI.cpp \
zynaddsubfx/UI/OscilGenUI.cpp \
zynaddsubfx/UI/PADnoteUI.cpp \
zynaddsubfx/UI/PartUI.cpp \
zynaddsubfx/UI/PresetsUI.cpp \
zynaddsubfx/UI/ResonanceUI.cpp \
zynaddsubfx/UI/SUBnoteUI.cpp \
zynaddsubfx/UI/VirKeyboard.cpp

ZYN_UI_FILES_H = \
zynaddsubfx/UI/ADnoteUI.h \
zynaddsubfx/UI/BankUI.h \
zynaddsubfx/UI/ConfigUI.h \
zynaddsubfx/UI/EffUI.h \
zynaddsubfx/UI/EnvelopeUI.h \
zynaddsubfx/UI/FilterUI.h \
zynaddsubfx/UI/LFOUI.h \
zynaddsubfx/UI/MasterUI.h \
zynaddsubfx/UI/MicrotonalUI.h \
zynaddsubfx/UI/OscilGenUI.h \
zynaddsubfx/UI/PADnoteUI.h \
zynaddsubfx/UI/PartUI.h \
zynaddsubfx/UI/PresetsUI.h \
zynaddsubfx/UI/ResonanceUI.h \
zynaddsubfx/UI/SUBnoteUI.h \
zynaddsubfx/UI/VirKeyboard.h
endif
endif

# ----------------------------------------------------------------------------------------------------------------------------
# Experimental plugins

ifeq ($(EXPERIMENTAL_PLUGINS),true)
OBJS += \
$(OBJDIR)/zita-at1.cpp.o \
$(OBJDIR)/zita-bls1.cpp.o \
$(OBJDIR)/zita-rev1.cpp.o
# ---------------------------------------------------------------------------------------------------------------------
# Include external plugins, if present


TARGETS += \
resources/at1-ui$(APP_EXT) \
resources/bls1-ui$(APP_EXT) \
resources/rev1-ui$(APP_EXT)
ifeq ($(EXTERNAL_PLUGINS),true)
include external/Makefile
endif endif


# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------


all: $(TARGETS) all: $(TARGETS)


# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------


clean: clean:
rm -f $(OBJDIR)/*.o $(MODULEDIR)/$(MODULENAME)*.a $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP) $(TARGETS) rm -f $(OBJDIR)/*.o $(MODULEDIR)/$(MODULENAME)*.a $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP) $(TARGETS)
@@ -196,168 +66,28 @@ clean:
debug: debug:
$(MAKE) DEBUG=true $(MAKE) DEBUG=true


# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------


$(MODULEDIR)/$(MODULENAME).a: $(OBJS) $(MODULEDIR)/$(MODULENAME).a: $(OBJS)
-@mkdir -p $(MODULEDIR) -@mkdir -p $(MODULEDIR)
@echo "Creating $(MODULENAME).a" @echo "Creating $(MODULENAME).a"
@rm -f $@ @rm -f $@
@$(AR) crs $@ $^
$(AR) crs $@ $^


resources/at1-ui$(APP_EXT): $(OBJDIR)/zita-at1-ui.cpp.o
-@mkdir -p $(OBJDIR)
@echo "Linking at1-ui"
@$(CXX) $^ $(ZITA_UI_LINK_FLAGS) -o $@

resources/bls1-ui$(APP_EXT): $(OBJDIR)/zita-bls1-ui.cpp.o
-@mkdir -p $(OBJDIR)
@echo "Linking bls1-ui"
@$(CXX) $^ $(ZITA_UI_LINK_FLAGS) -o $@

resources/rev1-ui$(APP_EXT): $(OBJDIR)/zita-rev1-ui.cpp.o
-@mkdir -p $(OBJDIR)
@echo "Linking rev1-ui"
@$(CXX) $^ $(ZITA_UI_LINK_FLAGS) -o $@

resources/zynaddsubfx-ui$(APP_EXT): $(OBJDIR)/zynaddsubfx-ui.cpp.o
-@mkdir -p $(OBJDIR)
@echo "Linking zynaddsubfx-ui"
@$(CXX) $^ $(ZYN_LD_FLAGS) -o $@

# ----------------------------------------------------------------------------------------------------------------------------

zynaddsubfx/UI/%.cpp: zynaddsubfx/UI/%.fl
@echo "Generating $@|h"
@$(FLUID) -c -o zynaddsubfx/UI/$*.cpp -h zynaddsubfx/UI/$*.h $<

zynaddsubfx/UI/%.h: zynaddsubfx/UI/%.fl
@echo "Generating $@|cpp"
@$(FLUID) -c -o zynaddsubfx/UI/$*.cpp -h zynaddsubfx/UI/$*.h $<

# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------


$(OBJDIR)/%.c.o: %.c $(OBJDIR)/%.c.o: %.c
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@echo "Compiling $<" @echo "Compiling $<"
@$(CC) $< $(BUILD_C_FLAGS) -c -o $@ @$(CC) $< $(BUILD_C_FLAGS) -c -o $@


# ----------------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/_data.cpp.o: _data.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(OBJDIR)/audio-file.cpp.o: audio-file.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(OBJDIR)/bigmeter.cpp.o: bigmeter.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(OBJDIR)/midi-file.cpp.o: midi-file.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

$(OBJDIR)/midi-pattern.cpp.o: midi-pattern.cpp
$(OBJDIR)/%.cpp.o: %.cpp
-@mkdir -p $(OBJDIR) -@mkdir -p $(OBJDIR)
@echo "Compiling $<" @echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@


$(OBJDIR)/notes.cpp.o: notes.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@

# ----------------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/distrho-3bandeq.cpp.o: distrho-3bandeq.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_NAMESPACE=DISTRHO_3BandEQ -Idistrho-3bandeq -I$(CWD)/modules/dgl -Wno-effc++ -c -o $@

$(OBJDIR)/distrho-3bandsplitter.cpp.o: distrho-3bandsplitter.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_NAMESPACE=DISTRHO_3BandSplitter -Idistrho-3bandsplitter -I$(CWD)/modules/dgl -Wno-effc++ -c -o $@

$(OBJDIR)/distrho-kars.cpp.o: distrho-kars.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_NAMESPACE=DISTRHO_Kars -Idistrho-kars -I$(CWD)/modules/dgl -Wno-effc++ -c -o $@

$(OBJDIR)/distrho-nekobi.cpp.o: distrho-nekobi.cpp
-@mkdir -p $(OBJDIR)
# FIXME - fix nekobi strict warnings
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_NAMESPACE=DISTRHO_Nekobi -Idistrho-nekobi -I$(CWD)/modules/dgl -w -c -o $@

$(OBJDIR)/distrho-pingpongpan.cpp.o: distrho-pingpongpan.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_NAMESPACE=DISTRHO_PingPongPan -Idistrho-pingpongpan -I$(CWD)/modules/dgl -Wno-effc++ -c -o $@

$(OBJDIR)/distrho-prom.cpp.o: distrho-prom.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(PROJECTM_FLAGS) -DDISTRHO_NAMESPACE=DISTRHO_ProM -Idistrho-prom -I$(CWD)/modules/dgl -Wno-effc++ -c -o $@

# ----------------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/distrho-vectorjuice.cpp.o: distrho-vectorjuice.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_NAMESPACE=DISTRHO_VectorJuice -Idistrho-vectorjuice -I$(CWD)/modules/dgl -Wno-effc++ -c -o $@

$(OBJDIR)/distrho-wobblejuice.cpp.o: distrho-wobblejuice.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) -DDISTRHO_NAMESPACE=DISTRHO_WobbleJuice -Idistrho-wobblejuice -I$(CWD)/modules/dgl -Wno-effc++ -c -o $@

# ----------------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/zynaddsubfx-fx.cpp.o: zynaddsubfx-fx.cpp $(ZYN_UI_FILES_H)
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(ZYN_CXX_FLAGS) -c -o $@

$(OBJDIR)/zynaddsubfx-synth.cpp.o: zynaddsubfx-synth.cpp $(ZYN_UI_FILES_H)
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(ZYN_CXX_FLAGS) -Wno-unused-parameter -c -o $@

$(OBJDIR)/zynaddsubfx-src.cpp.o: zynaddsubfx-src.cpp $(ZYN_UI_FILES_H)
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(ZYN_CXX_FLAGS) -Wno-unused-parameter -Wno-unused-variable -c -o $@

$(OBJDIR)/zynaddsubfx-ui.cpp.o: zynaddsubfx-ui.cpp $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP)
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(ZYN_CXX_FLAGS) -Wno-unused-parameter -Wno-unused-variable -c -o $@

# ----------------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/zita-%-ui.cpp.o: zita-%-ui.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(ZITA_UI_CXX_FLAGS) -c -o $@

$(OBJDIR)/zita-%.cpp.o: zita-%.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(ZITA_DSP_CXX_FLAGS) -c -o $@

# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------


-include $(OBJS:%.o=%.d) -include $(OBJS:%.o=%.d)
-include $(OBJDIR)/zita-at1-ui.cpp.d
-include $(OBJDIR)/zita-bls1-ui.cpp.d
-include $(OBJDIR)/zita-rev1-ui.cpp.d
-include $(OBJDIR)/zynaddsubfx-ui.cpp.d


# ----------------------------------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------------------------

+ 10
- 54
source/native-plugins/_all.c View File

@@ -1,6 +1,6 @@
/* /*
* Carla Native Plugins * Carla Native Plugins
* Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2012-2017 Filipe Coelho <falktx@falktx.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
@@ -23,7 +23,7 @@
# undef HAVE_PYQT # undef HAVE_PYQT
#endif #endif


// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------


// Simple plugins // Simple plugins
extern void carla_register_native_plugin_bypass(void); extern void carla_register_native_plugin_bypass(void);
@@ -45,32 +45,16 @@ extern void carla_register_native_plugin_midipattern(void);
// Carla // Carla
extern void carla_register_native_plugin_carla(void); extern void carla_register_native_plugin_carla(void);


// DISTRHO plugins
extern void carla_register_native_plugin_distrho_3bandeq(void);
extern void carla_register_native_plugin_distrho_3bandsplitter(void);
extern void carla_register_native_plugin_distrho_kars(void);
extern void carla_register_native_plugin_distrho_nekobi(void);
extern void carla_register_native_plugin_distrho_pingpongpan(void);
extern void carla_register_native_plugin_distrho_prom(void);

// DISTRHO plugins (Juice)
extern void carla_register_native_plugin_distrho_vectorjuice(void);
extern void carla_register_native_plugin_distrho_wobblejuice(void);

// External-UI plugins // External-UI plugins
extern void carla_register_native_plugin_bigmeter(void); extern void carla_register_native_plugin_bigmeter(void);
extern void carla_register_native_plugin_notes(void); extern void carla_register_native_plugin_notes(void);


// ZynAddSubFX
extern void carla_register_native_plugin_zynaddsubfx_fx(void);
extern void carla_register_native_plugin_zynaddsubfx_synth(void);

// Experimental plugins
extern void carla_register_native_plugin_zita_at1(void);
extern void carla_register_native_plugin_zita_bls1(void);
extern void carla_register_native_plugin_zita_rev1(void);
#ifdef HAVE_EXTERNAL_PLUGINS
# define CARLA_EXTERNAL_PLUGINS_INCLUDED_DIRECTLY
# include "external/_all.c"
#endif


// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------


void carla_register_all_native_plugins(void) void carla_register_all_native_plugins(void)
{ {
@@ -98,42 +82,14 @@ void carla_register_all_native_plugins(void)
carla_register_native_plugin_carla(); carla_register_native_plugin_carla();
#endif #endif


// DISTRHO Plugins
carla_register_native_plugin_distrho_3bandeq();
carla_register_native_plugin_distrho_3bandsplitter();
carla_register_native_plugin_distrho_kars();
carla_register_native_plugin_distrho_nekobi();
carla_register_native_plugin_distrho_pingpongpan();
#ifdef HAVE_DGL
#ifdef HAVE_PROJECTM
carla_register_native_plugin_distrho_prom();
#endif
#endif

// DISTRHO plugins (Juice)
carla_register_native_plugin_distrho_vectorjuice();
carla_register_native_plugin_distrho_wobblejuice();

#ifdef HAVE_PYQT
// External-UI plugins // External-UI plugins
carla_register_native_plugin_bigmeter(); carla_register_native_plugin_bigmeter();
carla_register_native_plugin_notes(); carla_register_native_plugin_notes();
#endif

#ifdef HAVE_ZYN_DEPS
// ZynAddSubFX
carla_register_native_plugin_zynaddsubfx_fx();
# ifndef DISABLE_PLUGINS_FOR_WINDOWS_BUILD
carla_register_native_plugin_zynaddsubfx_synth();
# endif
#endif


#ifdef HAVE_EXPERIMENTAL_PLUGINS
#ifdef HAVE_EXTERNAL_PLUGINS
// Experimental plugins // Experimental plugins
carla_register_native_plugin_zita_at1();
carla_register_native_plugin_zita_bls1();
carla_register_native_plugin_zita_rev1();
carla_register_all_native_external_plugins();
#endif #endif
} }


// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------

+ 12
- 442
source/native-plugins/_data.cpp View File

@@ -1,6 +1,6 @@
/* /*
* Carla Native Plugins * Carla Native Plugins
* Copyright (C) 2012-2015 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2012-2017 Filipe Coelho <falktx@falktx.com>
* *
* This program is free software; you can redistribute it and/or * This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as * modify it under the terms of the GNU General Public License as
@@ -33,7 +33,7 @@


static const NativePluginDescriptor sNativePluginDescriptors[] = { static const NativePluginDescriptor sNativePluginDescriptors[] = {


// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------
// Simple plugins // Simple plugins


{ {
@@ -167,7 +167,7 @@ static const NativePluginDescriptor sNativePluginDescriptors[] = {




#if 0 #if 0
// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------
// Audio file // Audio file


{ {
@@ -189,7 +189,7 @@ static const NativePluginDescriptor sNativePluginDescriptors[] = {
}, },
#endif #endif


// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------
// MIDI file and sequencer // MIDI file and sequencer


{ {
@@ -234,7 +234,7 @@ static const NativePluginDescriptor sNativePluginDescriptors[] = {
}, },
#endif #endif


// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------
// Carla // Carla


#ifdef HAVE_PYQT #ifdef HAVE_PYQT
@@ -366,208 +366,7 @@ static const NativePluginDescriptor sNativePluginDescriptors[] = {
}, },
#endif #endif


// -----------------------------------------------------------------------
// DISTRHO Plugins

{
/* category */ NATIVE_PLUGIN_CATEGORY_EQ,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "3 Band EQ",
/* label */ "3bandeq",
/* maker */ "falkTX, Michael Gruhn",
/* copyright */ "LGPL",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_EQ,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 6,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "3 Band Splitter",
/* label */ "3bandsplitter",
/* maker */ "falkTX, Michael Gruhn",
/* copyright */ "LGPL",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_SYNTH,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_IS_SYNTH
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_IS_SYNTH),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 0,
/* audioOuts */ 1,
/* midiIns */ 1,
/* midiOuts */ 0,
/* paramIns */ 1,
/* paramOuts */ 0,
/* name */ "Kars",
/* label */ "kars",
/* maker */ "falkTX, Chris Cannam",
/* copyright */ "ISC",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_SYNTH,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_IS_SYNTH
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_IS_SYNTH),
#endif
/* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_CONTROL_CHANGES
|NATIVE_PLUGIN_SUPPORTS_ALL_SOUND_OFF),
/* audioIns */ 0,
/* audioOuts */ 1,
/* midiIns */ 1,
/* midiOuts */ 0,
/* paramIns */ 8,
/* paramOuts */ 0,
/* name */ "Nekobi",
/* label */ "nekobi",
/* maker */ "falkTX, Sean Bolton and others",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 2,
/* paramOuts */ 0,
/* name */ "Ping Pong Pan",
/* label */ "pingpongpan",
/* maker */ "falkTX, Michael Gruhn",
/* copyright */ "LGPL",
DESCFUNCS
},
#ifdef HAVE_DGL
#ifdef HAVE_PROJECTM
{
/* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 1,
/* audioOuts */ 1,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 0,
/* paramOuts */ 0,
/* name */ "ProM",
/* label */ "prom",
/* maker */ "falkTX",
/* copyright */ "LGPL",
DESCFUNCS
},
#endif // HAVE_PROJECTM
#endif // HAVE_DGL

// -----------------------------------------------------------------------
// DISTRHO plugins (Juice)

{
/* category */ NATIVE_PLUGIN_CATEGORY_DYNAMICS,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID
|NATIVE_PLUGIN_USES_TIME),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_TIME),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "WobbleJuice",
/* label */ "wobblejuice",
/* maker */ "Andre Sklenar",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID
|NATIVE_PLUGIN_USES_TIME),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_TIME),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 8,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 13,
/* paramOuts */ 4,
/* name */ "VectorJuice",
/* label */ "vectorjuice",
/* maker */ "Andre Sklenar",
/* copyright */ "GPL v2+",
DESCFUNCS
},

// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------
// External-UI plugins // External-UI plugins


#ifdef HAVE_PYQT #ifdef HAVE_PYQT
@@ -608,245 +407,16 @@ static const NativePluginDescriptor sNativePluginDescriptors[] = {
}, },
#endif #endif


// -----------------------------------------------------------------------
// ZynAddSubFX

#ifdef HAVE_ZYN_DEPS
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 11-2,
/* paramOuts */ 0,
/* name */ "ZynAlienWah",
/* label */ "zynalienwah",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 12-2,
/* paramOuts */ 0,
/* name */ "ZynChorus",
/* label */ "zynchorus",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 11-2,
/* paramOuts */ 0,
/* name */ "ZynDistortion",
/* label */ "zyndistortion",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_FILTER,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 10-2,
/* paramOuts */ 0,
/* name */ "ZynDynamicFilter",
/* label */ "zyndynamicfilter",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 7-2,
/* paramOuts */ 0,
/* name */ "ZynEcho",
/* label */ "zynecho",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 15-2,
/* paramOuts */ 0,
/* name */ "ZynPhaser",
/* label */ "zynphaser",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 13-2,
/* paramOuts */ 0,
/* name */ "ZynReverb",
/* label */ "zynreverb",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
# ifndef DISABLE_PLUGINS_FOR_WINDOWS_BUILD
{
/* category */ NATIVE_PLUGIN_CATEGORY_SYNTH,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
# ifdef HAVE_ZYN_UI_DEPS
|NATIVE_PLUGIN_HAS_UI
# endif
|NATIVE_PLUGIN_USES_MULTI_PROGS
|NATIVE_PLUGIN_USES_STATE),
/* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_CONTROL_CHANGES
|NATIVE_PLUGIN_SUPPORTS_NOTE_AFTERTOUCH
|NATIVE_PLUGIN_SUPPORTS_PITCHBEND
|NATIVE_PLUGIN_SUPPORTS_ALL_SOUND_OFF),
/* audioIns */ 0,
/* audioOuts */ 2,
/* midiIns */ 1,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "ZynAddSubFX",
/* label */ "zynaddsubfx",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
# endif // ! DISABLE_PLUGINS_FOR_WINDOWS_BUILD
#endif // HAVE_ZYN_DEPS


// -----------------------------------------------------------------------
// Experimental plugins

#ifdef HAVE_EXPERIMENTAL_PLUGINS
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS
|NATIVE_PLUGIN_USES_STATE),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 1,
/* audioOuts */ 1,
/* midiIns */ 1,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "AT1",
/* label */ "at1",
/* maker */ "falkTX, Fons Adriaensen",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_FILTER,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "BLS1",
/* label */ "bls1",
/* maker */ "falkTX, Fons Adriaensen",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 4,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 10,
/* paramOuts */ 0,
/* name */ "REV1 (Ambisonic)",
/* label */ "rev1-ambisonic",
/* maker */ "falkTX, Fons Adriaensen",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 10,
/* paramOuts */ 0,
/* name */ "REV1 (Stereo)",
/* label */ "rev1-stereo",
/* maker */ "falkTX, Fons Adriaensen",
/* copyright */ "GPL v2+",
DESCFUNCS
},
#endif // HAVE_EXPERIMENTAL_PLUGINS
#ifdef HAVE_EXTERNAL_PLUGINS
# define CARLA_EXTERNAL_PLUGINS_INCLUDED_DIRECTLY
# include "external/_data.cpp"
#endif


}; };


#undef DESCFUNCS #undef DESCFUNCS


// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------


const NativePluginDescriptor* carla_get_native_plugins_data(uint32_t* count) const NativePluginDescriptor* carla_get_native_plugins_data(uint32_t* count)
{ {
@@ -856,4 +426,4 @@ const NativePluginDescriptor* carla_get_native_plugins_data(uint32_t* count)
return sNativePluginDescriptors; return sNativePluginDescriptors;
} }


// -----------------------------------------------------------------------
// --------------------------------------------------------------------------------------------------------------------

+ 202
- 0
source/native-plugins/external/Makefile View File

@@ -0,0 +1,202 @@
#!/usr/bin/make -f
# Makefile for native-plugins #
# --------------------------- #
# Created by falkTX
#

# NOTE: this file assumes Makefile.mk has been included before

# ---------------------------------------------------------------------------------------------------------------------
# DPF plugins

OBJS += \
$(OBJDIR)/distrho-3bandeq.cpp.o \
$(OBJDIR)/distrho-3bandsplitter.cpp.o \
$(OBJDIR)/distrho-kars.cpp.o \
$(OBJDIR)/distrho-nekobi.cpp.o \
$(OBJDIR)/distrho-pingpongpan.cpp.o

ifeq ($(HAVE_DGL),true)
ifeq ($(HAVE_PROJECTM),true)
OBJS += $(OBJDIR)/distrho-prom.cpp.o
endif
endif

# ---------------------------------------------------------------------------------------------------------------------
# DPF plugins (Juice)

OBJS += \
$(OBJDIR)/distrho-vectorjuice.cpp.o \
$(OBJDIR)/distrho-wobblejuice.cpp.o

# ---------------------------------------------------------------------------------------------------------------------
# ZynAddSubFX

ifeq ($(HAVE_ZYN_DEPS),true)
OBJS += \
$(OBJDIR)/zynaddsubfx-fx.cpp.o \
$(OBJDIR)/zynaddsubfx-src.cpp.o \
$(OBJDIR)/zynaddsubfx-synth.cpp.o

ifeq ($(HAVE_ZYN_UI_DEPS),true)
TARGETS += ../resources/zynaddsubfx-ui$(APP_EXT)

ZYN_UI_FILES_CPP = \
zynaddsubfx/UI/ADnoteUI.cpp \
zynaddsubfx/UI/BankUI.cpp \
zynaddsubfx/UI/ConfigUI.cpp \
zynaddsubfx/UI/EffUI.cpp \
zynaddsubfx/UI/EnvelopeUI.cpp \
zynaddsubfx/UI/FilterUI.cpp \
zynaddsubfx/UI/LFOUI.cpp \
zynaddsubfx/UI/MasterUI.cpp \
zynaddsubfx/UI/MicrotonalUI.cpp \
zynaddsubfx/UI/OscilGenUI.cpp \
zynaddsubfx/UI/PADnoteUI.cpp \
zynaddsubfx/UI/PartUI.cpp \
zynaddsubfx/UI/PresetsUI.cpp \
zynaddsubfx/UI/ResonanceUI.cpp \
zynaddsubfx/UI/SUBnoteUI.cpp \
zynaddsubfx/UI/VirKeyboard.cpp

ZYN_UI_FILES_H = \
zynaddsubfx/UI/ADnoteUI.h \
zynaddsubfx/UI/BankUI.h \
zynaddsubfx/UI/ConfigUI.h \
zynaddsubfx/UI/EffUI.h \
zynaddsubfx/UI/EnvelopeUI.h \
zynaddsubfx/UI/FilterUI.h \
zynaddsubfx/UI/LFOUI.h \
zynaddsubfx/UI/MasterUI.h \
zynaddsubfx/UI/MicrotonalUI.h \
zynaddsubfx/UI/OscilGenUI.h \
zynaddsubfx/UI/PADnoteUI.h \
zynaddsubfx/UI/PartUI.h \
zynaddsubfx/UI/PresetsUI.h \
zynaddsubfx/UI/ResonanceUI.h \
zynaddsubfx/UI/SUBnoteUI.h \
zynaddsubfx/UI/VirKeyboard.h
endif
endif

# ---------------------------------------------------------------------------------------------------------------------
# Experimental plugins

ifeq ($(EXPERIMENTAL_PLUGINS),true)
OBJS += \
$(OBJDIR)/zita-at1.cpp.o \
$(OBJDIR)/zita-bls1.cpp.o \
$(OBJDIR)/zita-rev1.cpp.o

TARGETS += \
../resources/zita-at1-ui$(APP_EXT) \
../resources/zita-bls1-ui$(APP_EXT) \
../resources/zita-rev1-ui$(APP_EXT)
endif

# ---------------------------------------------------------------------------------------------------------------------

zynaddsubfx/UI/%.cpp: zynaddsubfx/UI/%.fl
@echo "Generating $@|h"
@$(FLUID) -c -o zynaddsubfx/UI/$*.cpp -h zynaddsubfx/UI/$*.h $<

zynaddsubfx/UI/%.h: zynaddsubfx/UI/%.fl
@echo "Generating $@|cpp"
@$(FLUID) -c -o zynaddsubfx/UI/$*.cpp -h zynaddsubfx/UI/$*.h $<

# ---------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/distrho-3bandeq.cpp.o: $(EXTERNAL_DIR)distrho-3bandeq.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(DPF_FLAGS) -DDISTRHO_NAMESPACE=d3BandEQ -Idistrho-3bandeq -c -o $@

$(OBJDIR)/distrho-3bandsplitter.cpp.o: distrho-3bandsplitter.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(DPF_FLAGS) -DDISTRHO_NAMESPACE=d3BandSplitter -Idistrho-3bandsplitter -c -o $@

$(OBJDIR)/distrho-kars.cpp.o: distrho-kars.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(DPF_FLAGS) -DDISTRHO_NAMESPACE=dKars -Idistrho-kars -c -o $@

$(OBJDIR)/distrho-nekobi.cpp.o: distrho-nekobi.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(DPF_FLAGS) -DDISTRHO_NAMESPACE=dNekobi -Idistrho-nekobi -w -c -o $@

$(OBJDIR)/distrho-pingpongpan.cpp.o: distrho-pingpongpan.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(DPF_FLAGS) -DDISTRHO_NAMESPACE=dPingPongPan -Idistrho-pingpongpan -c -o $@

$(OBJDIR)/distrho-prom.cpp.o: distrho-prom.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(DPF_FLAGS) $(PROJECTM_FLAGS) -DDISTRHO_NAMESPACE=dProM -Idistrho-prom -c -o $@

# ---------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/distrho-vectorjuice.cpp.o: distrho-vectorjuice.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(DPF_FLAGS) -DDISTRHO_NAMESPACE=dVectorJuice -Idistrho-vectorjuice -c -o $@

$(OBJDIR)/distrho-wobblejuice.cpp.o: distrho-wobblejuice.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(DPF_FLAGS) -DDISTRHO_NAMESPACE=dWobbleJuice -Idistrho-wobblejuice -c -o $@

# ---------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/zynaddsubfx-fx.cpp.o: zynaddsubfx-fx.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(ZYN_DSP_FLAGS) -c -o $@

$(OBJDIR)/zynaddsubfx-synth.cpp.o: zynaddsubfx-synth.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(ZYN_DSP_FLAGS) -Wno-unused-parameter -c -o $@

$(OBJDIR)/zynaddsubfx-src.cpp.o: zynaddsubfx-src.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(ZYN_DSP_FLAGS) -Wno-unused-parameter -Wno-unused-variable -c -o $@

$(OBJDIR)/zynaddsubfx-ui.cpp.o: zynaddsubfx-ui.cpp $(ZYN_UI_FILES_H) $(ZYN_UI_FILES_CPP)
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(ZYN_UI_FLAGS) -Wno-unused-parameter -Wno-unused-variable -c -o $@

../resources/zynaddsubfx-ui$(APP_EXT): $(OBJDIR)/zynaddsubfx-ui.cpp.o
-@mkdir -p ../resources
@echo "Linking zynaddsubfx-ui"
@$(CXX) $^ $(LINK_FLAGS) $(ZYN_UI_LIBS) -o $@

# ---------------------------------------------------------------------------------------------------------------------

$(OBJDIR)/zita-%-ui.cpp.o: zita-%-ui.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(ZITA_UI_FLAGS) -c -o $@

$(OBJDIR)/zita-%.cpp.o: zita-%.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling $<"
@$(CXX) $< $(BUILD_CXX_FLAGS) $(ZITA_DSP_FLAGS) -c -o $@

../resources/zita-%-ui$(APP_EXT): $(OBJDIR)/zita-%-ui.cpp.o
-@mkdir -p ../resources
@echo "Linking $<"
@$(CXX) $^ $(LINK_FLAGS) $(ZITA_UI_LIBS) -o $@

# ---------------------------------------------------------------------------------------------------------------------

-include $(OBJDIR)/zita-at1-ui.cpp.d
-include $(OBJDIR)/zita-bls1-ui.cpp.d
-include $(OBJDIR)/zita-rev1-ui.cpp.d
-include $(OBJDIR)/zynaddsubfx-ui.cpp.d

# ---------------------------------------------------------------------------------------------------------------------

+ 223
- 0
source/native-plugins/external/Makefile.mk View File

@@ -0,0 +1,223 @@
#!/usr/bin/make -f
# Makefile for native-plugins #
# --------------------------- #
# Created by falkTX
#

ifeq ($(TESTBUILD),true)
ifeq ($(LINUX),true)
CXXFLAGS += -isystem /opt/kxstudio/include/ntk
endif
endif

ifeq ($(MACOS_OR_WIN32),true)
HAVE_DGL = true
else
HAVE_DGL = $(shell pkg-config --exists gl x11 && echo true)
endif

HAVE_NTK = $(shell pkg-config --exists ntk ntk_images && echo true)
HAVE_PROJECTM = $(shell pkg-config --exists libprojectM && echo true)
HAVE_ZYN_DEPS = $(shell pkg-config --exists liblo fftw3 mxml zlib && echo true)

# ---------------------------------------------------------------------------------------------------------------------
# Check for optional libs (special non-pkgconfig unix tests)

ifeq ($(UNIX),true)

# fltk doesn't have a pkg-config file but has fltk-config instead.
# Also, don't try looking for it if we already have NTK.
ifneq ($(HAVE_NTK),true)
ifeq ($(shell which fltk-config 1>/dev/null 2>/dev/null && echo true),true)
ifeq ($(shell which fluid 1>/dev/null 2>/dev/null && echo true),true)
HAVE_FLTK = true
endif
endif
endif

endif

# ---------------------------------------------------------------------------------------------------------------------

ifeq ($(HAVE_FLTK),true)
HAVE_ZYN_UI_DEPS = true
endif
ifeq ($(HAVE_NTK),true)
HAVE_ZYN_UI_DEPS = true
endif

# ---------------------------------------------------------------------------------------------------------------------

ifeq ($(HAVE_DGL),true)
BASE_FLAGS += -DHAVE_DGL
endif

ifeq ($(HAVE_PROJECTM),true)
BASE_FLAGS += -DHAVE_PROJECTM
endif

ifeq ($(HAVE_ZYN_DEPS),true)
BASE_FLAGS += -DHAVE_ZYN_DEPS
ifeq ($(HAVE_ZYN_UI_DEPS),true)
BASE_FLAGS += -DHAVE_ZYN_UI_DEPS
endif
endif

ifeq ($(EXPERIMENTAL_PLUGINS),true)
BASE_FLAGS += -DHAVE_EXPERIMENTAL_PLUGINS
endif

# ---------------------------------------------------------------------------------------------------------------------

ifeq ($(HAVE_DGL),true)

ifeq ($(MACOS_OR_WIN32),true)
ifeq ($(MACOS),true)
DGL_LIBS = -framework OpenGL -framework Cocoa
endif
ifeq ($(WIN32),true)
DGL_LIBS = -lopengl32 -lgdi32
endif
else

DGL_FLAGS = $(shell pkg-config --cflags gl x11)
DGL_LIBS = $(shell pkg-config --libs gl x11)
endif
endif

# ---------------------------------------------------------------------------------------------------------------------

ifeq ($(HAVE_PROJECTM),true)
PROJECTM_FLAGS = $(shell pkg-config --cflags libprojectM)
PROJECTM_LIBS = $(shell pkg-config --libs libprojectM)
endif

# ---------------------------------------------------------------------------------------------------------------------
# Flags for DPF Plugins

DPF_FLAGS = -I$(CWDE)/modules/distrho

ifeq ($(HAVE_DGL),true)
DPF_FLAGS += -I$(CWDE)/modules/dgl
endif

# ---------------------------------------------------------------------------------------------------------------------
# Flags for ZynAddSubFX (DSP and UI separated)

ifeq ($(HAVE_ZYN_DEPS),true)

# Common flags
ZYN_BASE_FLAGS = $(shell pkg-config --cflags liblo mxml)
ZYN_BASE_FLAGS += -Izynaddsubfx -Izynaddsubfx/rtosc
ifneq ($(WIN32),true)
ZYN_BASE_FLAGS += -DHAVE_ASYNC
endif

ZYN_BASE_LIBS = $(shell pkg-config --libs liblo mxml) -lpthread
ifneq ($(WIN32),true)
ZYN_BASE_LIBS += -ldl
endif

# DSP flags
ZYN_DSP_FLAGS = $(ZYN_BASE_FLAGS)
ZYN_DSP_FLAGS += $(shell pkg-config --cflags fftw3 zlib)
ZYN_DSP_FLAGS += -Wno-misleading-indentation -Wno-shift-negative-value
ZYN_DSP_LIBS = $(ZYN_BASE_LIBS)
ZYN_DSP_LIBS += $(shell pkg-config --libs fftw3 zlib)

# UI flags
ifeq ($(HAVE_ZYN_UI_DEPS),true)

# Common UI flags
ZYN_UI_FLAGS = $(ZYN_BASE_FLAGS)
ZYN_UI_LIBS = $(ZYN_BASE_LIBS)

# NTK or FLTK UI flags
ifeq ($(HAVE_NTK),true)
FLUID = ntk-fluid
ZYN_UI_FLAGS += $(shell pkg-config --cflags ntk_images ntk) -DNTK_GUI
ZYN_UI_LIBS += $(shell pkg-config --libs ntk_images ntk)
else # HAVE_NTK
FLUID = fluid
ZYN_UI_FLAGS += $(shell fltk-config --use-images --cxxflags) -DFLTK_GUI
ZYN_UI_LIBS += $(shell fltk-config --use-images --ldflags)
endif # HAVE_NTK

# UI extra flags
ifeq ($(HAVE_X11),true)
ZYN_UI_FLAGS += $(shell pkg-config --cflags x11)
ZYN_UI_LIBS += $(shell pkg-config --libs x11)
endif
ifeq ($(LINUX),true)
ZYN_UI_LIBS += -lrt
endif

else # HAVE_ZYN_UI_DEPS

ZYN_DSP_FLAGS += -DNO_UI

endif # HAVE_ZYN_UI_DEPS
endif # HAVE_ZYN_DEPS


# ---------------------------------------------------------------------------------------------------------------------
# Flags for Zita Plugins (DSP and UI separated)

ifeq ($(EXPERIMENTAL_PLUGINS),true)
ZITA_DSP_FLAGS = $(shell pkg-config --cflags fftw3f)
ZITA_DSP_FLAGS += -Wno-unused-parameter
ZITA_DSP_LIBS = $(shell pkg-config --libs fftw3f)

ZITA_UI_FLAGS = $(shell pkg-config --cflags cairo libpng12 freetype2 x11 xft zlib)
ZITA_UI_FLAGS += -Wno-ignored-qualifiers -Wno-unused-parameter -Wno-unused-result
ZITA_UI_LIBS = $(shell pkg-config --libs cairo libpng12 freetype2 x11 xft zlib)
ZITA_UI_LIBS += -lclxclient -lclthreads -ldl -lpthread -lrt
endif

# ---------------------------------------------------------------------------------------------------------------------

NATIVE_PLUGINS_LIBS += $(DGL_LIBS)
NATIVE_PLUGINS_LIBS += $(PROJECTM_LIBS)
NATIVE_PLUGINS_LIBS += $(ZYN_DSP_LIBS)
NATIVE_PLUGINS_LIBS += $(ZITA_DSP_LIBS)

# ---------------------------------------------------------------------------------------------------------------------

ifeq ($(HAVE_DGL),true)
ALL_LIBS += $(MODULEDIR)/dgl.a
endif

# ---------------------------------------------------------------------------------------------------------------------

all:
features_print_external_plugins:
ifeq ($(HAVE_DGL),true)
@echo "DPF Plugins: $(ANS_YES)(with UI)"
ifeq ($(HAVE_PROJECTM),true)
@echo "DPF ProM: $(ANS_YES)"
else
@echo "DPF ProM: $(ANS_NO) (missing libprojectM)"
endif
else
@echo "DPF Plugins: $(ANS_YES)(without UI)"
ifeq ($(HAVE_PROJECTM),true)
@echo "DPF ProM: $(ANS_NO) $(mS)missing OpenGL$(mE)"
else
@echo "DPF ProM: $(ANS_NO) $(mS)missing OpenGL and libprojectM$(mE)"
endif
endif
ifeq ($(HAVE_ZYN_DEPS),true)
ifeq ($(HAVE_ZYN_UI_DEPS),true)
ifeq ($(HAVE_NTK),true)
@echo "ZynAddSubFX: $(ANS_YES)(with NTK UI)"
else
@echo "ZynAddSubFX: $(ANS_YES)(with FLTK UI)"
endif
else
@echo "ZynAddSubFX: $(ANS_YES)(without UI) $(mS)FLTK or NTK missing$(mE)"
endif
else
@echo "ZynAddSubFX: $(ANS_NO) $(mS)liblo, fftw3, mxml or zlib missing$(mE)"
endif

# ---------------------------------------------------------------------------------------------------------------------

+ 78
- 0
source/native-plugins/external/_all.c View File

@@ -0,0 +1,78 @@
/*
* Carla Native Plugins
* Copyright (C) 2012-2017 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 2 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 doc/GPL.txt file.
*/

#include "CarlaDefines.h"
#include "CarlaNative.h"

// --------------------------------------------------------------------------------------------------------------------

// DISTRHO plugins
extern void carla_register_native_plugin_distrho_3bandeq(void);
extern void carla_register_native_plugin_distrho_3bandsplitter(void);
extern void carla_register_native_plugin_distrho_kars(void);
extern void carla_register_native_plugin_distrho_nekobi(void);
extern void carla_register_native_plugin_distrho_pingpongpan(void);
extern void carla_register_native_plugin_distrho_prom(void);

// DISTRHO plugins (Juice)
extern void carla_register_native_plugin_distrho_vectorjuice(void);
extern void carla_register_native_plugin_distrho_wobblejuice(void);

// ZynAddSubFX
extern void carla_register_native_plugin_zynaddsubfx_fx(void);
extern void carla_register_native_plugin_zynaddsubfx_synth(void);

// Experimental plugins
extern void carla_register_native_plugin_zita_at1(void);
extern void carla_register_native_plugin_zita_bls1(void);
extern void carla_register_native_plugin_zita_rev1(void);

// --------------------------------------------------------------------------------------------------------------------

void carla_register_all_native_external_plugins(void)
{
// DISTRHO Plugins
carla_register_native_plugin_distrho_3bandeq();
carla_register_native_plugin_distrho_3bandsplitter();
carla_register_native_plugin_distrho_kars();
carla_register_native_plugin_distrho_nekobi();
carla_register_native_plugin_distrho_pingpongpan();
#if defined(HAVE_DGL) && defined(HAVE_PROJECTM)
carla_register_native_plugin_distrho_prom();
#endif

// DISTRHO plugins (Juice)
carla_register_native_plugin_distrho_vectorjuice();
carla_register_native_plugin_distrho_wobblejuice();

#ifdef HAVE_ZYN_DEPS
// ZynAddSubFX
carla_register_native_plugin_zynaddsubfx_fx();
# ifndef DISABLE_PLUGINS_FOR_WINDOWS_BUILD
carla_register_native_plugin_zynaddsubfx_synth();
# endif
#endif

#ifdef HAVE_EXPERIMENTAL_PLUGINS
// Experimental plugins
carla_register_native_plugin_zita_at1();
carla_register_native_plugin_zita_bls1();
carla_register_native_plugin_zita_rev1();
#endif
}

// --------------------------------------------------------------------------------------------------------------------

+ 470
- 0
source/native-plugins/external/_data.cpp View File

@@ -0,0 +1,470 @@
/*
* Carla Native Plugins
* Copyright (C) 2012-2017 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 2 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 doc/GPL.txt file.
*/

#include "CarlaNative.h"
#include "CarlaMIDI.h"
#include "CarlaUtils.hpp"

#ifndef CARLA_EXTERNAL_PLUGINS_INCLUDED_DIRECTLY
# define DESCFUNCS \
nullptr, nullptr, nullptr, nullptr, nullptr, \
nullptr, nullptr, nullptr, nullptr, nullptr, \
nullptr, nullptr, nullptr, nullptr, nullptr, \
nullptr, nullptr, nullptr, nullptr, nullptr, nullptr

static const NativePluginDescriptor sNativePluginDescriptors[] = {
#endif

// --------------------------------------------------------------------------------------------------------------------
// DISTRHO Plugins

{
/* category */ NATIVE_PLUGIN_CATEGORY_EQ,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "3 Band EQ",
/* label */ "3bandeq",
/* maker */ "falkTX, Michael Gruhn",
/* copyright */ "LGPL",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_EQ,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 6,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "3 Band Splitter",
/* label */ "3bandsplitter",
/* maker */ "falkTX, Michael Gruhn",
/* copyright */ "LGPL",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_SYNTH,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_IS_SYNTH
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_IS_SYNTH),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 0,
/* audioOuts */ 1,
/* midiIns */ 1,
/* midiOuts */ 0,
/* paramIns */ 1,
/* paramOuts */ 0,
/* name */ "Kars",
/* label */ "kars",
/* maker */ "falkTX, Chris Cannam",
/* copyright */ "ISC",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_SYNTH,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_IS_SYNTH
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_IS_SYNTH),
#endif
/* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_CONTROL_CHANGES
|NATIVE_PLUGIN_SUPPORTS_ALL_SOUND_OFF),
/* audioIns */ 0,
/* audioOuts */ 1,
/* midiIns */ 1,
/* midiOuts */ 0,
/* paramIns */ 8,
/* paramOuts */ 0,
/* name */ "Nekobi",
/* label */ "nekobi",
/* maker */ "falkTX, Sean Bolton and others",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 2,
/* paramOuts */ 0,
/* name */ "Ping Pong Pan",
/* label */ "pingpongpan",
/* maker */ "falkTX, Michael Gruhn",
/* copyright */ "LGPL",
DESCFUNCS
},
#ifdef HAVE_DGL
#ifdef HAVE_PROJECTM
{
/* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 1,
/* audioOuts */ 1,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 0,
/* paramOuts */ 0,
/* name */ "ProM",
/* label */ "prom",
/* maker */ "falkTX",
/* copyright */ "LGPL",
DESCFUNCS
},
#endif // HAVE_PROJECTM
#endif // HAVE_DGL

// --------------------------------------------------------------------------------------------------------------------
// DISTRHO plugins (Juice)

{
/* category */ NATIVE_PLUGIN_CATEGORY_DYNAMICS,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID
|NATIVE_PLUGIN_USES_TIME),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_TIME),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "WobbleJuice",
/* label */ "wobblejuice",
/* maker */ "Andre Sklenar",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_UTILITY,
#ifdef HAVE_DGL
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_UI_MAIN_THREAD
|NATIVE_PLUGIN_USES_PARENT_ID
|NATIVE_PLUGIN_USES_TIME),
#else
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_TIME),
#endif
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 8,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 13,
/* paramOuts */ 4,
/* name */ "VectorJuice",
/* label */ "vectorjuice",
/* maker */ "Andre Sklenar",
/* copyright */ "GPL v2+",
DESCFUNCS
},

// --------------------------------------------------------------------------------------------------------------------
// ZynAddSubFX

#ifdef HAVE_ZYN_DEPS
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 11-2,
/* paramOuts */ 0,
/* name */ "ZynAlienWah",
/* label */ "zynalienwah",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 12-2,
/* paramOuts */ 0,
/* name */ "ZynChorus",
/* label */ "zynchorus",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 11-2,
/* paramOuts */ 0,
/* name */ "ZynDistortion",
/* label */ "zyndistortion",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_FILTER,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 10-2,
/* paramOuts */ 0,
/* name */ "ZynDynamicFilter",
/* label */ "zyndynamicfilter",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 7-2,
/* paramOuts */ 0,
/* name */ "ZynEcho",
/* label */ "zynecho",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 15-2,
/* paramOuts */ 0,
/* name */ "ZynPhaser",
/* label */ "zynphaser",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_USES_PANNING
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 13-2,
/* paramOuts */ 0,
/* name */ "ZynReverb",
/* label */ "zynreverb",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
# ifndef DISABLE_PLUGINS_FOR_WINDOWS_BUILD
{
/* category */ NATIVE_PLUGIN_CATEGORY_SYNTH,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_SYNTH
# ifdef HAVE_ZYN_UI_DEPS
|NATIVE_PLUGIN_HAS_UI
# endif
|NATIVE_PLUGIN_USES_MULTI_PROGS
|NATIVE_PLUGIN_USES_STATE),
/* supports */ static_cast<NativePluginSupports>(NATIVE_PLUGIN_SUPPORTS_CONTROL_CHANGES
|NATIVE_PLUGIN_SUPPORTS_NOTE_AFTERTOUCH
|NATIVE_PLUGIN_SUPPORTS_PITCHBEND
|NATIVE_PLUGIN_SUPPORTS_ALL_SOUND_OFF),
/* audioIns */ 0,
/* audioOuts */ 2,
/* midiIns */ 1,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "ZynAddSubFX",
/* label */ "zynaddsubfx",
/* maker */ "falkTX, Mark McCurry, Nasca Octavian Paul",
/* copyright */ "GNU GPL v2+",
DESCFUNCS
},
# endif // ! DISABLE_PLUGINS_FOR_WINDOWS_BUILD
#endif // HAVE_ZYN_DEPS

// --------------------------------------------------------------------------------------------------------------------
// Experimental plugins

#ifdef HAVE_EXPERIMENTAL_PLUGINS
{
/* category */ NATIVE_PLUGIN_CATEGORY_MODULATOR,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS
|NATIVE_PLUGIN_USES_STATE),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 1,
/* audioOuts */ 1,
/* midiIns */ 1,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "AT1",
/* label */ "at1",
/* maker */ "falkTX, Fons Adriaensen",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_FILTER,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 6,
/* paramOuts */ 0,
/* name */ "BLS1",
/* label */ "bls1",
/* maker */ "falkTX, Fons Adriaensen",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 4,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 10,
/* paramOuts */ 0,
/* name */ "REV1 (Ambisonic)",
/* label */ "rev1-ambisonic",
/* maker */ "falkTX, Fons Adriaensen",
/* copyright */ "GPL v2+",
DESCFUNCS
},
{
/* category */ NATIVE_PLUGIN_CATEGORY_DELAY,
/* hints */ static_cast<NativePluginHints>(NATIVE_PLUGIN_IS_RTSAFE
|NATIVE_PLUGIN_HAS_UI
|NATIVE_PLUGIN_NEEDS_FIXED_BUFFERS),
/* supports */ NATIVE_PLUGIN_SUPPORTS_NOTHING,
/* audioIns */ 2,
/* audioOuts */ 2,
/* midiIns */ 0,
/* midiOuts */ 0,
/* paramIns */ 10,
/* paramOuts */ 0,
/* name */ "REV1 (Stereo)",
/* label */ "rev1-stereo",
/* maker */ "falkTX, Fons Adriaensen",
/* copyright */ "GPL v2+",
DESCFUNCS
},
#endif // HAVE_EXPERIMENTAL_PLUGINS

// --------------------------------------------------------------------------------------------------------------------

#ifndef CARLA_EXTERNAL_PLUGINS_INCLUDED_DIRECTLY
}
#endif

Loading…
Cancel
Save