Skip to content

Release: console layout, tally through every path, DME crop in pixels (breaking), Program streams, multiview - #112

Merged
LeeO86 merged 12 commits into
mainfrom
stage
Oct 23, 2026
Merged

LeeO86 merged 12 commits into
mainfrom
stage

Conversation

@LeeO86

@LeeO86 LeeO86 commented Oct 23, 2026

Copy link
Copy Markdown
Collaborator

FlowXer release (Adrian OK'd stage and main on 2026-10-23). Stage 16.24.65 (#111) passed the Stage workflow (version, sync-dev, tests, containers, AMWA NMOS testing tool).

  • Operator console: proportional layout, higher-ME tiles, upload and conversion progress #106: operator console. PREVIEW and PROGRAM take about 40 % of the window, centred as a pair; the deck gets the rest and the console scrolls. Higher MEs are tiles after the sources (to Preview or Program of the active ME). The library shows upload progress by bytes and a bar per conversion (ffmpeg's own progress).
  • Tally and audio follow what is visible on Program, through every path (nested MEs, PiPs, keys) #107: tally and audio follow what is visible. Red tally (TSL receivers, console tiles, GET /console → on_air) and AFV follow everything visible on an ME's Program, through keys, PiPs and nested MEs, recursively; hidden boxes and what a full-raster PiP covers do not count. The raw tally export (FLOWXER_TALLY_TSL) is unchanged.
  • DME crop in source pixels (BREAKING API: no more fractions) #108: DME crop in source pixels — ⚠ breaking API change. dme.crop (keyers, keyframes, snapshots, /config/export) is now whole source pixels (e.g. {"left": 480, "right": 480, …} at 1080p) instead of fractions (0.25); a fraction is refused (409/422), and so is a crop that leaves no picture. Saved states, /config/import documents and snapshots in the old unit are converted on load (to pixels of their format), and a format change scales every crop. Every client that writes dme.crop (Companion, platform scripts) must switch to pixels when this version is deployed.
  • Program streams per ME, 5 px tile inset, multiview widget (WebRTC previews) #109 and Program streams default to 1280×720 at 4 Mbit/s; multiview lights every ME's Preview #110: Program streams and the multiview widget. Each ME's Program is a WebRTC stream of its own (default 1280×720p25 at 4 Mbit/s, FLOWXER_PREVIEW_PGM*); the mosaic keeps the sources and Previews, and its tiles are cropped 5 px inside their edges. NVENC sessions: 1 + MEs (was 1); without them the Programs stay mosaic tiles (GET /preview → streams_error). Cost on an A16: about +1.4 % NVENC and about 20 MiB GPU memory per ME; per viewer +4 Mbit/s per ME. New widget /widget/multiview (a control-room wall with labels and tally).

Tested in the lab only: simulate mode, and GPU runs on an A16 (the #109 engine with 3 MEs: the mosaic and 3 Program streams over WHEP, NVENC 1 + 3 sessions, the fallback; NVENC cost of #110's 720p streams). No platform test image.

Version, platform contract and upgrade notes: CHANGELOG.md.

🤖 Generated with Claude Code

https://claude.ai/code/session_01St7QwmonpoG9EEEqaLFXLi

LeeO86 and others added 12 commits October 23, 2026 01:32
…nversion progress (#106)

Operator UI: ME on-air tiles, proportional centred PVW/PGM layout with scrolling, upload/convert progress (Adrian/Oli feedback); reviewed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01St7QwmonpoG9EEEqaLFXLi
… (nested MEs, PiPs, keys) (#107)

Tally and audio follow what is visible on Program, recursively through MEs, keys and PiPs; hidden or fading-in layers handled; shared visibility vectors; TSL republish with lock (Adrian feedback); reviewed twice.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01St7QwmonpoG9EEEqaLFXLi
DME crop in whole source pixels (breaking API change; migration of saved fractions; scaling on format change/import) (Oli feedback); reviewed twice.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01St7QwmonpoG9EEEqaLFXLi
…views) (#109)

Per-ME Program WebRTC streams (PGM out of the mosaic, fallback when NVENC sessions are short), 5 px tile crop, multiview widget (Oli feedback); reviewed twice; GPU run on an A16.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01St7QwmonpoG9EEEqaLFXLi
…for every ME's Preview (#110)

Program streams default 1280×720 @ 4 Mbit/s; multiview widget lights every ME's Preview green (Adrian).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01St7QwmonpoG9EEEqaLFXLi
Stage from dev: console layout, tally through every path, DME crop in pixels (breaking), Program streams, multiview
@LeeO86
LeeO86 merged commit b723b2f into main Oct 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant