-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathProgram.cs
37 lines (28 loc) · 1.3 KB
/
Program.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using ArtNetSharp;
using ArtNetSharp.Communication;
Console.WriteLine("Node Input Example!");
//Add Logging
//ArtNet.SetLoggerFectory(YOUR_LOGGER_FACTORY);
//Set Networkinterfaces
//var broadcastIp = new IPAddress(new byte[] { 2, 255, 255, 255 });
//ArtNet.Instance.NetworkClients.ToList().ForEach(ncb => ncb.Enabled = IPAddress.Equals(broadcastIp, ncb.BroadcastIpAddress));
// Create Instance
NodeInstance nodeInstance = new NodeInstance(ArtNet.Instance);
nodeInstance.Name = nodeInstance.ShortName = "Node Input Example";
// Configure Input Ports
for (byte i = 1; i <= 4; i++)
nodeInstance.AddPortConfig(new PortConfig(i, new PortAddress((ushort)(i - 1)), false, true) { PortNumber = (byte)i, Type = EPortType.InputToArtNet | EPortType.ArtNet });
for (byte i = 11; i <= 14; i++)
nodeInstance.AddPortConfig(new PortConfig(i, new PortAddress((ushort)(i - 1)), false, true) { PortNumber = (byte)i, Type = EPortType.InputToArtNet | EPortType.ArtNet });
// Add Instance
ArtNet.Instance.AddInstance(nodeInstance);
// Genrerate some DMX-Data
byte[] data = new byte[512];
while (true)
{
await Task.Delay(200);
for (short k = 0; k < 512; k++)
data[k]++;
foreach (var port in nodeInstance.PortConfigs)
nodeInstance.WriteDMXValues(port.PortAddress, data);
}