mirror of
https://github.com/ynput/ayon-core.git
synced 2026-01-01 08:24:53 +01:00
Merge branch 'develop' into 2.x/develop
This commit is contained in:
commit
11f7a6a7f9
21 changed files with 1946 additions and 632 deletions
|
|
@ -19,30 +19,30 @@
|
||||||
"hosts": [],
|
"hosts": [],
|
||||||
"outputs": {
|
"outputs": {
|
||||||
"h264": {
|
"h264": {
|
||||||
"filter": {
|
|
||||||
"families": [
|
|
||||||
"render",
|
|
||||||
"review",
|
|
||||||
"ftrack"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ext": "mp4",
|
"ext": "mp4",
|
||||||
|
"tags": [
|
||||||
|
"burnin",
|
||||||
|
"ftrackreview"
|
||||||
|
],
|
||||||
"ffmpeg_args": {
|
"ffmpeg_args": {
|
||||||
|
"video_filters": [],
|
||||||
|
"audio_filters": [],
|
||||||
"input": [
|
"input": [
|
||||||
"-gamma 2.2"
|
"-gamma 2.2"
|
||||||
],
|
],
|
||||||
"video_filters": [],
|
|
||||||
"audio_filters": [],
|
|
||||||
"output": [
|
"output": [
|
||||||
"-pix_fmt yuv420p",
|
"-pix_fmt yuv420p",
|
||||||
"-crf 18",
|
"-crf 18",
|
||||||
"-intra"
|
"-intra"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"tags": [
|
"filter": {
|
||||||
"burnin",
|
"families": [
|
||||||
"ftrackreview"
|
"render",
|
||||||
]
|
"review",
|
||||||
|
"ftrack"
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,32 @@
|
||||||
{
|
{
|
||||||
"blender_2.80": true,
|
"blender_2.80": false,
|
||||||
"blender_2.81": true,
|
"blender_2.81": false,
|
||||||
"blender_2.82": true,
|
"blender_2.82": false,
|
||||||
"blender_2.83": true,
|
"blender_2.83": true,
|
||||||
"celaction_local": true,
|
"celaction_local": true,
|
||||||
"celaction_remote": true,
|
"celaction_remote": true,
|
||||||
"harmony_17": true,
|
"harmony_17": true,
|
||||||
"maya_2017": true,
|
"maya_2017": false,
|
||||||
"maya_2018": true,
|
"maya_2018": false,
|
||||||
"maya_2019": true,
|
"maya_2019": true,
|
||||||
"maya_2020": true,
|
"maya_2020": true,
|
||||||
"nuke_10.0": true,
|
"nuke_10.0": false,
|
||||||
"nuke_11.2": true,
|
"nuke_11.2": false,
|
||||||
"nuke_11.3": true,
|
"nuke_11.3": true,
|
||||||
"nuke_12.0": true,
|
"nuke_12.0": true,
|
||||||
"nukex_10.0": true,
|
"nukex_10.0": false,
|
||||||
"nukex_11.2": true,
|
"nukex_11.2": false,
|
||||||
"nukex_11.3": true,
|
"nukex_11.3": true,
|
||||||
"nukex_12.0": true,
|
"nukex_12.0": true,
|
||||||
"nukestudio_10.0": true,
|
"nukestudio_10.0": false,
|
||||||
"nukestudio_11.2": true,
|
"nukestudio_11.2": false,
|
||||||
"nukestudio_11.3": true,
|
"nukestudio_11.3": true,
|
||||||
"nukestudio_12.0": true,
|
"nukestudio_12.0": true,
|
||||||
"houdini_16": true,
|
"houdini_16": false,
|
||||||
"houdini_16.5": false,
|
"houdini_16.5": false,
|
||||||
"houdini_17": true,
|
"houdini_17": false,
|
||||||
"houdini_18": true,
|
"houdini_18": true,
|
||||||
"premiere_2019": true,
|
"premiere_2019": false,
|
||||||
"premiere_2020": true,
|
"premiere_2020": true,
|
||||||
"resolve_16": true,
|
"resolve_16": true,
|
||||||
"storyboardpro_7": true,
|
"storyboardpro_7": true,
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"studio_name": "",
|
||||||
|
"studio_code": ""
|
||||||
|
}
|
||||||
88
pype/settings/defaults/system_settings/global/modules.json
Normal file
88
pype/settings/defaults/system_settings/global/modules.json
Normal file
|
|
@ -0,0 +1,88 @@
|
||||||
|
{
|
||||||
|
"Avalon": {
|
||||||
|
"AVALON_MONGO": "mongodb://localhost:2707",
|
||||||
|
"AVALON_DB_DATA": "{PYPE_SETUP_PATH}/../mongo_db_data",
|
||||||
|
"AVALON_THUMBNAIL_ROOT": "{PYPE_SETUP_PATH}/../avalon_thumails"
|
||||||
|
},
|
||||||
|
"Ftrack": {
|
||||||
|
"enabled": true,
|
||||||
|
"ftrack_server": "https://pype.ftrackapp.com",
|
||||||
|
"ftrack_actions_path": [],
|
||||||
|
"ftrack_events_path": [],
|
||||||
|
"FTRACK_EVENTS_MONGO_DB": "pype",
|
||||||
|
"FTRACK_EVENTS_MONGO_COL": "ftrack_events",
|
||||||
|
"sync_to_avalon": {
|
||||||
|
"statuses_name_change": [
|
||||||
|
"ready",
|
||||||
|
"not ready"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"status_version_to_task": {},
|
||||||
|
"status_update": {
|
||||||
|
"Ready": [
|
||||||
|
"Not Ready"
|
||||||
|
],
|
||||||
|
"In Progress": [
|
||||||
|
"_any_"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"intent": {
|
||||||
|
"items": {
|
||||||
|
"-": "-",
|
||||||
|
"wip": "WIP",
|
||||||
|
"final": "Final",
|
||||||
|
"test": "Test"
|
||||||
|
},
|
||||||
|
"default": "-"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Rest Api": {
|
||||||
|
"default_port": 8021,
|
||||||
|
"exclude_ports": []
|
||||||
|
},
|
||||||
|
"Timers Manager": {
|
||||||
|
"enabled": true,
|
||||||
|
"full_time": 15.0,
|
||||||
|
"message_time": 0.5
|
||||||
|
},
|
||||||
|
"Clockify": {
|
||||||
|
"enabled": true,
|
||||||
|
"workspace_name": "studio name"
|
||||||
|
},
|
||||||
|
"Deadline": {
|
||||||
|
"enabled": true,
|
||||||
|
"DEADLINE_REST_URL": "http://localhost:8082"
|
||||||
|
},
|
||||||
|
"Muster": {
|
||||||
|
"enabled": false,
|
||||||
|
"MUSTER_REST_URL": "",
|
||||||
|
"templates_mapping": {
|
||||||
|
"file_layers": 7,
|
||||||
|
"mentalray": 2,
|
||||||
|
"mentalray_sf": 6,
|
||||||
|
"redshift": 55,
|
||||||
|
"renderman": 29,
|
||||||
|
"software": 1,
|
||||||
|
"software_sf": 5,
|
||||||
|
"turtle": 10,
|
||||||
|
"vector": 4,
|
||||||
|
"vray": 37,
|
||||||
|
"ffmpeg": 48
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Logging": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"Adobe Communicator": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"User setting": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"Standalone Publish": {
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"Idle Manager": {
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"mtoa_3.0.1": true,
|
"mtoa_3.0.1": false,
|
||||||
"mtoa_3.1.1": true,
|
"mtoa_3.1.1": false,
|
||||||
"mtoa_3.2.0": true,
|
"mtoa_3.2.0": true,
|
||||||
"yeti_2.1.2": true
|
"yeti_2.1.2": true
|
||||||
}
|
}
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
{
|
|
||||||
"item_usage": {
|
|
||||||
"User settings": false,
|
|
||||||
"Ftrack": true,
|
|
||||||
"Muster": false,
|
|
||||||
"Avalon": true,
|
|
||||||
"Clockify": false,
|
|
||||||
"Standalone Publish": true,
|
|
||||||
"Logging": true,
|
|
||||||
"Idle Manager": true,
|
|
||||||
"Timers Manager": true,
|
|
||||||
"Rest Api": true,
|
|
||||||
"Adobe Communicator": true
|
|
||||||
},
|
|
||||||
"attributes": {
|
|
||||||
"Rest Api": {
|
|
||||||
"default_port": 8021,
|
|
||||||
"exclude_ports": []
|
|
||||||
},
|
|
||||||
"Timers Manager": {
|
|
||||||
"full_time": 15.0,
|
|
||||||
"message_time": 0.5
|
|
||||||
},
|
|
||||||
"Clockify": {
|
|
||||||
"workspace_name": ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
336
pype/tools/settings/settings/README.md
Normal file
336
pype/tools/settings/settings/README.md
Normal file
|
|
@ -0,0 +1,336 @@
|
||||||
|
# Creating GUI schemas
|
||||||
|
|
||||||
|
## Basic rules
|
||||||
|
- configurations does not define GUI, but GUI defines configurations!
|
||||||
|
- output is always json (yaml is not needed for anatomy templates anymore)
|
||||||
|
- GUI schema has multiple input types, all inputs are represented by a dictionary
|
||||||
|
- each input may have "input modifiers" (keys in dictionary) that are required or optional
|
||||||
|
- only required modifier for all input items is key `"type"` which says what type of item it is
|
||||||
|
- there are special keys across all inputs
|
||||||
|
- `"is_file"` - this key is for storing pype defaults in `pype` repo
|
||||||
|
- reasons of existence: developing new schemas does not require to create defaults manually
|
||||||
|
- key is validated, must be once in hierarchy else it won't be possible to store pype defaults
|
||||||
|
- `"is_group"` - define that all values under key in hierarchy will be overriden if any value is modified, this information is also stored to overrides
|
||||||
|
- this keys is not allowed for all inputs as they may have not reason for that
|
||||||
|
- key is validated, can be only once in hierarchy but is not required
|
||||||
|
- currently there are `system configurations` and `project configurations`
|
||||||
|
|
||||||
|
## Inner schema
|
||||||
|
- GUI schemas are huge json files, to be able to split whole configuration into multiple schema there's type `schema`
|
||||||
|
- system configuration schemas are stored in `~/tools/settings/settings/gui_schemas/system_schema/` and project configurations in `~/tools/settings/settings/gui_schemas/projects_schema/`
|
||||||
|
- each schema name is filename of json file except extension (without ".json")
|
||||||
|
|
||||||
|
### schema
|
||||||
|
- can have only key `"children"` which is list of strings, each string should represent another schema (order matters) string represebts name of the schema
|
||||||
|
- will just paste schemas from other schema file in order of "children" list
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "schema",
|
||||||
|
"name": "my_schema_name"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Basic Dictionary inputs
|
||||||
|
- these inputs wraps another inputs into {key: value} relation
|
||||||
|
|
||||||
|
### dict-invisible
|
||||||
|
- this input gives ability to wrap another inputs but keep them in same widget without visible divider
|
||||||
|
- this is for example used as first input widget
|
||||||
|
- has required keys `"key"` and `"children"`
|
||||||
|
- "children" says what children inputs are underneath
|
||||||
|
- "key" is key under which will be stored value from it's children
|
||||||
|
- output is dictionary `{the "key": children values}`
|
||||||
|
- can't have `"is_group"` key set to True as it breaks visual override showing
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "dict-invisible",
|
||||||
|
"key": "global",
|
||||||
|
"children": [
|
||||||
|
...ITEMS...
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## dict
|
||||||
|
- this is another dictionary input wrapping more inputs but visually makes them different
|
||||||
|
- item may be used as widget (in `list` or `dict-modifiable`)
|
||||||
|
- in that case the only key modifier is `children` which is list of it's keys
|
||||||
|
- USAGE: e.g. List of dictionaries where each dictionary have same structure.
|
||||||
|
- item options if is not used as widget
|
||||||
|
- required keys are `"key"` under which will be stored and `"label"` which will be shown in GUI
|
||||||
|
- this input can be expandable
|
||||||
|
- that can be set with key `"expandable"` as `True`/`False` (Default: `True`)
|
||||||
|
- with key `"expanded"` as `True`/`False` can be set that is expanded when GUI is opened (Default: `False`)
|
||||||
|
- it is possible to add darker background with `"highlight_content"` (Default: `False`)
|
||||||
|
- darker background has limits of maximum applies after 3-4 nested highlighted items there is not difference in the color
|
||||||
|
```
|
||||||
|
# Example
|
||||||
|
{
|
||||||
|
"key": "applications",
|
||||||
|
"type": "dict",
|
||||||
|
"label": "Applications",
|
||||||
|
"expandable": true,
|
||||||
|
"highlight_content": true,
|
||||||
|
"is_group": true,
|
||||||
|
"is_file": true,
|
||||||
|
"children": [
|
||||||
|
...ITEMS...
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
# When used as widget
|
||||||
|
{
|
||||||
|
"type": "list",
|
||||||
|
"key": "profiles",
|
||||||
|
"label": "Profiles",
|
||||||
|
"object_type": "dict-item",
|
||||||
|
"input_modifiers": {
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"key": "families",
|
||||||
|
"label": "Families",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}, {
|
||||||
|
"key": "hosts",
|
||||||
|
"label": "Hosts",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}
|
||||||
|
...
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Inputs for setting any kind of value (`Pure` inputs)
|
||||||
|
- all these input must have defined `"key"` under which will be stored and `"label"` which will be shown next to input
|
||||||
|
- unless they are used in different types of inputs (later) "as widgets" in that case `"key"` and `"label"` are not required as there is not place where to set them
|
||||||
|
|
||||||
|
### boolean
|
||||||
|
- simple checkbox, nothing more to set
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "my_boolean_key",
|
||||||
|
"label": "Do you want to use Pype?"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### number
|
||||||
|
- number input, can be used for both integer and float
|
||||||
|
- key `"decimal"` defines how many decimal places will be used, 0 is for integer input (Default: `0`)
|
||||||
|
- key `"minimum"` as minimum allowed number to enter (Default: `-99999`)
|
||||||
|
- key `"maxium"` as maximum allowed number to enter (Default: `99999`)
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "number",
|
||||||
|
"key": "fps",
|
||||||
|
"label": "Frame rate (FPS)"
|
||||||
|
"decimal": 2,
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 300000
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### text
|
||||||
|
- simple text input
|
||||||
|
- key `"multiline"` allows to enter multiple lines of text (Default: `False`)
|
||||||
|
- key `"placeholder"` allows to show text inside input when is empty (Default: `None`)
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "deadline_pool",
|
||||||
|
"label": "Deadline pool"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### path-input
|
||||||
|
- enhanced text input
|
||||||
|
- does not allow to enter backslash, is auto-converted to forward slash
|
||||||
|
- may be added another validations, like do not allow end path with slash
|
||||||
|
- this input is implemented to add additional features to text input
|
||||||
|
- this is meant to be used in proxy input `path-widget`
|
||||||
|
- DO NOT USE this input in schema please
|
||||||
|
|
||||||
|
### raw-json
|
||||||
|
- a little bit enhanced text input for raw json
|
||||||
|
- has validations of json format
|
||||||
|
- empty value is invalid value, always must be at least `{}` of `[]`
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "raw-json",
|
||||||
|
"key": "profiles",
|
||||||
|
"label": "Extract Review profiles"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Inputs for setting value using Pure inputs
|
||||||
|
- these inputs also have required `"key"` and `"label"`
|
||||||
|
- they use Pure inputs "as widgets"
|
||||||
|
|
||||||
|
### list
|
||||||
|
- output is list
|
||||||
|
- items can be added and removed
|
||||||
|
- items in list must be the same type
|
||||||
|
- type of items is defined with key `"object_type"` where Pure input name is entered (e.g. `number`)
|
||||||
|
- because Pure inputs may have modifiers (`number` input has `minimum`, `maximum` and `decimals`) you can set these in key `"input_modifiers"`
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "number",
|
||||||
|
"key": "exclude_ports",
|
||||||
|
"label": "Exclude ports",
|
||||||
|
"input_modifiers": {
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### dict-modifiable
|
||||||
|
- one of dictionary inputs, this is only used as value input
|
||||||
|
- items in this input can be removed and added same way as in `list` input
|
||||||
|
- value items in dictionary must be the same type
|
||||||
|
- type of items is defined with key `"object_type"` where Pure input name is entered (e.g. `number`)
|
||||||
|
- because Pure inputs may have modifiers (`number` input has `minimum`, `maximum` and `decimals`) you can set these in key `"input_modifiers"`
|
||||||
|
- this input can be expandable
|
||||||
|
- that can be set with key `"expandable"` as `True`/`False` (Default: `True`)
|
||||||
|
- with key `"expanded"` as `True`/`False` can be set that is expanded when GUI is opened (Default: `False`)
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "dict-modifiable",
|
||||||
|
"object_type": "number",
|
||||||
|
"input_modifiers": {
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 300
|
||||||
|
},
|
||||||
|
"is_group": true,
|
||||||
|
"key": "templates_mapping",
|
||||||
|
"label": "Muster - Templates mapping",
|
||||||
|
"is_file": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### path-widget
|
||||||
|
- input for paths, use `path-input` internally
|
||||||
|
- has 2 input modifiers `"multiplatform"` and `"multipath"`
|
||||||
|
- `"multiplatform"` - adds `"windows"`, `"linux"` and `"darwin"` path inputs result is dictionary
|
||||||
|
- `"multipath"` - it is possible to enter multiple paths
|
||||||
|
- if both are enabled result is dictionary with lists
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "path-widget",
|
||||||
|
"key": "ffmpeg_path",
|
||||||
|
"label": "FFmpeg path",
|
||||||
|
"multiplatform": true,
|
||||||
|
"multipath": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### list-strict
|
||||||
|
- input for strict number of items in list
|
||||||
|
- each child item can be different type with different possible modifiers
|
||||||
|
- it is possible to display them in horizontal or vertical layout
|
||||||
|
- key `"horizontal"` as `True`/`False` (Default: `True`)
|
||||||
|
- each child may have defined `"label"` which is shown next to input
|
||||||
|
- label does not reflect modifications or overrides (TODO)
|
||||||
|
- children item are defined under key `"object_types"` which is list of dictionaries
|
||||||
|
- key `"children"` is not used because is used for hierarchy validations in schema
|
||||||
|
- USAGE: For colors, transformations, etc. Custom number and different modifiers
|
||||||
|
give ability to define if color is HUE or RGB, 0-255, 0-1, 0-100 etc.
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "list-strict",
|
||||||
|
"key": "color",
|
||||||
|
"label": "Color",
|
||||||
|
"object_types": [
|
||||||
|
{
|
||||||
|
"label": "Red",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Green",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Blue",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Alpha",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 1,
|
||||||
|
"decimal": 6
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Noninteractive widgets
|
||||||
|
- have nothing to do with data
|
||||||
|
|
||||||
|
### label
|
||||||
|
- add label with note or explanations
|
||||||
|
- it is possible to use html tags inside the label
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"label": "<span style=\"color:#FF0000\";>RED LABEL:</span> Normal label"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### splitter
|
||||||
|
- visual splitter of items (more divider than splitter)
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "splitter"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Proxy wrappers
|
||||||
|
- should wraps multiple inputs only visually
|
||||||
|
- these does not have `"key"` key and do not allow to have `"is_file"` or `"is_group"` modifiers enabled
|
||||||
|
|
||||||
|
### form
|
||||||
|
- DEPRECATED
|
||||||
|
- may be used only in `dict` and `dict-invisible` where is currently used grid layout so form is not needed
|
||||||
|
- item is kept as still may be used in specific cases
|
||||||
|
- wraps inputs into form look layout
|
||||||
|
- should be used only for Pure inputs
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"type": "dict-form",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "deadline_department",
|
||||||
|
"label": "Deadline apartment"
|
||||||
|
}, {
|
||||||
|
"type": "number",
|
||||||
|
"key": "deadline_priority",
|
||||||
|
"label": "Deadline priority"
|
||||||
|
}, {
|
||||||
|
...
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
@ -22,9 +22,7 @@
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"type": "schema",
|
"type": "schema",
|
||||||
"children": [
|
"name": "1_plugins_gui_schema"
|
||||||
"1_plugins_gui_schema"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,34 +30,29 @@
|
||||||
"key": "enabled",
|
"key": "enabled",
|
||||||
"label": "Enabled"
|
"label": "Enabled"
|
||||||
}, {
|
}, {
|
||||||
"type": "dict-form",
|
"type": "text",
|
||||||
"children": [
|
"key": "deadline_department",
|
||||||
{
|
"label": "Deadline apartment"
|
||||||
"type": "text",
|
}, {
|
||||||
"key": "deadline_department",
|
"type": "number",
|
||||||
"label": "Deadline apartment"
|
"key": "deadline_priority",
|
||||||
}, {
|
"label": "Deadline priority"
|
||||||
"type": "number",
|
}, {
|
||||||
"key": "deadline_priority",
|
"type": "text",
|
||||||
"label": "Deadline priority"
|
"key": "deadline_pool",
|
||||||
}, {
|
"label": "Deadline pool"
|
||||||
"type": "text",
|
}, {
|
||||||
"key": "deadline_pool",
|
"type": "text",
|
||||||
"label": "Deadline pool"
|
"key": "deadline_pool_secondary",
|
||||||
}, {
|
"label": "Deadline pool (secondary)"
|
||||||
"type": "text",
|
}, {
|
||||||
"key": "deadline_pool_secondary",
|
"type": "text",
|
||||||
"label": "Deadline pool (secondary)"
|
"key": "deadline_group",
|
||||||
}, {
|
"label": "Deadline Group"
|
||||||
"type": "text",
|
}, {
|
||||||
"key": "deadline_group",
|
"type": "number",
|
||||||
"label": "Deadline Group"
|
"key": "deadline_chunk_size",
|
||||||
}, {
|
"label": "Deadline Chunk size"
|
||||||
"type": "number",
|
|
||||||
"key": "deadline_chunk_size",
|
|
||||||
"label": "Deadline Chunk size"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
@ -174,9 +169,94 @@
|
||||||
"key": "enabled",
|
"key": "enabled",
|
||||||
"label": "Enabled"
|
"label": "Enabled"
|
||||||
}, {
|
}, {
|
||||||
"type": "raw-json",
|
"type": "list",
|
||||||
"key": "profiles",
|
"key": "profiles",
|
||||||
"label": "Profiles"
|
"label": "Profiles",
|
||||||
|
"object_type": "dict",
|
||||||
|
"input_modifiers": {
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"key": "families",
|
||||||
|
"label": "Families",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}, {
|
||||||
|
"key": "hosts",
|
||||||
|
"label": "Hosts",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}, {
|
||||||
|
"type": "splitter"
|
||||||
|
}, {
|
||||||
|
"key": "outputs",
|
||||||
|
"label": "Output Definitions",
|
||||||
|
"type": "dict-modifiable",
|
||||||
|
"highlight_content": true,
|
||||||
|
"object_type": "dict",
|
||||||
|
"input_modifiers": {
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"key": "ext",
|
||||||
|
"label": "Output extension",
|
||||||
|
"type": "text"
|
||||||
|
}, {
|
||||||
|
"key": "tags",
|
||||||
|
"label": "Tags",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}, {
|
||||||
|
"key": "ffmpeg_args",
|
||||||
|
"label": "FFmpeg arguments",
|
||||||
|
"type": "dict",
|
||||||
|
"highlight_content": true,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"key": "video_filters",
|
||||||
|
"label": "Video filters",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}, {
|
||||||
|
"type": "splitter"
|
||||||
|
}, {
|
||||||
|
"key": "audio_filters",
|
||||||
|
"label": "Audio filters",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}, {
|
||||||
|
"type": "splitter"
|
||||||
|
}, {
|
||||||
|
"key": "input",
|
||||||
|
"label": "Input arguments",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}, {
|
||||||
|
"type": "splitter"
|
||||||
|
}, {
|
||||||
|
"key": "output",
|
||||||
|
"label": "Output arguments",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"key": "filter",
|
||||||
|
"label": "Additional output filtering",
|
||||||
|
"type": "dict",
|
||||||
|
"highlight_content": true,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"key": "families",
|
||||||
|
"label": "Families",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}, {
|
}, {
|
||||||
|
|
@ -614,6 +694,52 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "dict",
|
||||||
|
"collapsable": true,
|
||||||
|
"key": "standalonepublisher",
|
||||||
|
"label": "Standalone Publisher",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "dict",
|
||||||
|
"collapsable": true,
|
||||||
|
"key": "publish",
|
||||||
|
"label": "Publish plugins",
|
||||||
|
"is_file": true,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "dict",
|
||||||
|
"collapsable": true,
|
||||||
|
"key": "ExtractThumbnailSP",
|
||||||
|
"label": "ExtractThumbnailSP",
|
||||||
|
"is_group": true,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "dict",
|
||||||
|
"collapsable": false,
|
||||||
|
"key": "ffmpeg_args",
|
||||||
|
"label": "ffmpeg_args",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text",
|
||||||
|
"key": "input",
|
||||||
|
"label": "input"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text",
|
||||||
|
"key": "output",
|
||||||
|
"label": "output"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,27 +7,16 @@
|
||||||
"key": "global",
|
"key": "global",
|
||||||
"children": [{
|
"children": [{
|
||||||
"type": "schema",
|
"type": "schema",
|
||||||
"children": [
|
"name": "1_intents_gui_schema"
|
||||||
"1_tray_items",
|
},{
|
||||||
"1_applications_gui_schema",
|
"type": "schema",
|
||||||
"1_tools_gui_schema",
|
"name": "1_modules_gui_schema"
|
||||||
"1_intents_gui_schema"
|
}, {
|
||||||
]
|
"type": "schema",
|
||||||
}]
|
"name": "1_applications_gui_schema"
|
||||||
}, {
|
}, {
|
||||||
"type": "dict-invisible",
|
"type": "schema",
|
||||||
"key": "muster",
|
"name": "1_tools_gui_schema"
|
||||||
"children": [{
|
|
||||||
"type": "dict-modifiable",
|
|
||||||
"object_type": "number",
|
|
||||||
"input_modifiers": {
|
|
||||||
"minimum": 0,
|
|
||||||
"maximum": 300
|
|
||||||
},
|
|
||||||
"is_group": true,
|
|
||||||
"key": "templates_mapping",
|
|
||||||
"label": "Muster - Templates mapping",
|
|
||||||
"is_file": true
|
|
||||||
}]
|
}]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -7,138 +7,133 @@
|
||||||
"is_file": true,
|
"is_file": true,
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"type": "dict-form",
|
"type": "boolean",
|
||||||
"children": [
|
"key": "blender_2.80",
|
||||||
{
|
"label": "Blender 2.80"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "blender_2.80",
|
"type": "boolean",
|
||||||
"label": "Blender 2.80"
|
"key": "blender_2.81",
|
||||||
}, {
|
"label": "Blender 2.81"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "blender_2.81",
|
"type": "boolean",
|
||||||
"label": "Blender 2.81"
|
"key": "blender_2.82",
|
||||||
}, {
|
"label": "Blender 2.82"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "blender_2.82",
|
"type": "boolean",
|
||||||
"label": "Blender 2.82"
|
"key": "blender_2.83",
|
||||||
}, {
|
"label": "Blender 2.83"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "blender_2.83",
|
"type": "boolean",
|
||||||
"label": "Blender 2.83"
|
"key": "celaction_local",
|
||||||
}, {
|
"label": "Celaction Local"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "celaction_local",
|
"type": "boolean",
|
||||||
"label": "Celaction Local"
|
"key": "celaction_remote",
|
||||||
}, {
|
"label": "Celaction Remote"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "celaction_remote",
|
"type": "boolean",
|
||||||
"label": "Celaction Remote"
|
"key": "harmony_17",
|
||||||
}, {
|
"label": "Harmony 17"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "harmony_17",
|
"type": "boolean",
|
||||||
"label": "Harmony 17"
|
"key": "maya_2017",
|
||||||
}, {
|
"label": "Autodest Maya 2017"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "maya_2017",
|
"type": "boolean",
|
||||||
"label": "Autodest Maya 2017"
|
"key": "maya_2018",
|
||||||
}, {
|
"label": "Autodest Maya 2018"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "maya_2018",
|
"type": "boolean",
|
||||||
"label": "Autodest Maya 2018"
|
"key": "maya_2019",
|
||||||
}, {
|
"label": "Autodest Maya 2019"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "maya_2019",
|
"type": "boolean",
|
||||||
"label": "Autodest Maya 2019"
|
"key": "maya_2020",
|
||||||
}, {
|
"label": "Autodest Maya 2020"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "maya_2020",
|
"key": "nuke_10.0",
|
||||||
"label": "Autodest Maya 2020"
|
"type": "boolean",
|
||||||
}, {
|
"label": "Nuke 10.0"
|
||||||
"key": "nuke_10.0",
|
}, {
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"label": "Nuke 10.0"
|
"key": "nuke_11.2",
|
||||||
}, {
|
"label": "Nuke 11.2"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nuke_11.2",
|
"type": "boolean",
|
||||||
"label": "Nuke 11.2"
|
"key": "nuke_11.3",
|
||||||
}, {
|
"label": "Nuke 11.3"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nuke_11.3",
|
"type": "boolean",
|
||||||
"label": "Nuke 11.3"
|
"key": "nuke_12.0",
|
||||||
}, {
|
"label": "Nuke 12.0"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nuke_12.0",
|
"type": "boolean",
|
||||||
"label": "Nuke 12.0"
|
"key": "nukex_10.0",
|
||||||
}, {
|
"label": "NukeX 10.0"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nukex_10.0",
|
"type": "boolean",
|
||||||
"label": "NukeX 10.0"
|
"key": "nukex_11.2",
|
||||||
}, {
|
"label": "NukeX 11.2"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nukex_11.2",
|
"type": "boolean",
|
||||||
"label": "NukeX 11.2"
|
"key": "nukex_11.3",
|
||||||
}, {
|
"label": "NukeX 11.3"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nukex_11.3",
|
"type": "boolean",
|
||||||
"label": "NukeX 11.3"
|
"key": "nukex_12.0",
|
||||||
}, {
|
"label": "NukeX 12.0"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nukex_12.0",
|
"type": "boolean",
|
||||||
"label": "NukeX 12.0"
|
"key": "nukestudio_10.0",
|
||||||
}, {
|
"label": "NukeStudio 10.0"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nukestudio_10.0",
|
"type": "boolean",
|
||||||
"label": "NukeStudio 10.0"
|
"key": "nukestudio_11.2",
|
||||||
}, {
|
"label": "NukeStudio 11.2"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nukestudio_11.2",
|
"type": "boolean",
|
||||||
"label": "NukeStudio 11.2"
|
"key": "nukestudio_11.3",
|
||||||
}, {
|
"label": "NukeStudio 11.3"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nukestudio_11.3",
|
"type": "boolean",
|
||||||
"label": "NukeStudio 11.3"
|
"key": "nukestudio_12.0",
|
||||||
}, {
|
"label": "NukeStudio 12.0"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "nukestudio_12.0",
|
"type": "boolean",
|
||||||
"label": "NukeStudio 12.0"
|
"key": "houdini_16",
|
||||||
}, {
|
"label": "Houdini 16"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "houdini_16",
|
"type": "boolean",
|
||||||
"label": "Houdini 16"
|
"key": "houdini_16.5",
|
||||||
}, {
|
"label": "Houdini 16.5"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "houdini_16.5",
|
"type": "boolean",
|
||||||
"label": "Houdini 16.5"
|
"key": "houdini_17",
|
||||||
}, {
|
"label": "Houdini 17"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "houdini_17",
|
"type": "boolean",
|
||||||
"label": "Houdini 17"
|
"key": "houdini_18",
|
||||||
}, {
|
"label": "Houdini 18"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "houdini_18",
|
"type": "boolean",
|
||||||
"label": "Houdini 18"
|
"key": "premiere_2019",
|
||||||
}, {
|
"label": "Premiere 2019"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "premiere_2019",
|
"type": "boolean",
|
||||||
"label": "Premiere 2019"
|
"key": "premiere_2020",
|
||||||
}, {
|
"label": "Premiere 2020"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "premiere_2020",
|
"type": "boolean",
|
||||||
"label": "Premiere 2020"
|
"key": "resolve_16",
|
||||||
}, {
|
"label": "BM DaVinci Resolve 16"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "resolve_16",
|
"type": "boolean",
|
||||||
"label": "BM DaVinci Resolve 16"
|
"key": "storyboardpro_7",
|
||||||
}, {
|
"label": "Storyboard Pro 7"
|
||||||
"type": "boolean",
|
}, {
|
||||||
"key": "storyboardpro_7",
|
"type": "boolean",
|
||||||
"label": "Storyboard Pro 7"
|
"key": "unreal_4.24",
|
||||||
}, {
|
"label": "Unreal Editor 4.24"
|
||||||
"type": "boolean",
|
|
||||||
"key": "unreal_4.24",
|
|
||||||
"label": "Unreal Editor 4.24"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,6 +72,144 @@
|
||||||
"minimum": 10,
|
"minimum": 10,
|
||||||
"maximum": 100
|
"maximum": 100
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
"type": "list-strict",
|
||||||
|
"key": "strict_list_labels_horizontal",
|
||||||
|
"label": "StrictList-labels-horizontal (color)",
|
||||||
|
"object_types": [
|
||||||
|
{
|
||||||
|
"label": "Red",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Green",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Blue",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Alpha",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 1,
|
||||||
|
"decimal": 6
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"type": "list-strict",
|
||||||
|
"key": "strict_list_labels_vertical",
|
||||||
|
"label": "StrictList-labels-vertical (color)",
|
||||||
|
"horizontal": false,
|
||||||
|
"object_types": [
|
||||||
|
{
|
||||||
|
"label": "Red",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Green",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Blue",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"label": "Alpha",
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 1,
|
||||||
|
"decimal": 6
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"type": "list-strict",
|
||||||
|
"key": "strict_list_nolabels_horizontal",
|
||||||
|
"label": "StrictList-nolabels-horizontal (color)",
|
||||||
|
"object_types": [
|
||||||
|
{
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 1,
|
||||||
|
"decimal": 6
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"type": "list-strict",
|
||||||
|
"key": "strict_list_nolabels_vertical",
|
||||||
|
"label": "StrictList-nolabels-vertical (color)",
|
||||||
|
"horizontal": false,
|
||||||
|
"object_types": [
|
||||||
|
{
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 255,
|
||||||
|
"decimal": 0
|
||||||
|
}, {
|
||||||
|
"type": "number",
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 1,
|
||||||
|
"decimal": 6
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"type": "list",
|
||||||
|
"key": "dict_item",
|
||||||
|
"label": "DictItem in List",
|
||||||
|
"object_type": "dict-item",
|
||||||
|
"input_modifiers": {
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"key": "families",
|
||||||
|
"label": "Families",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}, {
|
||||||
|
"key": "hosts",
|
||||||
|
"label": "Hosts",
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}, {
|
}, {
|
||||||
"type": "path-widget",
|
"type": "path-widget",
|
||||||
"key": "single_path_input",
|
"key": "single_path_input",
|
||||||
|
|
@ -207,7 +345,7 @@
|
||||||
"label": "Inputs with form",
|
"label": "Inputs with form",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"type": "dict-form",
|
"type": "form",
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,16 @@
|
||||||
{
|
{
|
||||||
"key": "intent",
|
"key": "general",
|
||||||
"type": "dict",
|
"type": "dict",
|
||||||
"label": "Intent Setting",
|
"label": "General",
|
||||||
"collapsable": true,
|
"collapsable": true,
|
||||||
"is_group": true,
|
"is_file": true,
|
||||||
"is_file": true,
|
"children": [{
|
||||||
"children": [
|
"key": "studio_name",
|
||||||
{
|
"type": "text",
|
||||||
"type": "dict-modifiable",
|
"label": "Studio Name"
|
||||||
"object_type": "text",
|
},{
|
||||||
"key": "items",
|
"key": "studio_code",
|
||||||
"label": "Intent Key/Label"
|
"type": "text",
|
||||||
}, {
|
"label": "Studio Short Code"
|
||||||
"type": "text",
|
}
|
||||||
"key": "default",
|
]}
|
||||||
"label": "Default intent"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,283 @@
|
||||||
|
{
|
||||||
|
"key": "modules",
|
||||||
|
"type": "dict",
|
||||||
|
"label": "Modules",
|
||||||
|
"collapsable": true,
|
||||||
|
"is_file": true,
|
||||||
|
"children": [{
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Avalon",
|
||||||
|
"label": "Avalon",
|
||||||
|
"collapsable": true,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "AVALON_MONGO",
|
||||||
|
"label": "Avalon Mongo URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "AVALON_DB_DATA",
|
||||||
|
"label": "Avalon Mongo Data Location"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "AVALON_THUMBNAIL_ROOT",
|
||||||
|
"label": "Thumbnail Storage Location"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},{
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Ftrack",
|
||||||
|
"label": "Ftrack",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "ftrack_server",
|
||||||
|
"label": "Server"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"label": "Additional Ftrack paths"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "list",
|
||||||
|
"key": "ftrack_actions_path",
|
||||||
|
"label": "Action paths",
|
||||||
|
"object_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "list",
|
||||||
|
"key": "ftrack_events_path",
|
||||||
|
"label": "Event paths",
|
||||||
|
"object_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "label",
|
||||||
|
"label": "Ftrack event server advanced settings"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "FTRACK_EVENTS_MONGO_DB",
|
||||||
|
"label": "Event Mongo DB"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "FTRACK_EVENTS_MONGO_COL",
|
||||||
|
"label": "Events Mongo Collection"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "dict",
|
||||||
|
"key": "sync_to_avalon",
|
||||||
|
"label": "Sync to avalon",
|
||||||
|
"children": [{
|
||||||
|
"type": "list",
|
||||||
|
"key": "statuses_name_change",
|
||||||
|
"label": "Status name change",
|
||||||
|
"object_type": "text",
|
||||||
|
"input_modifiers": {
|
||||||
|
"multiline": false
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "dict-modifiable",
|
||||||
|
"key": "status_version_to_task",
|
||||||
|
"label": "Version to Task status mapping",
|
||||||
|
"object_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "dict-modifiable",
|
||||||
|
"key": "status_update",
|
||||||
|
"label": "Status Updates",
|
||||||
|
"object_type": "list",
|
||||||
|
"input_modifiers": {
|
||||||
|
"object_type": "text"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "intent",
|
||||||
|
"type": "dict-invisible",
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "dict-modifiable",
|
||||||
|
"object_type": "text",
|
||||||
|
"key": "items",
|
||||||
|
"label": "Intent Key/Label"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "default",
|
||||||
|
"type": "text",
|
||||||
|
"label": "Defautl Intent"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Rest Api",
|
||||||
|
"label": "Rest Api",
|
||||||
|
"collapsable": true,
|
||||||
|
"children": [{
|
||||||
|
"type": "number",
|
||||||
|
"key": "default_port",
|
||||||
|
"label": "Default Port",
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "list",
|
||||||
|
"object_type": "number",
|
||||||
|
"key": "exclude_ports",
|
||||||
|
"label": "Exclude ports",
|
||||||
|
"input_modifiers": {
|
||||||
|
"minimum": 1,
|
||||||
|
"maximum": 65535
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Timers Manager",
|
||||||
|
"label": "Timers Manager",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "number",
|
||||||
|
"decimal": 2,
|
||||||
|
"key": "full_time",
|
||||||
|
"label": "Max idle time"
|
||||||
|
}, {
|
||||||
|
"type": "number",
|
||||||
|
"decimal": 2,
|
||||||
|
"key": "message_time",
|
||||||
|
"label": "When dialog will show"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Clockify",
|
||||||
|
"label": "Clockify",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "text",
|
||||||
|
"key": "workspace_name",
|
||||||
|
"label": "Workspace name"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Deadline",
|
||||||
|
"label": "Deadline",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
},{
|
||||||
|
"type": "text",
|
||||||
|
"key": "DEADLINE_REST_URL",
|
||||||
|
"label": "Deadline Resl URL"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Muster",
|
||||||
|
"label": "Muster",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
},{
|
||||||
|
"type": "text",
|
||||||
|
"key": "MUSTER_REST_URL",
|
||||||
|
"label": "Muster Resl URL"
|
||||||
|
},{
|
||||||
|
"type": "dict-modifiable",
|
||||||
|
"object_type": "number",
|
||||||
|
"input_modifiers": {
|
||||||
|
"minimum": 0,
|
||||||
|
"maximum": 300
|
||||||
|
},
|
||||||
|
"is_group": true,
|
||||||
|
"key": "templates_mapping",
|
||||||
|
"label": "Templates mapping",
|
||||||
|
"is_file": true
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Logging",
|
||||||
|
"label": "Logging",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Adobe Communicator",
|
||||||
|
"label": "Adobe Communicator",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "User setting",
|
||||||
|
"label": "User setting",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Standalone Publish",
|
||||||
|
"label": "Standalone Publish",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
}]
|
||||||
|
}, {
|
||||||
|
"type": "dict",
|
||||||
|
"key": "Idle Manager",
|
||||||
|
"label": "Idle Manager",
|
||||||
|
"collapsable": true,
|
||||||
|
"checkbox_key": "enabled",
|
||||||
|
"children": [{
|
||||||
|
"type": "boolean",
|
||||||
|
"key": "enabled",
|
||||||
|
"label": "Enabled"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -7,26 +7,21 @@
|
||||||
"is_file": true,
|
"is_file": true,
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"type": "dict-form",
|
"key": "mtoa_3.0.1",
|
||||||
"children": [
|
"type": "boolean",
|
||||||
{
|
"label": "Arnold Maya 3.0.1"
|
||||||
"key": "mtoa_3.0.1",
|
}, {
|
||||||
"type": "boolean",
|
"key": "mtoa_3.1.1",
|
||||||
"label": "Arnold Maya 3.0.1"
|
"type": "boolean",
|
||||||
}, {
|
"label": "Arnold Maya 3.1.1"
|
||||||
"key": "mtoa_3.1.1",
|
}, {
|
||||||
"type": "boolean",
|
"key": "mtoa_3.2.0",
|
||||||
"label": "Arnold Maya 3.1.1"
|
"type": "boolean",
|
||||||
}, {
|
"label": "Arnold Maya 3.2.0"
|
||||||
"key": "mtoa_3.2.0",
|
}, {
|
||||||
"type": "boolean",
|
"key": "yeti_2.1.2",
|
||||||
"label": "Arnold Maya 3.2.0"
|
"type": "boolean",
|
||||||
}, {
|
"label": "Yeti 2.1.2"
|
||||||
"key": "yeti_2.1.2",
|
|
||||||
"type": "boolean",
|
|
||||||
"label": "Yeti 2.1.2"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
{
|
|
||||||
"key": "tray_modules",
|
|
||||||
"type": "dict",
|
|
||||||
"label": "Modules",
|
|
||||||
"collapsable": true,
|
|
||||||
"is_group": true,
|
|
||||||
"is_file": true,
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"key": "item_usage",
|
|
||||||
"type": "dict-invisible",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"type": "dict-form",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "User settings",
|
|
||||||
"label": "User settings"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Ftrack",
|
|
||||||
"label": "Ftrack"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Muster",
|
|
||||||
"label": "Muster"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Avalon",
|
|
||||||
"label": "Avalon"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Clockify",
|
|
||||||
"label": "Clockify"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Standalone Publish",
|
|
||||||
"label": "Standalone Publish"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Logging",
|
|
||||||
"label": "Logging"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Idle Manager",
|
|
||||||
"label": "Idle Manager"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Timers Manager",
|
|
||||||
"label": "Timers Manager"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Rest Api",
|
|
||||||
"label": "Rest Api"
|
|
||||||
}, {
|
|
||||||
"type": "boolean",
|
|
||||||
"key": "Adobe Communicator",
|
|
||||||
"label": "Adobe Communicator"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}, {
|
|
||||||
"key": "attributes",
|
|
||||||
"type": "dict-invisible",
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"type": "dict",
|
|
||||||
"key": "Rest Api",
|
|
||||||
"label": "Rest Api",
|
|
||||||
"collapsable": true,
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"type": "number",
|
|
||||||
"key": "default_port",
|
|
||||||
"label": "Default Port",
|
|
||||||
"minimum": 1,
|
|
||||||
"maximum": 65535
|
|
||||||
}, {
|
|
||||||
"type": "list",
|
|
||||||
"object_type": "number",
|
|
||||||
"key": "exclude_ports",
|
|
||||||
"label": "Exclude ports",
|
|
||||||
"input_modifiers": {
|
|
||||||
"minimum": 1,
|
|
||||||
"maximum": 65535
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}, {
|
|
||||||
"type": "dict",
|
|
||||||
"key": "Timers Manager",
|
|
||||||
"label": "Timers Manager",
|
|
||||||
"collapsable": true,
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"type": "number",
|
|
||||||
"decimal": 2,
|
|
||||||
"key": "full_time",
|
|
||||||
"label": "Max idle time"
|
|
||||||
}, {
|
|
||||||
"type": "number",
|
|
||||||
"decimal": 2,
|
|
||||||
"key": "message_time",
|
|
||||||
"label": "When dialog will show"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}, {
|
|
||||||
"type": "dict",
|
|
||||||
"key": "Clockify",
|
|
||||||
"label": "Clockify",
|
|
||||||
"collapsable": true,
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"type": "text",
|
|
||||||
"key": "workspace_name",
|
|
||||||
"label": "Workspace name"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -152,6 +152,12 @@ QPushButton[btn-type="expand-toggle"] {
|
||||||
background: #141a1f;
|
background: #141a1f;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#DictAsWidgetBody{
|
||||||
|
background: transparent;
|
||||||
|
border: 2px solid #cccccc;
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
#SplitterItem {
|
#SplitterItem {
|
||||||
background-color: #1d272f;
|
background-color: #1d272f;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,8 @@ class SystemWidget(QtWidgets.QWidget):
|
||||||
is_overidable = False
|
is_overidable = False
|
||||||
has_studio_override = _has_studio_override = False
|
has_studio_override = _has_studio_override = False
|
||||||
is_overriden = _is_overriden = False
|
is_overriden = _is_overriden = False
|
||||||
|
as_widget = _as_widget = False
|
||||||
|
any_parent_as_widget = _any_parent_as_widget = False
|
||||||
is_group = _is_group = False
|
is_group = _is_group = False
|
||||||
any_parent_is_group = _any_parent_is_group = False
|
any_parent_is_group = _any_parent_is_group = False
|
||||||
|
|
||||||
|
|
@ -396,6 +398,8 @@ class ProjectListWidget(QtWidgets.QWidget):
|
||||||
class ProjectWidget(QtWidgets.QWidget):
|
class ProjectWidget(QtWidgets.QWidget):
|
||||||
has_studio_override = _has_studio_override = False
|
has_studio_override = _has_studio_override = False
|
||||||
is_overriden = _is_overriden = False
|
is_overriden = _is_overriden = False
|
||||||
|
as_widget = _as_widget = False
|
||||||
|
any_parent_as_widget = _any_parent_as_widget = False
|
||||||
is_group = _is_group = False
|
is_group = _is_group = False
|
||||||
any_parent_is_group = _any_parent_is_group = False
|
any_parent_is_group = _any_parent_is_group = False
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -69,12 +69,11 @@ def _fill_inner_schemas(schema_data, schema_collection):
|
||||||
new_children.append(new_child)
|
new_children.append(new_child)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
for schema_name in child["children"]:
|
new_child = _fill_inner_schemas(
|
||||||
new_child = _fill_inner_schemas(
|
schema_collection[child["name"]],
|
||||||
schema_collection[schema_name],
|
schema_collection
|
||||||
schema_collection
|
)
|
||||||
)
|
new_children.append(new_child)
|
||||||
new_children.append(new_child)
|
|
||||||
|
|
||||||
schema_data["children"] = new_children
|
schema_data["children"] = new_children
|
||||||
return schema_data
|
return schema_data
|
||||||
|
|
|
||||||
|
|
@ -226,3 +226,56 @@ class UnsavedChangesDialog(QtWidgets.QDialog):
|
||||||
|
|
||||||
def on_discard_pressed(self):
|
def on_discard_pressed(self):
|
||||||
self.done(2)
|
self.done(2)
|
||||||
|
|
||||||
|
|
||||||
|
class SpacerWidget(QtWidgets.QWidget):
|
||||||
|
def __init__(self, parent=None):
|
||||||
|
super(SpacerWidget, self).__init__(parent)
|
||||||
|
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
|
||||||
|
|
||||||
|
|
||||||
|
class GridLabelWidget(QtWidgets.QWidget):
|
||||||
|
def __init__(self, label, parent=None):
|
||||||
|
super(GridLabelWidget, self).__init__(parent)
|
||||||
|
|
||||||
|
self.input_field = None
|
||||||
|
|
||||||
|
self.properties = {}
|
||||||
|
|
||||||
|
layout = QtWidgets.QVBoxLayout(self)
|
||||||
|
layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
layout.setSpacing(0)
|
||||||
|
|
||||||
|
label_proxy = QtWidgets.QWidget(self)
|
||||||
|
label_proxy_layout = QtWidgets.QHBoxLayout(label_proxy)
|
||||||
|
label_proxy_layout.setContentsMargins(0, 0, 0, 0)
|
||||||
|
label_proxy_layout.setSpacing(0)
|
||||||
|
|
||||||
|
label_widget = QtWidgets.QLabel(label, label_proxy)
|
||||||
|
spacer_widget_h = SpacerWidget(label_proxy)
|
||||||
|
label_proxy_layout.addWidget(
|
||||||
|
spacer_widget_h, 0, alignment=QtCore.Qt.AlignRight
|
||||||
|
)
|
||||||
|
label_proxy_layout.addWidget(
|
||||||
|
label_widget, 0, alignment=QtCore.Qt.AlignRight
|
||||||
|
)
|
||||||
|
|
||||||
|
spacer_widget_v = SpacerWidget(self)
|
||||||
|
|
||||||
|
layout.addWidget(label_proxy, 0)
|
||||||
|
layout.addWidget(spacer_widget_v, 1)
|
||||||
|
|
||||||
|
self.label_widget = label_widget
|
||||||
|
|
||||||
|
def setProperty(self, name, value):
|
||||||
|
cur_value = self.properties.get(name)
|
||||||
|
if cur_value == value:
|
||||||
|
return
|
||||||
|
|
||||||
|
self.label_widget.setProperty(name, value)
|
||||||
|
self.label_widget.style().polish(self.label_widget)
|
||||||
|
|
||||||
|
def mouseReleaseEvent(self, event):
|
||||||
|
if self.input_field:
|
||||||
|
return self.input_field.show_actions_menu(event)
|
||||||
|
return super(GridLabelWidget, self).mouseReleaseEvent(event)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue