Exemple #1
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            data.Write((byte)LibraryType);

            if (MsexVersion < CitpMsexVersions.Msex11Version)
            {
                data.Write(LibraryNumber);
            }
            else
            {
                data.WriteMsexLibraryId(LibraryId);
            }

            if (MsexVersion < CitpMsexVersions.Msex12Version)
            {
                data.Write((byte)ElementNumbers.Count);
            }
            else
            {
                data.Write((UInt16)ElementNumbers.Count);
            }

            foreach (byte number in ElementNumbers)
            {
                data.Write(number);
            }
        }
            public override void WriteData(CitpBinaryWriter data)
            {
                if (MsexVersion < CitpMsexVersions.Msex11Version)
                {
                    data.Write(LibraryNumber);
                }
                else
                {
                    data.WriteMsexLibraryId(LibraryId);
                }

                if (MsexVersion > CitpMsexVersions.Msex11Version)
                {
                    data.Write(SerialNumber);
                }

                data.Write(DmxRangeMin);
                data.Write(DmxRangeMax);
                data.WriteUcs2(Name);

                if (MsexVersion >= CitpMsexVersions.Msex12Version)
                {
                    data.Write(LibraryCount);
                    data.Write(ElementCount);
                }
                else if (MsexVersion == CitpMsexVersions.Msex11Version)
                {
                    data.Write((byte)LibraryCount);
                    data.Write((byte)ElementCount);
                }
                else
                {
                    data.Write((byte)ElementCount);
                }
            }
Exemple #3
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            //This message is not in the 1.0 spec, server should ignore the empty header.
            if (MsexVersion > CitpMsexVersions.Msex10Version)
            {
                data.WriteMsexLibraryId(LibraryId);

                if (MsexVersion < CitpMsexVersions.Msex12Version)
                {
                    data.Write((byte)Elements.Count);
                }
                else
                {
                    data.Write((UInt16)Elements.Count);
                }

                foreach (ElementInfomation info in Elements)
                {
                    info.MsexVersion = MsexVersion;
                    info.WriteData(data);
                }
            }
        }
Exemple #4
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            data.Write((ushort)Fixtures.Count);
            foreach (FixtureChange change in Fixtures)
            {
                data.Write(change.FixtureId);
                data.Write((byte)change.ChangedFields);
                data.Write(change.Patched);
                data.Write(change.DMXUniverse);
                data.Write(change.DMXAddress);
                data.WriteUcs2(change.Unit);
                data.Write(change.Channel);
                data.WriteUcs2(change.Circuit);
                data.WriteUcs2(change.Note);

                data.Write(change.Position.X);
                data.Write(change.Position.Y);
                data.Write(change.Position.Z);

                data.Write(change.Angle.X);
                data.Write(change.Angle.Y);
                data.Write(change.Angle.Z);
            }
        }
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            data.WriteCookie(ThumbnailFormat);
            data.Write(ThumbnailWidth);
            data.Write(ThumbnailHeight);
            data.Write((byte)ThumbnailFlags);
            data.Write((byte)LibraryType);

            if (MsexVersion < CitpMsexVersions.Msex11Version)
            {
                data.Write(LibraryId.ToNumber());
            }
            else
            {
                data.WriteMsexLibraryId(LibraryId);
            }

            if (MsexVersion < CitpMsexVersions.Msex12Version)
            {
                data.Write((byte)ElementNumbers.Count);
            }
            else
            {
                data.Write((UInt16)ElementNumbers.Count);
            }

            foreach (byte element in ElementNumbers)
            {
                data.Write(element);
            }
        }
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            if (MsexVersion < CitpMsexVersions.Msex11Version)
            {
                data.Write(LibraryNumber);
            }
            else
            {
                data.WriteMsexLibraryId(LibraryId);
            }

            if (MsexVersion < CitpMsexVersions.Msex12Version)
            {
                data.Write((byte)Elements.Count);
            }
            else
            {
                data.Write((UInt16)Elements.Count);
            }

            foreach (EffectInfomation info in Elements)
            {
                info.MsexVersion = MsexVersion;
                info.WriteData(data);
            }
        }
