AudioChanger.Program.Main C# (CSharp) Method

Main() public static method

public static Main ( string args ) : void
args string
return void
        public static void Main(string[] args)
        {
            try
            {
                //Console.Clear();
                Console.SetWindowSize(120, 40);

                AudioEndpointManager manager = new AudioEndpointManager();

                if (args == null || args.Length == 0)
                {
                    displayDevices(manager);
                    return;
                }

                switch (args[0]) {
                    case "/list":
                        displayDevices(manager);
                        break;

                    case "/?":
                    case "/help":
                        displayHelpMessage();
                        break;

                    case "/cro":
                        Console.Write(string.Format("{0} {1} {2}", manager.DefaultOutputDevice.Id, manager.DefaultOutputDevice.Name, manager.DefaultOutputDevice.Bus));
                        break;

                    case "/cri":
                        Console.Write(string.Format("{0} {1} {2}", manager.DefaultInputDevice.Id, manager.DefaultInputDevice.Name, manager.DefaultInputDevice.Bus));
                        break;

                    case "/so":
                        if (args.Length == 2)
                            manager.SetDefaultOutputDevice(args[1]);
                        if (args.Length == 3)
                            manager.SetDefaultOutputDevice(args[1], args[2]);
                        if (args.Length > 4)
                            manager.SetNextDefaultOutputDevice(args, 1);
                        break;

                    case "/si":
                        if (args.Length == 2)
                            manager.SetDefaultInputDevice(args[1]);
                        if (args.Length == 3)
                            manager.SetDefaultInputDevice(args[1], args[2]);
                        if (args.Length > 4)
                            manager.SetNextDefaultInputDevice(args, 1);
                        break;

                    default:
                        break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }

            /*
            AudioEndpoint audio = new AudioEndpoint();
            try
            {
                audio.GetAudioInputDevices();
            } catch (Exception e) {

                Console.WriteLine(e.ToString());
            }
            try
            {
                audio.GetAudioOutputDevices();
            } catch (Exception e) {

                Console.WriteLine(e.ToString());
            }

            Console.WriteLine("Output devices...");
            foreach (KeyValuePair<String, String> device in audio.OutputDevicesPeriheral)
                Console.WriteLine(device.Key + "		(" + device.Value + ") " + audio.OutputDevices[device.Key]);

            Console.WriteLine();

            Console.WriteLine("Input devices...");
            foreach (KeyValuePair<String, String> device in audio.InputDevicesPeriheral)
                Console.WriteLine(device.Key + "		(" + device.Value + ") " + audio.InputDevices[device.Key]);

            Console.WriteLine();
            Console.WriteLine("Default output device:		" + audio.DefaultOutputDevice);
            Console.WriteLine("Default input device:		" + audio.DefaultInputDevice);
            */

            /*
            Console.WriteLine();
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
            */
        }