public VolumeHandler(int[] volumeTable) { bool isDigital; using (Settings reader = new MPSettings()) { int levelStyle = reader.GetValueAsInt("volume", "startupstyle", 0); if (levelStyle == 0) { _startupVolume = Math.Max(0, Math.Min(65535, reader.GetValueAsInt("volume", "lastknown", 52428))); } if (levelStyle == 1) { } if (levelStyle == 2) { _startupVolume = Math.Max(0, Math.Min(65535, reader.GetValueAsInt("volume", "startuplevel", 52428))); } isDigital = reader.GetValueAsBool("volume", "digital", false); _showVolumeOSD = reader.GetValueAsBool("volume", "defaultVolumeOSD", true); } _mixer = new Mixer.Mixer(); _mixer.Open(0, isDigital); _volumeTable = volumeTable; _mixer.ControlChanged += mixer_ControlChanged; }
public override double[][] Process(double[][] input) { // TODO: Pre-Delay internalMixer = new Mixer.Mixer(); double[] cf1Out = cf1.Process((double[])input[0].Clone()); double[] cf2Out = cf2.Process((double[])input[0].Clone()); double[] cf3Out = cf3.Process((double[])input[0].Clone()); double[] cf4Out = cf4.Process((double[])input[0].Clone()); // TODO: Stereo Mixer.MixerChannel dryChannel = new Mixer.MixerChannel(input); Mixer.MixerChannel cf1Channel = new Mixer.MixerChannel(cf1Out); Mixer.MixerChannel cf2Channel = new Mixer.MixerChannel(cf2Out); Mixer.MixerChannel cf3Channel = new Mixer.MixerChannel(cf3Out); Mixer.MixerChannel cf4Channel = new Mixer.MixerChannel(cf4Out); internalMixer.AddChannel(dryChannel); internalMixer.AddChannel(cf1Channel); internalMixer.AddChannel(cf2Channel); internalMixer.AddChannel(cf3Channel); internalMixer.AddChannel(cf4Channel); // TODO: AllPass filtering return internalMixer.Process(); }
public VolumeHandler(int[] volumeTable) { bool isDigital = true; //string mixerControlledComponent = "Wave"; using (Settings reader = new MPSettings()) { int levelStyle = reader.GetValueAsInt("volume", "startupstyle", 0); if (levelStyle == 0) { _startupVolume = Math.Max(0, Math.Min(65535, reader.GetValueAsInt("volume", "lastknown", 52428))); } if (levelStyle == 1) { _startupVolume = _mixer.Volume; } if (levelStyle == 2) { _startupVolume = Math.Max(0, Math.Min(65535, reader.GetValueAsInt("volume", "startuplevel", 52428))); } //mixerControlledComponent = reader.GetValueAsString("volume", "controlledMixer", "Wave"); isDigital = reader.GetValueAsBool("volume", "digital", false); _showVolumeOSD = reader.GetValueAsBool("volume", "defaultVolumeOSD", true); } _mixer = new Mixer.Mixer(); _mixer.Open(0, isDigital); _volumeTable = volumeTable; _mixer.ControlChanged += new Mixer.MixerEventHandler(mixer_ControlChanged); }
public VolumeHandler(int[] volumeTable) { if (GUIGraphicsContext.DeviceAudioConnected > 0) { bool isDigital; using (Settings reader = new MPSettings()) { int levelStyle = reader.GetValueAsInt("volume", "startupstyle", 0); if (levelStyle == 0) { _startupVolume = Math.Max(0, Math.Min(65535, reader.GetValueAsInt("volume", "lastknown", 52428))); } if (levelStyle == 1) { } if (levelStyle == 2) { _startupVolume = Math.Max(0, Math.Min(65535, reader.GetValueAsInt("volume", "startuplevel", 52428))); } isDigital = reader.GetValueAsBool("volume", "digital", false); _showVolumeOSD = reader.GetValueAsBool("volume", "defaultVolumeOSD", true); } try { _mixer = new Mixer.Mixer(); _mixer.Open(0, isDigital); _volumeTable = volumeTable; _mixer.ControlChanged += mixer_ControlChanged; } catch (Exception ex) { Log.Error("VolumeHandler: Mixer exception when init {0}", ex); } } else { _volumeTable = volumeTable; } }