From 377c760e45e3fce4419c8ba96be74d4c55f49898 Mon Sep 17 00:00:00 2001 From: JailDoctor Date: Wed, 3 Feb 2021 21:39:28 +0100 Subject: [PATCH] JA_IsMusicPlaying() added --- .gitignore | 1 + jail_audio.cpp | 4 ++++ jail_audio.h | 1 + main.cpp | 7 +++++++ 4 files changed, 13 insertions(+) diff --git a/.gitignore b/.gitignore index 3d2157b..4c61493 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ *.exe .vscode *.out +main diff --git a/jail_audio.cpp b/jail_audio.cpp index e551bde..60b5daa 100644 --- a/jail_audio.cpp +++ b/jail_audio.cpp @@ -129,6 +129,10 @@ void JA_StopMusic() { music.state = JA_MUSIC_STOPPED; } +bool JA_IsMusicPlaying() { + return music.state == JA_MUSIC_PLAYING; +} + JA_Sound JA_LoadSound(const char* filename) { JA_Sound sound = new JA_Sound_t(); SDL_AudioSpec wavSpec; diff --git a/jail_audio.h b/jail_audio.h index ae73a3c..0d293e4 100644 --- a/jail_audio.h +++ b/jail_audio.h @@ -9,6 +9,7 @@ void JA_PlayMusic(const char* filename, const bool loop = true); void JA_PauseMusic(); void JA_RestartMusic(); void JA_StopMusic(); +bool JA_IsMusicPlaying(); JA_Sound JA_LoadSound(const char* filename); void JA_PlaySound(JA_Sound sound); diff --git a/main.cpp b/main.cpp index 7a729b0..3e5d41e 100644 --- a/main.cpp +++ b/main.cpp @@ -20,6 +20,13 @@ int main(int argc, char **argv) { if (event.type == SDL_QUIT) { should_exit = true; break; } if (event.type == SDL_KEYDOWN) { JA_PlaySound(peiv); + if (JA_IsMusicPlaying()) + JA_PauseMusic(); + else + { + JA_RestartMusic(); + } + } } }