changeset 76:56709f8355cb

Use power spectrum rather than zero crossings, to exercise the input domain adapter, and make a process request in quick-test.cpp
author Chris Cannam <c.cannam@qmul.ac.uk>
date Tue, 06 Sep 2016 16:08:38 +0100
parents 4c799e23eaef
children c8113837b479
files Makefile.example.emscripten quick-test.cpp quick-test.js
diffstat 3 files changed, 20 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile.example.emscripten	Wed Aug 24 18:00:28 2016 +0100
+++ b/Makefile.example.emscripten	Tue Sep 06 16:08:38 2016 +0100
@@ -49,6 +49,7 @@
 CXX		:= em++
 #OPTFLAGS	:= -g3
 OPTFLAGS	:= -O3
+#CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra -DSINGLE_PRECISION_FFT $(OPTFLAGS)
 CXXFLAGS	:= -std=c++11 -fPIC -Wall -Wextra $(OPTFLAGS)
 INCPATH		:= -I$(SDK_DIR) -I.. -I../json
 
--- a/quick-test.cpp	Wed Aug 24 18:00:28 2016 +0100
+++ b/quick-test.cpp	Tue Sep 06 16:08:38 2016 +0100
@@ -4,7 +4,7 @@
 
 using namespace std;
 
-int main(int argc, char **argv)
+int main(int, char **)
 {
     string example = "./example.so";
     
@@ -35,9 +35,25 @@
     cout << listResponse << endl;
     freeFn(listResponse);
 
-    string loadRequest = "{\"type\":\"load\",\"content\": {\"pluginKey\":\"vamp-example-plugins:zerocrossing\",\"inputSampleRate\":44100,\"adapterFlags\":[\"AdaptAllSafe\"]}}";
+    string loadRequest = "{\"type\":\"load\",\"content\": {\"pluginKey\":\"vamp-example-plugins:powerspectrum\",\"inputSampleRate\":44100,\"adapterFlags\":[\"AdaptAllSafe\"]}}";
     const char *loadResponse = reqFn(loadRequest.c_str());
     cout << loadResponse << endl;
     freeFn(loadResponse);
+
+    string configRequest = "{\"type\":\"configure\",\"content\":{\"pluginHandle\":1,\"configuration\":{\"blockSize\":8,\"channelCount\":1,\"stepSize\":8}}}";
+    const char *configResponse = reqFn(configRequest.c_str());
+    cout << configResponse << endl;
+    freeFn(configResponse);
+
+    string processRequest = "{\"type\":\"process\",\"content\":{\"pluginHandle\":1,\"processInput\":{\"timestamp\":{\"s\":0,\"n\":0},\"inputBuffers\":[{\"values\":[0,1,0,-1,0,1,0,-1]}]}}}";
+    const char *processResponse = reqFn(processRequest.c_str());
+    cout << processResponse << endl;
+    freeFn(processResponse);
+    
+    string finishRequest = "{\"type\":\"finish\",\"content\":{\"pluginHandle\":1}}";
+    const char *finishResponse = reqFn(finishRequest.c_str());
+    cout << finishResponse << endl;
+    freeFn(finishResponse);
+    
 }
 
--- a/quick-test.js	Wed Aug 24 18:00:28 2016 +0100
+++ b/quick-test.js	Tue Sep 06 16:08:38 2016 +0100
@@ -52,7 +52,7 @@
     var result = request('{"type": "list"}');
 
     comment("Loading zero crossings plugin...");
-    result = request('{"type":"load","content": {"pluginKey":"vamp-example-plugins:zerocrossing","inputSampleRate":16,"adapterFlags":["AdaptAllSafe"]}}');
+    result = request('{"type":"load","content": {"pluginKey":"vamp-example-plugins:powerspectrum","inputSampleRate":16,"adapterFlags":["AdaptAllSafe"]}}');
 
     comment("I'm now assuming that the load succeeded and the returned pluginHandle was 1. I haven't bothered to parse the JSON. If those assumptions are wrong, this obviously isn't going to work. Configuring the plugin...");
     result = request('{"type":"configure","content":{"pluginHandle":1,"configuration":{"blockSize": 8, "channelCount": 1, "stepSize": 8}}}');