Exemple #7
0
 public override void WriteData(CitpBinaryWriter data)
 {
     base.WriteData(data);
     data.Write((byte)Format);
     data.Write(Data.Length);
     data.Write(Data);
 }
Exemple #8
0
        protected override void SerializeToStream(CitpBinaryWriter writer)
        {
            base.SerializeToStream(writer);

            writer.Write(UniverseIndex);
            writer.Write(UniverseName, true);
        }
Exemple #9
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            if (MsexVersion < 1.1)
            {
                data.Write(LibraryNumber);
            }
            else
            {
                data.WriteMsexLibraryId(LibraryId);
            }

            if (MsexVersion < 1.2)
            {
                data.Write((byte)Elements.Count);
            }
            else
            {
                data.Write((UInt16)Elements.Count);
            }

            foreach (MediaInformation info in Elements)
            {
                info.WriteData(data);
            }
        }
Exemple #10
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            data.Write((byte)LibraryType);

            if (MsexVersion < CitpMsexVersions.Msex11Version)
            {
                data.Write(LibraryNumber);
            }
            else
            {
                data.WriteMsexLibraryId(LibraryId);
            }

            data.Write((byte)UpdateFlags);

            if (MsexVersion >= CitpMsexVersions.Msex12Version)
            {
                byte[] elementsData = new byte[32];
                AffectedElements.CopyTo(elementsData, 0);
                data.Write(elementsData);

                byte[] libraryData = new byte[32];
                AffectedLibraries.CopyTo(libraryData, 0);
                data.Write(libraryData);
            }
        }
Exemple #11
0
        protected override void SerializeToStream(CitpBinaryWriter writer)
        {
            base.SerializeToStream(writer);

            switch (Version)
            {
            case MsexVersion.Version1_0:
            case MsexVersion.Version1_1:
                writer.Write(ProductName);
                writer.Write(ProductVersionMajor);
                writer.Write(ProductVersionMinor);

                writer.Write((byte)LayerDmxSources.Count);
                foreach (var d in LayerDmxSources)
                {
                    writer.Write(d.ToUtf8ByteArray());
                }
                break;

            case MsexVersion.Version1_2:
                writer.Write(Encoding.UTF8.GetBytes(Uuid.ToString("D")));
                writer.Write(ProductName);

                writer.Write(ProductVersionMajor);
                writer.Write(ProductVersionMinor);
                writer.Write(ProductVersionBugfix);

                writer.Write((byte)SupportedMsexVersions.Count);
                foreach (var v in SupportedMsexVersions)
                {
                    writer.Write(v.GetCustomAttribute <CitpVersionAttribute>().ToByteArray());
                }

                ushort supportedLibraryTypes = 0;
                foreach (var t in SupportedLibraryTypes)
                {
                    supportedLibraryTypes |= (ushort)(2 ^ (int)t);
                }
                writer.Write(supportedLibraryTypes);

                writer.Write((byte)ThumbnailFormats.Count);
                foreach (var f in ThumbnailFormats)
                {
                    writer.Write(f.GetCustomAttribute <CitpId>().Id);
                }

                writer.Write((byte)StreamFormats.Count);
                foreach (var f in StreamFormats)
                {
                    writer.Write(f.GetCustomAttribute <CitpId>().Id);
                }

                writer.Write((byte)LayerDmxSources.Count);
                foreach (var d in LayerDmxSources)
                {
                    writer.Write(d.ToUtf8ByteArray());
                }
                break;
            }
        }
