The Daemon¶
If you’re not using the provided Python or ExtendScript API, you can control DuME through a simple TCP Socket to send requests to the DuME Daemon.
By default, the Daemon listens on port 180551 but this can be changed in the DuME settings, or starting DuME with $ DuME --port 12345.
To query the Daemon, write simple JSON objects to the socket.
These objects must contain at least a string value called query, and may have an object value called data with the needed details about the query.
The Daemon replies with a JSON object containing a boolean value called error and an object or array value called data with the result of the query. The reply also contains the name and version of the Daemon.
Errors¶
In case of error, the Daemon sets the error value to true.
The data object contains details about the error:
errorType, string: The error, one of:"EmptyRequest": The request was empty."MalformedRequest": The request couldn’t be parsed."EmptyQuery": Thequeryvalue was missing in the request."UnknownQuery": Thequeryvalue is unknown.
errorDescription, string: A human-readable description of the error. This description may be localized.
Example¶
{
"error": true,
"data": {
"errorType": "EmptyQuery",
"errorDescription": "The query is not set."
},
"dume": "DuME",
"version": "1.0.0"
}
Requests¶
createGraph¶
Creates a new DuME Graph / Render Job.
Input metadata can be given inline or using sidecar metadata JSON files.
-
parameters
- input, string[]: The list of input file paths.
- meta, object[]: A list of input metadata objects. Refer to the input metadata section for more information.
- metaFiles, string[]: A list of input metadata JSON files. Refer to the input metadata section for more information.
- output, optional, string: An output file path.
- preset, optional, string: The name of an output preset.
-
Query
{
"query": "createGraph",
"data": {
"input": ["...", "..."],
"meta": [ {}, {} ],
"metaFiles": [ "...", "..." ],
"output": "...",
"preset": "..."
}
}
- Reply
{
"error": false,
"data": {},
"dume": "DuME",
"version": "1.0.0"
}
getColorProfiles¶
Lists the available internal color profiles. This does not include the OCIO profiles that your app should get from the OCIO config file.
- Query
{
"query": "getColorProfiles"
}
- Reply
{
"error": false,
"data": [
{
"description": "...",
"name": "..."
},
{
"description": "...",
"name": "..."
}
],
"dume": "DuME",
"version": "1.0.0"
}
getPresets¶
Lists the available presets.
-
Parameters
nodeType, optional, string: The type of node. One of"inputFile","outputFile","filter".filterType, optional, string: The type of filter.
-
Query
{
"query": "getPresets",
"data": {
"nodeType": "...",
"filterType": "..."
}
}
- Reply
{
"error": false,
"data": [
{
"filterType": "...",
"name": "...",
"nodeType": "..."
},
{
"filterType": "...",
"name": "...",
"nodeType": "..."
}
],
"dume": "DuME",
"version": "1.0.0"
}
ping¶
Returns some information about DuME and the Daemon. Use this query to make sure the Daemon is running and you can contact it.
- Query
{
"query": "ping"
}
- Reply
{
"error": false,
"data": {
"appDescription": "DuME - Duduf Media Encoder",
"appName": "DuME",
"version": "1.0.0"
},
"dume": "DuME",
"version": "1.0.0"
}
render¶
Launches the render queue.
-
Parameters
autoQuit, optional, boolean: Set this totrueto automatically quit DuME after the rendering process has finished.
-
Query
{
"query": "render",
"data" {
"autoQuit": false
}
}
- Reply
{
"error": false,
"data": {},
"dume": "DuME",
"version": "1.0.0"
}
-
This was chosen after the birth date of Karl Marx, May 5, 1818. ↩