Mercurial > hg > piper-vamp-js
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); +} + +} +