Exemple #1
0
        static void Main(string[] args)
        {
            m_Listener = new OscAddressManager();

            m_Listener.Attach("/testA", TestMethodA);
            m_Listener.Attach("/testB", TestMethodB);

            m_Receiver = new OscReceiver(IPAddress.IPv6Any, IPAddress.Parse("FF02::2"), 12345);

            m_Sender = new OscSender(IPAddress.Parse("FF02::2"), 12345);

            m_Thread = new Thread(new ThreadStart(ListenLoop));

            Console.WriteLine("Connecting");
            m_Receiver.Connect();
            m_Sender.Connect();
            m_Thread.Start();

            Console.WriteLine();
            Console.WriteLine("Sending message to A");
            Console.WriteLine();

            m_Sender.Send(new OscMessage("/testA", "Hello from sender (test1)"));

            Thread.CurrentThread.Join(100);
            Console.WriteLine();
            Console.WriteLine("Press any key to send the next message");
            Console.ReadKey(true);



            Console.WriteLine();
            Console.WriteLine("Sending message to B");
            Console.WriteLine();

            m_Sender.Send(new OscMessage("/testB", "Hello from sender (test2)"));

            Thread.CurrentThread.Join(100);
            Console.WriteLine();
            Console.WriteLine("Press any key to send the next message");
            Console.ReadKey(true);



            Console.WriteLine();
            Console.WriteLine("Sending message to A and B");
            Console.WriteLine();

            m_Sender.Send(new OscMessage("/*", "Hello from sender (test3)"));

            Thread.CurrentThread.Join(100);
            Console.WriteLine();
            Console.WriteLine("Press any key to exit");
            Console.ReadKey(true);

            Console.WriteLine("Shutting down");
            m_Receiver.Close();
            m_Thread.Join();
            m_Sender.Close();
        }
Exemple #2
0
        /// <summary>
        /// Sends the new deformed mesh to be drawn
        /// </summary>
        private void UpdateMesh()
        {
            var vertices = this.currentFaceModel.CalculateVerticesForAlignment(this.currentFaceAlignment);

            byte[] b = new byte[vertices.Count * 3 * 2];

            for (int i = 0; i < vertices.Count; i++)
            {
                var vert = vertices[i];
                this.theGeometry.Positions[i] = new Point3D(vert.X, vert.Y, -vert.Z);
                var bytes = BitConverter.GetBytes((short)((vert.X) * 1000));
                b[i * 3 * 2 + 0] = bytes[0];
                b[i * 3 * 2 + 1] = bytes[1];
                bytes            = BitConverter.GetBytes((short)((vert.Y) * 1000));
                b[i * 3 * 2 + 2] = bytes[0];
                b[i * 3 * 2 + 3] = bytes[1];
                bytes            = BitConverter.GetBytes((short)(-(vert.Z) * 1000));
                b[i * 3 * 2 + 4] = bytes[0];
                b[i * 3 * 2 + 5] = bytes[1];
            }

            var        address = "/osceleton2/hdface";
            OscMessage message = new OscMessage(address, b);

            if (oscSender != null)
            {
                oscSender.Send(message);
            }
        }
Exemple #3
0
        private void sendOSCMessage_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(this.oscMessage.Text))
            {
                return;
            }
            //var packet = Rug.Osc.OscPacket.Parse(this.oscMessage.Text);
            // var parsed = OscMessage.Parse(this.oscMessage.Text);

            var message = this.oscMessage.Text.Split(' ');

            if (message.Length <= 0)
            {
                return;
            }

            var address = message[0];

            if (message.Length <= 1)
            {
                oscSender.Send(new OscMessage(message[0]));
            }
            else
            {
                // oscSender.Send(new OscMessage(message[0], message.Skip(1).Cast<int>().ToArray()));
                oscSender.Send(new OscMessage("/sourcepreset", 1));
            }
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            try
            {
                // parse the message
                OscPacket msg = OscPacket.Parse(m_MessageBox.Text);

                // write the parsed message
                AppendLine(msg.ToString());

                // if the sender exists
                if (m_Sender != null)
                {
                    for (int i = 0, j = (int)m_SendCount.Value; i < j; i++)
                    {
                        // send
                        m_Sender.Send(msg);
                    }
                }
                else
                {
                    AppendLine("Sender is not connected");
                }
            }
            catch (Exception ex)
            {
                // explicitly tell the user why the message failed to parse
                AppendLine("Error parsing message");
                AppendLine(ex.Message);
                AppendLine("");
            }
        }
