Files
artmap/config.example.toml
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

67 lines
1.7 KiB
TOML

# artmap configuration
# Run with: go run . -config config.toml [-listen :6454] [-broadcast 2.255.255.255]
# Address format:
# from: universe[:channels] - range specifies which channels to read
# to: universe[:channel] - single channel specifies where to start writing
#
# Universe: "net.subnet.universe" or plain number (all 0-indexed, 0-127.0-15.0-15)
# Channels: 1-indexed (1-512), matching DMX convention
#
# From examples:
# "0.0.1" - universe 1, all channels (1-512)
# "0.0.1:50" - universe 1, channel 50 only
# "0.0.1:50-" - universe 1, channels 50-512
# "0.0.1:50-100" - universe 1, channels 50-100
# 1 - universe 1, all channels
# "1:50-100" - universe 1, channels 50-100
#
# To examples:
# "0.0.1" - universe 1, starting at channel 1
# "0.0.1:50" - universe 1, starting at channel 50
#
# Input protocol (optional, default "artnet"):
# from_proto = "artnet" - receive via ArtNet
# from_proto = "sacn" - receive via sACN/E1.31 (multicast)
#
# Output protocol (optional, default "artnet"):
# proto = "artnet" - output via ArtNet (broadcast or discovered nodes)
# proto = "sacn" - output via sACN/E1.31 (multicast)
# Remap entire universe
[[mapping]]
from = "0.0.0"
to = "0.0.5"
# Channel-level remap for fixture spillover
# Channels 450-512 from universe 0 -> channels 1-63 of universe 1
[[mapping]]
from = "0.0.0:450-512"
to = "0.0.1:1"
# Using plain universe numbers
[[mapping]]
from = 2
to = 10
# Multiple outputs from same source
[[mapping]]
from = "0.0.3"
to = "0.0.7"
[[mapping]]
from = "0.0.3"
to = "0.0.8"
# Output to sACN instead of ArtNet
[[mapping]]
from = "0.0.4"
to = 1
proto = "sacn"
# Convert sACN input to ArtNet output
[[mapping]]
from = 5
from_proto = "sacn"
to = "0.0.5"