modwave Property Exchange Resource List Version 1.1 (2025/9/8) ---------------------------------------------------------------------- 1. TRANSMITTED LIST ---------------------------------------------------------------------- [1]Resource List [ {"resource": "DeviceInfo"}, {"resource": "ChannelList",”canSubscribe”:true}, {"resource": "ProgramList",”canSubscribe”:true}, {"resource": "JSONSchema"}, { "resource": "X-ParameterList", “canSet”: “none”, "canSubscribe": true, "schema": { "title": "Parameter List", "type": "object", "$ref": "midi+jsonschema://parameterListSchema" } }, { "resource": "X-ProgramEdit", “canSet”: “none”, "canSubscribe": true, "schema": { "title": "Program Edit", "type": "object", "$ref": "midi+jsonschema://programEditSchema" } } ] [2]Device Info { "manufacturerId": [66, 0, 0], "manufacturer": "KORG Inc.", "familyId": [101, 1], "family": "modwave", "modelId": [29, 0], "model": "mkII", "versionId": [19, 0, 2, 0], "version": "2.1.9" } ---------------------------------------------------------------+ | modelId | model | ---------------------------------------------------------------+ | 1,0 | modwave, modwave native | | 29,0 | modwave MkII | | 20,0 | modwave Module | ---------------------------------------------------------------+ [3]Channel List (e.g.) [ { "title": "modwave", "channel": 1, "programTitle": "Cassini", "bankPC": [0, 0, 0], "links": [ {"resource": "ProgramList", "resId": "setlist", "title": "Taste Of Modwave"}, {"resource": "X-ParameterList"}, {"resource": "X-ProgramEdit"} ] } ] *Sends a Subscription message when Global MIDI Ch, Performance, or Performance name has been changed. [4]Program List (e.g.) [ {"title": "Cassini", "bankPC": [0, 0, 0]}, {"title": "Metallurgy Primo Bass", "bankPC": [0, 0, 1]}, {"title": "Ripper Lead Mod Wheel", "bankPC": [0, 0, 2]}, {"title": "Magic Pad", "bankPC": [0, 0, 3]}, {"title": "Electricity Poly", "bankPC": [0, 0, 4]}, ... (0~63 program) ] *Sends a Subscription message when Set List is changed. ---------------------------------------------------------------------- Custom, Manufacturer/Device-Specific Resources [1]X-ParameterList (e.g.) [ {"name": "Balance", "controlcc": 24, "default": 64}, {"name": "Envelope", "controlcc": 25, "default": 64}, {"name": "Animator", "controlcc": 26, "default": 0}, {"name": "Process", "controlcc": 27, "default": 0} ] [1-1]parameterListSchema resId: parameterListSchema { "type": "array", "items": { "type": "object", "properties": { "name": { "title": "Parameter Name", "description": "Parameter Name", "type": "string" }, "controlcc": { "title": "Control CC", "description": "CC number to control this parameter", "type": "integer", "minimum": 0, "maximum": 127 }, "default": { "title": "Default Value", "description": "Default value for this parameter", "type": "integer", "minimum": 0, "maximum": 127 } } } } [2]X-ProgramEdit(e.g.) { "currentValues": [ {"name": "Balance", "value": 63, "displayValue": "-0.2", "displayUnit": "%"}, {"name": "Envelope", "value": 64, "displayValue": "0.0", "displayUnit": "%"}, {"name": "Animator", "value": 0, "displayValue": "0.0", "displayUnit": "%"}, {"name": "Process", "value": 81, "displayValue": "30.0", "displayUnit": "%"} ] } [2-1]programEditSchema resId: programEditSchema { "type": "object", "properties": { "currentValues": { "type": "array", "items": { "type": "object", "properties": { "name": { "title": "Parameter Name", "description": "Parameter Name", "type": "string" }, "value": { "title": "Current Value", "description": "Current value (Control Change value)", "type": "integer", "minimum": 0, "maximum": 127 }, "displayValue": { "title": "Display Value", "description": "Current Value displayed on the UI (actual value)", "type": "string" }, "displayUnit": { "title": "Display Unit", "description": "Unit text for this parameter", "type": "string" } } } } } }