Exemple #5
0
        static void Main(string[] args)
        {
            Console.WriteLine("OSC Client.");
            Console.WriteLine("周波数[Hz] 再生時間[msec]");


            // 送信先はローカルホスト
            var address = IPAddress.Parse("127.0.0.1");

            // 送信先のポートを指定
            using var oscSender = new OscSender(address, 2345);

            // 接続
            oscSender.Connect();

            //// 無限ループにしてメッセージ送信
            //while (true)
            //{
            //    var msg = Console.ReadLine();
            //    oscSender.Send(new OscMessage("/test", msg.ToString()));
            //}
            while (true)
            {
                var msg = Console.ReadLine().Split(" ");
                if (int.TryParse(msg[0], out int freq) && int.TryParse(msg[1], out int time))
                {
                    //Console.Beep(freq, time);
                    oscSender.Send(new OscMessage("/beep", freq, time));
                }
            }
        }
Exemple #6
0
        public void SendTest()
        {
            try
            {
                // This is the ip address we are going to send to
                IPAddress address = IPAddress.Loopback;

                // This is the port we are going to send to
                int port = 12345;

                // Create a new sender instance
                using (OscSender sender = new OscSender(address, port))
                {
                    // Connect the sender socket
                    sender.Connect();

                    // Send a new message
                    sender.Send(new OscMessage("/test", 1, 2, 3, 4));
                }
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }
Exemple #7
0
 private void sendvalue(string s, int i)
 {
     using (OscSender sender = new OscSender(IPAddress.Parse("192.168.1.75"), 3032))
     {
         sender.Connect();
         sender.Send(new OscMessage(s, i));
     }
 }
Exemple #8
0
        protected async Task <T> Send <T>(string path, int timeout = DEFAULT_500_MS_TIMEOUT, params object[] args)
        {
            //wait for the messages to complete being sent
            await Task.Run(() => _sender.WaitForAllMessagesToComplete());

            if (args == null || args.Length == 0)
            {
                _sender.Send(new OscMessage(path));
            }
            else
            {
                _sender.Send(new OscMessage(path, args));
            }

            OscPacket packet = await RecieveOSC(timeout);

            return(FormatResponsePacket <T>(packet?.ToString(), path));
        }
Exemple #9
0
 private void sendcommand(string s)
 {
     using (OscSender sender = new OscSender(IPAddress.Parse("192.168.1.75"), 3032))
     {
         sender.Connect();
         sender.Send(new OscMessage(s));
         sender.Close();
     }
 }
Exemple #10
0
 private void FilterAndSend(OscPacket data, byte[] mask, int x, int y, int listenPort)
 {
     if (mask[x + (y * width)] == 0)
     {
         //TODO: find the matching subject from the package and remove the others
         var filteredData = FindMatchingSubject(data, x, y);
         oscSender.Send(filteredData);
         UpdateFilteredImagesSources(x, y, listenPort);
     }
 }
        public void SendMessage(string str, int num)
        {
            var mess = new OscMessage(str, num);

            using (OscSender sender = new OscSender(address, port))
            {
                sender.Connect();
                sender.Send(mess);
            }
        }
 public override void SendChatMessage(RestreamChatMessage message)
 {
     try
     {
         sender.Send(new OscMessage("/RCH_Message", message.GetAsOneLiner()));
     }
     catch (System.Net.Sockets.SocketException) {
         Console.WriteLine("ERROR ! The port " + PortOut + " is used by some an other application.");
     }
 }
        public void SendFermata()
        {
            var mess = new OscMessage(tempoAddr, 0);

            Console.WriteLine(string.Format("Sending tempo {0}", 0));
            using (OscSender sender = new OscSender(address, port))
            {
                sender.Connect();
                sender.Send(mess);
            }
        }
Exemple #14
0
        public void Send(string path, List <MidiMapping> data)
        {
            var msg = new List <string>(data.Count);

            foreach (var midiMapping in data)
            {
                msg.Add(midiMapping.ToString());
            }
            //sender.Send(new OscMessage(path, msg.Substring(0,msg.Length-1)));
            sender.Send(new OscMessage(path, msg.ToArray()));
        }
Exemple #15
0
 private async void KinectCycle()
 {
     while (kinectHandler.IsKinectOpen)
     {
         var point = trackingStrategy.DetectSinglePerson(kinectHandler.GetDepthFrame());
         if (point.HasValue)
         {
             oscSender?.Send(new OscMessage("/DTDT", point.Value.X, point.Value.Y));
         }
         await Task.Delay(KinectRefreshRate);
     }
 }
        static void Main(string[] args)
        {
            IPAddress remote     = IPAddress.Parse("192.168.2.4");
            int       remotePort = 5000;


            if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable())
            {
                Console.WriteLine("No network connections available");
                return;
            }

            // Get host name
            String strHostName = Dns.GetHostName();

            // Find host by name
            IPHostEntry iphostentry = Dns.GetHostEntry(strHostName);

            NetworkInterface[] interfaces = NetworkInterface.GetAllNetworkInterfaces();

            foreach (NetworkInterface adapter in interfaces)
            {
                var ipProps = adapter.GetIPProperties();

                foreach (var ip in ipProps.UnicastAddresses)
                {
                    if ((adapter.OperationalStatus == OperationalStatus.Up) &&
                        (ip.Address.AddressFamily == AddressFamily.InterNetwork))
                    {
                        Console.WriteLine(ip.Address.ToString().PadRight(20) + adapter.Description.ToString());

                        try
                        {
                            using (OscSender sender = new OscSender(ip.Address, remote, remotePort))
                            {
                                sender.Connect();

                                sender.Send(new OscMessage("/test", 1, 2, 3));
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine("Exception while sending");
                            Console.WriteLine(ex.Message);
                        }

                        Console.WriteLine();
                    }
                }
            }

            Console.ReadKey(true);
        }
Exemple #17
0
        private void broadcastNewLocation(int i)
        {
            System.Console.WriteLine($"Position: {i}");
            //labelSensor.Content = $"Sensor: {i}";

            using (OscSender sender = new OscSender(Address, Port))
            {
                sender.Connect();

                sender.Send(new OscMessage("/quadrant", i));
            }
        }
Exemple #18
0
        private void keyPressedEvent(object sender, LaunchpadKeyEventArgs e)
        {
            if (e.GetY() < num_colourRows && e.GetY() >= 0)
            {
                if (e.GetX() < 8)
                {
                    // this is a coloured exec row, assuming row -1 and column 8 are not part of the selection
                    ColourExecRow.writeLowlightToRow(lInt, ColourExecRow.colours, e.GetY());   // write low_light to entire row
                }
                else
                {
                    // end group selection button
                }

                lInt.setLED(e.GetX(), e.GetY(), ColourExecRow.colours[e.GetX()].highlight);
            }
            else
            {
                lInt.setLED(e.GetX(), e.GetY(), ColourExecRow.colours[0].highlight);                   // white for non-colour rows
            }

            if (e.GetX() == 8)
            {
                osc.Send(new OscMessage($"/rpc", "3H"));
            }

            int oscX = e.GetX() + 2;

            if (oscX == 10)
            {
                oscX = 1;             // shift the end circle buttons to the front
            }
            else
            {
                oscX++;  // otherwise shift +1 to ignore the soft pallete
            }
            int oscY = e.GetY() + 1;

            osc.Send(new OscMessage($"/exec/{textBox_execPage.Text}/{oscX + oscY * 10}", 1));             // updated to increments of 10
        }
 public void SendTempo(int t)
 {
     if (t != lastSentTempo)
     {
         var mess = new OscMessage(tempoAddr, t);
         Console.WriteLine(string.Format("Sending tempo {0}", t));
         using (OscSender sender = new OscSender(address, port))
         {
             sender.Connect();
             sender.Send(mess);
         }
         lastSentTempo = t;
     }
 }
        // Method run every tick. Should be 50 ticks per second.
        private void OnTick()
        {
            // Get the robot number.
            string TeamNumber = "";

            foreach (ConfigurationSetting Configuration in ConfigurationList)
            {
                if (Configuration.Setting == "Team Number")
                {
                    TeamNumber = Configuration.Value;
                }
            }

            // Sends all the driver station data.
            OscSenderInstance.Send(new OscMessage("/" + TeamNumber + "/EnableState", (int)RobotEnableState, (int)RobotDriveMode));
        }
        public void SendPan(double p)
        {
            if (p != lastSentPan)
            {
                int val  = (int)(p * 100);
                var mess = new OscMessage(panAddr, val);
                Console.WriteLine(string.Format("Sending pan {0}", val));

                using (OscSender sender = new OscSender(address, port))
                {
                    sender.Connect();
                    sender.Send(mess);
                }

                lastSentPan = p;
            }
        }
Exemple #22
0
        private void SendFunction(object sender, RoutedEventArgs e)
        {
            Console.WriteLine("送信処理");
            // 送信先はローカルホスト
            var address = IPAddress.Parse("127.0.0.1");

            // 送信先のポートを指定
            using var oscSender = new OscSender(address, 2345);
            var msg = "from Wpf.";

            // 接続
            oscSender.Connect();
            oscSender.Send(new OscMessage("/test", msg));

            viewModel.OscText = "asdfg";
            viewModel.BgColor = new SolidColorBrush(Color.FromArgb(0xFF, 0x00, 0xFF, 0x00));
        }
        public void SendVolume(double v)
        {
            if (v != lastSentVolume)
            {
                int val  = (int)(v * 100);
                var mess = new OscMessage(volumeAddr, val);
                Console.WriteLine(string.Format("Sending volume {0}", val));

                using (OscSender sender = new OscSender(address, port))
                {
                    sender.Connect();
                    sender.Send(mess);
                }

                lastSentPan = v;
            }
        }
Exemple #24
0
        private void Application_SlideShowNextClick(PowerPoint.SlideShowWindow Wn, PowerPoint.Effect nEffect)
        {
            //throw new NotImplementedException();
            // PowerPointスライドの「ノート」部分を取得する。
            string note  = Wn.View.Slide.NotesPage.Shapes.Placeholders[2].TextFrame.TextRange.Text;
            string noteT = note.Trim();

            if (noteT != "")
            {
                oscSender.Connect();
                Debug.WriteLine("つなげた");
                oscSender.Send(new OscMessage("/scene", noteT));
                //oscSender.Send(new OscMessage("/change", int.Parse(noteT)));
                Debug.WriteLine(noteT + ":");
                this.oscSender.Close();
                Debug.WriteLine("とじた");
            }
        }
Exemple #25
0
    private void SendCurrentPositions()
    {
        // send the quaternions of each finger.
        string[] coords        = { "X", "Y", "Z", "W" };
        object[] featureValues = new object[hand.HandBones.Length * 4];
        int      boneIndex     = 0;

        foreach (var t in hand.HandBones)
        {
            for (int i = 0; i < 4; i++)
            {
                featureValues[boneIndex * 4 + i] = (t.localRotation[i]);
            }

            boneIndex++;
        }

        //send the quaternion.
        OscMessage message = new OscMessage("/predict", featureValues);

        sender.Send(message);
    }
Exemple #26
0
        /// <summary>
        /// Handler for recognized speech events.
        /// </summary>
        /// <param name="sender">object sending the event.</param>
        /// <param name="e">event arguments.</param>
        private void SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            // Speech utterance confidence below which we treat speech as if it hadn't been heard
            const double ConfidenceThreshold = 0.3;

            // Number of degrees in a right angle.
            const int DegreesInRightAngle = 90;

            // Number of pixels turtle should move forwards or backwards each time.
            const int DisplacementAmount = 60;

            this.ClearRecognitionHighlights();

            if (e.Result.Confidence >= ConfidenceThreshold)
            {
                switch (e.Result.Semantics.Value.ToString())
                {
                case "RED":
                    forwardSpan.Foreground = Brushes.Red;
                    forwardSpan.FontWeight = FontWeights.Bold;
                    turtleTranslation.X    = (playArea.Width + turtleTranslation.X + (DisplacementAmount * Displacements[this.curDirection].X)) % playArea.Width;
                    turtleTranslation.Y    = (playArea.Height + turtleTranslation.Y + (DisplacementAmount * Displacements[this.curDirection].Y)) % playArea.Height;
                    break;

                case "BLUE":
                    forwardSpan.Foreground = Brushes.Blue;
                    backSpan.Foreground    = Brushes.DeepSkyBlue;
                    backSpan.FontWeight    = FontWeights.Bold;
                    turtleTranslation.X    = (playArea.Width + turtleTranslation.X - (DisplacementAmount * Displacements[this.curDirection].X)) % playArea.Width;
                    turtleTranslation.Y    = (playArea.Height + turtleTranslation.Y - (DisplacementAmount * Displacements[this.curDirection].Y)) % playArea.Height;
                    break;

                case "GREEN":
                    forwardSpan.Foreground = Brushes.Green;
                    leftSpan.Foreground    = Brushes.DeepSkyBlue;
                    leftSpan.FontWeight    = FontWeights.Bold;
                    this.curDirection      = TurnLeft[this.curDirection];

                    // We take a left turn to mean a counter-clockwise right angle rotation for the displayed turtle.
                    turtleRotation.Angle -= DegreesInRightAngle;
                    break;

                case "ORANGE":
                    forwardSpan.Foreground = Brushes.Orange;
                    rightSpan.Foreground   = Brushes.DeepSkyBlue;
                    rightSpan.FontWeight   = FontWeights.Bold;
                    this.curDirection      = TurnRight[this.curDirection];

                    // We take a right turn to mean a clockwise right angle rotation for the displayed turtle.
                    turtleRotation.Angle += DegreesInRightAngle;
                    break;
                }
                if (e.Result.Semantics.Value.ToString()[0] == '#')
                {
                    var        address = "/speech/color";
                    OscMessage message = new OscMessage(address, e.Result.Semantics.Value.ToString().Substring(1, 6));
                    if (oscSender != null)
                    {
                        oscSender.Send(message);
                    }

                    forwardSpan.Foreground = (SolidColorBrush)(new BrushConverter().ConvertFrom(e.Result.Semantics.Value.ToString()));
                }
                else if (e.Result.Semantics.Value.ToString()[0] == 'C') // command
                {
                    var        address = "/speech/command";
                    OscMessage message = new OscMessage(address, e.Result.Semantics.Value.ToString().Substring(1));
                    if (oscSender != null)
                    {
                        oscSender.Send(message);
                    }
                }
            }
        }
 //受信待受停止
 public void Send(OscPacket packet)
 {
     PacketCounter++;
     oscSender.Send(packet);
 }
 private void SendCurrentMessage()
 {
     oscSender.Send(selectedSendMessage);
     sendCounter.Increment();
 }
