changeset 15:d63f2ade049b process-noparse

More build files, add Silvet build
author Chris Cannam
date Wed, 14 Sep 2016 14:41:32 +0100
parents 171f92179c3e
children 32c456e04855
files Makefile.example Makefile.example.em Makefile.example.emscripten Makefile.example.linux Makefile.inc.em Makefile.silvet.em silvet.cpp
diffstat 7 files changed, 205 insertions(+), 114 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.example	Wed Sep 14 14:41:24 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-
-ADAPTER_HEADERS	:= VamPipeAdapter.h VamPipePluginLibrary.h 
-ADAPTER_SOURCES	:= VamPipePluginLibrary.cpp
-
-SDK_DIR		:= ../vamp-plugin-sdk
-
-PLUGIN_SOURCES	:= \
-		$(SDK_DIR)/examples/ZeroCrossing.cpp \
-		$(SDK_DIR)/examples/SpectralCentroid.cpp \
-		$(SDK_DIR)/examples/PercussionOnsetDetector.cpp \
-		$(SDK_DIR)/examples/FixedTempoEstimator.cpp \
-		$(SDK_DIR)/examples/AmplitudeFollower.cpp \
-		$(SDK_DIR)/examples/PowerSpectrum.cpp
-
-OTHER_SOURCES	:= \
-		../json/json11/json11.cpp
-
-SDK_LIBS	:= \
-		$(SDK_DIR)/libvamp-hostsdk.a \
-		$(SDK_DIR)/libvamp-sdk.a
-
-EXAMPLE_EXT	:= .so
-EXAMPLE		:= example$(EXAMPLE_EXT)
-EXAMPLE_SOURCE	:= example.cpp
-EXAMPLE_SOURCES	:= $(EXAMPLE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES)
-EXAMPLE_LDFLAGS	:= -shared -Wl,-Bsymbolic -Wl,-soname=example.so -Wl,-z,defs -Wl,--version-script=vampipe.map
-
-TEST		:= quick-test
-TEST_SOURCE	:= quick-test.cpp
-TEST_LDFLAGS	:= -ldl
-
-CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra -g
-INCPATH		:= -I$(SDK_DIR) -I.. -I../json
-
-all:		$(EXAMPLE) $(TEST)
-		./$(TEST)
-
-$(EXAMPLE):	$(EXAMPLE_SOURCES) $(ADAPTER_HEADERS) $(SDK_LIBS)
-		$(CXX) $(CXXFLAGS) $(INCPATH) -o $(EXAMPLE) \
-		       $(EXAMPLE_SOURCES) $(SDK_LIBS) $(EXAMPLE_LDFLAGS)
-
-$(TEST):	$(TEST_SOURCE)
-		$(CXX) $(CXXFLAGS) -o $(TEST) $(TEST_SOURCE) $(TEST_LDFLAGS)
-
-clean:
-		rm -f $(EXAMPLE) $(TEST)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.example.em	Wed Sep 14 14:41:32 2016 +0100
@@ -0,0 +1,16 @@
+
+MODULE_NAME	:= VampExamplePlugins
+
+EXAMPLE_DIR	:= ../vamp-plugin-sdk/examples
+
+PLUGIN_SOURCES	:= \
+		$(EXAMPLE_DIR)/ZeroCrossing.cpp \
+		$(EXAMPLE_DIR)/SpectralCentroid.cpp \
+		$(EXAMPLE_DIR)/PercussionOnsetDetector.cpp \
+		$(EXAMPLE_DIR)/FixedTempoEstimator.cpp \
+		$(EXAMPLE_DIR)/AmplitudeFollower.cpp \
+		$(EXAMPLE_DIR)/PowerSpectrum.cpp
+
+MODULE_SOURCE	:= example.cpp
+
+include Makefile.inc.em
--- a/Makefile.example.emscripten	Wed Sep 14 14:41:24 2016 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-
-ADAPTER_HEADERS	:= VamPipeAdapter.h VamPipePluginLibrary.h 
-ADAPTER_SOURCES	:= VamPipePluginLibrary.cpp
-
-SDK_DIR		:= ../vamp-plugin-sdk
-
-PLUGIN_SOURCES	:= \
-		$(SDK_DIR)/examples/ZeroCrossing.cpp \
-		$(SDK_DIR)/examples/SpectralCentroid.cpp \
-		$(SDK_DIR)/examples/PercussionOnsetDetector.cpp \
-		$(SDK_DIR)/examples/FixedTempoEstimator.cpp \
-		$(SDK_DIR)/examples/AmplitudeFollower.cpp \
-		$(SDK_DIR)/examples/PowerSpectrum.cpp
-
-SDK_SOURCES	:= \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginBufferingAdapter.cpp \
-		$(SDK_DIR)/src/vamp-hostsdk/PluginChannelAdapter.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginHostAdapter.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginLoader.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/PluginWrapper.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/RealTime.cpp \
-        	$(SDK_DIR)/src/vamp-hostsdk/Files.cpp \
-		$(SDK_DIR)/src/vamp-sdk/PluginAdapter.cpp \
-		$(SDK_DIR)/src/vamp-sdk/RealTime.cpp \
-		$(SDK_DIR)/src/vamp-sdk/FFT.cpp
-
-OTHER_SOURCES	:= \
-		../json/json11/json11.cpp
-
-EMFLAGS		:= \
-		--memory-init-file 0 \
-		-s MODULARIZE=1 \
-		-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
-		-s DISABLE_EXCEPTION_CATCHING=0 \
-	    	-s EXPORT_NAME="'ExampleModule'" \
-	    	-s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcess','_vampipeFreeJson']"
-
-#		-s NO_FILESYSTEM=1 \
-# no longer exists?		-s NO_BROWSER=1 
-
-EXAMPLE_EXT	:= .js
-EXAMPLE		:= example$(EXAMPLE_EXT)
-EXAMPLE_SOURCE	:= example.cpp
-EXAMPLE_SOURCES	:= $(EXAMPLE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES)
-EXAMPLE_LDFLAGS	:= $(EMFLAGS)
-
-CXX		:= em++
-
-#OPTFLAGS	:= -g3
-OPTFLAGS	:= -O3 -ffast-math
-
-DEFINES		:= -DSINGLE_PRECISION_FFT
-
-CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS)
-
-INCPATH		:= -I$(SDK_DIR) -I.. -I../json
-
-all:		$(EXAMPLE)
-
-$(EXAMPLE):	$(EXAMPLE_SOURCES) $(ADAPTER_HEADERS) $(SDK_SOURCES)
-		$(CXX) $(CXXFLAGS) $(EMFLAGS) $(INCPATH) -o $(EXAMPLE) \
-		       $(EXAMPLE_SOURCES) $(SDK_SOURCES) $(EXAMPLE_LDFLAGS) && \
-		( echo "module.exports=ExampleModule;" >> $(EXAMPLE) )
-
-clean:
-		rm -f $(EXAMPLE) $(EXAMPLE).map
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.example.linux	Wed Sep 14 14:41:32 2016 +0100
@@ -0,0 +1,46 @@
+
+ADAPTER_HEADERS	:= VamPipeAdapter.h VamPipePluginLibrary.h 
+ADAPTER_SOURCES	:= VamPipePluginLibrary.cpp
+
+SDK_DIR		:= ../vamp-plugin-sdk
+
+PLUGIN_SOURCES	:= \
+		$(SDK_DIR)/examples/ZeroCrossing.cpp \
+		$(SDK_DIR)/examples/SpectralCentroid.cpp \
+		$(SDK_DIR)/examples/PercussionOnsetDetector.cpp \
+		$(SDK_DIR)/examples/FixedTempoEstimator.cpp \
+		$(SDK_DIR)/examples/AmplitudeFollower.cpp \
+		$(SDK_DIR)/examples/PowerSpectrum.cpp
+
+OTHER_SOURCES	:= \
+		../json/json11/json11.cpp
+
+SDK_LIBS	:= \
+		$(SDK_DIR)/libvamp-hostsdk.a \
+		$(SDK_DIR)/libvamp-sdk.a
+
+EXAMPLE_EXT	:= .so
+EXAMPLE		:= example$(EXAMPLE_EXT)
+EXAMPLE_SOURCE	:= example.cpp
+EXAMPLE_SOURCES	:= $(EXAMPLE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES)
+EXAMPLE_LDFLAGS	:= -shared -Wl,-Bsymbolic -Wl,-soname=example.so -Wl,-z,defs -Wl,--version-script=vampipe.map
+
+TEST		:= quick-test
+TEST_SOURCE	:= quick-test.cpp
+TEST_LDFLAGS	:= -ldl
+
+CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra -g
+INCPATH		:= -I$(SDK_DIR) -I.. -I../json
+
+all:		$(EXAMPLE) $(TEST)
+		./$(TEST)
+
+$(EXAMPLE):	$(EXAMPLE_SOURCES) $(ADAPTER_HEADERS) $(SDK_LIBS)
+		$(CXX) $(CXXFLAGS) $(INCPATH) -o $(EXAMPLE) \
+		       $(EXAMPLE_SOURCES) $(SDK_LIBS) $(EXAMPLE_LDFLAGS)
+
+$(TEST):	$(TEST_SOURCE)
+		$(CXX) $(CXXFLAGS) -o $(TEST) $(TEST_SOURCE) $(TEST_LDFLAGS)
+
+clean:
+		rm -f $(EXAMPLE) $(TEST)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.inc.em	Wed Sep 14 14:41:32 2016 +0100
@@ -0,0 +1,59 @@
+
+ADAPTER_HEADERS	:= VamPipeAdapter.h VamPipePluginLibrary.h 
+ADAPTER_SOURCES	:= VamPipePluginLibrary.cpp
+
+SDK_DIR		:= ../vamp-plugin-sdk
+
+SDK_SOURCES	:= \
+        	$(SDK_DIR)/src/vamp-hostsdk/PluginBufferingAdapter.cpp \
+		$(SDK_DIR)/src/vamp-hostsdk/PluginChannelAdapter.cpp \
+        	$(SDK_DIR)/src/vamp-hostsdk/PluginHostAdapter.cpp \
+        	$(SDK_DIR)/src/vamp-hostsdk/PluginInputDomainAdapter.cpp \
+        	$(SDK_DIR)/src/vamp-hostsdk/PluginLoader.cpp \
+        	$(SDK_DIR)/src/vamp-hostsdk/PluginSummarisingAdapter.cpp \
+        	$(SDK_DIR)/src/vamp-hostsdk/PluginWrapper.cpp \
+        	$(SDK_DIR)/src/vamp-hostsdk/RealTime.cpp \
+        	$(SDK_DIR)/src/vamp-hostsdk/Files.cpp \
+		$(SDK_DIR)/src/vamp-sdk/PluginAdapter.cpp \
+		$(SDK_DIR)/src/vamp-sdk/RealTime.cpp \
+		$(SDK_DIR)/src/vamp-sdk/FFT.cpp
+
+OTHER_SOURCES	:= \
+		../json/json11/json11.cpp
+
+MODULE_EXT	:= .js
+MODULE		:= $(MODULE_NAME)$(MODULE_EXT)
+MODULE_SYMBOL	:= $(MODULE_NAME)Module
+
+EMFLAGS		:= \
+		--memory-init-file 0 \
+		-s MODULARIZE=1 \
+		-s NO_FILESYSTEM=1 \
+		-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
+		-s DISABLE_EXCEPTION_CATCHING=0 \
+	    	-s EXPORT_NAME="'$(MODULE_SYMBOL)'" \
+	    	-s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeProcessRaw','_vampipeFreeJson']"
+
+SOURCES		:= $(MODULE_SOURCE) $(ADAPTER_SOURCES) $(PLUGIN_SOURCES) $(OTHER_SOURCES)
+LDFLAGS		:= $(EMFLAGS)
+
+CXX		:= em++
+
+#OPTFLAGS	:= -g3
+OPTFLAGS	:= -O3 -ffast-math
+
+DEFINES		:= -DSINGLE_PRECISION_FFT $(DEFINES)
+
+CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra $(DEFINES) $(OPTFLAGS)
+
+INCPATH		:= -I$(SDK_DIR) -I.. -I../json $(INCPATH)
+
+all:		$(MODULE)
+
+$(MODULE):	$(SOURCES) $(ADAPTER_HEADERS) $(SDK_SOURCES)
+		$(CXX) $(CXXFLAGS) $(EMFLAGS) $(INCPATH) -o $(MODULE) \
+		       $(SOURCES) $(SDK_SOURCES) $(MODULE_LDFLAGS) && \
+		( echo "module.exports=$(MODULE_SYMBOL);" >> $(MODULE) )
+
+clean:
+		rm -f $(MODULE)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile.silvet.em	Wed Sep 14 14:41:32 2016 +0100
@@ -0,0 +1,48 @@
+
+MODULE_NAME	:= Silvet
+
+SILVET_DIR	:= ../../silvet
+
+SRC_DIR		:= $(SILVET_DIR)/src
+CQ_DIR	     	:= $(SILVET_DIR)/constant-q-cpp
+CQSRC_DIR     	:= $(SILVET_DIR)/constant-q-cpp/src
+KFFT_DIR  	:= $(SILVET_DIR)/constant-q-cpp/src/ext/kissfft
+BQVEC_DIR     	:= $(SILVET_DIR)/bqvec
+FD_DIR	     	:= $(SILVET_DIR)/flattendynamics
+
+INCPATH		:= -I$(SRC_DIR) -I$(CQ_DIR) -I$(CQ_DIR)/cq -I$(KFFT_DIR) -I$(KFFT_DIR)/tools -I$(SILVET_DIR) -I$(FD_DIR) -I$(BQVEC_DIR)
+
+DEFINES		:= -Dkiss_fft_scalar=double
+ 
+PLUGIN_SOURCES 	:= \
+		$(SRC_DIR)/Silvet.cpp \
+		$(SRC_DIR)/EM.cpp \
+		$(SRC_DIR)/Instruments.cpp \
+		$(SRC_DIR)/LiveInstruments.cpp
+
+BQVEC_SOURCES	:= \
+		$(BQVEC_DIR)/src/Allocators.cpp
+
+FD_SOURCES	:= \
+		$(FD_DIR)/flattendynamics-ladspa.cpp
+
+CQ_SOURCES	:= \
+		$(CQSRC_DIR)/CQKernel.cpp \
+		$(CQSRC_DIR)/ConstantQ.cpp \
+		$(CQSRC_DIR)/CQSpectrogram.cpp \
+		$(CQSRC_DIR)/CQInverse.cpp \
+		$(CQSRC_DIR)/Chromagram.cpp \
+		$(CQSRC_DIR)/Pitch.cpp \
+		$(CQSRC_DIR)/dsp/FFT.cpp \
+		$(CQSRC_DIR)/dsp/KaiserWindow.cpp \
+		$(CQSRC_DIR)/dsp/MathUtilities.cpp \
+		$(CQSRC_DIR)/dsp/Resampler.cpp \
+		$(CQSRC_DIR)/dsp/SincWindow.cpp \
+		$(KFFT_DIR)/kiss_fft.c \
+		$(KFFT_DIR)/tools/kiss_fftr.c
+
+PLUGIN_SOURCES	:= $(PLUGIN_SOURCES) $(BQVEC_SOURCES) $(FD_SOURCES) $(CQ_SOURCES)
+
+MODULE_SOURCE	:= silvet.cpp
+
+include Makefile.inc.em
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/silvet.cpp	Wed Sep 14 14:41:32 2016 +0100
@@ -0,0 +1,36 @@
+
+#include "VamPipeAdapter.h"
+#include "VamPipePluginLibrary.h"
+
+#include "Silvet.h"
+
+using vampipe::VamPipeAdapter;
+using vampipe::VamPipePluginLibrary;
+
+static std::string soname("silvet");
+
+static VamPipeAdapter<Silvet> silvetAdapter(soname);
+
+static VamPipePluginLibrary library({
+    &silvetAdapter
+});
+
+extern "C" {
+
+const char *vampipeRequestJson(const char *request) {
+    return library.requestJson(request);
+}
+
+const char *vampipeProcessRaw(int pluginHandle,
+                              const float *const *inputBuffers,
+                              int sec,
+                              int nsec) {
+    return library.processRaw(pluginHandle, inputBuffers, sec, nsec);
+}
+    
+void vampipeFreeJson(const char *json) {
+    return library.freeJson(json);
+}
+
+}
+