Changeset 10 for trunk/src/Musique.cpp
- Timestamp:
- 15.06.2008 13:36:46 (4 years ago)
- Files:
-
- 1 modified
-
trunk/src/Musique.cpp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/Musique.cpp
r1 r10 52 52 { 53 53 if(_Singleton != NULL){ 54 // on termine proprement la musique éventuellement jouée à ce moment 55 Musique::getInstance()->stop(); 54 56 // On quitte SDL_mixer 55 57 Mix_CloseAudio(); … … 59 61 } 60 62 63 // il faut bien vérifier de tout fermer ce qui aurait pu être ouvert 64 void Musique::mute(bool mute) 65 { 66 _Mute = mute; 67 if(_Mute){ 68 stop(); 69 } 70 } 71 61 72 // initialise la classe 62 73 void Musique::init(string file_name) 63 74 { 75 // si le son est désactivé on ne va pas plus loin, et en plaçant l'instance à NULL 76 // toutes les fonctions de la classe seront sans effet 77 if(_Mute){ 78 _Music = NULL; 79 return; 80 } 64 81 // on enregistre le nom du fichier 65 82 _FileName = file_name; … … 119 136 if(_Music == NULL) return; 120 137 Mix_HaltMusic(); 138 _Music = NULL; 121 139 } 122 140 … … 125 143 void Musique::decrechendo(Uint32 duration) 126 144 { 145 if(_Music == NULL) return; 127 146 // on enregistre la durée pour plus tard 128 147 _Duration = duration; … … 149 168 // on boucle et on descent d'un pas à chaque fois 150 169 for(Uint16 pas=255;pas>0;pas--){ 170 if(_Mute){ 171 // on termine le thread, car ça ne sert à rien de rester... 172 return 0; 173 } 151 174 // on descend d'un palier le son 152 175 if(!Mix_SetPanning(MIX_CHANNEL_POST, pas, pas)) { … … 163 186 SDL_Delay(delay); 164 187 } 165 // on s'assure qu'au final elson est bien coupé188 // on s'assure qu'au final le son est bien coupé 166 189 stop(); 167 190 // c'est fini on quitte le thread
