public static OSCValue CreateOSCValue(OSCValueType valueType)
        {
            switch (valueType)
            {
            case OSCValueType.Unknown:
                return(null);

            case OSCValueType.Int:
                return(OSCValue.Int(0));

            case OSCValueType.Long:
                return(OSCValue.Long(0));

            case OSCValueType.True:
                return(OSCValue.Bool(true));

            case OSCValueType.False:
                return(OSCValue.Bool(false));

            case OSCValueType.Float:
                return(OSCValue.Float(0));

            case OSCValueType.Double:
                return(OSCValue.Double(0));

            case OSCValueType.String:
                return(OSCValue.String(""));

            case OSCValueType.Null:
                return(OSCValue.Null());

            case OSCValueType.Impulse:
                return(OSCValue.Impulse());

            case OSCValueType.Blob:
                return(OSCValue.Blob(new byte[0]));

            case OSCValueType.Char:
                return(OSCValue.Char(' '));

            case OSCValueType.Color:
                return(OSCValue.Color(Color.white));

            case OSCValueType.TimeTag:
                return(OSCValue.TimeTag(DateTime.Now));

            case OSCValueType.Midi:
                return(OSCValue.Midi(new OSCMidi(0, 0, 0, 0)));

            case OSCValueType.Array:
                return(OSCValue.Array());

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
        public void SendWrongMessage()
        {
            var message = new OSCMessage(_address);

            message.AddValue(OSCValue.Int(137));
            message.AddValue(OSCValue.String("Wrong Message"));
            message.AddValue(OSCValue.Blob(new byte[] { 0x1, 0x3, 0x3, 0x7 }));
            message.AddValue(OSCValue.Bool(true));

            Transmitter.Send(message);
        }
        // TRANSMITTER
        public void SendBlob()
        {
            var bytes       = new byte[30];
            var bytesString = string.Empty;

            for (var index = 0; index < bytes.Length; index++)
            {
                bytes[index] = (byte)(Random.value * 255);
                bytesString += "0x" + string.Format("{0:x2}", bytes[index]).ToUpper() + " ";
            }

            Send(_blobAddress, OSCValue.Blob(bytes));

            TransmitterTextBlob.text = bytesString.Remove(bytesString.Length - 1);
        }
        public void Start()
        {
            Receiver.Bind(_address, ReceiveMessage);

            // Create Message
            var message = new OSCMessage(_address);

            // Create structure
            var structure = new MarshallingStructure();

            structure.IntValue    = 1337;
            structure.StringValue = "Hello, OSC World!";
            structure.FloatValue  = 13.37f;

            // Convert structure to bytes by marshalling!
            // Marshalling can sometimes be quicker, than any other form of conversion of data in OSC
            var bytes = OSCUtilities.StructToByte(structure);

            // Add bytes to message
            message.AddValue(OSCValue.Blob(bytes));

            // Send message
            Transmitter.Send(message);
        }
 protected override void FillMessage(OSCMessage message, byte[] value) => message.AddValue(OSCValue.Blob(value));
Exemplo n.º 6
0
 protected override void ValueToOSCValues(List <OSCValue> values, byte[] value)
 {
     values.Add(OSCValue.Blob(value));
 }