aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-01-09 18:47:09 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-01-09 18:47:09 +0000
commit92499b2723a81747e39dee8aacf3a97f22d2d5ff (patch)
tree17abc0931e1d8ce544c074b2be198fff87a0b3c0 /src
parent578b482e8fdf8aa101f65e6adbb95aa87cb830d1 (diff)
downloadqmmp-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.cpp26
-rw-r--r--src/plugins/General/songchange/songchange.cpp45
-rw-r--r--src/plugins/General/songchange/songchange.h14
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