public void setSelectedZone(MotionMapZone zone) { if (zone == selectedZone) { return; } if (selectedZone != null) { if (autoDeselectOnNewSelection) { selectedZone.setSelected(false); } } selectedZone = zone; if (selectedZone != null) { selectedZone.setSelected(true); } OSCMessage m = new OSCMessage("/lastSelectedZone"); m.Append(selectedZone.id); OSCMaster.sendMessage(m); }
public void setOver(bool value) { if (over == value) { return; } over = value; foreach (MMSelectableObject mmo in mmos) { if (mmo != null) { mmo.overChanged(value); } } if (!selected && value) { overStartTime = Time.time; } OSCMessage m = new OSCMessage("/zone/" + id + "/over"); m.Append(value?1:0); OSCMaster.sendMessage(m); }
public void setSelectionProgression(float value) { if (!selected) { value = Mathf.Clamp01(value); if (value == selectionProgression) { // Debug.Log("Same value !"); return; } foreach (MMSelectableObject mmo in mmos) { if (mmo != null) { mmo.selectionProgress(value); } } selectionProgression = value; OSCMessage m = new OSCMessage("/zone/" + id + "/selectionProgress"); m.Append(selectionProgression); OSCMaster.sendMessage(m); } }
public void sendOSC(string host, int port) { if (!hasChangedSinceLastUpdate) { return; } OSCMessage m = new OSCMessage("/joint/" + jointName); m.Append(relPos.x); m.Append(relPos.y); m.Append(relPos.z); float deltaUpdateTime = Time.time - lastSendTime; float speed = Vector3.Distance(relPos, lastSendPos) / deltaUpdateTime; m.Append(speed); lastSendTime = Time.time; lastSendPos = new Vector3(relPos.x, relPos.y, relPos.z); if (includeTimeStamp) { m.Append(Time.time); } OSCMaster.sendMessage(m, host, port); hasChangedSinceLastUpdate = false; }
void HandleDisconnectV2(OSCMessage message) { //Answer disconnect string disconnectIP = message.Data[0].ToString(); int disconnectPort = (int)message.Data[1]; if (message.Data.Count > 2) { string protocolType = message.Data[2].ToString(); int version = (int)message.Data[3]; } string disconnectID = GetIDFromIPAndPort(disconnectIP, disconnectPort); if (OSCMaster.Clients.ContainsKey(disconnectID)) { OSCMaster.RemoveClient(disconnectID); if (debug) { Debug.Log("Removed output " + disconnectID); } _augmentaOutputs.Remove(disconnectID); } }
void sendTrackFeedback() { OSCMessage m = new OSCMessage("/bodyIsTracked"); m.Append <int>(bodyIsTracked ? 1 : 0); m.Append(Time.time); OSCMaster.sendMessage(m, remoteHost, remotePort); }
void sendTouchFeedback() { OSCMessage m = new OSCMessage("/touch"); m.Append <int>(simulateTouch?1:0); m.Append(Time.time); OSCMaster.sendMessage(m, remoteHost, remotePort); }
public void InitConnection() { if (OSCMaster.Clients.ContainsKey("AugmentaSimulatorOutput")) { OSCMaster.RemoveClient("AugmentaSimulatorOutput"); } OSCMaster.CreateClient("AugmentaSimulatorOutput", IPAddress.Parse(OutputIP), OutputPort); }
// Use this for initialization void Start() { oscMaster = FindObjectOfType <OSCMaster>(); oscMaster.messageAvailable += message => { Debug.Log("Message received : " + message.Address + " " + message.Data); }; }
public static void sendMessage(OSCMessage m) { if (!instance.sendFeedback) { return; } OSCMaster.sendMessage(m, instance.remoteHost, instance.remotePort); }
/// <summary> /// Create client to send Augmenta message /// </summary> void CreateAugmentaClient() { //Create output client if (OSCMaster.Clients.ContainsKey("AugmentaSimulatorOutput")) { OSCMaster.RemoveClient("AugmentaSimulatorOutput"); } OSCMaster.CreateClient("AugmentaSimulatorOutput", IPAddress.Parse(outputIP), outputPort); }
// Use this for initialization public override void Awake() { instance = this; usePanel = true; base.Awake(); Connect(); client = new OSCClient(System.Net.IPAddress.Loopback, 0, false); }
public void NextStep() { OSCMessage msg = new OSCMessage("/person/" + pid + "/meetingPointLeft"); OSCMaster.sendMessage(msg, PathManager.instance.OutputIP, PathManager.instance.OutputPort); IsGoingToMeetingPoint = false; IsOnMeetingPoint = false; splineIndex = getAssociatedPathTo(splineIndex); }
public void sendMood(string mood, float value) { if (!enableSend) { return; } OSCMessage m = new OSCMessage("/attraction/" + mood); m.Append(value); OSCMaster.sendMessage(m, remoteHost, remotePort); }
void OnApplicationQuit() { foreach (var pair in Clients) { pair.Value.Close(); } foreach (var pair in Receivers) { pair.Value.Close(); } _instance = null; }
void SendInfoMessagesV1(string infoIP, int infoPort) { OSCMessage infoMessage = new OSCMessage("/info"); infoMessage.Append(NetworkManager.GetIpv4()); infoMessage.Append("Augmenta Simulator"); infoMessage.Append(NetworkManager.GetMacAddress()); infoMessage.Append(Application.version); infoMessage.Append(_controllable.currentPreset != "" ? _controllable.currentPreset : "None"); infoMessage.Append("Simulator"); infoMessage.Append("Simulated"); OSCMaster.SendMessage(infoMessage, infoIP, infoPort); }
/// <summary> /// Create receiver for yo protocol /// </summary> void CreateYoServer() { if (OSCMaster.Receivers.ContainsKey("AugmentaYo")) { return; } try { OSCMaster.CreateReceiver("AugmentaYo", yoPort); OSCMaster.Receivers["AugmentaYo"].messageReceived += OnYoMessageReceived; zeroconfManager.Setup(yoPort); _yoServerCreated = true; } catch { Debug.LogError("Failed to create Augmenta Yo server."); yoPort++; } }
public override void Awake() { if (oscmaster == null) { oscmaster = FindObjectOfType <OSCMaster>(); } if (oscmaster == null) { Debug.LogWarning("Can't find " + this.GetType().Name + " script to control !"); return; } TargetScript = oscmaster; base.Awake(); oscmaster.Connect(); }
void Update() { if (sendAccelerometer) { var message = new OSCMessage(accelerometerOSCAddress); message.Append(Input.acceleration.x); message.Append(Input.acceleration.y); message.Append(Input.acceleration.z); OSCMaster.SendMessageUsingClient(OSCClientName, message); accelerometerValue = Input.acceleration.ToString(); } if (sendGyroscope) { Input.gyro.enabled = true; var message = new OSCMessage(gyroscopeOSCAddress); message.Append(Input.gyro.attitude.x); message.Append(Input.gyro.attitude.y); message.Append(Input.gyro.attitude.z); message.Append(Input.gyro.attitude.w); OSCMaster.SendMessageUsingClient(OSCClientName, message); gyroscopeValue = Input.gyro.attitude.ToString(); } if (sendTouch) { if (!touchOSCAddress.EndsWith("/")) { touchOSCAddress = touchOSCAddress + "/"; } for (var i = 0; i < Input.touchCount; i++) { var message = new OSCMessage(touchOSCAddress + i.ToString()); var touch = Input.GetTouch(i); message.Append(touch.position.x); message.Append(touch.position.y); OSCMaster.SendMessageUsingClient(OSCClientName, message); touchCount = Input.touchCount; } } }
private void Start() { instance = this; var receiver = OSCMaster.CreateReceiver(OSCReceiverName, OSCInputPort); if (receiver == null) { IsConnected = false; return; } IPAddress = GetLocalIPAddress(); receiver.messageReceived += processMessage; IsConnected = true; }
private void Update() { if (LinkedAugmentaPoint == null || !Started) { return; } AugmentaPersonBehaviour apb = LinkedAugmentaPoint.GetComponent <AugmentaPersonBehaviour>(); if (apb != null) { OSCMessage msg = new OSCMessage("/splineViewer/" + apb.pid, progress); OSCMaster.sendMessage(msg, TargetIP, TargetPort); } else { Debug.LogWarning("AugmentaPersonBehaviour should not be null"); } if ((LinkedAugmentaPoint.position - transform.position).magnitude < DistanceToAugmentaPoint) { progress += DistanceToAugmentaPoint - (LinkedAugmentaPoint.position - transform.position).magnitude; } progress = Mathf.Clamp(progress, 0.0f, 1.0f); Vector3 position = spline.GetPoint(progress); transform.position = position; if (lookForward) { transform.LookAt(position + spline.GetDirection(progress)); } if (progress >= 1f) { if (meetingPointReached != null) { meetingPointReached(this.gameObject, transform.position); } Init(); } }
void sendPositions() { if (sendTargetPosition) { OSCMessage m = new OSCMessage("/motor/targetPosition"); m.Append(target.transform.localPosition.x); m.Append(target.transform.localPosition.y); OSCMaster.SendMessage(m, "127.0.0.1", 14000); } if (sendMotorDistances) { for (int i = 0; i < motors.Length; i++) { OSCMessage m = new OSCMessage("/motor/" + (i + 1) + "/distance"); m.Append(motors[i].position); OSCMaster.SendMessage(m, "127.0.0.1", 14000); } } }
void HandleDisconnectV1(OSCMessage message) { //Answer disconnect string disconnectIP = message.Data[0].ToString(); int disconnectPort = (int)message.Data[1]; string disconnectID = GetIDFromIPAndPort(disconnectIP, disconnectPort); if (OSCMaster.Clients.ContainsKey(disconnectID)) { OSCMaster.RemoveClient(disconnectID); if (debug) { Debug.Log("Removed output " + disconnectID); } _augmentaOutputs.Remove(disconnectID); } }
private void Connect() { IsConnected = false; if (OSCMaster.Receivers.ContainsKey(OSCReceiverName)) { OSCMaster.Receivers[OSCReceiverName].messageReceived -= processMessage; OSCMaster.RemoveReceiver(OSCReceiverName); } var receiver = OSCMaster.CreateReceiver(OSCReceiverName, OSCInputPort); if (receiver == null) { return; } receiver.messageReceived += processMessage; IsConnected = true; }
private void Connect() { IsConnected = false; if (OSCMaster.HasReceiver(OSCReceiverName)) { OSCMaster.Receivers[OSCReceiverName].messageReceived -= processMessage; OSCMaster.RemoveReceiver(OSCReceiverName); } OSCMaster.CreateReceiver(OSCReceiverName, OSCInputPort).messageReceived += processMessage; IsConnected = true; if (zeroconfServiceCreated) { CloseZeroconfService(); } CreateZeroconfService(); }
/// <summary> /// Increase output timers and delete timed out outputs /// </summary> void UpdateOutputsTimers() { _outputsToDelete.Clear(); for (int i = 0; i < _augmentaOutputs.Count; i++) { _tmpOutput = _augmentaOutputs.ElementAt(i); //Increase output timers _augmentaOutputs[_tmpOutput.Key] = _tmpOutput.Value + Time.deltaTime; //Check for deletion only if connection timeout is strictly positive if (connectionTimeout <= 0) { continue; } //Mark for deletion if (_augmentaOutputs[_tmpOutput.Key] > connectionTimeout) { _outputsToDelete.Add(_tmpOutput.Key); } } //Delete timed out outputs foreach (var output in _outputsToDelete) { if (OSCMaster.Clients.ContainsKey(output)) { OSCMaster.RemoveClient(output); } _augmentaOutputs.Remove(output); if (debug) { Debug.Log("Output " + output + " timed out."); } } }
public void setSelected(bool value) { if (selected == value) { return; } selected = value; foreach (MMSelectableObject mmo in mmos) { if (mmo != null) { mmo.selectionChanged(value); } } OSCMessage m = new OSCMessage(value?"/zone/" + id + "/selected":"/zone/" + id + "/deselected"); OSCMaster.sendMessage(m); Invoke("deselect", Mathf.Max(autoDeselectOnTime, 1)); }
// Update is called once per frame void Update() { currentProgress = getProgressForPosition(); for (int i = 0; i < numPoints; i++) { points[i].delay = ((numPoints - 1 - i) * 1f / numPoints) * cycleTime; points[i].cycle = cycleTime; points[i].onTime = onTime; setTransformToPathRelative(points[i].transform, (i * 1f / numPoints) * flecheDist); } fleche.delay = 1; fleche.cycle = cycleTime; fleche.onTime = onTime; setTransformToPathRelative(fleche.transform, flecheDist); if (!CameFromLeft) { fleche.transform.Rotate(new Vector3(0.0f, 180.0f, 0.0f)); } progressSpeed = progressSpeed - previousProgress; //*Time.deltaTime; previousProgress = currentProgress; OSCMessage msg = new OSCMessage("/person/" + pid, currentProgress); OSCMaster.sendMessage(msg, PathManager.instance.OutputIP, PathManager.instance.OutputPort); if (currentProgress >= 1.0f && !IsOnMeetingPoint) //Point on meeting point { OSCMessage msg2 = new OSCMessage("/person/" + pid + "/onMeetingPoint"); OSCMaster.sendMessage(msg2, PathManager.instance.OutputIP, PathManager.instance.OutputPort); IsOnMeetingPoint = true; StartCoroutine(CallMethodAfterXSeconds(MeetingDuration, NextStep)); } }
void HandleConnectV2(OSCMessage message) { //Answer connect string outputIP = message.Data[0].ToString(); int outputPort = (int)message.Data[1]; string protocolType = message.Data[2].ToString(); int version = (int)message.Data[3]; if (protocolType != "osc" && protocolType != "OSC") { if (debug) { Debug.Log("Can only create osc protocol type."); } return; } string outputID = GetIDFromIPAndPort(outputIP, outputPort); //Create output client if (!OSCMaster.Clients.ContainsKey(outputID)) { OSCMaster.CreateClient(outputID, outputIP, outputPort); } if (!_augmentaOutputs.ContainsKey(outputID)) { _augmentaOutputs.Add(outputID, 0); } if (debug) { Debug.Log("Created output " + outputID); } }
void HandleConnectV1(OSCMessage message) { //Answer connect string outputIP = message.Data[1].ToString(); int outputPort = (int)message.Data[2]; string outputID = GetIDFromIPAndPort(outputIP, outputPort); //Create output client if (!OSCMaster.Clients.ContainsKey(outputID)) { OSCMaster.CreateClient(outputID, outputIP, outputPort); } if (!_augmentaOutputs.ContainsKey(outputID)) { _augmentaOutputs.Add(outputID, 0); } if (debug) { Debug.Log("Created output " + outputID); } }
// Use this for initialization void Awake () { init (); instance = this; }