Inheritance: MonoBehaviour
示例#1
0
 public OSCDriver()
 {
     oscSrv        = null;
     ipc           = null;
     readWorker    = null;
     workerRunning = false;
 }
示例#2
0
    IEnumerator Start()
    {
        var server = new OscServer(7000); // Port number

        server.MessageDispatcher.AddCallback(
            "/addminute", // OSC address
            (string address, OscDataHandle data) =>
        {
            txtTimer.text = "test";
            print(txtTimer.text);
        }
            );

        server.MessageDispatcher.AddCallback(
            "/subminute", // OSC address
            (string address, OscDataHandle data) => {
            Debug.Log(string.Format("({0}, {1})",
                                    data.GetElementAsFloat(0),
                                    data.GetElementAsFloat(1)));
        }
            );

        //yield return new WaitForSeconds(10);
        yield break;
        //server.Dispose();
    }
示例#3
0
 void OnDestroy()
 {
     if (_server != null) {
         _server.Dispose();
         _server = null;
     }
 }
        public void Initialise()
        {
            var server = new OscServer(TransportType.Udp, IPAddress.Loopback, Convert.ToInt32(ConfigurationManager.AppSettings["ListenOnPort"]));

            server.RegisterMethod("/");
            server.MessageReceived += MessageReceived;
            server.Start();
        }
示例#5
0
 /// <summary>
 /// Constructor accepts ip and port to listen for messages on.
 /// </summary>
 public OSCListener(int port)
 {
     ListenEndPoint = NetUtil.CreateIPEndPoint(OSCSettings.SourceIP, port);
     Server         = new OscServer(TransportType.Udp, ListenEndPoint.Address, ListenEndPoint.Port);
     Server.FilterRegisteredMethods = false;
     Server.MessageReceived        += OnMessageReceived;
     Server.Start();
 }
示例#6
0
 public void Start()
 {
     if (oscServer == null)
     {
         oscServer = new OscServer(Bespoke.Common.Net.TransportType.Udp, IPAddress.Any, PortSetting.Value);
         oscServer.Start();
         oscServer.BundleReceived += oscBundleReceived;
         PortSetting.ValueChanged += PortSetting_ValueChanged;
     }
 }
示例#7
0
    // Start is called before the first frame update
    void Start()
    {
        sphereLeft  = GameObject.Find("S-Left").GetComponent <VRRecenter>();
        sphereRight = GameObject.Find("S-Right").GetComponent <VRRecenter>();

        Debug.Log("Starting OSC Server on port 9000");
        server = new OscServer(9000);
        // server.MessageDispatcher.AddCallback("/cmd", CmdMsgCallback);
        server.MessageDispatcher.AddCallback("/cmd", this.CmdMsgCallback);
    }
示例#8
0
文件: Form1.cs 项目: carmacoma/Tools
        public Form1()
        {
            InitializeComponent();
            osc_server = new OscServer(Bespoke.Common.Net.TransportType.Tcp, IPAddress.Parse("127.0.0.1"), 5253);
            osc_server.MessageReceived += new OscMessageReceivedHandler(osc_server_MessageReceived);

            //Need to build in Connected/Disconnected/FailedConnect Event Handlers
            osc_server.FilterRegisteredMethods = false;

            dataGridView1.ColumnCount = 3;
        }
示例#9
0
    void Initialize()
    {
        if (server == null)
        {
            server = new OscServer(IPAddress.Parse(address), port, TransmissionType.Broadcast);
            server.FilterRegisteredMethods = false;
            server.Start();

            Debug.Log(string.Format("[Messenger] initialized {0}:{1}", address, port));
        }
    }
示例#10
0
        /// <summary>
        /// Constructor sets up end points for sending and receiving
        /// UDP communications with a remote Reaktor session and
        /// starts listening for OSC messages.
        /// </summary>
        public LaunchpadOSC(string listenIP, string remoteIP)
        {
            ListenEndPoint = NetUtil.CreateIPEndPoint(listenIP, ListenPort);
            TargetEndPoint = NetUtil.CreateIPEndPoint(remoteIP, Port);

            OscPacket.UdpClient = new UdpClient(SourcePort);
            Server = new OscServer(TransportType.Udp, ListenEndPoint.Address, ListenEndPoint.Port);
            Server.FilterRegisteredMethods = false;
            Server.MessageReceived        += OnMessageReceived;
            Server.Start();
        }
