From 1063106840d9aab949b2a3c676fff70f5cc2f06e Mon Sep 17 00:00:00 2001 From: eshe Date: Wed, 28 Jul 2010 12:17:59 +0100 Subject: [PATCH] Changed media player to initialize in boot. --- debian/changelog | 6 ++++++ src/mainwindow.cpp | 7 +++++-- src/mediaplayer.cpp | 17 ++++++++++++++--- src/mediaplayer.h | 6 ++++++ 4 files changed, 31 insertions(+), 5 deletions(-) diff --git a/debian/changelog b/debian/changelog index 2b9fed6..2ba370e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +jspeed (0.1-4) unstable; urgency=low + + * Fixed a bug in theme scheduler settings saving. + + -- Jesse Hakanen Tue, 27 Jul 2010 16:59:38 +0100 + jspeed (0.1-3) unstable; urgency=low * Speed camera support added. diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 3ccacaf..e08ab2c 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -31,13 +31,14 @@ #include "widgetscreen.h" #include "poialerts.h" #include "speedalarm.h" +#include "mediaplayer.h" MainWindow::MainWindow(): QMainWindow(0), menu_(0), themeLoader_(0), mainScreen_(0) { setWindowTitle(tr("jSpeed")); showFullScreen(); addScreens(); - QTimer::singleShot(800, this, SLOT(loadServices())); + QTimer::singleShot(500, this, SLOT(loadServices())); } MainWindow::~MainWindow() @@ -49,11 +50,13 @@ void MainWindow::loadServices() { Odometer::instance().start(); QApplication::processEvents(); + startBacklight(); + QApplication::processEvents(); PoiAlerts::instance().start(); QApplication::processEvents(); SpeedAlarm::instance().start(); QApplication::processEvents(); - startBacklight(); + MediaPlayer::init(); } void MainWindow::addScreens() diff --git a/src/mediaplayer.cpp b/src/mediaplayer.cpp index 6651036..df6e99f 100644 --- a/src/mediaplayer.cpp +++ b/src/mediaplayer.cpp @@ -29,9 +29,14 @@ namespace QString const LOCAL_SOUND_DIR = ":/resources/sounds/"; } +void MediaPlayer::init() +{ + getPlayer(); +} + bool MediaPlayer::play(QString const& file) { - static QMediaPlayer player; + QMediaPlayer* player = getPlayer(); QMediaContent media(QUrl::fromLocalFile(file)); @@ -40,11 +45,17 @@ bool MediaPlayer::play(QString const& file) return false; } - player.setMedia(media); - player.play(); + player->setMedia(media); + player->play(); return true; } +QMediaPlayer* MediaPlayer::getPlayer() +{ + static QMediaPlayer player; + return &player; +} + void MediaPlayer::getSupportedFormats(QList& formats) { formats.clear(); diff --git a/src/mediaplayer.h b/src/mediaplayer.h index 9a8ce7a..9a9e376 100644 --- a/src/mediaplayer.h +++ b/src/mediaplayer.h @@ -23,16 +23,22 @@ #include #include +class QMediaPlayer; + class MediaPlayer { public: enum Format {MP3, WAV, AAC, FORMAT_COUNT}; + static void init(); static bool play(QString const& file); static void getSupportedFormats(QList& formats); static QString getFormatPattern(); static QStringList getFormatPatterns(); static QString getSoundDir(); static QString const& getLocalSoundDir(); + +private: + static QMediaPlayer* getPlayer(); }; #endif -- 1.7.9.5