Sound Control Protocol Digital 6000 (EM 6000 | L 6000)

Table Of Contents
SSC Developer‘s guide for Digital 6000 | 10/57
SSC Data Structure Specification
4. SSC Data Structure Specification
4.1 Applying JSON to the OSC device model
OSC models the controlled device as a tree-shaped hierarchy of methods, with the method addresses
constructed from the names of all the nodes in the hierarchy, written like a file path.
/ container at address "/"
audio/ container at address "/audio/"
out1/ container at address "/audio/out1/"
label name address "/audio/out1/label": method with string argu-
ment
level_db 5 address "/audio/out1/level_db": method with numeric
argument
... more methods of "/audio/out1"
out2/ container at address "/audio/out2 /"
... methods of "/audio/out2"
device/ container at address "/device/"
... methods of "/device"
... more methods and containers of "/"
JSON allows to model that structure as a hierarchy of JSON objects.
{ root object
"audio": { object "audio"
"out1": { object "audio.out1"
"label": name, numerical property "audio.out1.label"
"level_db": 5, boolean property "audio.out1.level_db"
... more properties of "audio.out1"
},
"out2": { object "audio.out2"
... properties of "audio.out2"
},
"device": { object "device"
... properties of "device"
},
... more properties and objects of the root object
}
The OSC Method Address (like "/audio/out1/level_db") is interpreted as a property path navigating
through the hierarchy of JSON objects. The value of each property MUST be either a primitive JSON
data type, or a JSON array. Rationale: This allows to clearly separate SSC Method Addresses from
SSC Method Arguments at JSON parser level without knowledge of the underlying method address
tree.
The resulting JSON tree structure of hierarchical objects, the SSC Address Space, is tailored to de-
scribe the functionality of a specific SSC Server, in the same way as foreseen by OSC.
In JSON it is possible to serialise the complete state of all properties in the tree to a closed form,
thus describing the complete state of the SSC Server. In this way, JSON can be used as an excellent
extensible data format for configuration files, or for scripting applications, which drive a system of
SSC Servers through a sequence of programmed configurations.