Receives incoming OSC messages
예제 #1
0
    private void Awake()
    {
        OSCHandler.Instance.CreateServer(ServerName, serverIP);
        OSCHandler.Instance.CreateClient(ClientName, IPAddress.Parse("169.254.34.231"), 6000);

        var pd = OSCHandler.Instance.Servers[ServerName];
        server = pd.server;
    }
예제 #2
0
    private void Awake()
    {
        OSCHandler.Instance.CreateServer(ServerName, serverIP);

        var pd = OSCHandler.Instance.Servers[ServerName];
        server = pd.server;
        Debug.Log("OSC: "+server);
    }
예제 #3
0
파일: AMPM.cs 프로젝트: kitschpatrol/ampm
		static AMPM()
		{
			// Create a OSC Reciever to receive UDP messages
			_OscReceive = OSCHandler.Instance.CreateServer("AMPM", 3003);

			// Handle incoming OSC messages.
			_OscReceive.PacketReceivedEvent += Server_MessageReceived;

            ipAddress = GetLocalIPAddress();
            OSCHandler.Instance.CreateClient ("AMPM", ipAddress, 3002); // Creating a client to send messages on
		}
예제 #4
0
 private void OnPacketReceivedEvent(OSCServer sender, OSCPacket packet)
 {
     // Send something from PureData and it shows up in the Unity console
     if (packet.Address.StartsWith("/muse/elements/experimental/concentration"))
     {
         manager.message(ServerName, "concentration",packet.Data[0]);
     }/*else if(packet.Address.StartsWith("/muse/elements/blink")){
         manager.message(ServerName, "blink", packet.Data[0]);
     }*/else if(packet.Address.StartsWith("/muse/elements/touching_forehead")){
         manager.message(ServerName, "touching", packet.Data[0]);
     }
     //Debug.Log(packet.Address + ": " + DataToString(packet.Data));
 }
    void OSCReceicePacket(OSCServer s, OSCPacket p)
    {
        if(p.Address.Equals("/muse/elements/raw_fft0"))
        {
            //Debug.Log("Receiving FFT!");
            //Debug.Log(test.Count);
            //fftqueue.Enqueue(packet.Data);
            for(int i=0; i< fftarr.Length; i++)
            {
                fftarr[i]=(float)p.Data[i];
                //Debug.Log(fftarr[i]);
            }

        }
    }
예제 #6
0
        public void Open(int port)
        {
#if UNITY_EDITOR
            if (PlayerSettings.runInBackground == false)
            {
                Debug.LogWarning("Recommend PlayerSettings > runInBackground = true");
            }
#endif
            if (_server != null)
            {
                _server.Close();
            }
            _server = new OSCServer(port);
            _server.SleepMilliseconds    = 0;
            _server.PacketReceivedEvent += didRecievedEvent;
        }
예제 #7
0
        /// <summary>
        /// Creates an OSC Server (listens to upcoming OSC messages) given an incoming port.
        /// </summary>
        /// <param name="serverId">
        /// A <see cref="System.String"/>
        /// </param>
        /// <param name="port">
        /// A <see cref="System.Int32"/>
        /// </param>
        public OSCServer CreateServer(string serverId, int port)
        {
            OSCServer server = new OSCServer(port);

            server.PacketReceivedEvent += OnPacketReceived;

            ServerLog serveritem = new ServerLog();

            serveritem.server  = server;
            serveritem.log     = new List <string>();
            serveritem.packets = new List <OSCPacket>();

            _servers.Add(serverId, serveritem);

            return(server);
        }
