void RazorVolume::settingsChanged() { #if defined(USE_PULSEAUDIO) && defined(USE_ALSA) if (!m_engine || m_engine->backendName() != settings().value(SETTINGS_AUDIO_ENGINE, SETTINGS_DEFAULT_AUDIO_ENGINE).toString()) { if (settings().value(SETTINGS_AUDIO_ENGINE, SETTINGS_DEFAULT_AUDIO_ENGINE).toString() == "PulseAudio") setAudioEngine(new PulseAudioEngine(this)); else setAudioEngine(new AlsaEngine(this)); } #elif defined(USE_PULSEAUDIO) if (!m_engine) setAudioEngine(new PulseAudioEngine(this)); #elif defined(USE_ALSA) if (!m_engine) setAudioEngine(new AlsaEngine(this)); #endif m_volumeButton->setShowOnClicked(settings().value(SETTINGS_SHOW_ON_LEFTCLICK, SETTINGS_DEFAULT_SHOW_ON_LEFTCLICK).toBool()); m_volumeButton->setMuteOnMiddleClick(settings().value(SETTINGS_MUTE_ON_MIDDLECLICK, SETTINGS_DEFAULT_MUTE_ON_MIDDLECLICK).toBool()); m_volumeButton->setMixerCommand(settings().value(SETTINGS_MIXER_COMMAND, SETTINGS_DEFAULT_MIXER_COMMAND).toString()); m_volumeButton->volumePopup()->setSliderStep(settings().value(SETTINGS_STEP, SETTINGS_DEFAULT_STEP).toInt()); m_defaultSinkIndex = settings().value(SETTINGS_DEVICE, SETTINGS_DEFAULT_DEVICE).toInt(); if (m_engine && m_engine->sinks().count() > 0) { m_defaultSinkIndex = qBound(0, m_defaultSinkIndex, m_engine->sinks().count()-1); m_defaultSink = m_engine->sinks().at(m_defaultSinkIndex); m_volumeButton->volumePopup()->setDevice(m_defaultSink); m_engine->setIgnoreMaxVolume(settings().value(SETTINGS_IGNORE_MAX_VOLUME, SETTINGS_DEFAULT_IGNORE_MAX_VOLUME).toBool()); } }
void LxQtVolume::settingsChanged() { QString engineName = settings()->value(SETTINGS_AUDIO_ENGINE, SETTINGS_DEFAULT_AUDIO_ENGINE).toString(); qDebug() << "settingsChanged" << engineName; if (!m_engine || m_engine->backendName() != engineName) { #if defined(USE_PULSEAUDIO) && defined(USE_ALSA) if (engineName == "PulseAudio") setAudioEngine(new PulseAudioEngine(this)); else if (engineName == "Alsa") setAudioEngine(new AlsaEngine(this)); else // fallback to OSS setAudioEngine(new OssEngine(this)); #elif defined(USE_PULSEAUDIO) if (engineName == "PulseAudio") setAudioEngine(new PulseAudioEngine(this)); else // fallback to OSS setAudioEngine(new OssEngine(this)); #elif defined(USE_ALSA) if (engineName == "Alsa") setAudioEngine(new AlsaEngine(this)); else // fallback to OSS setAudioEngine(new OssEngine(this)); #else // No other backends are available, fallback to OSS setAudioEngine(new OssEngine(this)); #endif } m_volumeButton->setShowOnClicked(settings()->value(SETTINGS_SHOW_ON_LEFTCLICK, SETTINGS_DEFAULT_SHOW_ON_LEFTCLICK).toBool()); m_volumeButton->setMuteOnMiddleClick(settings()->value(SETTINGS_MUTE_ON_MIDDLECLICK, SETTINGS_DEFAULT_MUTE_ON_MIDDLECLICK).toBool()); m_volumeButton->setMixerCommand(settings()->value(SETTINGS_MIXER_COMMAND, SETTINGS_DEFAULT_MIXER_COMMAND).toString()); m_volumeButton->volumePopup()->setSliderStep(settings()->value(SETTINGS_STEP, SETTINGS_DEFAULT_STEP).toInt()); m_defaultSinkIndex = settings()->value(SETTINGS_DEVICE, SETTINGS_DEFAULT_DEVICE).toInt(); if (m_engine && m_engine->sinks().count() > 0) { m_defaultSinkIndex = qBound(0, m_defaultSinkIndex, m_engine->sinks().count()-1); m_defaultSink = m_engine->sinks().at(m_defaultSinkIndex); m_volumeButton->volumePopup()->setDevice(m_defaultSink); m_engine->setIgnoreMaxVolume(settings()->value(SETTINGS_IGNORE_MAX_VOLUME, SETTINGS_DEFAULT_IGNORE_MAX_VOLUME).toBool()); } }