2026-08-31 13:45:54 -04:00
{
"id" : "propresenter-timers" ,
"name" : "Timers" ,
2026-09-27 11:32:36 -04:00
"version" : "1.6.0" ,
2026-09-13 13:03:30 -04:00
"proddash" : ">=1.4.0" ,
"description" : "Timers, Clocks, and LTC From configured Modules" ,
2026-09-15 09:53:41 -04:00
"provides" : [
"timers"
],
2026-09-11 10:27:08 -04:00
"permissions" : [
2026-09-15 09:53:41 -04:00
{
"kind" : "microphone" ,
"reason" : "Decoding SMPTE LTC timecode from an audio input on this machine"
},
{
"kind" : "local-network" ,
"reason" : "Reaching ProPresenter on this network"
}
2026-09-11 10:27:08 -04:00
],
2026-08-31 13:45:54 -04:00
"client" : "client.js" ,
"server" : "server.js" ,
"style" : "style.css" ,
2026-09-15 09:53:41 -04:00
"minSize" : {
"w" : 2 ,
"h" : 1
},
"defaultSize" : {
"w" : 4 ,
"h" : 3
},
2026-09-13 13:03:30 -04:00
"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."
}
},
2026-08-31 13:45:54 -04:00
"configSchema" : {
2026-09-13 13:03:30 -04:00
"ppEnabled" : {
"type" : "switch" ,
"label" : "ProPresenter timers" ,
"group" : "ProPresenter" ,
"default" : true
},
2026-08-31 19:33:08 +00:00
"propresenter" : {
"type" : "endpoint" ,
"label" : "ProPresenter" ,
2026-09-10 13:29:06 -04:00
"group" : "ProPresenter" ,
2026-09-15 09:53:41 -04:00
"default" : {
"host" : "" ,
"port" : 1025
}
2026-08-31 13:45:54 -04:00
},
"password" : {
"type" : "password" ,
2026-09-13 13:03:30 -04:00
"label" : "API password" ,
2026-09-10 13:29:06 -04:00
"group" : "ProPresenter" ,
2026-09-13 13:03:30 -04:00
"default" : "" ,
"help" : "Only if a password is set in ProPresenter's network preferences."
2026-08-31 15:21:12 -04:00
},
2026-09-08 17:21:48 -04:00
"ltcEnabled" : {
2026-09-10 13:29:06 -04:00
"type" : "switch" ,
2026-09-13 13:03:30 -04:00
"label" : "LTC timecode" ,
2026-09-10 13:29:06 -04:00
"group" : "LTC Timecode" ,
2026-09-08 17:21:48 -04:00
"default" : false
},
"ltcDevice" : {
"type" : "select" ,
2026-09-10 13:29:06 -04:00
"label" : "Audio device" ,
"group" : "LTC Timecode" ,
"showWhen" : "ltcEnabled" ,
2026-09-08 17:21:48 -04:00
"default" : "" ,
"optionsRoute" : "/ltc/devices"
},
"ltcChannel" : {
"type" : "number" ,
2026-09-13 13:03:30 -04:00
"label" : "Channel" ,
2026-09-10 13:29:06 -04:00
"group" : "LTC Timecode" ,
"showWhen" : "ltcEnabled" ,
2026-09-13 13:03:30 -04:00
"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
},
2026-09-10 15:23:07 -04:00
"timerFont" : {
"type" : "select" ,
"label" : "Timer font" ,
"group" : "Display" ,
"default" : "default" ,
"options" : [
2026-09-15 09:53:41 -04:00
{
"value" : "default" ,
"label" : "Default (system)"
},
{
"value" : "monospace" ,
"label" : "Monospace — steadier changing digits"
}
2026-09-10 15:23:07 -04:00
]
2026-08-31 13:45:54 -04:00
}
2026-09-13 13:03:30 -04:00
},
"instanceGroups" : {
2026-09-15 09:53:41 -04:00
"Show" : {
2026-09-17 14:22:06 -04:00
"collapsed" : true ,
2026-09-15 09:53:41 -04:00
"columns" : 2
},
"Clock" : {
"collapsed" : false ,
"columns" : 2
},
2026-09-13 13:03:30 -04:00
"Colours" : {
"collapsed" : true ,
2026-09-17 14:22:06 -04:00
"columns" : 2
2026-09-13 13:03:30 -04:00
}
},
"instanceSchema" : {
2026-09-15 09:53:41 -04:00
"showNames" : {
"type" : "switch" ,
"label" : "Names" ,
"default" : true ,
"group" : "Show"
2026-09-13 13:03:30 -04:00
},
2026-09-15 09:53:41 -04:00
"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"
},
2026-09-15 12:56:22 -04:00
"groupBySource" : {
"type" : "switch" ,
"label" : "Group by source" ,
"default" : false ,
"group" : "Show"
},
2026-09-27 11:32:36 -04:00
"showLoops" : {
"type" : "switch" ,
"label" : "Looping videos" ,
"default" : false ,
"group" : "Show"
},
2026-09-15 09:53:41 -04:00
"showHeadings" : {
"type" : "switch" ,
"label" : "Source headings" ,
"default" : true ,
2026-09-15 12:56:22 -04:00
"group" : "Show" ,
"showWhen" : "groupBySource"
2026-09-15 09:53:41 -04:00
},
"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"
}
2026-08-31 13:45:54 -04:00
}
}