void OnDataReceive(string address, OscDataHandle data) { lock (_queue) _queue.Enqueue(new Vector3(data.GetElementAsFloat(0), data.GetElementAsFloat(1), data.GetElementAsFloat(2))); }
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)); } } }
void OnDataReceive(string address, OscDataHandle data) { lock (_queue) _queue.Enqueue(data.GetElementAsFloat(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; } }