The tool used to be compiled by the macOS app build, or by the module itself on the booth with swiftc — and a catalog install got source only, which the unbundled 1.10.0 shell made every fresh install. Under the module guide's rule it now ships built: bin/ltc-capture-macos-arm64 and bin/ltc-capture-macos-x86_64, signed with the Developer ID (hardened runtime, audio-input entitlement), from native/ltc-capture.swift via native/build.sh. Nothing is built or looked for on the machine any more: captureTool() picks the binary for this platform, and where there is none — Windows, until a Windows implementation exists — timecode reports itself off in the tile and the health line while the rest of the module runs. The runtime build, its "building…" states and the device picker's build kick are gone with it. The old top-level binary is no longer gitignored (it is no longer written). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
235 lines
5.5 KiB
JSON
235 lines
5.5 KiB
JSON
{
|
||
"id": "propresenter-timers",
|
||
"name": "Timers",
|
||
"version": "1.7.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": true,
|
||
"columns": 2
|
||
},
|
||
"Clock": {
|
||
"collapsed": false,
|
||
"columns": 2
|
||
},
|
||
"Colours": {
|
||
"collapsed": true,
|
||
"columns": 2
|
||
}
|
||
},
|
||
"instanceSchema": {
|
||
"showNames": {
|
||
"type": "switch",
|
||
"label": "Names",
|
||
"default": true,
|
||
"group": "Show"
|
||
},
|
||
"showStatus": {
|
||
"type": "switch",
|
||
"label": "Status lines",
|
||
"default": true,
|
||
"group": "Show"
|
||
},
|
||
"showDetail": {
|
||
"type": "switch",
|
||
"label": "Detail lines",
|
||
"default": true,
|
||
"group": "Show"
|
||
},
|
||
"showSeconds": {
|
||
"type": "switch",
|
||
"label": "Seconds",
|
||
"default": true,
|
||
"group": "Show"
|
||
},
|
||
"leadingZeros": {
|
||
"type": "switch",
|
||
"label": "Leading zeros",
|
||
"default": false,
|
||
"group": "Show"
|
||
},
|
||
"groupBySource": {
|
||
"type": "switch",
|
||
"label": "Group by source",
|
||
"default": false,
|
||
"group": "Show"
|
||
},
|
||
"showLoops": {
|
||
"type": "switch",
|
||
"label": "Looping videos",
|
||
"default": false,
|
||
"group": "Show"
|
||
},
|
||
"showHeadings": {
|
||
"type": "switch",
|
||
"label": "Source headings",
|
||
"default": true,
|
||
"group": "Show",
|
||
"showWhen": "groupBySource"
|
||
},
|
||
"clock24h": {
|
||
"type": "switch",
|
||
"label": "24-hour",
|
||
"default": true,
|
||
"group": "Clock"
|
||
},
|
||
"clockSeconds": {
|
||
"type": "switch",
|
||
"label": "Seconds",
|
||
"default": true,
|
||
"group": "Clock"
|
||
},
|
||
"clockDate": {
|
||
"type": "switch",
|
||
"label": "Date",
|
||
"default": false,
|
||
"group": "Clock"
|
||
},
|
||
"dateShortDay": {
|
||
"type": "switch",
|
||
"label": "Short day",
|
||
"default": false,
|
||
"group": "Clock",
|
||
"showWhen": "clockDate"
|
||
},
|
||
"dateShortMonth": {
|
||
"type": "switch",
|
||
"label": "Short month",
|
||
"default": false,
|
||
"group": "Clock",
|
||
"showWhen": "clockDate"
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
}
|