- [NEW] Afegit JA_GetMusicFilename() perque me fa falta pal AEE

This commit is contained in:
2025-06-29 13:15:47 +02:00
parent 1f4628122f
commit 45e14f3ff7
2 changed files with 12 additions and 0 deletions

View File

@@ -27,6 +27,7 @@ struct JA_Music_t
SDL_AudioSpec spec { SDL_AUDIO_S16, 2, 48000 }; SDL_AudioSpec spec { SDL_AUDIO_S16, 2, 48000 };
Uint32 length { 0 }; Uint32 length { 0 };
Uint8 *buffer { nullptr }; Uint8 *buffer { nullptr };
char *filename { nullptr };
int pos { 0 }; int pos { 0 };
int times { 0 }; int times { 0 };
@@ -197,6 +198,8 @@ JA_Music_t *JA_LoadMusic(const char* filename)
fclose(f); fclose(f);
JA_Music_t *music = JA_LoadMusic(buffer, fsize); JA_Music_t *music = JA_LoadMusic(buffer, fsize);
music->filename = (char*)malloc(strlen(filename)+1);
strcpy(music->filename, filename);
free(buffer); free(buffer);
@@ -221,6 +224,12 @@ void JA_PlayMusic(JA_Music_t *music, const int loop)
//SDL_ResumeAudioStreamDevice(current_music->stream); //SDL_ResumeAudioStreamDevice(current_music->stream);
} }
char *JA_GetMusicFilename(JA_Music_t *music)
{
if (!music) music = current_music;
return music->filename;
}
void JA_PauseMusic() void JA_PauseMusic()
{ {
if (!JA_musicEnabled) return; if (!JA_musicEnabled) return;
@@ -251,6 +260,8 @@ void JA_StopMusic()
//SDL_PauseAudioStreamDevice(current_music->stream); //SDL_PauseAudioStreamDevice(current_music->stream);
SDL_DestroyAudioStream(current_music->stream); SDL_DestroyAudioStream(current_music->stream);
current_music->stream = nullptr; current_music->stream = nullptr;
free(current_music->filename);
current_music->filename = nullptr;
} }
void JA_FadeOutMusic(const int milliseconds) void JA_FadeOutMusic(const int milliseconds)

View File

@@ -13,6 +13,7 @@ void JA_Quit();
JA_Music_t *JA_LoadMusic(const char* filename); JA_Music_t *JA_LoadMusic(const char* filename);
JA_Music_t *JA_LoadMusic(Uint8* buffer, Uint32 length); JA_Music_t *JA_LoadMusic(Uint8* buffer, Uint32 length);
void JA_PlayMusic(JA_Music_t *music, const int loop = -1); void JA_PlayMusic(JA_Music_t *music, const int loop = -1);
char *JA_GetMusicFilename(JA_Music_t *music = nullptr);
void JA_PauseMusic(); void JA_PauseMusic();
void JA_ResumeMusic(); void JA_ResumeMusic();
void JA_StopMusic(); void JA_StopMusic();