Example #1
0
        override protected void pack()
        {
            List <byte> data       = new List <byte>();
            oscString   oAddress   = this.address;
            oscDateTime oTimestamp = this.timestamp;

            addBytes(data, oAddress.pack());
            padNull(data);
            addBytes(data, oTimestamp.pack());              // fixed point, 8 bytes
            padNull(data);

            foreach (OSCPacket oscPacket in this.Values)
            {
                if (oscPacket != null)
                {
                    byte[] bs  = oscPacket.BinaryData;
                    oscInt len = bs.Length;
                    addBytes(data, len.pack());
                    addBytes(data, bs);
                }
                else
                {
                    // TODO
                }
            }

            this.binaryData = (byte[])data.ToArray();
        }
Example #2
0
        public static oscStream unpack(byte[] bytes, ref int start)
        {
            oscInt length = (oscInt)oscInt.unpack(bytes, ref start);

            byte[] buffer = new byte[length];
            Array.Copy(bytes, start, buffer, 0, length);

            start += length;
            start  = (start + 3) / 4 * 4;
            return((oscStream) new MemoryStream(buffer));
        }
Example #3
0
        public byte[] pack()
        {
            var mem = new MemoryStream();

            value.Seek(0, SeekOrigin.Begin);
            value.CopyTo(mem);

            byte[] valueData = mem.ToArray();

            var lData = new List <byte>();

            oscInt i = valueData.Length;

            var length = i.pack();

            lData.AddRange(length);
            lData.AddRange(valueData);

            return((byte[])lData.ToArray());
        }