Exemple #29
0
        public static void Send(OscCmd oscCmd)
        {
            if (oscMute)
            {
                switch (oscCmd.type)
                {
                case DataType.FLOAT:
                    LogCtrl.Warning("Send OSC: " + oscCmd.oscAddress + " " + oscCmd.floatVal);
                    break;

                case DataType.INT:
                    LogCtrl.Warning("Send OSC: " + oscCmd.oscAddress + " " + oscCmd.intVal);
                    break;

                default:
                    LogCtrl.Warning("Send OSC: " + oscCmd.oscAddress + " " + oscCmd.stringVal);
                    break;
                }
                return;
            }

            foreach (OscTarget target in oscTargets)
            {
                if (target.keyword == oscCmd.keyword)
                {
                    using (OscSender sender = new OscSender(target.ip, target.port))
                    {
                        sender.Connect();

                        if (oscCmd.type == DataType.INT)
                        {
                            sender.Send(new OscMessage(target.prefix + oscCmd.oscAddress, oscCmd.intVal));
                        }

                        else if (oscCmd.type == DataType.FLOAT)
                        {
                            sender.Send(new OscMessage(target.prefix + oscCmd.oscAddress, oscCmd.floatVal));
                        }

                        else
                        {
                            sender.Send(new OscMessage(target.prefix + oscCmd.oscAddress, oscCmd.stringVal));
                        }
                    }
                    switch (oscCmd.type)
                    {
                    case DataType.FLOAT:
                        LogCtrl.Status("Send OSC: " + oscCmd.oscAddress + " " + oscCmd.floatVal);
                        break;

                    case DataType.INT:
                        LogCtrl.Status("Send OSC: " + oscCmd.oscAddress + " " + oscCmd.intVal);
                        break;

                    default:
                        LogCtrl.Status("Send OSC: " + oscCmd.oscAddress + " " + oscCmd.stringVal);
                        break;
                    }
                    return;
                }
            }
            LogCtrl.Error("Couldn't find OSC target " + oscCmd.keyword + ".");
        }
Exemple #30
0
 public void Send(IPEndPoint endpoint, string oscAddress, string oscData)
 {
     oscSender.Send(endpoint, oscAddress, oscData);
     Debug.Log($"[DataStore] Send : {endpoint}, {oscAddress}, {oscData}");
 }