예제 #8
0
    private void OnPacketReceivedEvent(OSCServer sender, OSCPacket packet)
    {
        lock (this) {
            // Send something from PureData and it shows up in the Unity console
            if (packet.Address.Equals ("/muse/acc")) {
                acc = new Vector3 ((float)packet.Data [0], (float)packet.Data [1], (float)packet.Data [2]);

                //Debug.Log (acc);

                //Debug.Log(packet.Address + ": " + DataToString(packet.Data));
            }
        }

        lock (this) {
            // Send something from PureData and it shows up in the Unity console
            if (packet.Address.Equals ("/muse/elements/blink")) {
                blink = ((int)packet.Data [0]);
                //Debug.Log (blink);
            }
        }

        lock (this) {
            // Send something from PureData and it shows up in the Unity console
            if (packet.Address.Equals ("/muse/elements/horseshoe")) {
                isMuseOn = DataToString(packet.Data);
            }
        }

        lock (this) {
            // Send something from PureData and it shows up in the Unity console
            if (packet.Address.Equals ("/muse/elements/experimental/mellow")) {
                mellowScore = ((float)packet.Data [0]);
                //Debug.Log (mellowScore);
            }
        }

            // Send something from PureData and it shows up in the Unity console
            //if (packet.Address.Equals ("/muse/elements/experimental/concentration")) {
            //	concentration = new Vector3 ((float)packet.Data [0], (float)packet.Data [1], (float)packet.Data [2]);

            //	Debug.Log (concentration);

                //Debug.Log(packet.Address + ": " + DataToString(packet.Data));
            //}
    }
예제 #9
0
        void didRecievedEvent(OSCServer sender, OSCPacket packet)
        {
            lock (_queue)
            {
                if (packet.IsBundle())
                {
                    var bundle = packet as OSCBundle;

                    foreach (object obj in bundle.Data)
                    {
                        OSCMessage msg = obj as OSCMessage;
                        _queue.Enqueue(msg);
                    }
                }
                else
                {
                    _queue.Enqueue(packet as OSCMessage);
                }
            }
        }
예제 #10
0
    private void Server_PacketReceivedEvent(UnityOSC.OSCServer sender, UnityOSC.OSCPacket packet)
    {
        //Debug.LogError("packet: " + packet.Address + " " + OSCHandler.DataToString(packet.Data));
        if (packet.Address.Contains("touching_forehead"))
        {
            HandleTouchingForehead((int)packet.Data[0] != 0);
        }
        else if (packet.Address.Contains("concentration"))
        {
            HandleConcentrationSample((float)packet.Data[0]);
        }
        else if (packet.Address.Contains("mellow"))
        {
            HandleMellowSample((float)packet.Data[0]);
        }
        else if (packet.Address.Contains("horseshoe"))
        {
            HandleHeadConnectMessage(packet.Data);
        }
        else if (packet.Address.Contains("batt"))
        {
            HandleBatteryStatus(packet.Data);
        }
        else if (packet.Address.Contains("blink"))
        {
            HandleBlinkSample(packet.Data);
        }

        if (SensorMeasureUpdate != null)
        {
            foreach (string metric in sensorMeasuresToTrack)
            {
                if (packet.Address.Contains(metric))
                {
                    SensorMeasureUpdate(metric, (float)packet.Data[0], (float)packet.Data[1], (float)packet.Data[2], (float)packet.Data[3]);
                }
            }
        }

        timeOfLastMessage = DateTime.Now;
    }
예제 #11
0
        void didReceivedEvent(OSCServer sender, OSCPacket packet)
        {
            lock (_queue)
            {
                if (packet.IsBundle())
                {
                    var bundle = packet as OSCBundle;

                    foreach (object obj in bundle.Data)
                    {
                        OSCMessage msg = obj as OSCMessage;

                        if (OSCMaster.Instance.LogIncoming)
                        {
                            Debug.Log("[" + Name + "] " + msg.Address);
                            foreach (var data in msg.Data)
                            {
                                Debug.Log(data);
                            }
                        }

                        _queue.Enqueue(msg);
                    }
                }
                else
                {
                    OSCMessage msg = packet as OSCMessage;

                    if (OSCMaster.Instance.LogIncoming)
                    {
                        Debug.Log("[" + Name + "] " + msg.Address);
                        foreach (var data in msg.Data)
                        {
                            Debug.Log(data);
                        }
                    }

                    _queue.Enqueue(msg);
                }
            }
        }
예제 #12
0
	static public void init()
	{
		if (isInit)
			return;

		try{

		    server = new OSCServer (5555);
		    server.PacketReceivedEvent += HandlePacketReceivedEvent;
            isInit = true;
        }
        catch(Exception e)
		{
			Debug.LogWarning("Could not create server on port 5555.");
		}

        client = new OSCClient(IPAddress.Loopback, 7776, true);
        OSCPacket.stringDecoding = System.Text.Encoding.UTF8;

		
	}
