/// <summary> /// Load settings from ini-file. /// </summary> /// <returns></returns> private bool LoadSettings() { for (int j = 0; j < Enum.GetValues(typeof(Modifier)).Length; j++) { for (int i = 1; i < 10; i++) { Playback_Item item = Configuration.Instance.Playback_Items.Find(f => f.Number == j * 9 + i); Playback_Items.Add(item); } } if (Available_Devices.Any(d => d.Name == Configuration.Instance.Playback_Device1)) { Playback_Devices[0] = Available_Devices.First(d => d.Name == Configuration.Instance.Playback_Device1); } if (Available_Devices.Any(d => d.Name == Configuration.Instance.Playback_Device2)) { Playback_Devices[1] = Available_Devices.First(d => d.Name == Configuration.Instance.Playback_Device2); } Playback_Volumes[0] = Configuration.Instance.Playback_Volume1; Playback_Volumes[1] = Configuration.Instance.Playback_Volume2; return(true); }
public MainWindow() { //Check if this is the first application instance. if (Application_Mutex.Mutex() == false) { Environment.Exit(0); //Close this (second) process. } InitializeComponent(); #region Find playback devices (including full names). MMDeviceEnumerator enumerator = new MMDeviceEnumerator(); for (int deviceId = 0; deviceId < WaveOut.DeviceCount; deviceId++) { WaveOutCapabilities capabilities = WaveOut.GetCapabilities(deviceId); foreach (MMDevice device in enumerator.EnumerateAudioEndPoints(DataFlow.Render, DeviceState.Active)) { if (device.FriendlyName.StartsWith(capabilities.ProductName)) { Available_Devices.Add(new Playback_Device() { ID = deviceId, Name = device.FriendlyName }); } } } #endregion LoadSettings(); Playback_Devices.CollectionChanged += Playback_Devices_CollectionChanged; Playback_Volumes.CollectionChanged += Playback_Volumes_CollectionChanged; Keyboard_Hook.KeyUp += Keyboard_Hook_KeyUp; Keyboard_Hook.KeyDown += Keyboard_Hook_KeyDown; Keyboard_Hook.Start(); //Set the data context for binding. DataContext = this; }