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 | |
| 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')
| -rw-r--r-- | src/plugins/General/songchange/settingsdialog.cpp | 26 | ||||
| -rw-r--r-- | src/plugins/General/songchange/songchange.cpp | 45 | ||||
| -rw-r--r-- | src/plugins/General/songchange/songchange.h | 14 |
3 files changed, 58 insertions, 27 deletions
diff --git a/src/plugins/General/songchange/settingsdialog.cpp b/src/plugins/General/songchange/settingsdialog.cpp index 156b09d77..ee39d91cd 100644 --- a/src/plugins/General/songchange/settingsdialog.cpp +++ b/src/plugins/General/songchange/settingsdialog.cpp @@ -74,29 +74,3 @@ void SettingsDialog::addMenu(QToolButton *button) button->setPopupMode(QToolButton::InstantPopup); connect(menu, SIGNAL(triggered (QAction *)), SLOT(addTitleString(QAction *))); } - - - -/*void SettingsDialog::createMenus() -{ - QMenu *menu = new QMenu(this); - menu->addAction(tr("Artist"))->setData("%p"); - menu->addAction(tr("Album"))->setData("%a"); - menu->addAction(tr("Title"))->setData("%t"); - menu->addAction(tr("Track number"))->setData("%n"); - menu->addAction(tr("Two-digit track number"))->setData("%NN"); - menu->addAction(tr("Genre"))->setData("%g"); - menu->addAction(tr("Comment"))->setData("%c"); - menu->addAction(tr("Composer"))->setData("%C"); - menu->addAction(tr("Duration"))->setData("%l"); - menu->addAction(tr("Disc number"))->setData("%D"); - menu->addAction(tr("File name"))->setData("%f"); - menu->addAction(tr("File path"))->setData("%F"); - menu->addAction(tr("Year"))->setData("%y"); - menu->addAction(tr("Condition"))->setData("%if(%p&%t,%p - %t,%f)"); - ui.patternButton->setMenu(menu); - ui.patternButton->setPopupMode(QToolButton::InstantPopup); - connect(menu, SIGNAL(triggered (QAction *)), SLOT(addTitleString( QAction *))); -}*/ - - 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"); +} diff --git a/src/plugins/General/songchange/songchange.h b/src/plugins/General/songchange/songchange.h index 92ce4ef34..24f414147 100644 --- a/src/plugins/General/songchange/songchange.h +++ b/src/plugins/General/songchange/songchange.h @@ -20,6 +20,7 @@ #ifndef SONGCHANGE_H #define SONGCHANGE_H +#include <QMap> #include <qmmpui/general.h> #include <qmmp/qmmp.h> @@ -38,6 +39,19 @@ public: SongChange(QObject *parent = 0); ~SongChange(); + +private slots: + void onStateChanged(Qmmp::State state); + void onMetaDataChanged(); + void onFinised(); + +private: + QString m_newTrackCommand; + QString m_endOfTrackCommand; + QString m_endOfPlCommand; + QString m_titleChangeCommand; + SoundCore *m_core; + QMap <Qmmp::MetaData, QString> m_prevMetaData; }; #endif |
