BlackMatrix v0.1.2
Live and Preset, with Take, Clear and Undo
A router gives an operator two ways to work and this only had one. Live is a crosspoint per click, straight to air. Preset stages a set of changes so you can look at them and then make them happen together — a sequence of visible single cuts is not the same event as one take.
Staged crosspoints are drawn outlined; filled still means on air. The row header reads current → staged, and clicking it drops that one from the take.
Undo restores what a change replaced — but only where that change is still what is on air. If a destination has moved since, by another operator or a panel, undo leaves it alone and says which ones. Overwriting someone else's decision because you pressed undo would be worse than not undoing.
A phone layout
Below 800px the grid is replaced rather than shrunk — a destination list, then the sources that destination will accept. A 4 M/E is 56 sources by 104 destinations; that is not a small-screen layout problem, it is a different interface. Preset is the default at phone width, so a mis-tap stages instead of cutting.
A native iOS app
New, in mobile/. It finds the BlackMatrix server on your network so nobody has to type an address, then shows that server's UI. It does not speak the ATEM or Videohub protocols itself — a phone cannot hold those open, and the panel emulation needs a listening socket.
Built and verified in the iOS simulator. Android is scaffolded but has never been built.
Fixed
- The web was using a stale copy of the routing rules. It had a version of the aux-availability reading from before a real switcher corrected it, so the UI offered "Camera 1 Direct" on outputs the server then refused. There is now one implementation, shared. Verified against the switcher's own masks.
- The support footer survives moving between pages instead of being destroyed with the first one it landed on.
Also
The Stoatworks support footer, with its feedback button, on the Devices and Source routing pages.
Installing
macOS installers are unsigned — Gatekeeper will object on first open, and macOS will ask for local network access on first run. Say yes, or no switcher will be found. Container: ghcr.io/stoatworks-labs/blackmatrix.