Example #1
0
        private static void Listen(FileManager manager)
        {
            var logger = GetLogger();

            var playManager = new PlayManager();

            if (!playManager.CheckCompatibility())
            {
                Console.Error.WriteLine("Unsupported Device");
                return;
            }

            var line = Console.ReadLine();

            while (line != null)
            {
                logger.Log(line);

                var command = CommandParser.Parse(line);
                if (command.Type == CommandType.Exit)
                {
                    break;
                }

                switch (command.Type)
                {
                case CommandType.Play:
                    var file = manager.Load(command.Args[1]);
                    if (file != null)
                    {
                        playManager.Play(file, command.Args[0]);
                    }

                    break;

                case CommandType.IsPlaying:
                    if (playManager.IsPlaying(command.Args[0]))
                    {
                        logger.Log("yes");
                        Console.WriteLine("yes");
                    }
                    else
                    {
                        logger.Log("no");
                        Console.WriteLine("no");
                    }

                    break;

                case CommandType.Release:
                    manager.Release(command.Args[0]);
                    break;
                }

                line = Console.ReadLine();
                Thread.Sleep(10);
            }

            logger.Dispose();
        }