static void Main(string[] args) { Packet artPollPacket = new ArtPollPacket(); ArtDmxPacket artDmxPacket = new ArtDmxPacket(); ArtPollReplyPacket artPollReplyPacket = new ArtPollReplyPacket(); byte[] dmxData = Enumerable.Repeat((byte)0, 512).ToArray(); ArtNetWritter artNetOut = new ArtNetWritter(); ArtDispatcher dispatcher = new ArtDispatcher(); dispatcher.AddArtDmxListener(new ArtDmxListener()); dispatcher.AddArtPollListener(new ArtPollListener()); dispatcher.AddArtPollReplyListener(new ArtPollReplyListener()); ArtNetReader artNetIn = new ArtNetReader(dispatcher); artNetIn.Start(); KinectSensor sensor = KinectSensor.GetDefault(); sensor.Open(); InfraredFrameReader reader = sensor.InfraredFrameSource.OpenReader(); FrameDescription fd = sensor.InfraredFrameSource.FrameDescription; ArtDmxPacket[] dmx = new ArtDmxPacket[2]; for (int i = 0; i < dmx.Length; i++) { dmx[i] = new ArtDmxPacket(); dmx[i].Universe = i; dmx[i].DmxData = dmxData; } while (true) { string str = Console.ReadLine(); var value = Int32.Parse(str); if (value >= 0 && value <= 255) { dmxData = Enumerable.Repeat((byte)value, 512).ToArray(); } artDmxPacket.DmxData = dmxData; artNetOut.SetPacket(new ArtDmxPacket()); artNetOut.Write(); } }
private void ProcessPollReply(ArtPollReplyPacket packet, IPEndPoint endPoint) { //Does device support RDM? if ((packet.Status & PollReplyStatus.RdmCapable) > 0) { //if (NewDeviceFound != null) // NewDeviceFound(this, new DeviceFoundEventArgs(id, endPoint.Address)); //Request RDM Table of Devices //Find out which universes the device supports. List <byte> universes = new List <byte>(); for (int n = 0; n < 4; n++) { if ((packet.PortTypes[n] & 0x80) > 0) { universes.Add(packet.SwOut[n]); } } //Request TOD for each input universe. SendTodRequest(endPoint.Address, universes); } }