private void RefreshAudioComboBoxes()
        {
            AudioOutputsList.Clear();
            AudioInputsList.Clear();

            AudioOutputsList.Add("", "Default playback device");
            AudioInputsList.Add("", "Default recording device");
            foreach (var kvp in Recorder.GetSystemAudioDevices(AudioDeviceSource.OutputDevices))
            {
                AudioOutputsList.Add(kvp.Key, kvp.Value);
            }
            foreach (var kvp in Recorder.GetSystemAudioDevices(AudioDeviceSource.InputDevices))
            {
                AudioInputsList.Add(kvp.Key, kvp.Value);
            }

            // Since Dictionary is not "observable", reset the reference.
            AudioOutputsComboBox.ItemsSource = null;
            AudioInputsComboBox.ItemsSource  = null;

            AudioOutputsComboBox.ItemsSource = AudioOutputsList;
            AudioInputsComboBox.ItemsSource  = AudioInputsList;

            AudioOutputsComboBox.SelectedIndex = 0;
            AudioInputsComboBox.SelectedIndex  = 0;
        }
        public MainWindow()
        {
            InitializeComponent();
            foreach (var target in WindowsDisplayAPI.Display.GetDisplays())
            {
                this.ScreenComboBox.Items.Add(target);
            }
            AudioOutputsList.Add("", "Default playback device");
            AudioInputsList.Add("", "Default recording device");
            foreach (var kvp in Recorder.GetSystemAudioDevices(AudioDeviceSource.OutputDevices))
            {
                AudioOutputsList.Add(kvp.Key, kvp.Value);
            }
            foreach (var kvp in Recorder.GetSystemAudioDevices(AudioDeviceSource.InputDevices))
            {
                AudioInputsList.Add(kvp.Key, kvp.Value);
            }

            RaisePropertyChanged("AudioOutputsList");
            RaisePropertyChanged("AudioInputsList");

            ScreenComboBox.SelectedIndex       = 0;
            AudioOutputsComboBox.SelectedIndex = 0;
            AudioInputsComboBox.SelectedIndex  = 0;
        }
        public MainWindow()
        {
            InitializeComponent();
            foreach (var target in WindowsDisplayAPI.Display.GetDisplays())
            {
                this.ScreenComboBox.Items.Add(target);
            }

            AudioOutputsList.Add("Default playback device");
            AudioInputsList.Add("Default recording device");
            AudioOutputsList.AddRange(Recorder.GetSystemAudioDevices(AudioDeviceSource.OutputDevices));
            AudioInputsList.AddRange(Recorder.GetSystemAudioDevices(AudioDeviceSource.InputDevices));

            ScreenComboBox.SelectedIndex       = 0;
            AudioOutputsComboBox.SelectedIndex = 0;
            AudioInputsComboBox.SelectedIndex  = 0;
        }