Enpreview is a desktop companion for Barco Event Master operators. It talks to the frame over the JSON-RPC API on port 9999, feeding tally and destination state into a configurable Electron + Svelte interface so you always know what is live, on preview, or listening.
Download the latest version for Mac, Windows, and Linux
Project links
docs/contains API experiments and response captures underresponse_objects/for reference.- Releases are built with Electron Builder scripts in
package.json.
Issue tracking
- File bugs or feature ideas through your team's normal workflow (this repository ships without Git metadata by default).
- JSON-RPC polling of Event Master destinations and layer content.
- Visual tally indicators for program, preview, and listened destinations.
- Electron shell with draggable windows for overlay-style monitoring.
- Carbon Components Svelte UI with themeable widgets.
src/main/classes/backendService.cjsboots an Express server (default port6788) that receives Event Master subscription callbacks and relays them to renderer windows.src/main/classes/RequestController.cjsissues HTTP POST requests tohttp://<frame>:9999for methods such aslistPresets,listContent, andsubscribe.response_objects/captures real Event Master responses for reference when iterating on parsing logic.
npm install
npm run dev # launches Vite/Svelte and Electron togetherThe dev script starts two processes via concurrently: the Svelte frontend (npm run dev:svelte) and the Electron host (npm run dev:electron). When developing UI-only changes you can run npm run dev:svelte on its own.
npm run build # builds Svelte + Electron bundles
npm run dist # packages desktop binaries with electron-builderArtifacts are written to dist/ and build/ depending on the target platform. See electron-builder.json for platform-specific configuration.
This project uses a hybrid release workflow:
- Windows builds are handled by GitHub Actions.
- Mac & Linux builds are handled locally on your machine.
- All artifacts are uploaded to the same GitHub Release.
- Create a Personal Access Token (Classic) on GitHub with
reposcope. - Add it to a
.envfile in the project root:GH_TOKEN=ghp_your_token_here
Run the interactive release script:
npm run release-interactiveThis script will:
- Prompt you for the version bump (patch, minor, major).
- Update
package.json, commit, and tag the release. - Push the tag to GitHub (triggering the Windows build Action).
- Build and upload Mac & Linux artifacts from your local machine.
- Response samples in
response_objects/illustrate the expected payloads from Event Master APIs. - If tally data stops updating, confirm the backend Express listener is reachable from the frame and that subscriptions (
ScreenDestChanged,AuxDestChanged) are posting to it—these trigger refresh calls forlistContentandlistAuxContent.
Enpreview is distributed under the PolyForm Noncommercial License 1.0.0. See LICENSE for full terms.