/// <summary> /// Initializes a new instance of the <see cref="ChannelPointViewModel" /> class. /// </summary> public ChannelPointViewModel() { this.channelPointSounds = new ObservableCollection <ChannelPointSoundWrapper>(); this.OutputDevice = Configuration.Instance.ChannelPointSoundRedemptionOutputChannel; this.MasterVolume = Configuration.Instance.ChannelPointSoundRedemptionsMasterVolume ?? 50; // Create the list of Output devices. var outputDevices = NAudioUtilities.GetTotalOutputDevices(); this.OutputDevices = new ObservableCollection <string>(); this.OutputDevices.AddRange(Enumerable.Range(-1, outputDevices + 1).Select(n => NAudioUtilities.GetOutputDevice(n).ProductName)); this.RefreshChannelPointRewards(); this.PropertyChanged += this.PropertyChangedHandler; }
/// <summary> /// Initializes a new instance of the <see cref="TwitchChatConfigViewModel" /> class. /// </summary> public TwitchChatConfigViewModel() { this.Config = Configuration.Instance; this.isConnectedTimer = new Timer(500); this.isConnectedTimer.AutoReset = true; this.isConnectedTimer.Elapsed += this.IsConnectedTimer_OnElapsed; // Create the list of TTS voices. var speech = new SpeechSynthesizer(); this.TtsVoices = new ObservableCollection <string>(); this.TtsVoices.AddRange(speech.GetInstalledVoices().Select(v => v.VoiceInfo.Name)); speech.Dispose(); // Create the list of Output devices. var outputDevices = NAudioUtilities.GetTotalOutputDevices(); this.OutputDevices = new ObservableCollection <string>(); this.OutputDevices.AddRange(Enumerable.Range(-1, outputDevices + 1).Select(n => NAudioUtilities.GetOutputDevice(n).ProductName)); // Setup our listeners. this.PropertyChanged += this.OnPropertyChanged; this.isConnectedTimer.Start(); }