/// <summary> /// Packs a bundle to be transported over an OSC stream. /// </summary> override public void Pack() { List <byte> data = new List <byte>(); data.AddRange(OSCPacket.PackValue(BUNDLE)); PadNull(data); data.AddRange(OSCPacket.PackValue <Int64>(_timeStamp)); foreach (object value in _data) { Trace.Assert(value is OSCMessage); OSCMessage msg = (OSCMessage)value; data.AddRange(OSCPacket.PackValue(msg.BinaryData)); } this._binaryData = data.ToArray(); }
/// <summary> /// Packs the OSC message to binary data. /// </summary> override public void Pack() { List <byte> data = new List <byte>(); data.AddRange(OSCPacket.PackValue(_address)); OSCPacket.PadNull(data); data.AddRange(OSCPacket.PackValue(_typeTag)); OSCPacket.PadNull(data); foreach (object value in _data) { data.AddRange(OSCPacket.PackValue(value)); if (value is string || value is byte[]) { OSCPacket.PadNull(data); } } this._binaryData = data.ToArray(); }
/// <summary> /// Packs a bundle to be transported over an OSC stream. /// </summary> override public void Pack() { // TODO: Pack bundle with timestamp in NTP format //throw new NotImplementedException("OSCBundle.Pack() : Not implemented method."); List <byte> data = new List <byte> (); data.AddRange(OSCPacket.PackValue(BUNDLE)); PadNull(data); data.AddRange(OSCPacket.PackValue <Int64> (_timeStamp)); foreach (object value in _data) { Trace.Assert(value is OSCMessage); OSCMessage msg = (OSCMessage)value; data.AddRange(OSCPacket.PackValue(msg.BinaryData)); } this._binaryData = data.ToArray(); }