Exemplo n.º 1
0
        /// <summary>
        /// Sends a list of OSC Messages.  Internally takes the OscMessage objects and
        /// serializes them into a byte[] suitable for sending to the PacketExchange.
        /// </summary>
        /// <param name="oms">The OSC Messages (as an ArrayList) to send.</param>
        public void Send(ArrayList oms)
        {
            byte[] packet = new byte[1000];
            int    length = Osc.OscMessagesToPacket(oms, packet, 1000);

            OscPacketIO.SendPacket(packet, length);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Send an individual OSC message.  Internally takes the OscMessage object and
        /// serializes it into a byte[] suitable for sending to the PacketIO.
        /// </summary>
        /// <param name="oscMessage">The OSC Message to send.</param>
        public void Send(OscMessage oscMessage)
        {
            byte[] packet = new byte[1000];
            int    length = Osc.OscMessageToPacket(oscMessage, packet, 1000);

            OscPacketIO.SendPacket(packet, length);
        }
Exemplo n.º 3
0
 /// <summary>
 /// Read Thread.  Loops waiting for packets.  When a packet is received, it is
 /// dispatched to any waiting All Message Handler.  Also, the address is looked up and
 /// any matching handler is called.
 /// </summary>
 private void Read()
 {
     while (ReaderRunning)
     {
         byte[] buffer = new byte[1000];
         int    length = OscPacketIO.ReceivePacket(buffer);
         if (length > 0)
         {
             ArrayList messages = Osc.PacketToOscMessages(buffer, length);
             foreach (OscMessage om in messages)
             {
                 if (AllMessageHandler != null)
                 {
                     AllMessageHandler(om);
                 }
                 OscMessageHandler h = (OscMessageHandler)Hashtable.Synchronized(AddressTable)[om.Address];
                 if (h != null)
                 {
                     h(om);
                 }
             }
         }
         else
         {
             Thread.Sleep(500);
         }
     }
 }
Exemplo n.º 4
0
 public void Send(string message)
 {
     //byte[] packet = new byte[1000];
     //int length = message.Length;
     byte[] packet = System.Text.Encoding.Default.GetBytes(message);
     OscPacketIO.SendPacket(packet, packet.Length);
 }
Exemplo n.º 5
0
 public void Cancel()
 {
     ReaderRunning = false;
     ReadThread.Abort();
     if (OscPacketIO.IsOpen())
     {
         OscPacketIO.Close();
     }
 }