示例#11
0
 public TouchOscDriver(OSCDevice oscDevice)
 {
     _oscDevice = oscDevice;
     if (_oscDevice.DeviceType == eOSCDeviceType.OSCServer)
     {
         _oscServer = new OscServer(TransportType.Udp, oscDevice.IpAddress, oscDevice.ListenPort, true, false);
     }
     else if (_oscDevice.DeviceType == eOSCDeviceType.OSCClient)
     {
     }
 }
示例#12
0
        private void initOSC(MessageReceivedCallback messageReceivedCallback)
        {
            this.mrc = messageReceivedCallback;

            solidworksPlugin = new IPEndPoint(IPAddress.Loopback, SENDPORT);
            openFrameworks   = new IPEndPoint(IPAddress.Loopback, SENDPORT);
            server           = new OscServer(TransportType.Udp, IPAddress.Loopback, RECEIVEPORT);
            server.FilterRegisteredMethods  = false;
            server.MessageReceived         += new EventHandler <OscMessageReceivedEventArgs>(receivedMessage);
            server.ConsumeParsingExceptions = false;
            server.Start();
        }
        void setupOSC()
        {
            //OSC
            kinectServer1 = new OscServer(TransportType.Udp, IPAddress.Any, kinectPort1, kinectAddress1, Bespoke.Common.Net.TransmissionType.Unicast);
            kinectServer2 = new OscServer(TransportType.Udp, IPAddress.Any, kinectPort2, kinectAddress2, Bespoke.Common.Net.TransmissionType.Unicast);
            kinectServer1.FilterRegisteredMethods = true;
            kinectServer1.BundleReceived         += new OscBundleReceivedHandler(kinect1Updated);
            kinectServer2.BundleReceived         += new OscBundleReceivedHandler(kinect2Updated);

            //start listening
            kinectServer1.Start();
            kinectServer2.Start();
        }
示例#14
0
    void Start()
    {
        _server = new OscServer(9000); // Port number

        _server.MessageDispatcher.AddCallback(
            "/test", // OSC address
            (string address, OscDataHandle data) => {
            Debug.Log(string.Format("({0}, {1})",
                                    data.GetElementAsFloat(0),
                                    data.GetElementAsFloat(1)));
        }
            );
    }
示例#15
0
//		public IPAddress BroadcastAddress {
//			get {
//				return IPAddress.Broadcast;
//			}
//		}



        public void Initialize()
        {
            if (server != null)
            {
                if (server.IsRunning)
                {
                    server.Stop();
                }
            }
            server = new OscServer(IPAddress.Parse("255.255.255.255"), Port, TransmissionType.Broadcast);
            server.FilterRegisteredMethods = false;
            server.Start();
            server.MessageReceived += HandleMessageReceived;
        }
示例#16
0
 public InputServer(ILog log, IInputController inputController)
 {
     this.log             = log;
     this.inputController = inputController;
     server = new OscServer(TransportType.Udp, IPAddress.Any, DEFAULT_VIP_PORT);
     server.RegisterMethod(JOYPAD_BUTTON_EVENT);
     server.RegisterMethod(MOUSE_EVENT);
     server.RegisterMethod(SCROLL_EVENT);
     server.RegisterMethod(KEYBOARD_EVENT);
     server.RegisterMethod(VOLUME_EVENT);
     server.MessageReceived += new OscMessageReceivedHandler(server_MessageReceived);
     server.Start();
     log.Log(LogLevel.Info, "Starting Input Server");
 }
示例#17
0
        static void Main(string[] args)
        {
            OscPacket.LittleEndianByteOrder = false;
            sOscServer = new OscServer(TransportType.Udp, IPAddress.Parse("127.0.0.1"), 6250);
            sOscServer.BundleReceived         += new OscBundleReceivedHandler(sOscServer_BundleReceived);
            sOscServer.MessageReceived        += new OscMessageReceivedHandler(sOscServer_MessageReceived);
            sOscServer.FilterRegisteredMethods = false;

            sOscServer.Start();

            Console.WriteLine("OSC Client: " + sOscServer.TransmissionType.ToString());
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
            sOscServer.Stop();
        }
