/// <summary> /// Raises the DMX data packet recieved event. /// </summary> /// <param name="source">The source.</param> /// <param name="newPacket">The new packet.</param> protected virtual void RaiseNewPacket(IPEndPoint source, StreamingAcnDmxPacket newPacket) { if (NewPacket != null) { NewPacket(this, new NewPacketEventArgs <StreamingAcnDmxPacket>(source, newPacket)); } }
void socket_NewPacket(object sender, NewPacketEventArgs <StreamingAcnDmxPacket> e) { StreamingAcnDmxPacket dmxPacket = e.Packet as StreamingAcnDmxPacket; if (dmxPacket != null) { DecodeDmxData(dmxPacket); } }
void socket_NewPacket(object sender, NewPacketEventArgs <StreamingAcnDmxPacket> e) { StreamingAcnDmxPacket dmxPacket = e.Packet as StreamingAcnDmxPacket; if (dmxPacket != null) { receiveData.DmxData = dmxPacket.Dmx.Data; } }
public void ProcessPacket(IPEndPoint source, AcnRootLayer header, AcnBinaryReader data) { StreamingAcnDmxPacket newPacket = AcnPacket.ReadPacket(header, data) as StreamingAcnDmxPacket; if (newPacket != null) { RaiseNewPacket(source, newPacket); } }
void socket_NewPacket(object sender, NewPacketEventArgs<StreamingAcnDmxPacket> e) { bool isLocked = false; StreamingAcnDmxPacket dmxPacket = e.Packet as StreamingAcnDmxPacket; if (dmxPacket != null) { recieveData.DmxData = dmxPacket.Dmx.Data; isLocked = (lockAddress != 0 && lockAddress == dmxPacket.Framing.SyncPacketAddress); } Locked = isLocked; }
void socket_NewPacket(object sender, NewPacketEventArgs <StreamingAcnDmxPacket> e) { StreamingAcnDmxPacket dmxPacket = e.Packet as StreamingAcnDmxPacket; if (example != null) { example.UpdateData(dmxPacket.Framing.Universe - 1, dmxPacket.Dmx.Data); if (dmxPacket.Framing.SyncPacketAddress == 0) { example.Draw(TimeSpan.FromMilliseconds(10)); } } }
/// <summary> /// Sends a DMX frame over streaming ACN. /// </summary> /// <param name="universe">The streaming ACN universe between 1 and 3000.</param> /// <param name="startCode"></param> /// <param name="dmxData">The DMX data including the start code.</param> /// <param name="priority">The sACN priority for the DMX data.</param> public void SendDmx(int universe, byte startCode, byte[] dmxData, byte priority) { IncrementSequenceNumber(universe); StreamingAcnDmxPacket packet = new StreamingAcnDmxPacket(); packet.Framing.SourceName = SourceName; packet.Framing.Universe = (short)universe; packet.Framing.Priority = priority; packet.Framing.SequenceNumber = (byte)GetSequenceNumber(universe); packet.Dmx.StartCode = startCode; packet.Dmx.Data = dmxData; SendPacket(packet, UnicastDestination ?? GetUniverseEndPoint(universe)); }
/// <summary> /// Sends a DMX frame over streaming ACN. /// </summary> /// <param name="universe">The streaming ACN universe between 1 and 3000.</param> /// <param name="startCode"></param> /// <param name="dmxData">The DMX data including the start code.</param> /// <param name="priority">The sACN priority for the DMX data.</param> public void SendDmx(int universe, byte startCode, byte[] dmxData, byte priority) { IncrementSequenceNumber(universe); StreamingAcnDmxPacket packet = new StreamingAcnDmxPacket(); if (OverrideRootLayer) { packet.Root = GetRootLayer(); } packet.Framing.SourceName = SourceName; packet.Framing.SyncPacketAddress = (short)SynchronizationAddress; packet.Framing.Universe = (short)universe; packet.Framing.Priority = priority; packet.Framing.SequenceNumber = (byte)GetSequenceNumber(universe); packet.Dmx.StartCode = startCode; packet.Dmx.Data = dmxData; SendPacket(packet, GetUniverseEndPoint(universe)); }
/// <summary> /// Start the E.131 Lisener. /// </summary> void DecodeDmxData(StreamingAcnDmxPacket data) { int incomingUniverse = data.Framing.Universe; int startUniverse = _startUniverse; int universeOffset = incomingUniverse - startUniverse; int tempUniversSize = _universeSize; if (_universeSize > data.Dmx.Data.Length) { MethodInvoker action5 = delegate { listBox1.Items.Add("UniverseSize is larger than Incoming Data Size"); }; listBox1.BeginInvoke(action5); //listBox1.Items.Add("UniverseSize is larger than Incoming Data Size"); tempUniversSize = data.Dmx.Data.Length - 1; } int offset = universeOffset * tempUniversSize; if (offset < 0 || _channelData.Length < (offset + tempUniversSize)) { return; } //based on universe store data to channel data array for (int i = 0; i < tempUniversSize; i++) { _channelData[i + offset] = data.Dmx.Data[i + 1]; } if (_endUniverse == incomingUniverse) { OutputToPanel(); } }
void socket_NewPacket(object sender, NewPacketEventArgs <StreamingAcnDmxPacket> e) { StreamingAcnDmxPacket dmxPacket = e.Packet as StreamingAcnDmxPacket; }