aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/mediaplayer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/mediaplayer.cpp')
-rw-r--r--src/qmmpui/mediaplayer.cpp26
1 files changed, 11 insertions, 15 deletions
diff --git a/src/qmmpui/mediaplayer.cpp b/src/qmmpui/mediaplayer.cpp
index 9b1636697..1bdac91f4 100644
--- a/src/qmmpui/mediaplayer.cpp
+++ b/src/qmmpui/mediaplayer.cpp
@@ -32,6 +32,8 @@ MediaPlayer *MediaPlayer::m_instance = 0;
MediaPlayer::MediaPlayer(QObject *parent)
: QObject(parent)
{
+ if(m_instance)
+ qFatal("StateHandler: only one instance is allowed");
m_instance = this;
m_pl_manager = 0;
m_core = 0;
@@ -42,28 +44,22 @@ MediaPlayer::MediaPlayer(QObject *parent)
QString locale = Qmmp::systemLanguageID();
translator->load(QString(":/libqmmpui_") + locale);
qApp->installTranslator(translator);
+ m_core = new SoundCore(this);
+ m_pl_manager = new PlayListManager(this);
+ connect(m_core, SIGNAL(nextTrackRequest()), SLOT(updateNextUrl()));
+ connect(m_core, SIGNAL(finished()), SLOT(playNext()));
+ connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(processState(Qmmp::State)));
+ connect(m_core, SIGNAL(metaDataChanged()),SLOT(showMetaData()));
}
MediaPlayer::~MediaPlayer()
-{}
-
-MediaPlayer* MediaPlayer::instance()
{
- return m_instance;
+ m_instance = 0;
}
-void MediaPlayer::initialize(SoundCore *core, PlayListManager *pl_manager)
+MediaPlayer* MediaPlayer::instance()
{
- Q_CHECK_PTR(core);
- Q_CHECK_PTR(pl_manager);
- m_core = core;
- m_pl_manager = pl_manager;
- m_repeat = false;
- m_noPlaylistAdvance = false;
- connect(m_core, SIGNAL(nextTrackRequest()), SLOT(updateNextUrl()));
- connect(m_core, SIGNAL(finished()), SLOT(playNext()));
- connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(processState(Qmmp::State)));
- connect(m_core, SIGNAL(metaDataChanged()),SLOT(showMetaData()));
+ return m_instance;
}
PlayListManager *MediaPlayer::playListManager()