示例#18
0
        public void Stop()
        {
            if (readWorker != null)
            {
                workerRunning = false;
                readWorker?.Join();
                readWorker = null;
            }

            ipc?.Close();
            ipc = null;

            oscSrv?.Dispose();
            oscSrv = null;
        }
示例#19
0
    IEnumerator Start()
    {
        //var server = new OscServer(9000); // Port number
        var server = new OscServer(9000, "225.6.7.8"); // Port number

        server.MessageDispatcher.AddCallback(
            "/test", // OSC address
            (string address, OscDataHandle data) =>
        {
            Debug.Log(string.Format("({0}, {1})",
                                    data.GetElementAsFloat(0),
                                    data.GetElementAsFloat(1)));
        }
            );

        server.MessageDispatcher.AddCallback("/test/bool", (string address, OscDataHandle data) =>
        {
            Debug.LogFormat("{0} {1}", address, data.GetElementAsBool(0));
        });

        server.MessageDispatcher.AddCallback("/test/oscmessage", (string address, OscDataHandle data) =>
        {
            Debug.LogFormat(
                "{0} {1} {2:0.0} {3} {4}",
                address,
                data.GetElementAsInt(0),
                data.GetElementAsFloat(1),
                data.GetElementAsBool(2),
                data.GetElementAsString(3)
                );
        });

        server.MessageDispatcher.AddCallback("/test/bundle", (string address, OscDataHandle data) =>
        {
            Debug.LogFormat(
                "{0} {1} {2:0.0} {3} {4}",
                address,
                data.GetElementAsInt(0),
                data.GetElementAsFloat(1),
                data.GetElementAsBool(2),
                data.GetElementAsString(3)
                );
        });

        yield return(new WaitForSeconds(15));

        server.Dispose();
    }
示例#20
0
        public bool Start(string outAddress, int inPort, int outPort)
        {
            oscSrv = new OscServer(rcvCb);
            ipc    = new IPCServer();
            if (oscSrv.Open(outAddress, inPort, outPort))
            {
                if (ipc.Open())
                {
                    readWorker = new Thread(data => { (data as OSCDriver)?.onWaitMessages(); });
                    readWorker.Start(this);
                    return(true);
                }
            }

            Stop();
            return(false);
        }
    IEnumerator Start()
    {
        var server = new OscServer(9000); // Port number

        server.MessageDispatcher.AddCallback(
            "/test", // OSC address
            (string address, OscDataHandle data) => {
            Debug.Log(string.Format("({0}, {1})",
                                    data.GetElementAsFloat(0),
                                    data.GetElementAsFloat(1)));
        }
            );

        yield return(new WaitForSeconds(10));

        server.Dispose();
    }
示例#22
0
    void Start()
    {
        server = gameObject.AddComponent <OscServer>();
        sender = gameObject.AddComponent <UdpSender>();

        sender.remoteIp   = remoteIp;
        sender.remotePort = remotePort;
        sender.CreateRemoteEP(remoteIp, remotePort);

        server.localPort   = localPort;
        server.logCapacity = logCapacity;
        server.StartServer(localPort);

        //Debug.Log(server.onDataReceived);
        server.onDataReceived.AddListener(onDataReceived);                                          // リスナー登録
        getSurfaceNameRequest();
    }
        private void LinkOsc()
        {
            _server = new OscServer(6000);

            _server.MessageDispatcher.AddCallback(
                "/ZIGSIM/mikipomaid/touch0",
                (string address, OscDataHandle data) =>
            {
                //_touch.x = data.GetElementAsFloat(0);
                _touch.y = data.GetElementAsFloat(1);
            }
                );

            _server.MessageDispatcher.AddCallback(
                "/ZIGSIM/mikipomaid/touchcount",
                (string address, OscDataHandle data) => { _touchCount = data.GetElementAsInt(0); }
                );
        }
