![]() |
VOOZH | about |
dotnet add package Haukcode.ArtNet --version 4.0.90
NuGet\Install-Package Haukcode.ArtNet -Version 4.0.90
<PackageReference Include="Haukcode.ArtNet" Version="4.0.90" />
<PackageVersion Include="Haukcode.ArtNet" Version="4.0.90" />Directory.Packages.props
<PackageReference Include="Haukcode.ArtNet" />Project file
paket add Haukcode.ArtNet --version 4.0.90
#r "nuget: Haukcode.ArtNet, 4.0.90"
#:package Haukcode.ArtNet@4.0.90
#addin nuget:?package=Haukcode.ArtNet&version=4.0.90Install as a Cake Addin
#tool nuget:?package=Haukcode.ArtNet&version=4.0.90Install as a Cake Tool
A high-performance ArtNet library for .NET (8.0+) enabling DMX512 lighting control over IP networks.
Art-Net is a royalty-free protocol for transmitting DMX512 lighting control data over UDP/IP networks. It's widely used in professional entertainment, architectural, and theatrical lighting.
dotnet add package Haukcode.ArtNet
For RDM support:
dotnet add package Haukcode.ArtNet.Rdm
using System.Net;
using Haukcode.ArtNet;
var localIp = IPAddress.Parse("192.168.1.100");
var subnetMask = IPAddress.Parse("255.255.255.0");
// Create client
using var client = new ArtNetClient(localIp, subnetMask);
// Send DMX data
var dmxData = new byte[512];
dmxData[0] = 255; // Channel 1 at full
await client.SendDmxData(null, universeId: 1, dmxData);
using System.Threading.Channels;
using Haukcode.ArtNet.Packets;
var channel = Channel.CreateUnbounded<ReceiveDataPacket>();
using var client = new ArtNetClient(
localIp, subnetMask,
channelWriter: async (p) => await channel.Writer.WriteAsync(p));
await foreach (var packet in channel.Reader.ReadAllAsync())
{
if (packet.Packet is ArtNetDmxPacket dmx)
{
Console.WriteLine($"Universe {dmx.Universe + 1}: {dmx.DmxData[0]}");
}
}
// Send ArtPoll to discover devices
await client.QueuePacketForSending(null, new ArtPollPacket());
// Send data to multiple universes
await client.SendDmxData(null, 1, dmxData1);
await client.SendDmxData(null, 2, dmxData2);
// Sync all outputs
await client.SendSync(null);
// Send DMX data (null = broadcast to all)
Task SendDmxData(IPAddress? address, ushort universeId,
ReadOnlyMemory<byte> dmxData, bool important = false)
// Send sync packet
Task SendSync(IPAddress? address)
// Send any packet
Task QueuePacketForSending(IPAddress? destination,
ArtNetPacket packet, bool important = false)
ArtPoll / ArtPollReply - Device discoveryArtDmx - DMX data transmissionArtSync - Frame synchronizationArtTrigger - Show control triggersArtAddress - Node configurationArtTodRequest / ArtTodData - RDM device discoveryArtRdm - RDM commands (requires RDM package)ArtIpProg - Remote IP configuration📖 Full Documentation: https://github.com/HakanL/Haukcode.ArtNet
🔧 Sample Code: Included in the GitHub repository
MIT License - Copyright (c) 2018-2024 Hakan Lindestaf
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.90 | 106 | 6/3/2026 |
| 4.0.89 | 100 | 6/2/2026 |
| 3.0.88 | 117 | 5/19/2026 |
| 3.0.87 | 122 | 5/3/2026 |
| 3.0.85 | 144 | 4/9/2026 |
| 3.0.84 | 179 | 3/20/2026 |
| 3.0.82 | 121 | 3/12/2026 |
| 3.0.80 | 1,045 | 2/5/2026 |
| 3.0.78 | 118 | 2/5/2026 |
| 3.0.74 | 440 | 11/11/2025 |
| 3.0.72 | 228 | 10/9/2025 |
| 3.0.71 | 210 | 10/7/2025 |
| 3.0.69 | 401 | 5/13/2025 |
| 3.0.68 | 320 | 5/13/2025 |
| 3.0.67 | 313 | 5/12/2025 |
| 3.0.66 | 270 | 4/24/2025 |
3.0.0 - Split RDM into a separate project
2.0.0 - Rewrite to use HighPerfComm library
1.2.2 - Bug fixes
1.1.0 - Implemented ArtSync
1.0.18 - Fixed bug in RdmPacketFactory
1.0.17 - Fixed bug in ArtNetReplyPacket
1.0.0 - Initial release