The Timers admin had a fourth group, "Other modules", whose one switch gated every timer provider that wasn't PCO Plan. A provider that earns a switch earns a section of its own — so the catch-all goes, any other provider found is consumed as soon as it appears, and its name (not "Other modules") is what the health readout lists it under. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
124 lines
4.7 KiB
JSON
124 lines
4.7 KiB
JSON
{
|
||
"id": "propresenter-timers",
|
||
"name": "Timers",
|
||
"version": "1.3.0",
|
||
"proddash": ">=1.4.0",
|
||
"description": "Timers, Clocks, and LTC From configured Modules",
|
||
"provides": ["timers"],
|
||
"permissions": [
|
||
{ "kind": "microphone", "reason": "Decoding SMPTE LTC timecode from an audio input on this machine" },
|
||
{ "kind": "local-network", "reason": "Reaching ProPresenter on this network" }
|
||
],
|
||
"client": "client.js",
|
||
"server": "server.js",
|
||
"style": "style.css",
|
||
"minSize": { "w": 2, "h": 1 },
|
||
"defaultSize": { "w": 4, "h": 3 },
|
||
"configGroups": {
|
||
"ProPresenter": {
|
||
"toggle": "ppEnabled",
|
||
"help": "The timers configured in ProPresenter, read over its network API. Enable the network in ProPresenter's Preferences › Network and enter the host and port shown there. Switch it off on a day ProPresenter isn't running and nothing is polled."
|
||
},
|
||
"LTC Timecode": {
|
||
"toggle": "ltcEnabled",
|
||
"help": "SMPTE LTC decoded from an audio input on this machine, shown as a running timecode. Pick the device and the channel the timecode arrives on; macOS has to grant ProdDash the microphone (see the launcher's Permissions)."
|
||
},
|
||
"PCO Plan": {
|
||
"toggle": "pcoEnabled",
|
||
"help": "Timers the PCO Plan module offers — service elapsed, current item, countdown to service — appear here under a PCO Plan heading when that module is installed and configured. Nothing to set up on this side."
|
||
}
|
||
},
|
||
"configSchema": {
|
||
"ppEnabled": {
|
||
"type": "switch",
|
||
"label": "ProPresenter timers",
|
||
"group": "ProPresenter",
|
||
"default": true
|
||
},
|
||
"propresenter": {
|
||
"type": "endpoint",
|
||
"label": "ProPresenter",
|
||
"group": "ProPresenter",
|
||
"default": { "host": "", "port": 1025 }
|
||
},
|
||
"password": {
|
||
"type": "password",
|
||
"label": "API password",
|
||
"group": "ProPresenter",
|
||
"default": "",
|
||
"help": "Only if a password is set in ProPresenter's network preferences."
|
||
},
|
||
"ltcEnabled": {
|
||
"type": "switch",
|
||
"label": "LTC timecode",
|
||
"group": "LTC Timecode",
|
||
"default": false
|
||
},
|
||
"ltcDevice": {
|
||
"type": "select",
|
||
"label": "Audio device",
|
||
"group": "LTC Timecode",
|
||
"showWhen": "ltcEnabled",
|
||
"default": "",
|
||
"optionsRoute": "/ltc/devices"
|
||
},
|
||
"ltcChannel": {
|
||
"type": "number",
|
||
"label": "Channel",
|
||
"group": "LTC Timecode",
|
||
"showWhen": "ltcEnabled",
|
||
"default": 1,
|
||
"help": "The channel on that device carrying the timecode, counted from 1."
|
||
},
|
||
"pcoEnabled": {
|
||
"type": "switch",
|
||
"label": "PCO Plan timers",
|
||
"group": "PCO Plan",
|
||
"default": true
|
||
},
|
||
"timerFont": {
|
||
"type": "select",
|
||
"label": "Timer font",
|
||
"group": "Display",
|
||
"default": "default",
|
||
"options": [
|
||
{ "value": "default", "label": "Default (system)" },
|
||
{ "value": "monospace", "label": "Monospace — steadier changing digits" }
|
||
]
|
||
}
|
||
},
|
||
"instanceGroups": {
|
||
"Show": { "collapsed": false, "columns": 2 },
|
||
"Clock": { "collapsed": false },
|
||
"Colours": {
|
||
"collapsed": true,
|
||
"columns": 2,
|
||
"help": "The time's colour per state. Left at the default, a colour follows the dashboard theme; one you change here wins over it."
|
||
}
|
||
},
|
||
"instanceSchema": {
|
||
"showClock": { "type": "boolean", "label": "Clock", "default": true, "group": "Show" },
|
||
"showProPresenter": { "type": "boolean", "label": "ProPresenter timers", "default": true, "group": "Show" },
|
||
"showLtc": { "type": "boolean", "label": "LTC timecode", "default": true, "group": "Show" },
|
||
"showModules": { "type": "boolean", "label": "Module timers", "default": true, "group": "Show" },
|
||
"showHeadings": { "type": "boolean", "label": "Source headings", "default": true, "group": "Show" },
|
||
"showStatus": { "type": "boolean", "label": "Status lines", "default": true, "group": "Show" },
|
||
"clockFormat": {
|
||
"type": "select",
|
||
"label": "Clock format",
|
||
"default": "24h",
|
||
"group": "Clock",
|
||
"options": [
|
||
{ "value": "24h", "label": "24-hour" },
|
||
{ "value": "12h", "label": "12-hour" }
|
||
]
|
||
},
|
||
"clockSeconds": { "type": "boolean", "label": "Seconds", "default": true, "group": "Clock" },
|
||
"clockDate": { "type": "boolean", "label": "Date", "default": false, "group": "Clock" },
|
||
"runningColor": { "type": "color", "label": "Running", "default": "#2ee59a", "group": "Colours" },
|
||
"warningColor": { "type": "color", "label": "Warning", "default": "#f0b429", "group": "Colours" },
|
||
"overrunColor": { "type": "color", "label": "Overrun", "default": "#f4433c", "group": "Colours" },
|
||
"idleColor": { "type": "color", "label": "Idle", "default": "#8b98a5", "group": "Colours" }
|
||
}
|
||
}
|