JSON protocol to configure the process and get its state.
See also JSON syntax for internal setup
Commands
get values.
If object
is null, get all parameters, and so show the possibilities
set values.
object
can be any subpart, only those will be changed
like get, but shows only changes since last request.
If object
is null, get all changes.
Each call resets the state for this connection to current.
- Note
- In BigVoice.cl version <= 0.9.7, the state resetted also for filtered out objects. So avoid alterning
object
filter between calls, or you will miss some changes.
{ "load" : "`presetname`" }
load the preset
{ "save" : "`presetname`" }
save the preset.
If null is given, save onair preset
{ "delete" : "`presetname`" }
delete the preset.
can also be an array of presetnames
{ "factoryload" : "`presetname`" }
Create a preset from factory and load it
{ "rename" : { "preset" : "`presetname`", "name": "`newname`" } }
Rename a preset
{ "import" : { "preset" : "`presetname`", "content": `presetcontent` } }
Import a preset
{ "export" : "`presetname`" }
Export a preset: get preset's content so it can be imported later
{ "new" : { "name": "`presetname`", "factory": "`presetname`" } }
Create a new preset from a factory.
Can use array for multiple.
Undo last(s) count
preset change
Redo last(s) count
preset change
Answers
Answer is also a JSON object, starting with the command for get
and change
.
For other commands, if there is no error the answer is
{ "OK" : {"command" : "original command" } }
If there is an error, answer has the syntax
{ "ERROR" : {"command" : "faulty command", "message" : "explaining"} }
and may have more properties. The message may be empty.
Examples
Get status
answer:
{"get":{"status":{"preset_changed":false,"license_valid":true,"version":"1.1.19"}}}
Get all changes since last request
answer:
{"change":{
"processorname":"Best Radio of the world",
"settings":{"general":{"operate":true},...},
"preset":{"setup": {"gate_on": true, ...},...},
"vu":{"setup": null,"in":{...}},
...
}
Check license
{"get":{"status":{"license_valid":null}}}
answer:
{"get":{"status":{"license_valid":true}}}
Set Processor name
{"set":{"processorname":"Best Radio of the world"}}
answer:
Get presetlist
{"get":{"presetlist":null}}
answer:
{"get":{"presetlist":[
{"name":"Urban","factory_name":"Urban","create":"2020-10-15 16:19:17","modify":"2020-10-15 16:19:17"},
{"name":"Rock Classic","factory_name":"Rock Classic","create":"2020-10-15 16:19:17","modify":"2020-10-15 16:19:17"},
{"name":"Rock","factory_name":"Rock","create":"2020-10-15 16:19:17","modify":"2020-10-15 16:19:17"},
...
]}}
Load a preset
answer:
Get information on preset on air
{"get":{"presetinfo":null}}
answer:
{"get":{"presetinfo":{"name":"Rock Classic","factory_name":"Rock Classic","create":"2020-10-15 16:19:17","modify":"2020-10-15 16:19:17"}}}
Set input gain
{"set":{"settings":{"gain":{"in":-3.0}}}}
answer:
Set bypass
{"set":{"settings":{"general":{"operate":false}}}}
answer:
Export a preset
{"export":"MyPresetName"}
answer:
{"export":{"processor":"Best Radio of the world","presets":{
"MyPresetName":{
"presetinfo":{"name":"MyPresetName","factory_name":"Open Sound","create":"2020-10-16 06:53:20","modify":"2020-10-16 06:53:26"},
"preset":{"setup":{"gate":-39.0}},
"undoredo":{"undo":[{"time":"2020-10-16 06:53:23","action":{"preset":{"setup":{"gate":-30.0}}}}],"redo":[],"has_undo":true,"has_redo":false}
}
}}}
- Note
- the object export.presets["MyPresetName"] in the answer is the one to use as content in Import a preset
Import a preset
{"import":{"preset":"MyNewPreset","content":{
"presetinfo":{"name":"MyPresetName","factory_name":"Open Sound","create":"2020-10-16 06:53:20","modify":"2020-10-16 06:53:26"},
"preset":{"setup":{"gate":-39.0}},
"undoredo":{"undo":[{"time":"2020-10-16 06:53:23","action":{"preset":{"setup":{"gate":-30.0}}}}],"redo":[],"has_undo":true,"has_redo":false}
}
}}
answer: