Fix ArtPollReply to advertise both input and output universes

This commit is contained in:
Ian Gulliver
2026-01-27 15:54:32 -08:00
parent 9a694b5178
commit e48a7de384
6 changed files with 76 additions and 27 deletions

View File

@@ -77,6 +77,21 @@ func (e *Engine) Remap(src config.Universe, srcData [512]byte) []Output {
return result
}
// SourceArtNetUniverses returns source ArtNet universe numbers (for discovery)
func (e *Engine) SourceArtNetUniverses() []uint16 {
seen := make(map[uint16]bool)
for _, m := range e.mappings {
if m.From.Protocol == config.ProtocolArtNet {
seen[m.From.Number] = true
}
}
result := make([]uint16, 0, len(seen))
for u := range seen {
result = append(result, u)
}
return result
}
// DestArtNetUniverses returns destination ArtNet universe numbers (for discovery)
func (e *Engine) DestArtNetUniverses() []uint16 {
seen := make(map[uint16]bool)