From a117d4bf53cbace2ef97ca3003904c1470643955 Mon Sep 17 00:00:00 2001 From: manuel Date: Wed, 13 Apr 2011 04:00:48 +0200 Subject: try to play the sound more gapless. if that won't work for totycro I'll revert the crap. it makes the code really ugly --- pacman-c++/mainwidget.cpp | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'pacman-c++/mainwidget.cpp') diff --git a/pacman-c++/mainwidget.cpp b/pacman-c++/mainwidget.cpp index e254dbc..5dc392c 100644 --- a/pacman-c++/mainwidget.cpp +++ b/pacman-c++/mainwidget.cpp @@ -9,11 +9,16 @@ MainWidget::MainWidget(QWidget *parent) : QWidget(parent), m_currentKey(Transmission::none), m_running(false) { /* create audio player */ - m_sirenPlayer = new AudioPlayer(this); - if (m_sirenPlayer->isWorking()) + m_sirenPlayer1 = new AudioPlayer(this); + m_sirenPlayer2 = new AudioPlayer(this); + if (m_sirenPlayer1->isWorking() && m_sirenPlayer2->isWorking()) { - m_sirenPlayer->setLoop(Sound::Ambient); - AudioManager::self()->registerAudioPlayer(m_sirenPlayer); + m_sirenPlayer1->setPrefinishMark(100); + m_sirenPlayer2->setPrefinishMark(100); + connect(m_sirenPlayer1, SIGNAL(prefinishMarkReached(qint32)), this, SLOT(startPlayer2())); + connect(m_sirenPlayer2, SIGNAL(prefinishMarkReached(qint32)), this, SLOT(startPlayer1())); + AudioManager::self()->registerAudioPlayer(m_sirenPlayer1); + AudioManager::self()->registerAudioPlayer(m_sirenPlayer2); } Color::Color color = connectToServer(); @@ -199,7 +204,17 @@ void MainWidget::keyReleaseEvent(QKeyEvent* event) void MainWidget::startGame() { m_running = true; - m_sirenPlayer->play(); + startPlayer1(); +} + +void MainWidget::startPlayer1() +{ + m_sirenPlayer1->play(Sound::Ambient); +} + +void MainWidget::startPlayer2() +{ + m_sirenPlayer2->play(Sound::Ambient); } void MainWidget::playerScoreClicked() -- cgit v1.2.3