Exemple #12
0
        protected override void SerializeToStream(CitpBinaryWriter writer)
        {
            base.SerializeToStream(writer);

            writer.Write(UniverseIndex);
            writer.Write(ConnectionString.ToUtf8ByteArray());
        }
        protected override void SerializeToStream(CitpBinaryWriter writer)
        {
            base.SerializeToStream(writer);

            writer.Write((ushort)Sources.Count);
            foreach (var s in Sources)
            {
                writer.Write(s.SourceIdentifier);
                writer.Write(s.SourceName);

                if (s.PhysicalOutput.HasValue)
                {
                    writer.Write(s.PhysicalOutput.Value);
                }
                else
                {
                    writer.Write((byte)0xFF);
                }

                if (s.LayerNumber.HasValue)
                {
                    writer.Write(s.LayerNumber.Value);
                }
                else
                {
                    writer.Write((byte)0xFF);
                }

                writer.Write((ushort)s.Flags);

                writer.Write(s.Width);
                writer.Write(s.Height);
            }
        }
Exemple #14
0
 public override void WriteData(CitpBinaryWriter data)
 {
     base.WriteData(data);
     if (ReceivedContentType != null)
     {
         data.WriteCookie(ReceivedContentType);
     }
 }
Exemple #15
0
        protected override void SerializeToStream(CitpBinaryWriter writer)
        {
            base.SerializeToStream(writer);

            switch (Version)
            {
            case MsexVersion.Version1_0:
                writer.Write((byte)LibraryType);
                writer.Write(LibraryNumber);

                writer.Write((byte)UpdateFlags);
                break;

            case MsexVersion.Version1_1:
                writer.Write((byte)LibraryType);

                if (!LibraryId.HasValue)
                {
                    throw new InvalidOperationException("LibraryId has no value. Required for MSEX V1.1");
                }

                writer.Write(LibraryId.Value.ToByteArray());

                writer.Write((byte)UpdateFlags);
                break;

            case MsexVersion.Version1_2:
                writer.Write((byte)LibraryType);

                if (!LibraryId.HasValue)
                {
                    throw new InvalidOperationException("LibraryId has no value. Required for MSEX V1.2");
                }

                writer.Write(LibraryId.Value.ToByteArray());

                writer.Write((byte)UpdateFlags);

                var affectedElements = new BitArray(256);
                foreach (byte a in AffectedElements)
                {
                    affectedElements[a] = true;
                }
                var affectedElementsBytes = new byte[32];
                ((ICollection)affectedElements).CopyTo(affectedElementsBytes, 0);
                writer.Write(affectedElementsBytes);

                var affectedLibraries = new BitArray(256);
                foreach (byte a in AffectedLibraries)
                {
                    affectedLibraries[a] = true;
                }
                var affectedLibrariesBytes = new byte[32];
                ((ICollection)affectedLibraries).CopyTo(affectedLibrariesBytes, 0);
                writer.Write(affectedLibrariesBytes);
                break;
            }
        }
Exemple #16
0
 public override void WriteData(CitpBinaryWriter data)
 {
     base.WriteData(data);
     data.Write(Blind);
     data.Write(UniverseIndex);
     data.Write(FirstChannel);
     data.Write((ushort)ChannelLevels.Length);
     data.Write(ChannelLevels);
 }
Exemple #17
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            data.Write(ListeningTCPPort);
            data.WriteUcs1(Type);
            data.WriteUcs1(Name);
            data.WriteUcs1(State);
        }
Exemple #18
0
 public override void WriteData(CitpBinaryWriter data)
 {
     base.WriteData(data);
     data.Write((ushort)FixtureIdentifiers.Count);
     foreach (ushort id in FixtureIdentifiers)
     {
         data.Write(id);
     }
 }
Exemple #19
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            data.Write((ushort)Capabilities.Count);
            foreach (DmxCapabilities capability in Capabilities)
            {
                data.Write((ushort)capability);
            }
        }