示例#24
0
        public static void Main(string[] args)
        {
            OscServer oscServer;
            DemoType  demoType = GetDemoType();
            //IPAddress ipAddress = IPAddress.Loopback;
            //IPAddress ipAddress = IPAddress.Parse("192.168.1.118");
            IPAddress ipAddress = IPAddress.Parse(Properties.Settings.Default.IPAddress);

            switch (demoType)
            {
            case DemoType.Udp:
                oscServer = new OscServer(TransportType.Udp, ipAddress, Properties.Settings.Default.Port);
                break;

            case DemoType.Tcp:
                oscServer = new OscServer(TransportType.Tcp, ipAddress, Properties.Settings.Default.Port);
                break;

            case DemoType.Multicast:
                oscServer = new OscServer(IPAddress.Parse("224.25.26.27"), Properties.Settings.Default.Port);
                break;

            default:
                throw new Exception("Unsupported receiver type.");
            }

            oscServer.FilterRegisteredMethods = false;
            oscServer.RegisterMethod(AliveMethod);
            oscServer.RegisterMethod(TestMethod);
            oscServer.RegisterMethod(PingMethod);       // used by TouchOSC
            oscServer.BundleReceived          += new EventHandler <OscBundleReceivedEventArgs>(oscServer_BundleReceived);
            oscServer.MessageReceived         += new EventHandler <OscMessageReceivedEventArgs>(oscServer_MessageReceived);
            oscServer.ReceiveErrored          += new EventHandler <ExceptionEventArgs>(oscServer_ReceiveErrored);
            oscServer.ConsumeParsingExceptions = false;

            oscServer.Start();

            Console.WriteLine("Osc Receiver: " + demoType.ToString());
            Console.WriteLine("with IP Address={0} on Port={1}", ipAddress, Properties.Settings.Default.Port);
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
            oscServer.Stop();
        }
示例#25
0
 /// <summary>
 /// Button click event allowing us to start and stop the OSC Server
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void buttonStartStopServer_Click(object sender, EventArgs e)
 {
     if (this._OscServer.IsRunning) //Stop the server
     {
         this.numericUpDownOSCPort.Enabled = true;
         this.buttonStartStopServer.Text   = "Start Server";
         this._OscServer.Stop();
         this._OscServer.MessageReceived -= _OscServer_MessageReceived;
         this._OscServer.BundleReceived  -= _OscServer_BundleReceived;
     }
     else // Start the server
     {
         this.numericUpDownOSCPort.Enabled = false;
         this.buttonStartStopServer.Text   = "Stop Server";
         this._OscServer = new OscServer(TransportType.Udp, IPAddress.Any, (int)this.numericUpDownOSCPort.Value);
         this._OscServer.MessageReceived += _OscServer_MessageReceived;
         this._OscServer.BundleReceived  += _OscServer_BundleReceived;
         this._OscServer.Start();
     }
 }
示例#26
0
    private void Start()
    {
        _server = new OscServer(9001); // Port number
        _mc     = GameObject.Find("Renderer").GetComponent <GPUMarchingCubesDrawMesh>();
        _server.MessageDispatcher.AddCallback(
            "/kick",
            (string address, OscDataHandle data) => {
            //Debug.Log(data.GetElementAsFloat(0));
            _mc.Threshould = data.GetElementAsFloat(0);
        }
            );

        _server.MessageDispatcher.AddCallback(
            "/snare",
            (string address, OscDataHandle data) => {
            //Debug.Log(data.GetElementAsFloat(0));
            _mc.NoiseResolution = data.GetElementAsFloat(0);
        }
            );
    }
示例#27
0
    IEnumerator OscListener()
    {
        var server = new OscServer(8000); // Port number

        server.MessageDispatcher.AddCallback(
            "/addminute", // OSC address
            (string address, OscDataHandle data) =>
        {
            AddMinute();
        }
            );

        server.MessageDispatcher.AddCallback(
            "/subminute", // OSC address
            (string address, OscDataHandle data) => {
            RemoveMinute();
        }
            );
        yield break;
    }
示例#28
0
        public void SendAndReceiveMessage()
        {
            using (var server = new OscServer(9001, new IPEndPoint(IPAddress.Any, 0)))
                using (var client = new OscClient(new IPEndPoint(IPAddress.Loopback, 9001)))
                {
                    var method = new OscMethod(new OscAddress("/abc"), Callback);

                    server.AddMethods(method);
                    server.Start();

                    var addressPattern = new OscAddressPattern("/abc");
                    var arguments      = new OscValue[] { new OscString("Hello World.") };
                    var message        = new OscMessage(addressPattern, arguments);

                    client.Send(message);

                    Thread.Sleep(100);
                }

            Assert.True(messageReceived);
        }
