Exemplo n.º 1
0
        protected virtual void Start()
        {
            // Register receive callback.
            Receiver.Bind(_address, MessageReceived);

            // Create message
            var message = OSCMessage.Create(_address);

            // Create array
            var array = OSCValue.Array();

            array.AddValue(OSCValue.Int(1)); // You can use AddValue(OSCValue) method only with OSCValue what stored Array type.
            array.AddValue(OSCValue.Float(2.5f));
            array.AddValue(OSCValue.Color(Color.red));

            // You can store another array inside array.
            // Warning! OSCValue with "Array" type cannot store itself. It can do infinite loop.
            var secondArray = OSCValue.Array();

            secondArray.AddValue(OSCValue.String("This array..."));
            secondArray.AddValue(OSCValue.String("...inside another array!"));
            array.AddValue(secondArray);

            // Add array in message
            message.AddValue(array);

            // Send message
            Transmitter.Send(message);
        }
        public void SendColor()
        {
            var color = new Color(Random.value, Random.value, Random.value);

            Send(_colorAddress, OSCValue.Color(color));

            TransmitterImageColor.color = color;
        }
        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();
            }
        }
Exemplo n.º 4
0
 protected override void ValueToOSCValues(List <OSCValue> values, Color value)
 {
     values.Add(OSCValue.Color(value));
 }
 protected override void FillMessage(OSCMessage message, Color value)
 {
     message.AddValue(OSCValue.Color(value));
 }