Exemple #20
0
        public void BeginSend(CitpHeader citpMessage)
        {
            MemoryStream     data   = new MemoryStream();
            CitpBinaryWriter writer = new CitpBinaryWriter(data);

            citpMessage.WriteData(writer);
            citpMessage.WriteMessageSize(writer);

            BeginSendTo(data.GetBuffer(), 0, (int)data.Length, SocketFlags.None, new IPEndPoint(MulticastGroup, Port), null, null);
        }
Exemple #21
0
 public override void WriteData(CitpBinaryWriter data)
 {
     data.Write(SourceIdentifier);
     data.WriteUcs2(SourceName);
     data.Write(PhysicalOutput);
     data.Write(LayerNumber);
     data.Write(Flags);
     data.Write(Width);
     data.Write(Height);
 }
Exemple #22
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            data.Write((UInt16)Sources.Count);
            foreach (SourceInformation source in Sources)
            {
                source.WriteData(data);
            }
        }
        protected override void SerializeToStream(CitpBinaryWriter writer)
        {
            base.SerializeToStream(writer);

            writer.Write((byte)SupportedMsexVersions.Count);
            foreach (var v in SupportedMsexVersions)
            {
                writer.Write(v.GetCustomAttribute <CitpVersionAttribute>().ToByteArray());
            }
        }
Exemple #24
0
        public void BeginSend(CitpPacket citpMessage)
        {
            MemoryStream     data   = new MemoryStream();
            CitpBinaryWriter writer = new CitpBinaryWriter(data);

            citpMessage.WriteData(writer);
            ((CitpHeader)citpMessage).WriteMessageSize(writer);

            client.Client.BeginSend(data.GetBuffer(), 0, (int)data.Length, SocketFlags.None, new AsyncCallback(OnSendCompleted), null);
        }
Exemple #25
0
 public override void WriteData(CitpBinaryWriter data)
 {
     base.WriteData(data);
     data.Write((byte)Options.Count);
     foreach (RecordCueOption option in Options)
     {
         data.WriteUcs2(option.Name);
         data.WriteUcs2(option.Value);
     }
 }
Exemple #26
0
        /// <summary>
        /// Similar to the send method in the client.
        /// Fills out the size field and adds the data to a memory stream.
        /// </summary>
        /// <param name="citpMessage">The citp message.</param>
        /// <returns>The read packet.</returns>
        private static CitpRecieveData WriteToMemoryStream(CitpHeader citpMessage)
        {
            CitpRecieveData  data   = new CitpRecieveData();
            CitpBinaryWriter writer = new CitpBinaryWriter(data);

            citpMessage.WriteData(writer);
            citpMessage.WriteMessageSize(writer);

            return(data);
        }
        protected override void SerializeToStream(CitpBinaryWriter writer)
        {
            base.SerializeToStream(writer);

            writer.Write((ushort)Capabilities.Count);
            foreach (var c in Capabilities)
            {
                writer.Write((ushort)c);
            }
        }
Exemple #28
0
 /// <summary>
 /// Writes the information in this packet to the specified stream.
 /// </summary>
 /// <param name="data">The stream to write the packet information to.</param>
 public override void WriteData(CitpBinaryWriter data)
 {
     base.WriteData(data);
     data.Write((ushort)FixtureLinks.Count);
     foreach (var link in FixtureLinks)
     {
         data.WriteGuid(link.CaptureInstanceId);
         data.Write((uint)link.FixtureId);
     }
 }
Exemple #29
0
        public override void WriteData(CitpBinaryWriter data)
        {
            base.WriteData(data);

            data.Write((byte)SupportedMSEXVersions.Count);

            foreach (Version version in SupportedMSEXVersions)
            {
                data.Write(version.ToMsexShort());
            }
        }
Exemple #30
0
 public override void WriteData(CitpBinaryWriter data)
 {
     data.WriteCookie(Cookie);
     data.Write(VersionMajor);
     data.Write(VersionMinor);
     data.Write(RequestId);
     data.Write(MessageSize);
     data.Write(MessagePartCount);
     data.Write(MessagePart);
     data.WriteCookie(ContentType);
 }