Ian Gulliver
88763946a4
Replace Dante channel strings with structured data
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 23:21:33 -08:00
Ian Gulliver
b966ad0feb
Refactor Dante fields to use proper types and group flows with lastSeen
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 23:15:24 -08:00
Ian Gulliver
aebd6f5e2c
Use MulticastGroup as map key and serialize under lock
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:48:55 -08:00
Ian Gulliver
a912d73169
Refactor node storage and use proper types for protocol data
...
- Rename TypeID to ID throughout
- Remove re-derivable data (MACTableSize, SACNInputs now derived)
- Use typed ArtNetUniverse and SACNUniverse with methods
- Store multicast groups with lastSeen tracking in structs
- Remove int indexes in Nodes, use direct node pointers
- Parse multicast groups into typed struct instead of strings
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:36:44 -08:00
Ian Gulliver
fc5b36cd1c
Remove separate tracking structures and store protocol data directly on nodes
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 22:15:54 -08:00
Ian Gulliver
0baa208b99
Improve hover cards with wrapper pattern and consistent behavior
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-26 14:45:31 -08:00
Ian Gulliver
d6f3debd73
Fix duplicate node creation from pre-joined DisplayName
2026-01-24 14:50:19 -08:00
Ian Gulliver
9aebe8b83d
Add HTTP API with JSON status endpoint and typeid support
2026-01-24 11:03:34 -08:00
Ian Gulliver
168cdedbcb
Add flow status parsing and DOWN indicator for inactive dante flows
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 10:28:10 -08:00
Ian Gulliver
f02b25ca29
fix goroutine leak and reduce code duplication
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:28:58 -08:00
Ian Gulliver
7e8ec697ae
refactor codebase and fix bugs
...
- merge dante.go and dante_control.go into single dante.go
- consolidate buildDantePacket and buildDantePacket28 into one function
- fix broken comparison logic in SetDanteClockMaster
- split ARP parsing into platform-specific files with build tags
- implement Linux ARP table parsing via /proc/net/arp
- run gofmt on all files
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:21:51 -08:00
Ian Gulliver
604123559b
remove mdns dante node discovery
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 23:05:04 -08:00
Ian Gulliver
3222e20e84
track multiple names per node
2026-01-23 13:11:38 -08:00
Ian Gulliver
9c7bd671ba
add multicast flow transmitter discovery via mdns _netaudio-chan service
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 11:53:30 -08:00
Ian Gulliver
47b48337b3
add dante subscription discovery via arc protocol
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 11:30:40 -08:00
Ian Gulliver
6394b55191
send mdns queries from listener socket for multicast responses
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 09:27:45 -08:00
Ian Gulliver
f3b85fc8f2
add skaarhoj device discovery and remove unused dante query
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 09:12:09 -08:00
Ian Gulliver
c12e8c0933
add danteancil mdns service query
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 00:45:09 -08:00
Ian Gulliver
2fa2fcd57d
add dante device discovery via mdns and ptp clock master detection
...
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-23 00:24:36 -08:00