diff -r 6fe3e922246e -r 701c5b8fac56 QTfrontend/util/SDLInteraction.h --- a/QTfrontend/util/SDLInteraction.h Fri Oct 21 07:00:49 2011 +0200 +++ b/QTfrontend/util/SDLInteraction.h Fri Oct 21 08:03:42 2011 +0200 @@ -45,19 +45,22 @@ SDLInteraction(); /// Initializes SDL for sound output if needed. - void SDLSoundInit(); + void SDLAudioInit(); - Mix_Music *music; - int musicInitialized; + bool m_audioInitialized; ///< true if audio is initialized already + Mix_Music * m_music; ///< pointer to the music channel of the mixer + QString m_musicTrack; ///< path to the music track; + bool m_isPlayingMusic; ///< true if music was started but not stopped again. - QMap * soundMap; ///< maps sound file paths to channel + + QMap * soundMap; ///< maps sound file paths to channels public: /** * @brief Returns reference to the singleton instance of this class. - * + * * @see singleton pattern - * + * * @return reference to the instance. */ static SDLInteraction & instance(); @@ -77,15 +80,22 @@ /** * @brief Plays a sound file. - * + * * @param soundFile path of the sound file. */ void playSoundFile(const QString & soundFile); - /// Starts the background music. + /** + * @brief Sets the music track to be played (or not). + * + * @param soundFile path of the music file. + */ + void setMusicTrack(const QString & musicFile); + + /// Starts the background music if not already playing. void startMusic(); - /// Fades out and stops the background music. + /// Fades out and stops the background music (if playing). void stopMusic(); };