changeset 213:5e3397af978f

Add programParameters, so the client can track what a program actually means - since we have no way to query parameter changes, we only have the ability to push a new configuration bundle atomically
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 06 Apr 2020 17:57:06 +0100
parents d62a69f8d649
children 970fd3bd8c92
files json/examples/extractorstaticdata.json json/schema/extractorstaticdata.json json/schema/outputdescriptor.json json/schema/parameterdescriptor.json
diffstat 4 files changed, 16 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/json/examples/extractorstaticdata.json	Thu Aug 09 10:45:25 2018 +0100
+++ b/json/examples/extractorstaticdata.json	Mon Apr 06 17:57:06 2020 +0100
@@ -1,1 +1,1 @@
-{"basic": {"description": "Detect percussive note onsets by identifying broadband energy rises", "identifier": "percussiononsets", "name": "Simple Percussion Onset Detector"}, "basicOutputInfo": [{"description": "Percussive note onset locations", "identifier": "onsets", "name": "Onsets"}, {"description": "Broadband energy rise detection function", "identifier": "detectionfunction", "name": "Detection Function"}], "category": ["Time", "Onsets"], "rights": "Code copyright 2006 Queen Mary, University of London, after Dan Barry et al 2005.  Freely redistributable (BSD license)", "inputDomain": "FrequencyDomain", "key": "vamp-example-plugins:percussiononsets", "maker": "Vamp SDK Example Plugins", "maxChannelCount": 1, "minChannelCount": 1, "parameters": [{"basic": {"description": "Energy rise within a frequency bin necessary to count toward broadband total", "identifier": "threshold", "name": "Energy rise threshold"}, "defaultValue": 3, "extents": {"max": 20, "min": 0}, "unit": "dB", "valueNames": []}, {"basic": {"description": "Sensitivity of peak detector applied to broadband detection function", "identifier": "sensitivity", "name": "Sensitivity"}, "defaultValue": 40, "extents": {"max": 100, "min": 0}, "unit": "%", "valueNames": []}], "programs": [], "staticOutputInfo": {"onsets": {"typeURI": "http://purl.org/ontology/af/Onset"}, "detectionfunction": {"typeURI": "http://purl.org/ontology/af/OnsetDetectionFunction"}}, "version": 2}
+{"basic": {"description": "Detect percussive note onsets by identifying broadband energy rises", "identifier": "percussiononsets", "name": "Simple Percussion Onset Detector"}, "basicOutputInfo": [{"description": "Percussive note onset locations", "identifier": "onsets", "name": "Onsets"}, {"description": "Broadband energy rise detection function", "identifier": "detectionfunction", "name": "Detection Function"}], "category": ["Time", "Onsets"], "rights": "Code copyright 2006 Queen Mary, University of London, after Dan Barry et al 2005.  Freely redistributable (BSD license)", "inputDomain": "FrequencyDomain", "key": "vamp-example-plugins:percussiononsets", "maker": "Vamp SDK Example Plugins", "maxChannelCount": 1, "minChannelCount": 1, "parameters": [{"basic": {"description": "Energy rise within a frequency bin necessary to count toward broadband total", "identifier": "threshold", "name": "Energy rise threshold"}, "defaultValue": 3, "extents": {"max": 20, "min": 0}, "unit": "dB", "valueNames": []}, {"basic": {"description": "Sensitivity of peak detector applied to broadband detection function", "identifier": "sensitivity", "name": "Sensitivity"}, "defaultValue": 40, "extents": {"max": 100, "min": 0}, "unit": "%", "valueNames": []}], "programs": ["program1"], "programParameters": {"program1": {"threshold": 10, "sensitivity": 0}, "program2": {"threshold": 0}}, "staticOutputInfo": {"onsets": {"typeURI": "http://purl.org/ontology/af/Onset"}, "detectionfunction": {"typeURI": "http://purl.org/ontology/af/OnsetDetectionFunction"}}, "version": 2}
--- a/json/schema/extractorstaticdata.json	Thu Aug 09 10:45:25 2018 +0100
+++ b/json/schema/extractorstaticdata.json	Mon Apr 06 17:57:06 2020 +0100
@@ -37,6 +37,19 @@
 	    "type": "array",
 	    "items": { "type": "string" }
 	},
+        "programParameters": {
+            "type": "object",
+            "patternProperties": {
+		"^[a-zA-Z0-9_-]+$": {
+	            "type": "object",
+	            "patternProperties": {
+		        "^[a-zA-Z0-9_-]+$": {
+		            "type": "number"
+		        }
+                    }
+                }
+            }
+        },
 	"inputDomain": {
 	    "$ref": "http://vamp-plugins.org/piper/json/schema/enums#/definitions/input_domain"
 	},
--- a/json/schema/outputdescriptor.json	Thu Aug 09 10:45:25 2018 +0100
+++ b/json/schema/outputdescriptor.json	Mon Apr 06 17:57:06 2020 +0100
@@ -1,7 +1,7 @@
 {
     "id": "http://vamp-plugins.org/piper/json/schema/outputdescriptor#",
     "$schema": "http://json-schema.org/draft-04/schema#",
-    "description": "schema for an output descriptor belonging to a feature extractor",
+    "description": "schema for metadata about an output of a feature extractor",
     "type": "object",
     "properties": {
 	"basic": {
--- a/json/schema/parameterdescriptor.json	Thu Aug 09 10:45:25 2018 +0100
+++ b/json/schema/parameterdescriptor.json	Mon Apr 06 17:57:06 2020 +0100
@@ -1,7 +1,7 @@
 {
     "id": "http://vamp-plugins.org/piper/json/schema/parameterdescriptor#",
     "$schema": "http://json-schema.org/draft-04/schema#",
-    "description": "schema for a metadata about an adjustable parameter of a feature extractor",
+    "description": "schema for metadata about an adjustable parameter of a feature extractor",
     "type": "object",
     "properties": {
 	"basic": {