示例#29
0
    // Use this for initialization
    void Start()
    {
        oscServer = GetComponent <OscServer>();

        remoteIp   = sender.remoteIp;
        remotePort = sender.remotePort;
        localPort  = server.localPort;
        oscPort    = oscServer.localPort;

        var x = Screen.width / 2f - windowWidth / 2f;
        var y = Screen.height / 2f - windowHeight / 2f;

        windowRect = new Rect(new Vector2(x, y), new Vector2(windowWidth, windowHeight));

        recorder = GetComponent <AsyncRecordPlayer>();

        parentFolder = Path.Combine(Application.streamingAssetsPath, "udpData");
        if (!Directory.Exists(parentFolder))
        {
            Directory.CreateDirectory(parentFolder);
        }
    }
示例#30
0
        public static void Main(string[] args)
        {
            OscServer oscServer;
            DemoType  demoType = GetDemoType();

            switch (demoType)
            {
            case DemoType.Udp:
                oscServer = new OscServer(TransportType.Udp, IPAddress.Loopback, Port);
                break;

            case DemoType.Tcp:
                oscServer = new OscServer(TransportType.Tcp, IPAddress.Loopback, Port);
                break;

            case DemoType.Multicast:
                oscServer = new OscServer(IPAddress.Parse("224.25.26.27"), Port);
                break;

            default:
                throw new Exception("Unsupported receiver type.");
            }

            oscServer.FilterRegisteredMethods = false;
            oscServer.RegisterMethod(AliveMethod);
            oscServer.RegisterMethod(TestMethod);
            oscServer.BundleReceived          += new EventHandler <OscBundleReceivedEventArgs>(oscServer_BundleReceived);
            oscServer.MessageReceived         += new EventHandler <OscMessageReceivedEventArgs>(oscServer_MessageReceived);
            oscServer.ReceiveErrored          += new EventHandler <ExceptionEventArgs>(oscServer_ReceiveErrored);
            oscServer.ConsumeParsingExceptions = false;

            oscServer.Start();

            Console.WriteLine("Osc Receiver: " + demoType.ToString());
            Console.WriteLine("Press any key to exit.");
            Console.ReadKey();
            oscServer.Stop();
        }
示例#31
0
    void Awake()
    {
        _id2tracker = new Dictionary<int, Tracker>();
        _matrixQueue = new Queue<ReceivedMatrix>();
        _appId = GetInstanceID();
        _clientEndpoint = new IPEndPoint(IPAddress.Broadcast, portNumber);
        _server = new OscServer(new IPEndPoint(IPAddress.Any, portNumber));

        _server.OnError += delegate(System.Exception obj) {
            Debug.Log("Error on Send : " + obj);
        };
        _server.OnReceive += delegate(keijiro.Osc.Message obj, IPEndPoint end) {
            try {
                var appId = (int)obj.data[0];
                var trackerId = (int)obj.data[1];
                var data = (byte[])obj.data[2];
                lock (_matrixQueue) {
                    _matrixQueue.Enqueue(new ReceivedMatrix(appId, trackerId, data));
                }
            } catch (System.Exception e) {
                Debug.Log(e);
            }
        };
    }
示例#32
0
        new public void OnEnable()
        {
            base.OnEnable();

            if (!Servers.ContainsKey(Port))
            {
                Servers.Add(Port, Server = new OscServer(Port));
            }
            else
            {
                Server = Servers[Port];
            }

            if (Tracks.ContainsKey(Server))
            {
                Tracks[Server].Add(this);
            }
            else
            {
                Tracks[Server] = new List <EOCReceiver>().With(this);
            }

            Server.MessageDispatcher.AddRootNodeCallback("track", OnMessageReceived);
        }
