changeset 3:6a792d8838c9

Add prototype emscripten makefile, minor tidying
author Chris Cannam
date Tue, 23 Aug 2016 21:46:49 +0100
parents 4d6e60a7c80e
children 3a5a6535d50d
files Makefile.example Makefile.example.emscripten VamPipePluginLibrary.cpp
diffstat 3 files changed, 71 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.example	Tue Aug 23 12:04:49 2016 +0100
+++ b/Makefile.example	Tue Aug 23 21:46:49 2016 +0100
@@ -2,20 +2,22 @@
 ADAPTER_HEADERS	:= VamPipeAdapter.h VamPipePluginLibrary.h 
 ADAPTER_SOURCES	:= VamPipePluginLibrary.cpp
 
+SDK_DIR		:= ../vamp-plugin-sdk
+
 PLUGIN_SOURCES	:= \
-		../vamp-plugin-sdk/examples/ZeroCrossing.cpp \
-		../vamp-plugin-sdk/examples/SpectralCentroid.cpp \
-		../vamp-plugin-sdk/examples/PercussionOnsetDetector.cpp \
-		../vamp-plugin-sdk/examples/FixedTempoEstimator.cpp \
-		../vamp-plugin-sdk/examples/AmplitudeFollower.cpp \
-		../vamp-plugin-sdk/examples/PowerSpectrum.cpp
+		$(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	:= \
-		../vamp-plugin-sdk/libvamp-hostsdk.a \
-		../vamp-plugin-sdk/libvamp-sdk.a
+		$(SDK_DIR)/libvamp-hostsdk.a \
+		$(SDK_DIR)/libvamp-sdk.a
 
 EXAMPLE_EXT	:= .so
 EXAMPLE		:= example$(EXAMPLE_EXT)
@@ -28,7 +30,7 @@
 TEST_LDFLAGS	:= -ldl
 
 CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra -g
-INCPATH		:= -I../vamp-plugin-sdk -I.. -I../json
+INCPATH		:= -I$(SDK_DIR) -I.. -I../json
 
 all:		$(EXAMPLE) $(TEST)
 		./$(TEST)
@@ -40,3 +42,5 @@
 $(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.emscripten	Tue Aug 23 21:46:49 2016 +0100
@@ -0,0 +1,58 @@
+
+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		:= \
+		-s NO_FILESYSTEM=1 \
+		-s MODULARIZE=1 \
+		-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
+	    	-s EXPORT_NAME="'ExampleModule'" \
+	    	-s EXPORTED_FUNCTIONS="['_vampipeRequestJson','_vampipeFreeJson']"
+
+# 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++
+CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra -g
+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)
+
+clean:
+		rm -f $(EXAMPLE) $(EXAMPLE).map
--- a/VamPipePluginLibrary.cpp	Tue Aug 23 12:04:49 2016 +0100
+++ b/VamPipePluginLibrary.cpp	Tue Aug 23 21:46:49 2016 +0100
@@ -217,7 +217,6 @@
 	    auto &creq = request.configurationRequest;
 	    auto h = m_mapper.pluginToHandle(creq.plugin);
 	    if (m_mapper.isConfigured(h)) {
-		//!!! again, can't return through C abi
 		throw runtime_error("plugin has already been configured");
 	    }