| @@ -11,6 +11,5 @@ | |||
| .kdev_include_paths | |||
| .kdev4/ | |||
| bin/*-dssi/ | |||
| bin/*.lv2/ | |||
| bin/Kars | |||
| bin/ | |||
| build/ | |||
| @@ -1,3 +1,3 @@ | |||
| [submodule "dpf"] | |||
| path = dpf | |||
| url = git://github.com/DISTRHO/DPF | |||
| url = https://github.com/DISTRHO/DPF | |||
| @@ -4,24 +4,16 @@ | |||
| # Created by falkTX | |||
| # | |||
| include Makefile.mk | |||
| include dpf/Makefile.base.mk | |||
| all: libs plugins modguis gen | |||
| all: plugins gen | |||
| # -------------------------------------------------------------- | |||
| libs: | |||
| ifeq ($(HAVE_DGL),true) | |||
| $(MAKE) -C dpf/dgl | |||
| endif | |||
| plugins: libs | |||
| plugins: | |||
| $(MAKE) all -C plugins/Kars | |||
| modguis: plugins | |||
| cp -r modguis/Kars.modgui/modgui bin/Kars.lv2/ | |||
| cp modguis/Kars.modgui/manifest.ttl bin/Kars.lv2/modgui.ttl | |||
| ifneq ($(CROSS_COMPILING),true) | |||
| gen: plugins dpf/utils/lv2_ttl_generator | |||
| @$(CURDIR)/dpf/utils/generate-ttl.sh | |||
| ifeq ($(MACOS),true) | |||
| @@ -30,15 +22,16 @@ endif | |||
| dpf/utils/lv2_ttl_generator: | |||
| $(MAKE) -C dpf/utils/lv2-ttl-generator | |||
| else | |||
| gen: | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| clean: | |||
| ifeq ($(HAVE_DGL),true) | |||
| $(MAKE) clean -C dpf/dgl | |||
| endif | |||
| $(MAKE) clean -C dpf/utils/lv2-ttl-generator | |||
| $(MAKE) clean -C plugins/Kars | |||
| rm -rf bin build | |||
| # -------------------------------------------------------------- | |||
| @@ -1,150 +0,0 @@ | |||
| #!/usr/bin/make -f | |||
| # Makefile for DISTRHO Plugins # | |||
| # ---------------------------- # | |||
| # Created by falkTX | |||
| # | |||
| AR ?= ar | |||
| CC ?= gcc | |||
| CXX ?= g++ | |||
| # -------------------------------------------------------------- | |||
| # Fallback to Linux if no other OS defined | |||
| ifneq ($(HAIKU),true) | |||
| ifneq ($(MACOS),true) | |||
| ifneq ($(WIN32),true) | |||
| LINUX=true | |||
| endif | |||
| endif | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Set build and link flags | |||
| BASE_FLAGS = -Wall -Wextra -pipe | |||
| BASE_OPTS = -O2 -ffast-math -mtune=generic -msse -msse2 -fdata-sections -ffunction-sections | |||
| ifneq ($(MACOS),true) | |||
| # MacOS doesn't support this | |||
| BASE_OPTS += -mfpmath=sse | |||
| endif | |||
| ifeq ($(MACOS),true) | |||
| # MacOS linker flags | |||
| LINK_OPTS = -fdata-sections -ffunction-sections -Wl,-dead_strip -Wl,-dead_strip_dylibs | |||
| else | |||
| # Common linker flags | |||
| LINK_OPTS = -fdata-sections -ffunction-sections -Wl,--gc-sections -Wl,-O1 -Wl,--as-needed | |||
| ifneq ($(SKIP_STRIPPING),true) | |||
| LINK_OPTS += -Wl,--strip-all | |||
| endif | |||
| endif | |||
| ifeq ($(RASPPI),true) | |||
| # Raspberry-Pi optimization flags | |||
| BASE_OPTS = -O2 -ffast-math -march=armv6 -mfpu=vfp -mfloat-abi=hard | |||
| LINK_OPTS = -Wl,-O1 -Wl,--as-needed -Wl,--strip-all | |||
| endif | |||
| ifeq ($(PANDORA),true) | |||
| # OpenPandora optimization flags | |||
| BASE_OPTS = -O2 -ffast-math -march=armv7-a -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp | |||
| LINK_OPTS = -Wl,-O1 -Wl,--as-needed -Wl,--strip-all | |||
| endif | |||
| ifeq ($(NOOPT),true) | |||
| # No optimization flags | |||
| BASE_OPTS = -O2 -ffast-math -fdata-sections -ffunction-sections | |||
| endif | |||
| ifneq ($(WIN32),true) | |||
| # not needed for Windows | |||
| BASE_FLAGS += -fPIC -DPIC | |||
| endif | |||
| ifeq ($(DEBUG),true) | |||
| BASE_FLAGS += -DDEBUG -O0 -g | |||
| LINK_OPTS = | |||
| else | |||
| BASE_FLAGS += -DNDEBUG $(BASE_OPTS) -fvisibility=hidden | |||
| CXXFLAGS += -fvisibility-inlines-hidden | |||
| endif | |||
| BUILD_C_FLAGS = $(BASE_FLAGS) -std=c99 -std=gnu99 $(CFLAGS) | |||
| BUILD_CXX_FLAGS = $(BASE_FLAGS) -std=c++0x -std=gnu++0x $(CXXFLAGS) $(CPPFLAGS) | |||
| LINK_FLAGS = $(LINK_OPTS) -Wl,--no-undefined $(LDFLAGS) | |||
| ifeq ($(MACOS),true) | |||
| # No C++11 support | |||
| BUILD_CXX_FLAGS = $(BASE_FLAGS) $(CXXFLAGS) $(CPPFLAGS) | |||
| LINK_FLAGS = $(LINK_OPTS) $(LDFLAGS) | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Check for optional libs | |||
| ifeq ($(LINUX),true) | |||
| HAVE_DGL = $(shell pkg-config --exists gl x11 && echo true) | |||
| HAVE_JACK = $(shell pkg-config --exists jack && echo true) | |||
| HAVE_LIBLO = $(shell pkg-config --exists liblo && echo true) | |||
| endif | |||
| ifeq ($(MACOS),true) | |||
| HAVE_DGL = true | |||
| endif | |||
| ifeq ($(WIN32),true) | |||
| HAVE_DGL = true | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Set libs stuff | |||
| ifeq ($(HAVE_DGL),true) | |||
| ifeq ($(LINUX),true) | |||
| DGL_FLAGS = $(shell pkg-config --cflags gl x11) | |||
| DGL_LIBS = $(shell pkg-config --libs gl x11) | |||
| endif | |||
| ifeq ($(MACOS),true) | |||
| DGL_LIBS = -framework OpenGL -framework Cocoa | |||
| endif | |||
| ifeq ($(WIN32),true) | |||
| DGL_LIBS = -lopengl32 -lgdi32 | |||
| endif | |||
| endif # HAVE_DGL | |||
| # -------------------------------------------------------------- | |||
| # Set app extension | |||
| ifeq ($(WIN32),true) | |||
| APP_EXT = .exe | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Set shared lib extension | |||
| LIB_EXT = .so | |||
| ifeq ($(MACOS),true) | |||
| LIB_EXT = .dylib | |||
| endif | |||
| ifeq ($(WIN32),true) | |||
| LIB_EXT = .dll | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Set shared library CLI arg | |||
| SHARED = -shared | |||
| ifeq ($(MACOS),true) | |||
| SHARED = -dynamiclib | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| @@ -1,3 +0,0 @@ | |||
| All final plugin builds will be placed in this folder. | |||
| There is no "make install" process, simply copy those files to their appropriate place. | |||
| @@ -1 +1 @@ | |||
| Subproject commit c3a3ee004eb5427067488f425540ba54336e4d38 | |||
| Subproject commit ea7545a13ab9793b5608b13a82f1ad9cf9ec5e98 | |||
| @@ -1,21 +0,0 @@ | |||
| @prefix modgui: <http://moddevices.com/ns/modgui#> . | |||
| @prefix lv2: <http://lv2plug.in/ns/lv2core#> . | |||
| <http://distrho.sf.net/plugins/Kars> | |||
| modgui:gui [ | |||
| modgui:resourcesDirectory <modgui> ; | |||
| modgui:iconTemplate <modgui/icon-kars.html> ; | |||
| modgui:stylesheet <modgui/stylesheet-kars.css> ; | |||
| modgui:screenshot <modgui/screenshot-kars.png> ; | |||
| modgui:thumbnail <modgui/thumbnail-kars.png> ; | |||
| modgui:brand "DISTRHO" ; | |||
| modgui:label "Kars" ; | |||
| modgui:model "boxy-small" ; | |||
| modgui:panel "1-footswitch" ; | |||
| modgui:color "yellow" ; | |||
| modgui:port [ | |||
| lv2:index 0 ; | |||
| lv2:symbol "sustain" ; | |||
| lv2:name "Sustain" ; | |||
| ] ; | |||
| ] . | |||
| @@ -1,41 +0,0 @@ | |||
| <div class="mod-pedal mod-pedal-boxy{{{cns}}} mod-boxy50 mod-one-footswitch mod-{{color}} {{color}}"> | |||
| <div mod-role="drag-handle" class="mod-drag-handle"></div> | |||
| <div class="mod-plugin-brand"><h1>{{brand}}</h1></div> | |||
| <div class="mod-plugin-name"><h1>{{label}}</h1></div> | |||
| <div class="mod-light on" mod-role="bypass-light"></div> | |||
| <div class="mod-footswitch" mod-role="bypass"></div> | |||
| <div class="mod-pedal-input"> | |||
| {{#effect.ports.audio.input}} | |||
| <div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-audio-port" mod-port-symbol="{{symbol}}"> | |||
| <div class="mod-pedal-input-image"></div> | |||
| </div> | |||
| {{/effect.ports.audio.input}} | |||
| {{#effect.ports.midi.input}} | |||
| <div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-midi-port" mod-port-symbol="{{symbol}}"> | |||
| <div class="mod-pedal-input-image"></div> | |||
| </div> | |||
| {{/effect.ports.midi.input}} | |||
| {{#effect.ports.cv.input}} | |||
| <div class="mod-input mod-input-disconnected" title="{{name}}" mod-role="input-cv-port" mod-port-symbol="{{symbol}}"> | |||
| <div class="mod-pedal-input-image"></div> | |||
| </div> | |||
| {{/effect.ports.cv.input}} | |||
| </div> | |||
| <div class="mod-pedal-output"> | |||
| {{#effect.ports.audio.output}} | |||
| <div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-audio-port" mod-port-symbol="{{symbol}}"> | |||
| <div class="mod-pedal-output-image"></div> | |||
| </div> | |||
| {{/effect.ports.audio.output}} | |||
| {{#effect.ports.midi.output}} | |||
| <div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-midi-port" mod-port-symbol="{{symbol}}"> | |||
| <div class="mod-pedal-output-image"></div> | |||
| </div> | |||
| {{/effect.ports.midi.output}} | |||
| {{#effect.ports.cv.output}} | |||
| <div class="mod-output mod-output-disconnected" title="{{name}}" mod-role="output-cv-port" mod-port-symbol="{{symbol}}"> | |||
| <div class="mod-pedal-output-image"></div> | |||
| </div> | |||
| {{/effect.ports.cv.output}} | |||
| </div> | |||
| </div> | |||
| @@ -1,20 +0,0 @@ | |||
| /* (Auto-generated binary data file). */ | |||
| #ifndef BINARY_DISTRHOARTWORKKARS_HPP | |||
| #define BINARY_DISTRHOARTWORKKARS_HPP | |||
| namespace DistrhoArtworkKars | |||
| { | |||
| extern const char* backgroundData; | |||
| const unsigned int backgroundDataSize = 379260; | |||
| const unsigned int backgroundWidth = 301; | |||
| const unsigned int backgroundHeight = 315; | |||
| extern const char* switchData; | |||
| const unsigned int switchDataSize = 61952; | |||
| const unsigned int switchWidth = 88; | |||
| const unsigned int switchHeight = 176; | |||
| } | |||
| #endif // BINARY_DISTRHOARTWORKKARS_HPP | |||
| @@ -21,11 +21,10 @@ | |||
| #define DISTRHO_PLUGIN_NAME "Kars" | |||
| #define DISTRHO_PLUGIN_URI "http://distrho.sf.net/plugins/Kars" | |||
| #define DISTRHO_PLUGIN_HAS_UI 1 | |||
| #define DISTRHO_PLUGIN_HAS_UI 0 | |||
| #define DISTRHO_PLUGIN_IS_RT_SAFE 1 | |||
| #define DISTRHO_PLUGIN_IS_SYNTH 1 | |||
| #define DISTRHO_PLUGIN_NUM_INPUTS 0 | |||
| #define DISTRHO_PLUGIN_NUM_OUTPUTS 1 | |||
| #define DISTRHO_PLUGIN_USES_MODGUI 1 | |||
| #endif // DISTRHO_PLUGIN_INFO_H_INCLUDED | |||
| @@ -1,77 +0,0 @@ | |||
| /* | |||
| * DISTRHO Kars Plugin, based on karplong by Chris Cannam. | |||
| * Copyright (C) 2015 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * Permission to use, copy, modify, and/or distribute this software for any purpose with | |||
| * or without fee is hereby granted, provided that the above copyright notice and this | |||
| * permission notice appear in all copies. | |||
| * | |||
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD | |||
| * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN | |||
| * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL | |||
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER | |||
| * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |||
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |||
| */ | |||
| #include "DistrhoPluginKars.hpp" | |||
| #include "DistrhoUIKars.hpp" | |||
| START_NAMESPACE_DISTRHO | |||
| namespace Art = DistrhoArtworkKars; | |||
| // ----------------------------------------------------------------------- | |||
| DistrhoUIKars::DistrhoUIKars() | |||
| : UI(Art::backgroundWidth, Art::backgroundHeight), | |||
| fImgBackground(Art::backgroundData, Art::backgroundWidth, Art::backgroundHeight) | |||
| { | |||
| // sustain switch | |||
| Image switchImageNormal(Art::switchData, Art::switchWidth, Art::switchHeight/2); | |||
| Image switchImageDown(Art::switchData+(Art::switchWidth*Art::switchHeight/2*4), Art::switchWidth, Art::switchHeight/2); | |||
| fSwitchSustain = new ImageSwitch(this, switchImageNormal, switchImageDown); | |||
| fSwitchSustain->setAbsolutePos(Art::backgroundWidth/2-Art::switchWidth/2, Art::backgroundHeight/2-Art::switchHeight/4); | |||
| fSwitchSustain->setId(DistrhoPluginKars::paramSustain); | |||
| fSwitchSustain->setCallback(this); | |||
| } | |||
| // ----------------------------------------------------------------------- | |||
| // DSP Callbacks | |||
| void DistrhoUIKars::parameterChanged(uint32_t index, float value) | |||
| { | |||
| if (index != 0) | |||
| return; | |||
| fSwitchSustain->setDown(value > 0.5f); | |||
| } | |||
| // ----------------------------------------------------------------------- | |||
| // Widget Callbacks | |||
| void DistrhoUIKars::imageSwitchClicked(ImageSwitch* imageSwitch, bool down) | |||
| { | |||
| if (imageSwitch != fSwitchSustain) | |||
| return; | |||
| editParameter(DistrhoPluginKars::paramSustain, true); | |||
| setParameterValue(DistrhoPluginKars::paramSustain, down ? 1.0f : 0.0f); | |||
| editParameter(DistrhoPluginKars::paramSustain, false); | |||
| } | |||
| void DistrhoUIKars::onDisplay() | |||
| { | |||
| fImgBackground.draw(); | |||
| } | |||
| // ----------------------------------------------------------------------- | |||
| UI* createUI() | |||
| { | |||
| return new DistrhoUIKars(); | |||
| } | |||
| // ----------------------------------------------------------------------- | |||
| END_NAMESPACE_DISTRHO | |||
| @@ -1,60 +0,0 @@ | |||
| /* | |||
| * DISTRHO Kars Plugin, based on karplong by Chris Cannam. | |||
| * Copyright (C) 2015 Filipe Coelho <falktx@falktx.com> | |||
| * | |||
| * Permission to use, copy, modify, and/or distribute this software for any purpose with | |||
| * or without fee is hereby granted, provided that the above copyright notice and this | |||
| * permission notice appear in all copies. | |||
| * | |||
| * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD | |||
| * TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN | |||
| * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL | |||
| * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER | |||
| * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | |||
| * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |||
| */ | |||
| #ifndef DISTRHO_UI_KARS_HPP_INCLUDED | |||
| #define DISTRHO_UI_KARS_HPP_INCLUDED | |||
| #include "DistrhoUI.hpp" | |||
| #include "ImageWidgets.hpp" | |||
| #include "DistrhoArtworkKars.hpp" | |||
| START_NAMESPACE_DISTRHO | |||
| // ----------------------------------------------------------------------- | |||
| class DistrhoUIKars : public UI, | |||
| public ImageSwitch::Callback | |||
| { | |||
| public: | |||
| DistrhoUIKars(); | |||
| protected: | |||
| // ------------------------------------------------------------------- | |||
| // DSP Callbacks | |||
| void parameterChanged(uint32_t index, float value) override; | |||
| // ------------------------------------------------------------------- | |||
| // Widget Callbacks | |||
| void imageSwitchClicked(ImageSwitch* imageSwitch, bool down) override; | |||
| void onDisplay() override; | |||
| private: | |||
| Image fImgBackground; | |||
| ScopedPointer<ImageSwitch> fSwitchSustain; | |||
| DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(DistrhoUIKars) | |||
| }; | |||
| // ----------------------------------------------------------------------- | |||
| END_NAMESPACE_DISTRHO | |||
| #endif // DISTRHO_UI_KARS_HPP_INCLUDED | |||
| @@ -12,47 +12,24 @@ NAME = Kars | |||
| # -------------------------------------------------------------- | |||
| # Files to build | |||
| OBJS_DSP = \ | |||
| DistrhoPluginKars.cpp.o | |||
| OBJS_UI = \ | |||
| DistrhoArtworkKars.cpp.o \ | |||
| DistrhoUIKars.cpp.o | |||
| FILES_DSP = \ | |||
| DistrhoPluginKars.cpp | |||
| # -------------------------------------------------------------- | |||
| # Do some magic | |||
| include ../Makefile.mk | |||
| include ../../dpf/Makefile.plugins.mk | |||
| # -------------------------------------------------------------- | |||
| # Enable all possible plugin types | |||
| ifeq ($(BUILD_JACK),true) | |||
| ifeq ($(HAVE_JACK),true) | |||
| TARGETS += jack | |||
| endif | |||
| endif | |||
| ifeq ($(BUILD_DSSI),true) | |||
| TARGETS += dssi_dsp | |||
| ifeq ($(HAVE_DGL),true) | |||
| ifeq ($(HAVE_LIBLO),true) | |||
| TARGETS += dssi_ui | |||
| endif | |||
| endif | |||
| endif | |||
| ifeq ($(BUILD_LV2),true) | |||
| ifeq ($(HAVE_DGL),true) | |||
| TARGETS += lv2_sep | |||
| else | |||
| TARGETS += lv2_dsp | |||
| endif | |||
| endif | |||
| ifeq ($(BUILD_VST2),true) | |||
| TARGETS += vst | |||
| endif | |||
| all: $(TARGETS) | |||
| @@ -1,163 +0,0 @@ | |||
| #!/usr/bin/make -f | |||
| # Makefile for DISTRHO Plugins # | |||
| # ---------------------------- # | |||
| # Created by falkTX | |||
| # | |||
| # NAME, OBJS_DSP and OBJS_UI have been defined before | |||
| include ../../Makefile.mk | |||
| ifeq ($(OBJS_UI),) | |||
| HAVE_DGL = false | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Set which plugin formats to build | |||
| BUILD_JACK = true | |||
| ifeq ($(LINUX),true) | |||
| BUILD_DSSI = true | |||
| endif | |||
| BUILD_LV2 = true | |||
| BUILD_VST2 = true | |||
| # -------------------------------------------------------------- | |||
| # Basic setup | |||
| TARGET_DIR = ../../bin | |||
| BUILD_C_FLAGS += -I. | |||
| BUILD_CXX_FLAGS += -I. -I../../dpf/distrho -I../../dpf/dgl | |||
| ifeq ($(HAVE_DGL),true) | |||
| BASE_FLAGS += -DHAVE_DGL | |||
| endif | |||
| ifeq ($(HAVE_JACK),true) | |||
| BASE_FLAGS += -DHAVE_JACK | |||
| endif | |||
| ifeq ($(HAVE_LIBLO),true) | |||
| BASE_FLAGS += -DHAVE_LIBLO | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Set plugin binary file targets | |||
| jack = $(TARGET_DIR)/$(NAME)$(APP_EXT) | |||
| ladspa_dsp = $(TARGET_DIR)/$(NAME)-ladspa$(LIB_EXT) | |||
| dssi_dsp = $(TARGET_DIR)/$(NAME)-dssi$(LIB_EXT) | |||
| dssi_ui = $(TARGET_DIR)/$(NAME)-dssi/$(NAME)_ui$(APP_EXT) | |||
| lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME)$(LIB_EXT) | |||
| lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_dsp$(LIB_EXT) | |||
| lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui$(LIB_EXT) | |||
| vst = $(TARGET_DIR)/$(NAME)-vst$(LIB_EXT) | |||
| # -------------------------------------------------------------- | |||
| # Set distrho code files | |||
| DISTRHO_PLUGIN_FILES = ../../dpf/distrho/DistrhoPluginMain.cpp | |||
| ifeq ($(HAVE_DGL),true) | |||
| DISTRHO_UI_FILES = ../../dpf/distrho/DistrhoUIMain.cpp ../../dpf/libdgl.a | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # Handle plugins without UI | |||
| ifneq ($(HAVE_DGL),true) | |||
| dssi_ui = | |||
| lv2_ui = | |||
| DISTRHO_UI_FILES = | |||
| DGL_LIBS = | |||
| OBJS_UI = | |||
| endif | |||
| # -------------------------------------------------------------- | |||
| # all needs to be first | |||
| all: | |||
| # -------------------------------------------------------------- | |||
| # Common | |||
| %.c.o: %.c | |||
| $(CC) $< $(BUILD_C_FLAGS) -MD -MP -c -o $@ | |||
| %.cpp.o: %.cpp | |||
| $(CXX) $< $(BUILD_CXX_FLAGS) -MD -MP -c -o $@ | |||
| clean: | |||
| rm -f *.d *.o | |||
| rm -rf $(TARGET_DIR)/$(NAME) $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2/ | |||
| # -------------------------------------------------------------- | |||
| # JACK | |||
| jack: $(jack) | |||
| $(jack): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES) | |||
| mkdir -p $(shell dirname $@) | |||
| $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(DGL_LIBS) $(shell pkg-config --cflags --libs jack) -DDISTRHO_PLUGIN_TARGET_JACK -o $@ | |||
| # -------------------------------------------------------------- | |||
| # LADSPA | |||
| ladspa: $(ladspa_dsp) | |||
| $(ladspa_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) | |||
| mkdir -p $(shell dirname $@) | |||
| $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_LADSPA -o $@ | |||
| # -------------------------------------------------------------- | |||
| # DSSI | |||
| dssi: $(dssi_dsp) $(dssi_ui) | |||
| dssi_dsp: $(dssi_dsp) | |||
| dssi_ui: $(dssi_ui) | |||
| $(dssi_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) | |||
| mkdir -p $(shell dirname $@) | |||
| $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_DSSI -o $@ | |||
| $(dssi_ui): $(OBJS_UI) $(DISTRHO_UI_FILES) | |||
| mkdir -p $(shell dirname $@) | |||
| $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs liblo) -DDISTRHO_PLUGIN_TARGET_DSSI -o $@ | |||
| # -------------------------------------------------------------- | |||
| # LV2 | |||
| lv2_one: $(lv2) | |||
| lv2_dsp: $(lv2_dsp) | |||
| lv2_sep: $(lv2_dsp) $(lv2_ui) | |||
| $(lv2): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES) | |||
| mkdir -p $(shell dirname $@) | |||
| $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@ | |||
| $(lv2_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) | |||
| mkdir -p $(shell dirname $@) | |||
| $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@ | |||
| $(lv2_ui): $(OBJS_UI) $(DISTRHO_UI_FILES) | |||
| mkdir -p $(shell dirname $@) | |||
| $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@ | |||
| # -------------------------------------------------------------- | |||
| # VST | |||
| vst: $(vst) | |||
| $(vst): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES) | |||
| mkdir -p $(shell dirname $@) | |||
| $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) -lpthread $(DGL_LIBS) $(SHARED) -DDISTRHO_PLUGIN_TARGET_VST -o $@ | |||
| # -------------------------------------------------------------- | |||
| -include $(OBJS_DSP:%.o=%.d) | |||
| ifeq ($(HAVE_DGL),true) | |||
| -include $(OBJS_UI:%.o=%.d) | |||
| endif | |||
| # -------------------------------------------------------------- | |||