示例#33
0
        private void Initialize(string hostEntry, int listenPort)
        {
            var hostParts = hostEntry.Split(':');
            if (hostParts.Length != 2)
                throw new ArgumentException("Requires a host entry with this format [IP:port]");

            this.hostName = hostParts[0];
            this.hostPort = int.Parse(hostParts[1]);

            var ipHostEntry = System.Net.Dns.GetHostAddresses(this.hostName);
            this.oscClient = new OscClient(ipHostEntry.First(), this.hostPort);

            this.DigitalInputs = new PhysicalDevice.DigitalInput[8];
            for (int index = 0; index < this.DigitalInputs.Length; index++)
                this.DigitalInputs[index] = new PhysicalDevice.DigitalInput();

            this.DigitalOutputs = new PhysicalDevice.DigitalOutput[8];
            for (int index = 0; index < this.DigitalOutputs.Length; index++)
                WireupOutput(index);

            this.audioTrackStart = new Subject<string>();

            this.Motor = new PhysicalDevice.MotorWithFeedback((target, speed, timeout) =>
            {
                this.oscClient.Send("/motor/exec", 1, target, (int)(speed * 100), timeout.TotalSeconds.ToString("F0"));
            });

            this.oscServer = new OscServer(listenPort);
            this.oscServer.RegisterAction("/init", msg =>
                {
                    if (!CheckIdempotence(msg))
                        return;

                    log.Info("Raspberry is up");
                });

            this.oscServer.RegisterAction("/audio/trk/done", msg =>
                {
                    if (!CheckIdempotence(msg))
                        return;

                    log.Debug("Audio track done");
                    RaiseAudioTrackDone();
                });

            this.oscServer.RegisterAction("/video/done", msg =>
            {
                if (!CheckIdempotence(msg))
                    return;

                log.Debug("Video done");
                RaiseVideoTrackDone();
            });

            this.oscServer.RegisterAction<string>("/audio/bg/start", (msg, data) =>
            {
                if (!CheckIdempotence(msg))
                    return;

                if (data.Count() >= 2)
                {
                    string track = data.Skip(1).First();
                    log.Debug("Playing background track {0}", track);
                    this.audioTrackStart.OnNext(track);
                }
            });

            this.oscServer.RegisterAction<string, int>("/input", (msg, id, data) =>
                {
                    if (!CheckIdempotence(msg))
                        return;

                    if (data.Count() >= 2)
                    {
                        var values = data.ToArray();
                        log.Info("Input {0} set to {1}", values[0], values[1]);

                        if (values[0] >= 0 && values[0] <= 7)
                            this.DigitalInputs[values[0]].Trigger(values[1] != 0);
                    }
                });

            this.oscServer.RegisterAction("/motor/feedback", msg =>
                {
                    if (!CheckIdempotence(msg))
                        return;

                    if (msg.Data.Count() >= 2)
                    {
                        var values = msg.Data.ToArray();

                        int motorChn = int.Parse(values[0].ToString());
                        string motorPos = values[1].ToString();

                        if (motorPos == "FAIL")
                        {
                            log.Info("Motor {0} failed", motorChn);

                            if (motorChn == 1)
                                this.Motor.Trigger(null, true);
                        }
                        else
                        {
                            if (motorPos.StartsWith("S"))
                            {
                                int pos = int.Parse(motorPos.Substring(1));
                                log.Info("Motor {0} starting at position {1}", motorChn, pos);
                            }
                            else if (motorPos.StartsWith("E"))
                            {
                                int pos = int.Parse(motorPos.Substring(1));
                                log.Info("Motor {0} ending at position {1}", motorChn, pos);

                                if (motorChn == 1)
                                    this.Motor.Trigger(pos, false);
                            }
                            else
                            {
                                int pos = int.Parse(motorPos);
                                log.Debug("Motor {0} at position {1}", motorChn, pos);
                            }
                        }
                    }
                });

            this.DigitalInputs = new PhysicalDevice.DigitalInput[8];
            for (int index = 0; index < this.DigitalInputs.Length; index++)
                this.DigitalInputs[index] = new PhysicalDevice.DigitalInput();

            Executor.Current.Register(this);
        }
示例#34
0
        private bool CheckIdempotence(OscServer.Message msg)
        {
            return true;

            // We don't have the message id in there any more...
            if (!msg.Data.Any())
                return true;

            string messageId = (string)msg.Data.First();
            log.Trace("Received message id {0}", messageId);

            if (this.lastMessageIds.Contains(messageId))
                return false;

            this.lastMessageIds.Add(messageId);
            if (this.lastMessageIds.Count > 5)
                this.lastMessageIds.RemoveAt(0);

            return true;
        }