diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-03-10 19:22:50 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2019-03-10 19:22:50 +0000 |
| commit | 1b726e44ba73a43e080e9323fdd4ebfaef7232bf (patch) | |
| tree | 576b6a0f11da04c087aa4307b04be88ce6037df2 /src/plugins/Engines | |
| parent | 52c005f14da27b0c6161be2011216c147f0d4236 (diff) | |
| download | qmmp-1b726e44ba73a43e080e9323fdd4ebfaef7232bf.tar.gz qmmp-1b726e44ba73a43e080e9323fdd4ebfaef7232bf.tar.bz2 qmmp-1b726e44ba73a43e080e9323fdd4ebfaef7232bf.zip | |
fixed mplayer plugin build
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8758 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Engines')
| -rw-r--r-- | src/plugins/Engines/mplayer/mplayerengine.cpp | 22 | ||||
| -rw-r--r-- | src/plugins/Engines/mplayer/mplayerengine.h | 22 |
2 files changed, 21 insertions, 23 deletions
diff --git a/src/plugins/Engines/mplayer/mplayerengine.cpp b/src/plugins/Engines/mplayer/mplayerengine.cpp index 418b3fcba..70c2097b5 100644 --- a/src/plugins/Engines/mplayer/mplayerengine.cpp +++ b/src/plugins/Engines/mplayer/mplayerengine.cpp @@ -27,8 +27,10 @@ #include <QRegExp> #include <QSettings> #include <QFileInfo> +#include <QDebug> #include <qmmp/trackinfo.h> #include <qmmp/inputsource.h> +#include <qmmp/volumehandler.h> #include "mplayerengine.h" //#define MPLAYER_DEBUG @@ -97,16 +99,7 @@ QStringList MplayerInfo::filters() MplayerEngine::MplayerEngine(QObject *parent) : AbstractEngine(parent) { - m_source = nullptr; - m_bitrate = 0; - m_samplerate = 0; - m_channels = 0; - m_bitsPerSample = 0; - m_length = 0; - m_currentTime = 0; - m_muted = false; - m_user_stop = false; - m_process = nullptr; + connect(VolumeHandler::instance(), SIGNAL(mutedChanged(bool)), SLOT(setMuted(bool))); } MplayerEngine::~MplayerEngine() @@ -282,6 +275,12 @@ void MplayerEngine::onError(QProcess::ProcessError error) qWarning("MplayerEngine: process error: %d", error); } +void MplayerEngine::onStateChanged(QProcess::ProcessState state) +{ + if(state == QProcess::Running) + setMuted(VolumeHandler::instance()->isMuted()); +} + void MplayerEngine::startMplayerProcess() { initialize(); @@ -290,6 +289,7 @@ void MplayerEngine::startMplayerProcess() m_process = new QProcess(this); connect(m_process, SIGNAL(readyReadStandardOutput()), SLOT(readStdOut())); connect(m_process, SIGNAL(error(QProcess::ProcessError)), SLOT(onError(QProcess::ProcessError))); + connect(m_process, SIGNAL(stateChanged(QProcess::ProcessState)), SLOT(onStateChanged(QProcess::ProcessState))); m_process->start ("mplayer", m_args); StateHandler::instance()->dispatch(Qmmp::Playing); StateHandler::instance()->dispatch(m_length); @@ -299,6 +299,4 @@ void MplayerEngine::startMplayerProcess() m_source->deleteLater(); m_source = nullptr; m_currentTime = 0; - if(m_muted) - setMuted(true); } diff --git a/src/plugins/Engines/mplayer/mplayerengine.h b/src/plugins/Engines/mplayer/mplayerengine.h index 0b890e3f5..8b51d1605 100644 --- a/src/plugins/Engines/mplayer/mplayerengine.h +++ b/src/plugins/Engines/mplayer/mplayerengine.h @@ -55,26 +55,26 @@ public: void seek(qint64) override; void stop() override; void pause() override; - void setMuted(bool muted) override; private slots: + void setMuted(bool muted); void readStdOut(); void onError(QProcess::ProcessError error); + void onStateChanged(QProcess::ProcessState state); void startMplayerProcess(); private: QStringList m_args; - QProcess *m_process; - int m_bitrate; - int m_samplerate; - int m_channels; - int m_bitsPerSample; - bool m_muted; - bool m_user_stop; - qint64 m_currentTime; - qint64 m_length; + QProcess *m_process = nullptr; + int m_bitrate = 0; + int m_samplerate = 0; + int m_channels = 0; + int m_bitsPerSample = 0; + bool m_user_stop = false; + qint64 m_currentTime = 0; + qint64 m_length = 0; QQueue <InputSource*> m_sources; - InputSource *m_source; + InputSource *m_source = nullptr; }; |
