changeset 40:a734a7e976fa jsonrpc

Update again to latest plugin-terminology-free schema
author Chris Cannam
date Thu, 06 Oct 2016 14:32:58 +0100
parents a9dbf9f45896
children 39436f3b8dcd
files VamPipePluginLibrary.cpp example.cpp perf-test-node.js perf-test.js qm-vamp-plugins.cpp quick-test.cpp quick-test.js silvet.cpp vamp-test-plugin.cpp
diffstat 9 files changed, 49 insertions(+), 49 deletions(-) [+]
line wrap: on
line diff
--- a/VamPipePluginLibrary.cpp	Wed Oct 05 18:00:58 2016 +0100
+++ b/VamPipePluginLibrary.cpp	Thu Oct 06 14:32:58 2016 +0100
@@ -126,18 +126,18 @@
 }
 
 string
-VamPipePluginLibrary::processRawImpl(int pluginHandle,
+VamPipePluginLibrary::processRawImpl(int handle,
                                      const float *const *inputBuffers,
                                      int sec,
                                      int nsec)
 {
-    Vamp::Plugin *plugin = m_mapper.handleToPlugin(pluginHandle);
+    Vamp::Plugin *plugin = m_mapper.handleToPlugin(handle);
     if (!plugin) {
         return VampJson::fromError("unknown plugin handle", RRType::Process)
             .dump();
     }
     
-    if (!m_mapper.isConfigured(pluginHandle)) {
+    if (!m_mapper.isConfigured(handle)) {
         return VampJson::fromError("plugin has not been configured", RRType::Process)
             .dump();
     }
@@ -150,7 +150,7 @@
     
     m_useBase64 = true;
     
-    return VampJson::fromVampResponse_Process
+    return VampJson::fromRpcResponse_Process
         (resp, m_mapper,
          VampJson::BufferSerialisation::Base64)
         .dump();
@@ -181,12 +181,12 @@
     switch (type) {
 
     case RRType::List:
-        rj = VampJson::fromVampResponse_List(listPluginData());
+        rj = VampJson::fromRpcResponse_List(listPluginData());
         break;
 
     case RRType::Load:
     {
-        auto req = VampJson::toVampRequest_Load(j, err);
+        auto req = VampJson::toRpcRequest_Load(j, err);
         if (err != "") {
             rj = VampJson::fromError(err, type);
         } else {
@@ -195,7 +195,7 @@
                 rj = VampJson::fromError(err, type);
             } else {
                 m_mapper.addPlugin(resp.plugin);
-                rj = VampJson::fromVampResponse_Load(resp, m_mapper);
+                rj = VampJson::fromRpcResponse_Load(resp, m_mapper);
             }
         }
         break;
@@ -203,7 +203,7 @@
 
     case RRType::Configure:
     {
-        auto req = VampJson::toVampRequest_Configure(j, m_mapper, err);
+        auto req = VampJson::toRpcRequest_Configure(j, m_mapper, err);
         if (err != "") {
             rj = VampJson::fromError(err, type);
         } else {
@@ -220,7 +220,7 @@
                     m_mapper.markConfigured(h,
                                             req.configuration.channelCount,
                                             req.configuration.blockSize);
-                    rj = VampJson::fromVampResponse_Configure(resp, m_mapper);
+                    rj = VampJson::fromRpcResponse_Configure(resp, m_mapper);
                 }
             }
         }
@@ -231,7 +231,7 @@
     {
         VampJson::BufferSerialisation serialisation;
             
-        auto req = VampJson::toVampRequest_Process(j, m_mapper,
+        auto req = VampJson::toRpcRequest_Process(j, m_mapper,
                                                    serialisation, err);
         if (err != "") {
             rj = VampJson::fromError(err, type);
@@ -268,7 +268,7 @@
                     resp.plugin = req.plugin;
                     resp.features = req.plugin->process(fbuffers, req.timestamp);
                     delete[] fbuffers;
-                    rj = VampJson::fromVampResponse_Process
+                    rj = VampJson::fromRpcResponse_Process
                         (resp, m_mapper, serialisation);
                 }
             }
@@ -278,7 +278,7 @@
 
     case RRType::Finish:
     {
-        auto req = VampJson::toVampRequest_Finish(j, m_mapper, err);
+        auto req = VampJson::toRpcRequest_Finish(j, m_mapper, err);
         if (err != "") {
             rj = VampJson::fromError(err, type);
         } else {
@@ -293,7 +293,7 @@
                 resp.plugin = req.plugin;
                 resp.features = req.plugin->getRemainingFeatures();
 
-                rj = VampJson::fromVampResponse_Finish
+                rj = VampJson::fromRpcResponse_Finish
                     (resp, m_mapper, serialisation);
 	
                 m_mapper.removePlugin(h);
--- a/example.cpp	Wed Oct 05 18:00:58 2016 +0100
+++ b/example.cpp	Thu Oct 06 14:32:58 2016 +0100
@@ -69,11 +69,11 @@
     return library.requestJson(request);
 }
 
-const char *vampipeProcessRaw(int pluginHandle,
+const char *vampipeProcessRaw(int handle,
                               const float *const *inputBuffers,
                               int sec,
                               int nsec) {
-    return library.processRaw(pluginHandle, inputBuffers, sec, nsec);
+    return library.processRaw(handle, inputBuffers, sec, nsec);
 }
     
 void vampipeFreeJson(const char *json) {
--- a/perf-test-node.js	Wed Oct 05 18:00:58 2016 +0100
+++ b/perf-test-node.js	Thu Oct 06 14:32:58 2016 +0100
@@ -54,7 +54,7 @@
     }
     
     const responseJson = vampipeProcessRaw(
-        request.pluginHandle,
+        request.handle,
         buffersPtr,
         request.processInput.timestamp.s,
         request.processInput.timestamp.n);
@@ -138,7 +138,7 @@
 
 function responseToFeatureSet(response) {
     const features = new Map();
-    const processResponse = response.content;
+    const processResponse = response.result;
     const wireFeatures = processResponse.features;
     Object.keys(wireFeatures).forEach(key => {
         return features.set(key, convertWireFeatureList(wireFeatures[key]));
@@ -151,11 +151,11 @@
     const rate = 44100;
     
     comment("Loading zero crossings plugin...");
-    let result = request('{"type":"load","content": {"pluginKey":"vamp-example-plugins:zerocrossing","inputSampleRate":' + rate + ',"adapterFlags":["AdaptAllSafe"]}}');
+    let result = request('{"method":"load","params": {"key":"vamp-example-plugins:zerocrossing","inputSampleRate":' + rate + ',"adapterFlags":["AdaptAllSafe"]}}');
 
     const blockSize = 1024;
 
-    result = request('{"type":"configure","content":{"pluginHandle":1,"configuration":{"blockSize": ' + blockSize + ', "channelCount": 1, "stepSize": ' + blockSize + '}}}');
+    result = request('{"method":"configure","params":{"handle":1,"configuration":{"blockSize": ' + blockSize + ', "channelCount": 1, "stepSize": ' + blockSize + '}}}');
 
     const nblocks = 1000;
 
@@ -180,7 +180,7 @@
     
     for (let i = 0; i < nblocks; ++i) {
 	result = processRaw({
-	    "pluginHandle": 1,
+	    "handle": 1,
 	    "processInput": blocks[i]
 	});
         let features = responseToFeatureSet(result);
@@ -202,7 +202,7 @@
     
     for (let i = 0; i < nblocks; ++i) {
 	result = processRaw({
-	    "pluginHandle": 1,
+	    "handle": 1,
 	    "processInput": blocks[i]
 	});
         let features = responseToFeatureSet(result);
@@ -216,7 +216,7 @@
     comment("Total = " + total);
     
     comment("Cleaning up the plugin and getting any remaining features...");
-    result = request('{"type":"finish","content":{"pluginHandle":1}}');
+    result = request('{"method":"finish","params":{"handle":1}}');
 }
 
 test();
--- a/perf-test.js	Wed Oct 05 18:00:58 2016 +0100
+++ b/perf-test.js	Thu Oct 06 14:32:58 2016 +0100
@@ -52,7 +52,7 @@
     }
     
     const responseJson = vampipeProcessRaw(
-        request.pluginHandle,
+        request.handle,
         buffersPtr,
         request.processInput.timestamp.s,
         request.processInput.timestamp.n);
@@ -136,7 +136,7 @@
 
 function responseToFeatureSet(response) {
     const features = new Map();
-    const processResponse = response.content;
+    const processResponse = response.result;
     const wireFeatures = processResponse.features;
     Object.keys(wireFeatures).forEach(key => {
         return features.set(key, convertWireFeatureList(wireFeatures[key]));
@@ -149,11 +149,11 @@
     const rate = 44100;
     
     comment("Loading zero crossings plugin...");
-    let result = request('{"type":"load","content": {"pluginKey":"vamp-example-plugins:zerocrossing","inputSampleRate":' + rate + ',"adapterFlags":["AdaptAllSafe"]}}');
+    let result = request('{"method":"load","params": {"key":"vamp-example-plugins:zerocrossing","inputSampleRate":' + rate + ',"adapterFlags":["AdaptAllSafe"]}}');
 
     const blockSize = 1024;
 
-    result = request('{"type":"configure","content":{"pluginHandle":1,"configuration":{"blockSize": ' + blockSize + ', "channelCount": 1, "stepSize": ' + blockSize + '}}}');
+    result = request('{"method":"configure","params":{"handle":1,"configuration":{"blockSize": ' + blockSize + ', "channelCount": 1, "stepSize": ' + blockSize + '}}}');
 
     const nblocks = 1000;
 
@@ -178,7 +178,7 @@
     
     for (let i = 0; i < nblocks; ++i) {
 	result = processRaw({
-	    "pluginHandle": 1,
+	    "handle": 1,
 	    "processInput": blocks[i]
 	});
         let features = responseToFeatureSet(result);
@@ -200,7 +200,7 @@
     
     for (let i = 0; i < nblocks; ++i) {
 	result = processRaw({
-	    "pluginHandle": 1,
+	    "handle": 1,
 	    "processInput": blocks[i]
 	});
         let features = responseToFeatureSet(result);
@@ -214,7 +214,7 @@
     comment("Total = " + total);
     
     comment("Cleaning up the plugin and getting any remaining features...");
-    result = request('{"type":"finish","content":{"pluginHandle":1}}');
+    result = request('{"method":"finish","params":{"handle":1}}');
 }
 
 window.onload = function() {
--- a/qm-vamp-plugins.cpp	Wed Oct 05 18:00:58 2016 +0100
+++ b/qm-vamp-plugins.cpp	Thu Oct 06 14:32:58 2016 +0100
@@ -90,11 +90,11 @@
     return library.requestJson(request);
 }
 
-const char *vampipeProcessRaw(int pluginHandle,
+const char *vampipeProcessRaw(int handle,
                               const float *const *inputBuffers,
                               int sec,
                               int nsec) {
-    return library.processRaw(pluginHandle, inputBuffers, sec, nsec);
+    return library.processRaw(handle, inputBuffers, sec, nsec);
 }
     
 void vampipeFreeJson(const char *json) {
--- a/quick-test.cpp	Wed Oct 05 18:00:58 2016 +0100
+++ b/quick-test.cpp	Thu Oct 06 14:32:58 2016 +0100
@@ -35,27 +35,27 @@
     cout << listResponse << endl;
     freeFn(listResponse);
 
-    string loadRequest = "{\"method\":\"load\",\"params\": {\"pluginKey\":\"vamp-example-plugins:powerspectrum\",\"inputSampleRate\":44100,\"adapterFlags\":[\"AdaptAllSafe\"]}}";
+    string loadRequest = "{\"method\":\"load\",\"params\": {\"key\":\"vamp-example-plugins:powerspectrum\",\"inputSampleRate\":44100,\"adapterFlags\":[\"AdaptAllSafe\"]}}";
     const char *loadResponse = reqFn(loadRequest.c_str());
     cout << loadResponse << endl;
     freeFn(loadResponse);
 
-    string configRequest = "{\"method\":\"configure\",\"params\":{\"pluginHandle\":1,\"configuration\":{\"blockSize\":8,\"channelCount\":1,\"stepSize\":8}}}";
+    string configRequest = "{\"method\":\"configure\",\"params\":{\"handle\":1,\"configuration\":{\"blockSize\":8,\"channelCount\":1,\"stepSize\":8}}}";
     const char *configResponse = reqFn(configRequest.c_str());
     cout << configResponse << endl;
     freeFn(configResponse);
 
-    string processRequest = "{\"method\":\"process\",\"params\":{\"pluginHandle\":1,\"processInput\":{\"timestamp\":{\"s\":0,\"n\":0},\"inputBuffers\":[[0,1,0,-1,0,1,0,-1]]}}}";
+    string processRequest = "{\"method\":\"process\",\"params\":{\"handle\":1,\"processInput\":{\"timestamp\":{\"s\":0,\"n\":0},\"inputBuffers\":[[0,1,0,-1,0,1,0,-1]]}}}";
     const char *processResponse = reqFn(processRequest.c_str());
     cout << processResponse << endl;
     freeFn(processResponse);
 
-    string b64processRequest = "{\"method\":\"process\",\"params\":{\"pluginHandle\":1,\"processInput\":{\"timestamp\":{\"s\":0,\"n\":0},\"inputBuffers\":[\"AAAAAAAAgD8AAAAAAACAvwAAAAAAAIA/AAAAAAAAgL8\"]}}}";
+    string b64processRequest = "{\"method\":\"process\",\"params\":{\"handle\":1,\"processInput\":{\"timestamp\":{\"s\":0,\"n\":0},\"inputBuffers\":[\"AAAAAAAAgD8AAAAAAACAvwAAAAAAAIA/AAAAAAAAgL8\"]}}}";
     const char *b64processResponse = reqFn(b64processRequest.c_str());
     cout << b64processResponse << endl;
     freeFn(b64processResponse);
     
-    string finishRequest = "{\"method\":\"finish\",\"params\":{\"pluginHandle\":1}}";
+    string finishRequest = "{\"method\":\"finish\",\"params\":{\"handle\":1}}";
     const char *finishResponse = reqFn(finishRequest.c_str());
     cout << finishResponse << endl;
     freeFn(finishResponse);
--- a/quick-test.js	Wed Oct 05 18:00:58 2016 +0100
+++ b/quick-test.js	Thu Oct 06 14:32:58 2016 +0100
@@ -49,26 +49,26 @@
 function test() {
 
     comment("Querying plugin list...");
-    var result = request('{"type": "list"}');
+    var result = request('{"method": "list"}');
 
     comment("Loading zero crossings plugin...");
-    result = request('{"type":"load","content": {"pluginKey":"vamp-example-plugins:powerspectrum","inputSampleRate":16,"adapterFlags":["AdaptAllSafe"]}}');
+    result = request('{"method":"load","params": {"key":"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}}}');
+    comment("I'm now assuming that the load succeeded and the returned handle 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('{"method":"configure","params":{"handle":1,"configuration":{"blockSize": 8, "channelCount": 1, "stepSize": 8}}}');
 
     comment("If I try to configure it again, it should fail because it's already configured... but this doesn't change anything, and subsequent processing should work fine. Just an example of a failure call. NB this only works if Emscripten has exception catching enabled -- it's off by default in opt builds, which would just end the script here. Wonder what the performance penalty is like.");
-    result = request('{"type":"configure","content":{"pluginHandle":1,"configuration":{"blockSize": 8, "channelCount": 1, "stepSize": 8}}}');
+    result = request('{"method":"configure","params":{"handle":1,"configuration":{"blockSize": 8, "channelCount": 1, "stepSize": 8}}}');
 
     comment("Now processing a couple of blocks of data, on the same assumptions...");
-    result = request('{"type":"process","content":{"pluginHandle":1,"processInput":{"timestamp":{"s":0,"n":0},"inputBuffers":[{"values":[0,1,-1,0,1,-1,0,1]}]}}}');
-    result = request('{"type":"process","content":{"pluginHandle":1,"processInput":{"timestamp":{"s":0,"n":500000000},"inputBuffers":[{"values":[0,1,-1,0,1,-1,0,1]}]}}}');
+    result = request('{"method":"process","params":{"handle":1,"processInput":{"timestamp":{"s":0,"n":0},"inputBuffers":[[0,1,-1,0,1,-1,0,1]]}}}');
+    result = request('{"method":"process","params":{"handle":1,"processInput":{"timestamp":{"s":0,"n":500000000},"inputBuffers":[[0,1,-1,0,1,-1,0,1]]}}}');
 
     comment("Cleaning up the plugin and getting any remaining features...");
-    result = request('{"type":"finish","content":{"pluginHandle":1}}');
+    result = request('{"method":"finish","params":{"handle":1}}');
 
     comment("A process call should now fail, as the plugin has been cleaned up.");
-    result = request('{"type":"process","content":{"pluginHandle":1,"processInput":{"timestamp":{"s":0,"n":1000000000},"inputBuffers":[{"values":[0,1,-1,0,1,-1,0,1]}]}}}');
+    result = request('{"method":"process","params":{"handle":1,"processInput":{"timestamp":{"s":0,"n":1000000000},"inputBuffers":[{"values":[0,1,-1,0,1,-1,0,1]}]}}}');
 }
 
 window.onload = function() {
--- a/silvet.cpp	Wed Oct 05 18:00:58 2016 +0100
+++ b/silvet.cpp	Thu Oct 06 14:32:58 2016 +0100
@@ -21,11 +21,11 @@
     return library.requestJson(request);
 }
 
-const char *vampipeProcessRaw(int pluginHandle,
+const char *vampipeProcessRaw(int handle,
                               const float *const *inputBuffers,
                               int sec,
                               int nsec) {
-    return library.processRaw(pluginHandle, inputBuffers, sec, nsec);
+    return library.processRaw(handle, inputBuffers, sec, nsec);
 }
     
 void vampipeFreeJson(const char *json) {
--- a/vamp-test-plugin.cpp	Wed Oct 05 18:00:58 2016 +0100
+++ b/vamp-test-plugin.cpp	Thu Oct 06 14:32:58 2016 +0100
@@ -68,11 +68,11 @@
     return library.requestJson(request);
 }
 
-const char *vampipeProcessRaw(int pluginHandle,
+const char *vampipeProcessRaw(int handle,
                               const float *const *inputBuffers,
                               int sec,
                               int nsec) {
-    return library.processRaw(pluginHandle, inputBuffers, sec, nsec);
+    return library.processRaw(handle, inputBuffers, sec, nsec);
 }
     
 void vampipeFreeJson(const char *json) {