VERSIÓ 1.6
- [FIX] La música ja torna a sonar
This commit is contained in:
@@ -14,12 +14,18 @@ namespace audio
|
||||
JA_Sound_t *chunk;
|
||||
};
|
||||
|
||||
struct music_cache_t
|
||||
{
|
||||
std::string name;
|
||||
JA_Music_t *chunk;
|
||||
};
|
||||
|
||||
//char *music_buffer = nullptr;
|
||||
//JA_Music_t *music = nullptr;
|
||||
std::vector<sound_cache_t> sounds;
|
||||
std::vector<sound_cache_t> songs;
|
||||
std::vector<music_cache_t> songs;
|
||||
std::string musica_actual = "";
|
||||
int musica = -1;
|
||||
//int musica = -1;
|
||||
|
||||
// Inicialitza el sistema de só
|
||||
void init()
|
||||
@@ -33,7 +39,7 @@ namespace audio
|
||||
void quit()
|
||||
{
|
||||
//if (music) JA_DeleteMusic(music);
|
||||
for (auto sound : songs) JA_DeleteSound(sound.chunk);
|
||||
for (auto music : songs) JA_DeleteMusic(music.chunk);
|
||||
songs.clear();
|
||||
for (auto sound : sounds) JA_DeleteSound(sound.chunk); // Mix_FreeChunk(sound.chunk);
|
||||
sounds.clear();
|
||||
@@ -44,12 +50,12 @@ namespace audio
|
||||
{
|
||||
int size;
|
||||
char *buffer = file::getFileBuffer(filename, size);
|
||||
auto chunk = JA_LoadSound((uint8_t *)buffer, size);
|
||||
auto chunk = JA_LoadMusic((uint8_t *)buffer, size);
|
||||
free(buffer);
|
||||
|
||||
//auto chunk = Mix_LoadWAV_RW(SDL_RWFromMem(buffer, size), 1);
|
||||
//if (!chunk) printf("ERROR: %s\n", SDL_GetError());
|
||||
sound_cache_t sound = { filename, chunk };
|
||||
music_cache_t sound = { filename, chunk };
|
||||
songs.push_back(sound);
|
||||
}
|
||||
|
||||
@@ -66,12 +72,15 @@ namespace audio
|
||||
//free(buffer);
|
||||
//JA_PlayMusic(music, loop);
|
||||
|
||||
//int song_index = 0;
|
||||
for (auto song : songs)
|
||||
{
|
||||
if (song.name == filename) {
|
||||
musica = JA_PlaySound(song.chunk, loop);
|
||||
JA_PlayMusic(song.chunk, loop);
|
||||
//musica = song_index;
|
||||
musica_actual = filename;
|
||||
return;
|
||||
//song_index++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -79,24 +88,24 @@ namespace audio
|
||||
// Pausa la música que està sonant ara
|
||||
void pauseMusic()
|
||||
{
|
||||
//JA_PauseMusic(); //Mix_PauseMusic();
|
||||
if (musica != -1) JA_PauseChannel(musica);
|
||||
JA_PauseMusic(); //Mix_PauseMusic();
|
||||
//if (musica != -1) JA_PauseChannel(musica);
|
||||
}
|
||||
|
||||
// Continua la música pausada
|
||||
void resumeMusic()
|
||||
{
|
||||
if (!config::isMusicEnabled()) return;
|
||||
//JA_ResumeMusic(); //Mix_ResumeMusic();
|
||||
if (musica != -1) JA_ResumeChannel(musica);
|
||||
JA_ResumeMusic(); //Mix_ResumeMusic();
|
||||
//if (musica != -1) JA_ResumeChannel(musica);
|
||||
}
|
||||
|
||||
// Para la música que estava sonant
|
||||
void stopMusic()
|
||||
{
|
||||
//JA_StopMusic(); //Mix_HaltMusic();
|
||||
if (musica != -1) JA_StopChannel(musica);
|
||||
musica = -1;
|
||||
JA_StopMusic(); //Mix_HaltMusic();
|
||||
//if (musica != -1) JA_StopChannel(musica);
|
||||
//musica = -1;
|
||||
musica_actual = "";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user