25 QMutexLocker lock(&s_mutex);
35 QMutexLocker lock(&m_mutex);
37 if (m_volume == value)
56 void run(
void)
override
61 static constexpr std::chrono::milliseconds holdoff { 500ms };
63 controlLabel +=
"MixerVolume";
65 QMutexLocker lock(&m_mutex);
68 int volume = m_volume;
75 setTerminationEnabled(
true);
77 setTerminationEnabled(
false);
80 if (volume == m_volume)
91 enum : std::uint8_t { kStopped, kRunning, kFinished } m_state {kStopped};
95QMutex VolumeWriteBackThread::s_mutex;
129 VolumeWriteBackThread::Instance()->SetVolume(
m_volume);
This is a wrapper around QThread that does several additional things.
void SaveSetting(const QString &key, int newValue)
QString GetSetting(const QString &key, const QString &defaultval="")
bool GetBoolSetting(const QString &key, bool defaultval=false)
static MuteState NextMuteState(MuteState)
virtual MuteState GetMuteState(void) const
bool SWVolume(void) const
virtual void SetCurrentVolume(int value)
virtual int GetSWVolume(void)=0
MuteState m_currentMuteState
virtual void SetSWVolume(int new_volume, bool save)=0
virtual uint GetCurrentVolume(void) const
void SetChannels(int new_channels)
virtual int GetVolumeChannel(int channel) const =0
virtual void SetVolumeChannel(int channel, int volume)=0
virtual MuteState SetMuteState(MuteState)
virtual void ToggleMute(void)
virtual void AdjustCurrentVolume(int change)
void run(void) override
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.
static VolumeWriteBackThread * Instance()
void SetVolume(int value)
VolumeWriteBackThread(const VolumeWriteBackThread &)=delete
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
static eu8 clamp(eu8 value, eu8 low, eu8 high)