예제 #13
0
파일: AMPM.cs 프로젝트: kitschpatrol/ampm
		private static void Server_MessageReceived(OSCServer sender, OSCPacket e)
		{
			if (OnAmpmMessage == null)
			{
				return;
			}

			string name = e.Address.Replace("/", string.Empty);
			string json = e.Data.FirstOrDefault() as string;
			JSONNode data = null;
			if (json != null)
			{
				data = JSON.Parse(json);
			}

					OnAmpmMessage(null, new Tuple<string, JSONNode>(name, data));
		}
예제 #14
0
    // Use this for initialization
    void Start()
    {
        _server = new OSCServer(port);
        _server.PacketReceivedEvent += packetReceived;
        _server.Connect();

        bodies = new Dictionary<int, K2SBody>();
        orderedBodies = new List<K2SBody>();

        Debug.Log("K2SClient : Listening on port " + port);
    }
예제 #15
0
    private void OnPacketReceivedEvent(OSCServer sender, OSCPacket packet)
    {
        // Send something from PureData and it shows up in the Unity console
        if (packet.Address.StartsWith("/player/status")){
            if(Int32.Parse(packet.Data[0].ToString()) == 1){
                //Player Connected!
                Debug.Log("Player Connected!");
                main.ConnectionPlayer(true);
            }
            else if (Int32.Parse(packet.Data[0].ToString()) == 0)
            {
                //Player disconnected
                Debug.Log("Player disconnected!");
                main.ConnectionPlayer(false);

            }

        }else if(packet.Address.StartsWith("/player/heartbeat/trigger")){
            //Player heartbeat trigger Detected
            Debug.Log("Heartbeat");
            main.HeartBeat(true);

        }else if(packet.Address.StartsWith("/player/heartbeat/bpm")){
            //New Heartbeat BPM is in packet.Data[0]
            float newBpm = float.Parse(packet.Data[0].ToString());
            Debug.Log("Heartbeat BPM: " + newBpm);
            main.SetBPM(newBpm);

        }else if(packet.Address.StartsWith("/player/activation")){
            //Overall player activation curve value is in packet.Data[0]
            // min is 0. max is 1.
            float activation = float.Parse(packet.Data[0].ToString());
            Debug.Log("Activation: " + activation);
        }if (packet.Address.StartsWith("/button/pressure/status")){
            if (Int32.Parse(packet.Data[0].ToString()) == 1)
            {
                //Rock lifted!
                Debug.Log("Pressure button " + packet.Data[0]);
                main.RockInPlace(false);

            }
            else if (Int32.Parse(packet.Data[0].ToString()) == 0)
            {
                //Rock in Place
                Debug.Log("Pressure button " + packet.Data[0]);
                main.RockInPlace(true);

            }

        }if (packet.Address.StartsWith("/button/right/status"))
        {
            if (Int32.Parse(packet.Data[0].ToString()) == 1)
            {
                Debug.Log("Right button " + packet.Data[0]);
                main.UpdateStateButtons(2,1);

            }
            else if (Int32.Parse(packet.Data[0].ToString()) == 0)
            {
                Debug.Log("Right button " + packet.Data[0]);
                main.UpdateStateButtons(2,0);
            }

        }if (packet.Address.StartsWith("/button/center/status"))
        {
            if (Int32.Parse(packet.Data[0].ToString()) == 1)
            {
                Debug.Log("Center button " + packet.Data[0]);
                main.UpdateStateButtons(1,1);

            }
            else if (Int32.Parse(packet.Data[0].ToString()) == 0)
            {
                Debug.Log("Center button " + packet.Data[0]);
                main.UpdateStateButtons(1,0);

            }

        } if (packet.Address.StartsWith("/button/left/status"))
        {
            if (Int32.Parse(packet.Data[0].ToString()) == 1)
            {
                Debug.Log("Left button " + packet.Data[0]);
                main.UpdateStateButtons(0,1);

            }
            else if (Int32.Parse(packet.Data[0].ToString()) == 0)
            {
                Debug.Log("Left button " + packet.Data[0]);
                main.UpdateStateButtons(0,0);

            }

        }
        //Debug.Log(packet.Address + ": " + DataToString(packet.Data));
    }