Skip to content

v1.0.5

Choose a tag to compare

@jpwalters jpwalters released this 24 Feb 17:16
· 31 commits to main since this release

VideoCue v1.0.0 Release Notes

Release Date: 2026-02-24
Status: General Availability (GA)

Overview

Version 1.0 marks the first stable production release of VideoCue, a multi-camera PTZ controller for VISCA-over-IP workflows with optional NDI video monitoring and USB controller integration.

Highlights

  • Stable multi-camera PTZ control over VISCA-over-IP
  • Optional NDI video preview with robust discovery and fallback behavior
  • USB game controller support with configurable mappings and safety controls
  • Deferred startup loading for faster app responsiveness
  • Connection-state-aware controls, reconnect flows, and startup timeout recovery
  • Improved reliability via comprehensive error handling and graceful degradation

Feature List

Camera Control

  • Multi-camera management with per-camera widgets
  • VISCA-over-IP PTZ commands (8-direction pan/tilt + stop)
  • Variable-speed zoom and focus controls
  • One-push autofocus support
  • Camera presets with store/recall/update/delete
  • Preset slot tracking with permanent camera memory slot assignments

Cue Tab

  • Dedicated Cues tab for building ordered cue rows
  • Multi-camera cue columns with per-camera preset selection per cue row
  • Cue row operations: Add, Insert, Duplicate, Delete
  • Editable cue number and cue name with input validation
  • Cue lock/unlock mode to prevent accidental edits during operation
  • Arm-and-run workflow with visual markers for “next” and “last run” cues
  • Cue run actions via toolbar button and keyboard shortcuts (Space/Enter/Return when Cues tab is active)
  • Cue execution recalls mapped presets on connected cameras and auto-advances to the next armed cue

Exposure and Image Controls

  • Exposure modes: Auto, Manual, Shutter Priority, Iris Priority, Bright
  • Iris, shutter, gain, and brightness adjustment
  • Backlight compensation toggle
  • White balance modes: Auto, Indoor, Outdoor, One Push, Manual
  • Manual red/blue gain controls

NDI Video

  • Optional NDI runtime integration (app works without NDI)
  • NDI source discovery with polling-based reliability improvements
  • Manual NDI source name entry for firewall-restricted environments
  • Network interface binding for multi-homed systems
  • Per-camera NDI receiver threads
  • Video bandwidth modes: High/Low
  • Video color format options: UYVY/BGRA/RGBA
  • Play/pause video streaming per camera
  • Timeout and staged recovery behavior for non-responsive NDI sources

Startup and Loading UX

  • Deferred camera loading after window show
  • Startup progress bar with milestone tracking (create/configure/initialized)
  • “Connecting…” status updates that do not falsely advance completion
  • Per-camera initialization completion tracking with duplicate-signal protection
  • Startup watchdog timeout: stalled cameras fail cleanly and expose reconnect

Connection and Recovery

  • Per-camera connection state (connected/disconnected) with visual indicators
  • Automatic control enable/disable based on connection status
  • Reconnect button shown for failed/disconnected cameras
  • Graceful handling where one failed camera does not block others

USB Controller Support

  • 60Hz polling with hotplug detection
  • Axis mappings for PTZ/zoom control
  • Button mappings for autofocus, camera switching, stop movement, brightness
  • Configurable stop-on-camera-switch safety option
  • Preferences dialog access from controller menu button

Preferences and Configuration

  • Persistent JSON configuration for cameras and preferences
  • Video default size, NDI settings, and controller preferences
  • Single-instance mode option
  • Save/load of per-camera settings and preset metadata
  • Dedicated cue persistence in cues.json (cue rows + camera column mappings)

Reliability and Error Handling

  • Global exception handling to avoid hard crashes where possible
  • Structured logging (console + optional file logging)
  • NDI-unavailable fallback to IP-only workflows
  • Threaded operations with signal/slot handoff for UI safety

UI and Usability

  • Dark theme (qdarkstyle)
  • Camera controls organized in collapsible sections
  • Multi-tab main layout
  • About dialog and update-check flow
  • Popup/dialog policy aligned for clean window controls

Build and Distribution

  • PyInstaller-based executable packaging
  • PowerShell build script with installer/portable packaging flow
  • Versioned build process support

Notes

  • NDI features require compatible runtime/network configuration.
  • VISCA camera behavior may vary by vendor firmware.
  • For troubleshooting and validation workflows, see README.md and QUICKSTART.md.