Example #1
0
        static void Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.Verbose()
                         .WriteTo.Console(LogEventLevel.Verbose)
                         .CreateLogger();

            using var communicator = new SerialCommunicator();
            using var amp          = new CambridgeCX81(communicator, Log.Logger);

            if (args?.Length > 0)
            {
                HandleCommands(communicator, amp, args);

                if (args.Contains("--wait"))
                {
                    string q;
                    do
                    {
                        q = Console.ReadLine();
                    }while (q != "q");
                }
            }
            else
            {
                string s = Console.ReadLine();
                while (!string.IsNullOrEmpty(s))
                {
                    HandleCommands(communicator, amp, s.Split(" "));
                    s = Console.ReadLine();
                }
            }

            Console.WriteLine("Done!");
        }
Example #2
0
        private static void HandleCommands(ICommunicator com, CambridgeCX81 amp, string[] args)
        {
            if (args.Length > 0)
            {
                switch (args[0].ToLowerInvariant())
                {
                case "on":
                    amp.PowerOn();
                    break;

                case "off":
                    amp.PowerOff();
                    break;

                case "mute":
                    amp.Mute();
                    break;

                case "unmute":
                    amp.Unmute();
                    break;

                case "source" when args.Length > 1:
                    amp.SetSource(Enum.Parse <AudioSource>(args[1]));
                    break;

                default:
                    if (args.Length == 1)
                    {
                        com.SendRaw(args[0]);
                    }

                    break;
                }
            }
        }