Example #1
0
 void OnDataReceive(string address, OscDataHandle data)
 {
     lock (_queue)
         _queue.Enqueue(new Vector3(data.GetElementAsFloat(0),
                                    data.GetElementAsFloat(1),
                                    data.GetElementAsFloat(2)));
 }
Example #2
0
        void OnMessageReceived(string address, OscDataHandle data)
        {
            var subAddressStartIndex = address.IndexOf('/', 1);
            var subAddress           = address.Substring(subAddressStartIndex, address.Length - subAddressStartIndex).Split('/');

            if (subAddress[1] == Values["Track"])
            {
                switch (subAddress[2])
                {
                case "azim":
                    Angle = data.GetElementAsFloat(0).Map(-180, 180, -1, 1);
                    break;

                case "ad":
                    Angle = data.GetElementAsFloat(0);
                    break;
                }
            }
            else if (data.GetElementAsString(0) != null && data.GetElementAsString(0) == Values["Track"])
            {
                switch (subAddress[1])
                {
                case "energy":
                    var incomingEnergy = ((data.GetElementAsFloat(1) * Scale) - GainReduction).Clamp(0, 1);
                    if (Energy == 0 && incomingEnergy > 0)
                    {
                        Onset      = true;
                        OnsetAngle = Angle;
                    }
                    Energy = incomingEnergy;
                    break;
                }
            }
        }
 void OnDataReceive(string address, OscDataHandle data)
 {
     lock (_floatQueue)
     {
         for (int i = 0; i < MAX_OSC_PARAMS; i++)
         {
             _floatQueue.Enqueue(data.GetElementAsFloat(i));
         }
     }
 }
Example #4
0
 void OnDataReceive(string address, OscDataHandle data)
 {
     lock (_queue) _queue.Enqueue(data.GetElementAsFloat(0));
 }
Example #5
0
 protected override float GetMessageValue(OscDataHandle dataHandle)
 {
     return(dataHandle.GetElementAsFloat(0));
 }
        private void OnDataReceive(string address, OscDataHandle data)
        {
            var command = data.GetElementAsString(0);

            switch (command)
            {
            case "alive":
                for (var i = 1; i < data.GetElementCount(); i++)
                {
                    var aliveId = data.GetElementAsInt(i);
                    _addedCursors.Add(aliveId);
                }


                foreach (var value in cursors.Where(value => !_addedCursors.Contains(value.Key)))
                {
                    _removedCursors.Add(value.Key);
                }

                break;

            case "set":
                if (data.GetElementCount() < 7)
                {
                    return;
                }

                var id = data.GetElementAsInt(1);

                if (!cursors.TryGetValue(id, out var cursor))
                {
                    cursor = new CCTuioCursor(id);
                }
                cursor.Update(
                    data.GetElementAsFloat(2),
                    data.GetElementAsFloat(3),
                    data.GetElementAsFloat(4),
                    data.GetElementAsFloat(5),
                    data.GetElementAsFloat(6)
                    );

                _updatedCursors.Add(cursor);
                break;

            case "fseq":
                if (data.GetElementCount() < 2)
                {
                    return;
                }
                frameNumber = data.GetElementAsInt(1);

                _updatedCursors.ForEach(updatedCursor =>
                {
                    _addedCursors.ForEach(i => Debug.Log(i));
                    if (_addedCursors.Contains(updatedCursor.Id) && !cursors.ContainsKey(updatedCursor.Id))
                    {
                        cursors.Add(updatedCursor.Id, updatedCursor);
                        _addQueue.Enqueue(updatedCursor);
                    }
                    else
                    {
                        _updateQueue.Enqueue(updatedCursor);
                    }
                });

                _removedCursors.ForEach(cursorId =>
                {
                    _removeQueue.Enqueue(cursors[cursorId]);
                    cursors.Remove(cursorId);
                });
                _addedCursors.Clear();
                _removedCursors.Clear();
                _updatedCursors.Clear();
                break;
            }
        }