diff --git a/Makefile b/Makefile index 55f1c1c..ec1789d 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ libs: $(MAKE) -C dpf/dgl plugins: libs - $(MAKE) -C plugins/Nekobi + $(MAKE) all -C plugins/Nekobi gen: plugins dpf/utils/lv2_ttl_generator @$(CURDIR)/dpf/utils/generate-ttl.sh @@ -29,4 +29,4 @@ clean: # -------------------------------------------------------------- -.PHONY: libs plugins +.PHONY: plugins diff --git a/dpf b/dpf index 0538427..304054a 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 05384270a88a734439db13aba8eb4714b7a78f80 +Subproject commit 304054af33b20ddbcdf0e5c87871010e8fc191dc diff --git a/plugins/Makefile.mk b/plugins/Makefile.mk index dee5ddb..a46910f 100644 --- a/plugins/Makefile.mk +++ b/plugins/Makefile.mk @@ -16,24 +16,17 @@ TARGET_DIR = ../../bin BUILD_C_FLAGS += -I. BUILD_CXX_FLAGS += -I. -I../../dpf/distrho -I../../dpf/dgl -# -------------------------------------------------------------- -# Enable all possible plugin types - -ifeq ($(LINUX),true) -all: jack dssi lv2 vst -else -all: dssi lv2 vst -endif - # -------------------------------------------------------------- # Set plugin binary file targets -jack = $(TARGET_DIR)/$(NAME) -dssi_dsp = $(TARGET_DIR)/$(NAME)-dssi.$(EXT) -dssi_ui = $(TARGET_DIR)/$(NAME)-dssi/$(NAME)_ui -lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME).$(EXT) -lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui.$(EXT) -vst = $(TARGET_DIR)/$(NAME)-vst.$(EXT) +jack = $(TARGET_DIR)/$(NAME) +ladspa_dsp = $(TARGET_DIR)/$(NAME)-ladspa.$(EXT) +dssi_dsp = $(TARGET_DIR)/$(NAME)-dssi.$(EXT) +dssi_ui = $(TARGET_DIR)/$(NAME)-dssi/$(NAME)_ui +lv2 = $(TARGET_DIR)/$(NAME).lv2/$(NAME).$(EXT) +lv2_dsp = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_dsp.$(EXT) +lv2_ui = $(TARGET_DIR)/$(NAME).lv2/$(NAME)_ui.$(EXT) +vst = $(TARGET_DIR)/$(NAME)-vst.$(EXT) ifeq ($(WIN32),true) dssi_ui += .exe @@ -47,6 +40,22 @@ endif DISTRHO_PLUGIN_FILES = ../../dpf/distrho/DistrhoPluginMain.cpp DISTRHO_UI_FILES = ../../dpf/distrho/DistrhoUIMain.cpp ../../dpf/libdgl.a +# -------------------------------------------------------------- +# Handle plugins without UI + +ifeq ($(TARGET_NOUI),true) +dssi_ui = +lv2_ui = +DISTRHO_UI_FILES = +DGL_LIBS = +OBJS_UI = +endif + +# -------------------------------------------------------------- +# all needs to be first + +all: + # -------------------------------------------------------------- # Common @@ -58,7 +67,7 @@ DISTRHO_UI_FILES = ../../dpf/distrho/DistrhoUIMain.cpp ../../dpf/libdgl.a clean: rm -f *.o - rm -rf $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2/ + rm -rf $(TARGET_DIR)/$(NAME) $(TARGET_DIR)/$(NAME)-* $(TARGET_DIR)/$(NAME).lv2/ # -------------------------------------------------------------- # JACK @@ -69,6 +78,15 @@ $(jack): $(OBJS_DSP) $(OBJS_UI) $(DISTRHO_PLUGIN_FILES) $(DISTRHO_UI_FILES) mkdir -p $(shell dirname $@) $(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(shell pkg-config --cflags --libs jack) -lpthread -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) $(SHARED) -DDISTRHO_PLUGIN_TARGET_LADSPA -o $@ + # -------------------------------------------------------------- # DSSI @@ -85,7 +103,12 @@ $(dssi_ui): $(OBJS_UI) $(DISTRHO_UI_FILES) # -------------------------------------------------------------- # LV2 -lv2: $(lv2_dsp) $(lv2_ui) +lv2_one: $(lv2) +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) $(DGL_LIBS) -lpthread $(SHARED) -DDISTRHO_PLUGIN_TARGET_LV2 -o $@ $(lv2_dsp): $(OBJS_DSP) $(DISTRHO_PLUGIN_FILES) mkdir -p $(shell dirname $@) diff --git a/plugins/Nekobi/DistrhoUINekobi.cpp b/plugins/Nekobi/DistrhoUINekobi.cpp index cc3c605..a9e04e4 100644 --- a/plugins/Nekobi/DistrhoUINekobi.cpp +++ b/plugins/Nekobi/DistrhoUINekobi.cpp @@ -51,56 +51,63 @@ DistrhoUINekobi::DistrhoUINekobi() // knob Tuning fKnobTuning = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginNekobi::paramTuning); - fKnobTuning->setPos(41, 43); + fKnobTuning->setAbsolutePos(41, 43); fKnobTuning->setRange(-12.0f, 12.0f); + fKnobTuning->setDefault(0.0f); fKnobTuning->setValue(0.0f); fKnobTuning->setRotationAngle(305); fKnobTuning->setCallback(this); // knob Cutoff fKnobCutoff = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginNekobi::paramCutoff); - fKnobCutoff->setPos(185, 43); + fKnobCutoff->setAbsolutePos(185, 43); fKnobCutoff->setRange(0.0f, 100.0f); + fKnobCutoff->setDefault(25.0f); fKnobCutoff->setValue(25.0f); fKnobCutoff->setRotationAngle(305); fKnobCutoff->setCallback(this); // knob Resonance fKnobResonance = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginNekobi::paramResonance); - fKnobResonance->setPos(257, 43); + fKnobResonance->setAbsolutePos(257, 43); fKnobResonance->setRange(0.0f, 95.0f); + fKnobResonance->setDefault(25.0f); fKnobResonance->setValue(25.0f); fKnobResonance->setRotationAngle(305); fKnobResonance->setCallback(this); // knob Env Mod fKnobEnvMod = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginNekobi::paramEnvMod); - fKnobEnvMod->setPos(329, 43); + fKnobEnvMod->setAbsolutePos(329, 43); fKnobEnvMod->setRange(0.0f, 100.0f); + fKnobEnvMod->setDefault(50.0f); fKnobEnvMod->setValue(50.0f); fKnobEnvMod->setRotationAngle(305); fKnobEnvMod->setCallback(this); // knob Decay fKnobDecay = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginNekobi::paramDecay); - fKnobDecay->setPos(400, 43); + fKnobDecay->setAbsolutePos(400, 43); fKnobDecay->setRange(0.0f, 100.0f); + fKnobDecay->setDefault(75.0f); fKnobDecay->setValue(75.0f); fKnobDecay->setRotationAngle(305); fKnobDecay->setCallback(this); // knob Accent fKnobAccent = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginNekobi::paramAccent); - fKnobAccent->setPos(473, 43); + fKnobAccent->setAbsolutePos(473, 43); fKnobAccent->setRange(0.0f, 100.0f); + fKnobAccent->setDefault(25.0f); fKnobAccent->setValue(25.0f); fKnobAccent->setRotationAngle(305); fKnobAccent->setCallback(this); // knob Volume fKnobVolume = new ImageKnob(this, knobImage, ImageKnob::Vertical, DistrhoPluginNekobi::paramVolume); - fKnobVolume->setPos(545, 43); + fKnobVolume->setAbsolutePos(545, 43); fKnobVolume->setRange(0.0f, 100.0f); + fKnobVolume->setDefault(75.0f); fKnobVolume->setValue(75.0f); fKnobVolume->setRotationAngle(305); fKnobVolume->setCallback(this); @@ -109,7 +116,7 @@ DistrhoUINekobi::DistrhoUINekobi() Image aboutImageNormal(DistrhoArtworkNekobi::aboutButtonNormalData, DistrhoArtworkNekobi::aboutButtonNormalWidth, DistrhoArtworkNekobi::aboutButtonNormalHeight); Image aboutImageHover(DistrhoArtworkNekobi::aboutButtonHoverData, DistrhoArtworkNekobi::aboutButtonHoverWidth, DistrhoArtworkNekobi::aboutButtonHoverHeight); fButtonAbout = new ImageButton(this, aboutImageNormal, aboutImageHover, aboutImageHover); - fButtonAbout->setPos(505, 5); + fButtonAbout->setAbsolutePos(505, 5); fButtonAbout->setCallback(this); } diff --git a/plugins/Nekobi/Makefile b/plugins/Nekobi/Makefile index 472ed8c..ce16ca5 100644 --- a/plugins/Nekobi/Makefile +++ b/plugins/Nekobi/Makefile @@ -25,3 +25,12 @@ OBJS_UI = \ include ../Makefile.mk # -------------------------------------------------------------- +# Enable all possible plugin types + +ifeq ($(LINUX),true) +all: jack dssi lv2_sep vst +else +all: dssi lv2_sep vst +endif + +# --------------------------------------------------------------