From b18385a95f25e13c767244b494f31bd4fc238143 Mon Sep 17 00:00:00 2001 From: manuel Date: Thu, 14 Apr 2011 02:37:31 +0200 Subject: encapsulate gapless audioplayer commit from yesterday into an own class (gaplessaudioplayer) added two new menu entrys: toggle sound + toggle ambient sound (2. very useful!) --- pacman-c++/audio.h | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) (limited to 'pacman-c++/audio.h') diff --git a/pacman-c++/audio.h b/pacman-c++/audio.h index 49d29a9..3e76f50 100644 --- a/pacman-c++/audio.h +++ b/pacman-c++/audio.h @@ -25,6 +25,8 @@ namespace Sound }; }; +/* --------------------------------------------------------------- */ + class AudioPlayer : public Phonon::MediaObject { @@ -46,32 +48,61 @@ public: bool isWorking() const; void setMuted(bool mute = true); bool isMuted() const; - void setLoop(QFile *sound); void setLoop(Sound::Type sound); void play(); void play(Sound::Type sound); -private: +protected: void test(QFile *testsound); + void setLoop(QFile *sound); public slots: void loopEnqueue(); -private slots: +protected slots: void testFinished(); void stateChanged_ex(Phonon::State newstate, Phonon::State oldstate); -private: +protected: bool m_working; QFile *m_loopsound; Phonon::AudioOutput *m_output; }; +/* --------------------------------------------------------------- */ + +class GaplessAudioPlayer + : public QObject +{ + Q_OBJECT + +public: + GaplessAudioPlayer(Sound::Type sound, qint32 mark, QObject *parent = 0); + bool isWorking() const; + void setMuted(bool mute = true); + bool isMuted() const; + void play(); + void pause(); + +protected slots: + void startPlayer1(); + void startPlayer2(); + +protected: + bool m_working; + Sound::Type m_sound; + AudioPlayer *m_player1; + AudioPlayer *m_player2; +}; + +/* --------------------------------------------------------------- */ + class AudioManager : public QObject { Q_OBJECT friend class AudioPlayer; + friend class GaplessAudioPlayer; public: AudioManager(); -- cgit v1.2.3