9 Commits

Author SHA1 Message Date
Ian Gulliver
d1d30e1d50 Apply go fix modernizations 2026-03-05 11:39:12 -08:00
Ian Gulliver
80a307da94 Add fixed-rate 40Hz sender with per-universe buffering
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 07:31:22 -08:00
Ian Gulliver
73fc545070 Move stats counters into engine to eliminate hot path map lookup
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 12:11:37 -08:00
Ian Gulliver
71d600f481 Add sACN universe discovery announcements 2026-01-28 21:13:22 -08:00
Ian Gulliver
416e67b3f1 Add fuzz tests for config, remap, and sacn packages 2026-01-28 12:34:32 -08:00
Ian Gulliver
e48a7de384 Fix ArtPollReply to advertise both input and output universes 2026-01-27 15:54:32 -08:00
Ian Gulliver
9a694b5178 Add proper Universe type with protocol-aware formatting 2026-01-27 15:25:10 -08:00
Ian Gulliver
b0e9ecdee7 Add sACN input/output support and fix multi-source merging
- Add sACN/E1.31 protocol support for both input and output
- from_proto = "sacn" to receive from sACN multicast
- proto = "sacn" to output via sACN multicast
- Fix remap engine to maintain persistent state per output universe
- Multiple inputs targeting same output now merge correctly
- Prevents flickering when multiple universes feed same output

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 12:32:41 -08:00
Ian Gulliver
a709e5498b Initial implementation of ArtNet remapping proxy
Channel-level DMX remapping between ArtNet universes with:
- TOML configuration with multiple address formats (net.subnet.universe, plain number)
- ArtPoll discovery for output nodes
- Configurable channel ranges for fixture spillover handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 09:27:20 -08:00