示例#1
0
        /// <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);
        }
示例#2
0
        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;
        }