Files
artmap/config.example.toml
Ian Gulliver dee33302c2 Add pcap-based ArtNet receiver to avoid port conflicts
Similar to sACN pcap receiver, allows receiving ArtNet packets without
binding to port 6454. Use --artnet-pcap=any to enable.

The BPF filter "udp port 6454" captures packets where src OR dst is
6454, so we also catch ArtPollReply responses sent from port 6454.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-24 12:18:53 -08:00

75 lines
2.0 KiB
TOML

# artmap configuration
# Run with: go run . --config=config.toml [flags]
#
# Flags:
# --artnet-listen=:6454 ArtNet listen address (empty to disable)
# --artnet-pcap=any Use pcap for ArtNet (requires root, avoids port conflicts)
# --artnet-broadcast=auto Broadcast addresses (comma-separated, or 'auto')
# --sacn-pcap=any Use pcap for sACN (requires root, avoids port conflicts)
# Target addresses for ArtNet output universes
# Each output universe needs a target IP (broadcast or unicast)
# ArtPoll discovery will be sent to all unique target addresses
[[target]]
universe = "artnet:0.0.0"
address = "2.255.255.255"
[[target]]
universe = "artnet:0.0.5"
address = "10.50.255.255"
# Address format:
# proto:universe[:channels]
#
# Protocol prefix (required):
# artnet: - ArtNet protocol
# sacn: - sACN/E1.31 protocol
#
# 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:
# "artnet:0.0.1" - universe 1, all channels (1-512)
# "sacn:64:50" - universe 64, channel 50 only
# "artnet:0.0.1:50-" - universe 1, channels 50-512
# "sacn:1:50-100" - universe 1, channels 50-100
#
# To examples:
# "artnet:0.0.1" - universe 1, starting at channel 1
# "sacn:1:50" - universe 1, starting at channel 50
# Remap entire universe
[[mapping]]
from = "artnet:0.0.0"
to = "artnet:0.0.5"
# Channel-level remap for fixture spillover
# Channels 450-512 from universe 0 -> channels 1-63 of universe 1
[[mapping]]
from = "artnet:0.0.0:450-512"
to = "artnet:0.0.1:1"
# Using plain universe numbers
[[mapping]]
from = "artnet:2"
to = "artnet:10"
# Multiple outputs from same source
[[mapping]]
from = "artnet:0.0.3"
to = "artnet:0.0.7"
[[mapping]]
from = "artnet:0.0.3"
to = "artnet:0.0.8"
# Output to sACN instead of ArtNet
[[mapping]]
from = "artnet:0.0.4"
to = "sacn:1"
# Convert sACN input to ArtNet output
[[mapping]]
from = "sacn:5"
to = "artnet:0.0.5"