"Location", never "campus", in everything people read; SC FOH joined with its MIDI links
- pages (NA 98 Locations / 99 Location, re-imported via PAGES_VERSION), keys, settings page, setup and install messages, alerts, docs, the Apollo Beach kit; python3 -m settings.location and /location/... addresses (the old names still answer for installed Macs) - Apply reads the before settings from the file: an in-place edit skipped the watchdog restart - SC: SUPERRACK (+SoundGrid) and X32 EDIT from SC FOH; FOH TRACKS and TRACKS LIGHTS MIDI links watched Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -69,8 +69,8 @@ Row 0 holds the group buttons. Each one shows the first problem in its group, pl
|
||||
|
||||
It checks over SSH every 10 s that ProPresenter, Ableton and Church Translate are running, using NA Ingest's key `~/.ssh/id_status_panel`. That key was authorized on the Macs with `remote-access/mac-authorize.sh`.
|
||||
- **ALARMS:** alarms are armed all the time (`service_windows` in `config.json`: every day, 00:00–23:59). Press ALARMS to mute the blinking; press it again to turn them back on; they come back by themselves at midnight. Holds still fix while muted; the Sunday stream-audio failover still switches by itself. The settings page's Overview has the same switch. On a page with no AUTO-FIX key (NA today), ALARMS also stops every auto-fix and the key says both (`ALARMS OFF` / `AUTO-FIX OFF` / `TIL 12AM`).
|
||||
- **AUTO-FIX** (beside ALARMS on the campuses; `kind: autofix`): its own switch since 2026-10-21. On in the auto-fix hours. Press: pause it (`AUTO-FIX OFF / TIL SUN 5AM`: until the hours next start), or run it outside the hours until they next start or end; it goes back to its hours by itself. Holds always fix. With this key, ALARMS only silences. From NA's CAMPUS page a hold is the press. The Overview has a Pause auto-fix button.
|
||||
- **LIGHTS** (Southcoast; `kind: bypass`, `"bypass": {"peers": ["Lighting"], "hosts": ["", "sc_tracks_new"]}`): hold 2 s to hand the lights to a lighting operator. Every network MIDI link to Lighting (ProPresenter's session, Tracks' session, and Companion's 56 Midi-Lighting buttons, which go out through ProPresenter's session) is taken out, the MIDI checks stop calling it lost and auto-fix stops putting it back; the key says `LIGHTS / OPERATOR / MIDI OFF` (steady blue). A link that comes back while the operator has it is taken out again within 10 s. Hold again: everything taken out is put back as it was, and every watched link to Lighting is reconnected (`LIGHTS / AUTO`). A peer that had called in (no address, ":5004") is not called back: it rejoins when Lighting calls again. Survives a restart; a hold from NA's CAMPUS page works too. `"conns"` can also switch Companion connections off for the operator.
|
||||
- **AUTO-FIX** (beside ALARMS on the locations; `kind: autofix`): its own switch since 2026-10-21. On in the auto-fix hours. Press: pause it (`AUTO-FIX OFF / TIL SUN 5AM`: until the hours next start), or run it outside the hours until they next start or end; it goes back to its hours by itself. Holds always fix. With this key, ALARMS only silences. From NA's LOCATION page a hold is the press. The Overview has a Pause auto-fix button.
|
||||
- **LIGHTS** (Southcoast; `kind: bypass`, `"bypass": {"peers": ["Lighting"], "hosts": ["", "sc_tracks_new"]}`): hold 2 s to hand the lights to a lighting operator. Every network MIDI link to Lighting (ProPresenter's session, Tracks' session, and Companion's 56 Midi-Lighting buttons, which go out through ProPresenter's session) is taken out, the MIDI checks stop calling it lost and auto-fix stops putting it back; the key says `LIGHTS / OPERATOR / MIDI OFF` (steady blue). A link that comes back while the operator has it is taken out again within 10 s. Hold again: everything taken out is put back as it was, and every watched link to Lighting is reconnected (`LIGHTS / AUTO`). A peer that had called in (no address, ":5004") is not called back: it rejoins when Lighting calls again. Survives a restart; a hold from NA's LOCATION page works too. `"conns"` can also switch Companion connections off for the operator.
|
||||
|
||||
## Auto-fix on Sundays (06:30–13:30)
|
||||
|
||||
@@ -81,7 +81,7 @@ During that window, with ALARMS on, the panel fixes a problem by itself once it
|
||||
- Never automatic: restarting a running ProPresenter, Bible app, ProdCom (or DVS on NA Ingest, which restarts ProdCom), captions or the bridge, power-cycling a switch port, or turning on a connection someone switched off. `load_config` refuses an auto fix that closes a program.
|
||||
- **Daily log:** everything auto-fix does is written as it happens to `~/Desktop/Auto-Fix Logs/<date> <weekday> Auto-Fix.log` on NA Ingest (e.g. `2026-10-11 Sunday Auto-Fix.log`): the problem, what it did, whether it worked, when the fault cleared, when it gave up or held back. Double-click it to open it in Console, which shows new lines live. One file per day; each is deleted a calendar month after its date (the 11 Oct file on 11 Nov).
|
||||
- **Stopping it:** press ALARMS (on the fly; nothing at all fixes itself until you press it again or midnight), or switch auto-fix off as a whole under Settings › Auto-fix (stays off until switched on). The window and the list are `"auto_fix"` in `config.json`.
|
||||
- **READY page fixes** ticked under Settings › Auto-fix act on the checklist's gaps too, amber or red. A fix marked `"anytime": true` (only a READY fix may be; today the LTC write, `ready_ltc`) runs at any hour, not only in the auto-fix hours: once the weekend's set is on Tracks, every song's timecode is written into Planning Center for all four campuses by itself. ALARMS muted stops it like every other auto-fix; it catches up once they are back on.
|
||||
- **READY page fixes** ticked under Settings › Auto-fix act on the checklist's gaps too, amber or red. A fix marked `"anytime": true` (only a READY fix may be; today the LTC write, `ready_ltc`) runs at any hour, not only in the auto-fix hours: once the weekend's set is on Tracks, every song's timecode is written into Planning Center for all four locations by itself. ALARMS muted stops it like every other auto-fix; it catches up once they are back on.
|
||||
|
||||
## Audio failover (Studio B -> FOH Backup)
|
||||
|
||||
@@ -153,7 +153,7 @@ everything on the page at once.
|
||||
| LIGHTS | the `LIGHTING CUES` track has a clip under every song | looks again |
|
||||
| MIDI | the Tracks Mac's MIDI links (FX LIGHTS, TRK LIVEBOX, TRK STUDIO B) and Ableton running | reconnects the MIDI link that dropped |
|
||||
| PROP | the ProPresenter playlist for the plan's date has every PCO item. **MC n/m SLIDES**: PCO lists more announcements than there are slides. **MC SLIDES OLD?**: the slide notes still list last week's announcements. **BAPTISM: NO SAMANTHA**: a person PCO lists has no slide | looks again |
|
||||
| TIMECODE | every song's presentation has a timeline in ProPresenter, and PCO's `LTC` note for every song is the timecode the tracks actually play at that song's start; the other campuses' plans (`ready.ltc_campuses`: Apollo Beach, Southcoast, Woonsocket) get the same timecode for the same songs in this campus's order, and a song that is missing or out of order there is left alone. That timecode is worked out from the set: where its locator ("2 - REJOICE AGAIN - Bb") sits, through the tempo map, on the `LTC` track's file (`LTC_00000000_..._30fps`). **NO LTC** / **LTC WRONG** name the song. | writes the tracks' timecode into each song's `LTC` note in Planning Center where it is missing or different (nothing is written when they already match), then looks again |
|
||||
| TIMECODE | every song's presentation has a timeline in ProPresenter, and PCO's `LTC` note for every song is the timecode the tracks actually play at that song's start; the other locations' plans (`ready.ltc_campuses`: Apollo Beach, Southcoast, Woonsocket) get the same timecode for the same songs in this location's order, and a song that is missing or out of order there is left alone. That timecode is worked out from the set: where its locator ("2 - REJOICE AGAIN - Bb") sits, through the tempo map, on the `LTC` track's file (`LTC_00000000_..._30fps`). **NO LTC** / **LTC WRONG** name the song. | writes the tracks' timecode into each song's `LTC` note in Planning Center where it is missing or different (nothing is written when they already match), then looks again |
|
||||
| BKGDS | every song has at least one slide with a background | looks again |
|
||||
| LED CROSS | every Resolume column Sunday's playlist calls up has content: each slide's macro (read from the ProPresenter Mac's `Macros` and `.pro` files) sends RossTalk `CC page/row/col` to Companion, that button (and the buttons it presses, e.g. page 17 → page 6 "Arena") sends `/composition/columns/N/connect`; **COL 11 EMPTY** names the column and the items that use it. Also: Resolume on the **Service** deck. | selects the Service deck, then looks again (an empty column is filled in Resolume) |
|
||||
| LINEUP TV | ProdDash's Band Lineup shows this plan, nobody who is not on it or who declined, and everyone on the Band and Communication teams | re-syncs the board from Planning Center |
|
||||
@@ -168,7 +168,7 @@ everything on the page at once.
|
||||
|
||||
Nothing on the READY page writes to Companion, ProPresenter or the Ableton set.
|
||||
|
||||
**Another campus:** copy `"ready_page"`, `"ready"`, the four `ready_*` fixes and the READY tile from this config,
|
||||
**Another location:** copy `"ready_page"`, `"ready"`, the four `ready_*` fixes and the READY tile from this config,
|
||||
then change these in `"ready"`:
|
||||
- `pco_service_type`
|
||||
- `prop_url`
|
||||
@@ -176,7 +176,7 @@ then change these in `"ready"`:
|
||||
- `lineup_url`
|
||||
- `resolume_url`
|
||||
|
||||
For a campus that receives tracks rather than sending them, leave `locations` empty and take out the `prop_bundle_*`
|
||||
For a location that receives tracks rather than sending them, leave `locations` empty and take out the `prop_bundle_*`
|
||||
lines; TRACKS OUT and PROP OUT then show `NOT SET UP`. A line whose address is blank shows `NOT SET UP` instead of
|
||||
an alarm.
|
||||
|
||||
@@ -223,29 +223,29 @@ A problem has to last 3 seconds before it shows, so one bad reading doesn't trig
|
||||
|
||||
With Editing on every screen grows inputs. Changes go into one shared draft on the Ingest Mac (two people editing see each other's version; a stale tab is told); the badge at the top counts them and opens **Review & Apply**, which reads every change back in plain words, says what will happen (the deck goes purple for about 5 s only when something the watchdog reads changed; pages re-import only when the layout changed) and runs the pipeline: check the config, keep the old version in `history/`, write, restart the watchdog and wait for its start stamp, re-import the pages (refused if any unmarked key sits on them), recolour the page-number keys. If the watchdog does not come back the previous version is put back by itself. Apply is refused while a HyperDeck is recording (the Emergency button needs a reason and the word LIVE, and is logged). History keeps every version with who/when/note; **Go back** and **Undo** make the chosen version the draft.
|
||||
|
||||
**Keys** draws both pages as the deck; with Editing on a key is a chip you drag to move (or drop on the tray to hide), + New key / + New restart key add one, Delete this key removes one, the page numbers and "this campus has a Restart page" sit under the tabs. **Overview** carries the jobs people actually do: Change the playlist (paste the link; the key, the play fix and the key guide follow), Add or remove a HyperDeck (tick the decks in use; the HD keys and the REC group follow, "may have no disk" per deck), Add a MIDI link (the Mac, its session and peer from the live list or typed, which key), and under More jobs: Add a computer, Make a PC program startable. Site setup › Companion offers "Add a key for it" on every connection nothing watches. **Computers › Setup** is the one-time checklist per computer with a light and a [how] per line and the set-up scripts generated from that computer's record (`settings/scripts.py` fills the templates in `remote-access/`: the login key, this Mac's addresses, one scheduled task per program listed); Remove this computer drops the fixes and checks that used it and says so. **Site setup › Site** shows the running and staged code with **Install the staged folder** (install.sh runs as a one-shot launchd job with the config left alone), **Export site bundle** (a zip to drop in as `sites/<id>/`) and **New campus from a bundle** (this campus's name, addresses and code stay; every copied computer is flagged until touched).
|
||||
**Keys** draws both pages as the deck; with Editing on a key is a chip you drag to move (or drop on the tray to hide), + New key / + New restart key add one, Delete this key removes one, the page numbers and "this location has a Restart page" sit under the tabs. **Overview** carries the jobs people actually do: Change the playlist (paste the link; the key, the play fix and the key guide follow), Add or remove a HyperDeck (tick the decks in use; the HD keys and the REC group follow, "may have no disk" per deck), Add a MIDI link (the Mac, its session and peer from the live list or typed, which key), and under More jobs: Add a computer, Make a PC program startable. Site setup › Companion offers "Add a key for it" on every connection nothing watches. **Computers › Setup** is the one-time checklist per computer with a light and a [how] per line and the set-up scripts generated from that computer's record (`settings/scripts.py` fills the templates in `remote-access/`: the login key, this Mac's addresses, one scheduled task per program listed); Remove this computer drops the fixes and checks that used it and says so. **Site setup › Site** shows the running and staged code with **Install the staged folder** (install.sh runs as a one-shot launchd job with the config left alone), **Export site bundle** (a zip to drop in as `sites/<id>/`) and **New location from a bundle** (this location's name, addresses and code stay; every copied computer is flagged until touched).
|
||||
|
||||
Fixes and the remote checks are built from fields (`settings/builders.py`): a builder (Start a Windows program, Restart a Mac program, Restart a helper, Reopen Ableton with its last set, Restart DVS, Press a Companion button (page, row, column)...) and its fields make the command; the stored command must equal what the fields build or the config is refused. Every Mac value is shell-quoted, every Windows value is regex-checked. A Custom command (Advanced) is the one place a command is typed by hand; Review shows commands in red. A fix built with Press a Companion button can be ticked failover (under more) and given an undo; the Failover calendar and its `after_seconds` sit under Settings › Auto-fix, under the auto-fix window.
|
||||
|
||||
The page reads what the watchdog writes next to its config (`snapshot.json` every 5 s, `started.json`, `live-now.json`, `fixes-running.json`) instead of asking the gear again. Its own look at the computers (`settings/probes.py`) runs fixed read-only commands over the same login key, fetches whole lists and matches them here, never while a fix runs.
|
||||
|
||||
## Other campuses: auto-setup
|
||||
## Other locations: auto-setup
|
||||
|
||||
A campus sets itself up. All a person does is let the panel in: one line on the campus's Mac that runs Companion,
|
||||
A location sets itself up. All a person does is let the panel in: one line on the location's Mac that runs Companion,
|
||||
one line on each other computer.
|
||||
|
||||
1. **The Companion Mac.** Terminal, paste the campus's line from Settings › Auto-setup on any running campus (North
|
||||
1. **The Companion Mac.** Terminal, paste the location's line from Settings › Auto-setup on any running location (North
|
||||
Attleboro's page shows the Apollo Beach, Southcoast and Woonsocket lines), for example
|
||||
`curl -fsSL "http://10.1.1.1:8020/campus/install?id=ab" | zsh`. It downloads the program from that page (code only,
|
||||
never that campus's settings or keys), installs it, makes the panel's login key, and runs
|
||||
`python3 -m settings.campus setup`: Companion gets the panel's custom variables and the blink-clock trigger (through
|
||||
`curl -fsSL "http://10.1.1.1:8020/location/install?id=ab" | zsh`. It downloads the program from that page (code only,
|
||||
never that location's settings or keys), installs it, makes the panel's login key, and runs
|
||||
`python3 -m settings.location setup`: Companion gets the panel's custom variables and the blink-clock trigger (through
|
||||
Companion's own internal API, as its web UI does), the first two pages from 19 that hold nothing made by hand are
|
||||
used, the gear is found and the config is applied like any Apply. It prints the editing PIN. North Attleboro's key is
|
||||
added so it can help remotely (turn on Remote Login for that). Running the line again updates the program.
|
||||
2. **Each other computer.** Mac: Terminal, `curl -fsSL http://<that Mac>:8020/join | sh` (adds the key, turns on
|
||||
Remote Login when it can, says it is here). PC: PowerShell as administrator, `irm http://<that Mac>:8020/join.ps1 | iex`
|
||||
(OpenSSH, the key, a StatusPanel start task for each known program running on it, Wake-on-LAN, then says it is here).
|
||||
The lines are on that campus's Settings › Auto-setup.
|
||||
The lines are on that location's Settings › Auto-setup.
|
||||
|
||||
**What gets a key** (`settings/autoconf.py`): each Companion connection of a known kind (HyperDecks, Tascam, consoles,
|
||||
Dante with every device it sees, Shure receivers and PSMs with their channel count, ATEM, Videohub, Resolume, NovaStar,
|
||||
@@ -256,55 +256,55 @@ its wired address (with the wired-network rule). A program's key also carries it
|
||||
when it does not, REC AUDIO RF SHOW VIDEO STREAM group keys take the top row and wireless receivers fold into RF first.
|
||||
Generic connections and unknown programs are listed under Settings › Auto-setup, not guessed at.
|
||||
|
||||
**After that** (`discover.auto`, "add new gear by itself", on for a new campus, off at North Attleboro): the settings page
|
||||
**After that** (`discover.auto`, "add new gear by itself", on for a new location, off at North Attleboro): the settings page
|
||||
looks every ten minutes and soon after a computer joins, and adds what is new (a key in the first free cell, a Dante
|
||||
device or MIDI link into its key). Never during the auto-fix hours or a recording; nothing is ever removed; a thing that
|
||||
was there before and was taken off by someone is not added back (`discover-seen.json`). "Look now" adds what is new at
|
||||
once. Everything it makes is ordinary settings, changed on the page like North Attleboro's.
|
||||
|
||||
## The campuses at a glance
|
||||
## The locations at a glance
|
||||
|
||||
| Campus | Settings page (bookmark these) | Companion Mac | Status / Restart pages |
|
||||
| Location | Settings page (bookmark these) | Companion Mac | Status / Restart pages |
|
||||
|---|---|---|---|
|
||||
| North Attleboro (hub) | http://10.1.1.1:8020/ | NA Ingest | 19 / 20, READY 24, CAMPUSES 98, CAMPUS 99 |
|
||||
| North Attleboro (hub) | http://10.1.1.1:8020/ | NA Ingest | 19 / 20, READY 24, LOCATIONS 98, LOCATION 99 |
|
||||
| Woonsocket | http://10.2.2.210:8020/ | WS ProPresenter Mac (wsprop) | 19 / 20 |
|
||||
| Southcoast | http://10.5.2.60:8020/ | SC ProPresenter Mac (watersmedia) | 19 / 20 |
|
||||
| Apollo Beach (standalone) | their own | their Companion Mac | 19 / 20 or the first free |
|
||||
|
||||
Every campus: alarms armed all day; auto-fix on NA's hours (Tue 14:00–22:00, Wed 09:00–21:00, Sun 05:00–14:00);
|
||||
a hold on any key fixes it at any time, on that campus's own deck or from NA's CAMPUS page; ALARMS silences and AUTO-FIX pauses auto-fix, separately.
|
||||
`python3 -m settings.campus rebuild` (on a campus's Companion Mac, in the panel folder) makes its setup again from
|
||||
what is found now, keeping its name, PIN and pages. `python3 -m settings.campus upgrade-companion` brings an older
|
||||
Every location: alarms armed all day; auto-fix on NA's hours (Tue 14:00–22:00, Wed 09:00–21:00, Sun 05:00–14:00);
|
||||
a hold on any key fixes it at any time, on that location's own deck or from NA's LOCATION page; ALARMS silences and AUTO-FIX pauses auto-fix, separately.
|
||||
`python3 -m settings.location rebuild` (on a location's Companion Mac, in the panel folder) makes its setup again from
|
||||
what is found now, keeping its name, PIN and pages. `python3 -m settings.location upgrade-companion` brings an older
|
||||
Companion to 5.0.7 from NA's copy (settings come along; the old version stays installed).
|
||||
|
||||
## A campus on its own (Apollo Beach)
|
||||
## A location on its own (Apollo Beach)
|
||||
|
||||
Apollo Beach runs its panel itself: not on NA's deck, not in NA's backups, no NA key on its Macs.
|
||||
`python3 tools/standalone.py ab "Apollo Beach"` makes `dist/Apollo Beach Status Panel.zip` (the program, an
|
||||
`install.command` and a `READ ME FIRST.txt`; never anyone's settings, plug keys or login keys) to send them.
|
||||
Installed, it sets itself up like any campus (`setup --standalone`: `campuses.json` gets `"standalone": true`
|
||||
Installed, it sets itself up like any location (`setup --standalone`: `campuses.json` gets `"standalone": true`
|
||||
instead of a home, so it tells nobody and is no hub) and backs itself up nightly into
|
||||
`~/Documents/Status Panel Backups/<id>` on its Companion Mac (or `$STATUS_PANEL_BACKUPS`). With an older
|
||||
Companion: `python3 -m settings.campus upgrade-companion --from <the 5.0.7 .dmg from bitfocus.io>`.
|
||||
Companion: `python3 -m settings.location upgrade-companion --from <the 5.0.7 .dmg from bitfocus.io>`.
|
||||
|
||||
## Backups
|
||||
|
||||
Nightly at 04:30 NA's LaunchAgent `org.waterschurch.status-backup` (`backup/backup-campuses.sh`) copies every
|
||||
campus's settings, Apply history and page-key record into Google Drive: Shared drives > Waters Creative > Apps >
|
||||
Status Panel Backups > <campus> > <campus>-<date>.tgz, newest 30 kept, the same pattern and alert email as the
|
||||
checklist's backup-to-drive.sh. Other campuses are reached over SSH as the account they report. The repo keeps each
|
||||
campus's settings too: `config.json` (NA) and `sites/<id>/config.json`; a reinstall with `--site <id>` starts from it.
|
||||
location's settings, Apply history and page-key record into Google Drive: Shared drives > Waters Creative > Apps >
|
||||
Status Panel Backups > <location> > <location>-<date>.tgz, newest 30 kept, the same pattern and alert email as the
|
||||
checklist's backup-to-drive.sh. Other locations are reached over SSH as the account they report. The repo keeps each
|
||||
location's settings too: `config.json` (NA) and `sites/<id>/config.json`; a reinstall with `--site <id>` starts from it.
|
||||
Smart-plug keys (outlets.json) are never copied.
|
||||
|
||||
## Every campus on North Attleboro's deck (NA only)
|
||||
## Every location on North Attleboro's deck (NA only)
|
||||
|
||||
Each campus set up from NA's install line tells NA's settings page where it is (`/api/campus/hello`) and learns
|
||||
nothing back: no campus ever shows another, and only NA (the hub: no "home" in `campuses.json`) does
|
||||
(`settings/campuses.py`). NA's settings page reads each campus's key states every two seconds (`/api/state`) and
|
||||
Each location set up from NA's install line tells NA's settings page where it is (`/api/campus/hello`) and learns
|
||||
nothing back: no location ever shows another, and only NA (the hub: no "home" in `campuses.json`) does
|
||||
(`settings/campuses.py`). NA's settings page reads each location's key states every two seconds (`/api/state`) and
|
||||
keeps two pages in NA's Companion, added at the end when no page is empty (today 98 and 99):
|
||||
|
||||
- **CAMPUSES (98):** row 0, one key per campus, its ALL key with its name ("WS / ALL OK"); purple "WS ?" when it stops answering. Row 1, its RESTART key. Tap NA's: NA's own pages. Tap another's: the CAMPUS page showing it.
|
||||
- **CAMPUS (99):** the tapped campus's status (or Restart) page, same places, colours and words, live. Tap = acknowledge, hold = fix, at that campus, exactly as on its own deck (a Restart key's hold restarts it there). Bottom-left ("WS / ALL SITES") goes back.
|
||||
- **LOCATIONS (98):** row 0, one key per location, its ALL key with its name ("WS / ALL OK"); purple "WS ?" when it stops answering. Row 1, its RESTART key. Tap NA's: NA's own pages. Tap another's: the LOCATION page showing it.
|
||||
- **LOCATION (99):** the tapped location's status (or Restart) page, same places, colours and words, live. Tap = acknowledge, hold = fix, at that location, exactly as on its own deck (a Restart key's hold restarts it there). Bottom-left ("WS / ALL SITES") goes back.
|
||||
|
||||
## SSH from the admin laptop to every machine
|
||||
|
||||
@@ -336,7 +336,7 @@ Then run the installer there. It checks the config with the new code first (a ba
|
||||
ssh checklist-ingest 'zsh ~/status-panel-install/install.sh'
|
||||
```
|
||||
|
||||
`install.sh --keep-config` updates the code and leaves the live config alone; `install.sh --rollback` puts the previous code back; `install.sh --site <id>` (a new campus) installs `sites/<id>/config.json` when the folder exists, otherwise `sites/_template/config.json`, and never replaces a config that is already installed.
|
||||
`install.sh --keep-config` updates the code and leaves the live config alone; `install.sh --rollback` puts the previous code back; `install.sh --site <id>` (a new location) installs `sites/<id>/config.json` when the folder exists, otherwise `sites/_template/config.json`, and never replaces a config that is already installed.
|
||||
|
||||
If you add or move tiles, rebuild the page:
|
||||
|
||||
@@ -396,7 +396,7 @@ To go back, pick 1.3.0 on the connection again.
|
||||
| `status_panel.py` | the watchdog |
|
||||
| `netgear.py` | reads the Netgear Dante switches (MAC tables, PoE) and power-cycles one PoE port |
|
||||
| `coremidi.py` | reads network MIDI sessions and listens to MIDI sources (ctypes, no extra installs) |
|
||||
| `config.json` | tiles, positions, checks, fixes, hosts, windows: every setting (the `site` block names the campus; `spotify` holds the playlist; `timing` and `page_hold_ms` the numbers behind HOLD 2s and WAIT 1 MIN) |
|
||||
| `config.json` | tiles, positions, checks, fixes, hosts, windows: every setting (the `site` block names the location; `spotify` holds the playlist; `timing` and `page_hold_ms` the numbers behind HOLD 2s and WAIT 1 MIN) |
|
||||
| `schema.py` | the registry of every setting: type, default, help, which screen of the settings page owns it, and the rules a config must pass (`tests/test_schema.py` keeps it in step with the code) |
|
||||
| `make_page.py` | builds `status-page.companionconfig` from `config.json` |
|
||||
| `install.sh` | installs or updates the LaunchAgent on NA Ingest |
|
||||
|
||||
Reference in New Issue
Block a user