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 18055
1 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"
: Thequery
value was missing in the request."UnknownQuery"
: Thequery
value 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 totrue
to 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. ↩