Subscriptions ........................13 Subscribe to a Parameter Directly ..............13 Default ....................13 Norm ...................... 13 Number ....................13 Subscribe to All Parameters in an Object ............14 Understanding the Parameter Value Format ..............16 Metering ..........................17 DCP-555 Control API Guide...
Introduction This guide describes how to control and monitor the DCP-555 using third-party control. This guide should be used in conjunction with a device specific document that details the objects and parameters of that specific device. Basic Concepts • TheDCP-555APIisacommandandresponseprotocol.Eachcommandrequiresaresponse,andanother command cannot be issued until the response has been received.
Path Syntax A crucial concept in the DCP-555 API is that of a path name. The path name is the name given to an element. The path name includes the path and the name of the element. A forward slash “/” is used to distinguish hierarchy in the path name.
The mapping from normalized to value is part of the control law and the DCP-555 API is designed in such a way that the GUI designer can mostly simply control the parameter using values from 0.0 to 1.0 without having to understand what is going on inside the model.
The different control types will be used by different types of control in your application. Examples are: • Slider: Generally uses normalized value from 0.0 to1.0. • Text display or edit box: Uses the default format (text). • List box: Uses the default format (text). • Button: Usesnormalizedvalue0.0and1.0. DCP-555 Control API Guide...
{ “path” : “/channel 2/mute”, “error” : “Parameter not found” } ] Errors can be returned for just the parameters that failed, and values for the parameters that worked. The <error message> is a JSON String. DCP-555 Control API Guide...
If you are subscribed to the same parameter using multiple formats then each parameter change will result in a single publish message containing all subscribed formats. For example, if you subscribe to the frequency parameter like so: DCP-555 Control API Guide...
And the model responds with the current values of all parameter in the Channel4PEQ object: @subscribe [{“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_1_Frequency”,”value”:”0.558616”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_1_Gain”,”value”:”0.5”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_1_Q”,”value”:”0.007037”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_1_Slope”,”value”:”0”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_1_Type”,”value”:”0”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_2_Frequency”,”value”:”0.558616”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_2_Gain”,”value”:”0.5”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_2_Q”,”value”:”0.007037”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_2_Slope”,”value”:”0”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_2_Type”,”value”:”0”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_3_Frequency”,”value”:”0.558616”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_3_Gain”,”value”:”0.5”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_3_Q”,”value”:”0.007037”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_3_Slope”,”value”:”0”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_3_Type”,”value”:”0”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_4_Frequency”,”value”:”0.558616”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_4_Gain”,”value”:”0.5”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_4_Q”,”value”:”0.007037”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_4_Slope”,”value”:”0”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Band_4_Type”,”value”:”0”}, {“format”:”Norm”,”path”:”/Config/Channel4PEQ/Flatten”,”value”:”0”},{“format”:”Norm”,”path”:”/ Config/Channel4PEQ/ParametricEQ”,”value”:”0”}] DCP-555 Control API Guide...
Page 15
Config you will get a very large @subscribe message back since it contains values for ALL parameters in all objects. subscribe {“path”:”/Config”, “format”:”Norm”} subscribe {“path”:”/Config”, “format”:”Default”} The responses to these messages are far too large to show here. DCP-555 Control API Guide...
Understanding the Parameter Value Format It is important to understand the JSON format used to return parameter values in publish, @set, @get and @subscribe messages. There are various ways in which the DCP-555 server may decide to format the JSON.
For example, a subscribepoll is initially set up like so: subscribepoll { “name”:”PeakMetersDefault”, “targets”:[ “/Config/PeakMeters/In1InputLevel”, “/ Config/PeakMeters/In2InputLevel”, “/Config/PeakMeters/In3InputLevel”], “format” : “Default” } @subscribepoll DCP-555 Control API Guide...
Page 18
This could make parsing much faster on small devices. However, they do require the GUI to maintain information about the collections of parameters that it has subscribed to so that it can decode the responses. DCP-555 Control API Guide...
Need help?
Do you have a question about the DCP-555 and is the answer not in the manual?
Questions and answers