예제 #1
0
 public void Stop()
 {
     syncr.PauseScore();
     BroadcastMessage("STOP");
 }
예제 #2
0
        void ParseMessage(string msg)
        {
            // if (verbose)
            // {
            //    Console.WriteLine("Received: " + msg);
            //  }

            string[] args = msg.Split(' ');
            switch (args[0])
            {
            case "GROUP":

                break;

            case "HERMES":
                HermesMessage(ref args);
                break;

            case "FUNCTION":
                if (args.Length >= 3)
                {
                    RegisterFunction(ref args);
                }
                break;

            case "PAUSE":
                if (syncr != null)
                {
                    syncr.PauseScore();
                }
                break;

            case "RESUME":
                if (syncr != null)
                {
                    syncr.ResumeScore();
                }
                break;

            case "REGISTER":
                if (args.Length < 1)
                {
                    break;
                }
                RegisterClient(args);
                break;

            case "UNREGISTER":
                if (args.Length < 1)
                {
                    break;
                }
                int deadPort = int.Parse(args[1]);
                if (ClientConnections.ContainsKey(deadPort))
                {
                    ClientConnections.Remove(deadPort);
                }
                break;

            case "BOUNCE":
                if (args.Length < 2)
                {
                    break;
                }
                string cmd = "";
                for (int x = 1; x < args.Length; x++)
                {
                    cmd += " " + args[x];
                }
                BroadcastMessage(cmd);
                break;
            }
        }