{ "FormatVersion": 3, "Id": "e5a8d9e6-3c5a-4bbb-9da3-737b6330b9c3"/*SacnOutput*/, "Description": "Sends DMX data over the network using the sACN (Streaming ACN / E1.31) protocol.\n\nThis operator multicasts or unicasts DMX data to sACN-enabled devices like lighting fixtures, nodes, or media servers. It can send multiple DMX universes simultaneously and uses a dedicated background thread for high-performance transmission.\n\nFeatures:\n- Multi-input support: Connect multiple lists to send different universes\n- Automatic universe expansion: Lists larger than 512 channels span multiple universes\n- Built-in source discovery to find sACN devices on your network\n- Configurable priority for HTP (Highest Takes Precedence) merging\n- Frame rate limiting to prevent network flooding\n- Optional sACN Synchronization packets\n\nTips:\n- For multicast, leave `TargetIpAddress` empty. For unicast, specify the destination IP.\n- Use `UniverseChannels` to define the starting universe for each input (auto-expands as needed)\n- Enable `SendTrigger` to start continuous transmission; disable to stop.\n- Higher `Priority` values (0-200) override lower priority sources on sACN receivers.\n\nAKA: sacn, streaming acn, dmx, artnet, lighting, e1.31", "InputUis": [ { "InputId": "2a8d39a3-5a41-477d-815a-8b8b9d8b1e4a"/*InputsValues*/, "Position": { "X": -200.0, "Y": 0.0 }, "Description": "A multi-input where each connected input provides DMX channel data for a separate universe. Each input should contain a list of float values (0-255) that are clamped to 0-255." }, { "InputId": "3f25c04c-0a88-42fb-93d3-05992b861e61"/*DiscoverSources*/, "Position": { "X": -200.0, "Y": 525.0 }, "Description": "If enabled, the operator listens for sACN sources on the network and populates the `TargetIpAddress` dropdown with discovered devices. Useful for finding sACN receivers." }, { "InputId": "4a9e2d3b-8c6f-4b1d-8d7e-9f3a5b2c1d0e"/*Priority*/, "Position": { "X": -200.0, "Y": 600.0 }, "Description": "The priority of the sent DMX data (0-200). Higher priority data will override lower priority data on the receiving node. Default is 100." }, { "InputId": "5b1d9c8a-7e3f-4a2b-9c8d-1e0f3a5b2c1d"/*SourceName*/, "Position": { "X": -200.0, "Y": 675.0 }, "Description": "A user-defined name for this sACN source, which can help identify it on the network.", "Usage": "Default" }, { "InputId": "6f5c4b3a-2e1d-4f9c-8a7b-3d2e1f0c9b8a"/*MaxFps*/, "Position": { "X": -200.0, "Y": 750.0 }, "Description": "Limits the maximum update rate in frames per second. A value of 0 means no limit." }, { "InputId": "7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d"/*EnableSync*/, "Position": { "X": -200.0, "Y": 825.0 }, "Description": "If enabled, an sACN Synchronization packet is sent to the `SyncUniverse`. This can be used to synchronize updates across multiple sACN receivers." }, { "InputId": "8b9c0d1e-2f3a-4b5c-6d7e-8f9a0b1c2d3e"/*SyncUniverse*/, "Position": { "X": -200.0, "Y": 900.0 }, "Description": "The universe to which the sACN Synchronization packet is sent." }, { "InputId": "8c6c9a8d-29c5-489e-8c6b-9e4a3c1e2b6a"/*SendUnicast*/, "Position": { "X": -200.0, "Y": 375.0 }, "Description": "If enabled, sends sACN packets as unicast to the `TargetIpAddress`. Otherwise, packets are multicast." }, { "InputId": "9c233633-959f-4447-b248-4d431c1b18e7"/*SendTrigger*/, "Position": { "X": -200.0, "Y": 225.0 }, "Description": "Enables continuous transmission of sACN data. When true, the operator sends packets at the rate specified by `MaxFps`." }, { "InputId": "b2c3d4e5-f6a7-8901-bcde-f234567890ab"/*UniverseChannels*/, "Position": { "X": -200.0, "Y": 75.0 }, "Description": "Defines the starting universe number for each input. If an input has more than 512 channels, it automatically spans to the next universe." }, { "InputId": "c2a9e3e3-a4e9-430b-9c6a-4e1a1e0b8e2e"/*Reconnect*/, "Position": { "X": -200.0, "Y": 300.0 }, "Description": "Forces a reconnection of the network socket. Toggle this to reconnect after network changes." }, { "InputId": "d9e8d7c6-b5a4-434a-9e3a-4e2b1d0c9a7b"/*TargetIpAddress*/, "Position": { "X": -200.0, "Y": 450.0 }, "Description": "The destination IP address for unicast sACN packets. If empty, packets are multicast to the standard sACN multicast address.", "Usage": "CustomDropdown" }, { "InputId": "f8a7e0c8-c6c7-4b53-9a3a-3e5f2a4f4e1c"/*LocalIpAddress*/, "Position": { "X": -200.0, "Y": 150.0 }, "Description": "The IP address of the network interface to send from. A dropdown shows available addresses. If you have multiple network cards, make sure to select the one connected to your lighting network.", "Usage": "CustomDropdown" } ], "SymbolChildUis": [], "OutputUis": [ { "OutputId": "a3c4a2e8-bc1b-453a-9773-1952a6ea10a3"/*Result*/, "Position": { "X": 300.0, "Y": 200.0 } } ] }