#ifndef SOUNDERER_H_INCLUDED #define SOUNDERER_H_INCLUDED #include #include #include #include #include #define EXT_WAV 0 #define EXT_OGG 1 #define INFINITY_LOOP -1 class Sounderer { public: Sounderer(); Sounderer(std::string folder); ~Sounderer(); bool init();// à appeler avant utilisation bool preLoad(std::string nom, short extension = EXT_WAV);// Précharge le son pour accélerer sa premièrer lecture [!] Dossier et extension auto bool play(std::string nom, int repetition = 0);// Joue le son choisi, le charge automatiquement si pas encore chargé bool fadePlay(std::string nom, int crescendoLenght, int repetition = 0);// Démarre le son par un crescendo d'une longueur voulue bool stop(std::string nom);// Stoppe le son choisi void stopAll(); void assignFolder(std::string folder);// Situe le dossier où sont contenus les sons private: int m_lastCanal; std::string m_folder; std::map m_channel;//Channel on which our sound is played std::map::iterator m_it; std::map m_paquet; int m_rate;// = 22050 : Frequency of audio playback Uint16 m_format;// = AUDIO_S16SYS : Format of the audio we're playing int m_nbChannels;// = 2 : 2 channels = stereo int m_bufferSize;// = 4096 : Size of the audio buffers in memory }; #endif // SOUNDERER_H_INCLUDED