A Flutter desktop app (macOS & Windows) that listens for OSC messages over UDP and displays the received text full-screen — for live shows, broadcast overlays, or installations.
It's a Flutter rewrite of the LivePanel Electron app.
A simple project page lives at docs/index.html.
Send an OSC /text message to the app's UDP port:
/text "Hello from OSC"
/text "Custom duration" 2.5
- Argument 1 (string) is the text to display.
- Argument 2 (float, optional) overrides the default display duration in seconds for that message.
Messages are queued and shown one at a time: each is displayed for its duration, then the app automatically advances to the next queued message, or clears the screen once the queue is empty.
The listener's bind address/port and the default display duration are configured from the in-app settings screen (gear icon, top-right) and persist across restarts.
flutter pub get
flutter run -d macos # or: flutter run -d windows
flutter analyze # static analysis
flutter test # unit + widget tests
flutter test test/osc_message_test.dart # a single test file
flutter build macos # release build (macos/windows)
See CLAUDE.md for architecture notes, including a macOS App Sandbox entitlement gotcha around
the UDP socket.