diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-01-09 18:47:09 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2013-01-09 18:47:09 +0000 |
| commit | 92499b2723a81747e39dee8aacf3a97f22d2d5ff (patch) | |
| tree | 17abc0931e1d8ce544c074b2be198fff87a0b3c0 /src/plugins/General/songchange/songchange.cpp | |
| parent | 578b482e8fdf8aa101f65e6adbb95aa87cb830d1 (diff) | |
| download | qmmp-92499b2723a81747e39dee8aacf3a97f22d2d5ff.tar.gz qmmp-92499b2723a81747e39dee8aacf3a97f22d2d5ff.tar.bz2 qmmp-92499b2723a81747e39dee8aacf3a97f22d2d5ff.zip | |
song change plugin: added slots
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3138 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/songchange/songchange.cpp')
| -rw-r--r-- | src/plugins/General/songchange/songchange.cpp | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/src/plugins/General/songchange/songchange.cpp b/src/plugins/General/songchange/songchange.cpp index a367a412d..74aa6f4f8 100644 --- a/src/plugins/General/songchange/songchange.cpp +++ b/src/plugins/General/songchange/songchange.cpp @@ -36,7 +36,50 @@ #include "songchange.h" SongChange::SongChange(QObject *parent) : QObject(parent) -{} +{ + m_core = SoundCore::instance(); + connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(onStateChanged(Qmmp::State))); + connect(m_core, SIGNAL(metaDataChanged()), SLOT(onMetaDataChanged())); + connect(m_core, SIGNAL(finished()), SLOT(onFinised())); + QSettings settings(Qmmp::configFile(), QSettings::IniFormat); + m_newTrackCommand = settings.value("SongChange/new_track_command").toString(); + m_endOfTrackCommand = settings.value("SongChange/end_of_track_command").toString(); + m_endOfPlCommand = settings.value("SongChange/end_of_pl_command").toString(); + m_titleChangeCommand = settings.value("SongChange/title_change_command").toString(); +} SongChange::~SongChange() {} + +void SongChange::onStateChanged(Qmmp::State state) +{ + switch (state) + { + case Qmmp::Playing: + break; + default: + m_prevMetaData.clear(); + } +} + +void SongChange::onMetaDataChanged() +{ + QMap <Qmmp::MetaData, QString> metaData = m_core->metaData(); + if(m_prevMetaData != metaData) + { + if(m_prevMetaData[Qmmp::URL] == metaData[Qmmp::URL]) + { + qDebug("m_titleChangeCommand"); + } + else + { + qDebug("new_track_command"); + } + } + m_prevMetaData = metaData; +} + +void SongChange::onFinised() +{ + qDebug("on_track_finished"); +} |
