From 757e380e08bbdf3db81d82ab713ca75cd2df57c5 Mon Sep 17 00:00:00 2001 From: ITotalJustice <47043333+ITotalJustice@users.noreply.github.com> Date: Tue, 29 Apr 2025 19:23:37 +0100 Subject: [PATCH] play sound effect when gamecard is inserted. --- sphaira/source/app.cpp | 19 ++++++++++++------- sphaira/source/ui/menus/gc_menu.cpp | 3 +++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/sphaira/source/app.cpp b/sphaira/source/app.cpp index d833f71..06cc702 100644 --- a/sphaira/source/app.cpp +++ b/sphaira/source/app.cpp @@ -1310,16 +1310,21 @@ App::App(const char* argv0) { if (R_SUCCEEDED(plsrBFSAROpen("qlaunch:/sound/qlaunch.bfsar", &qlaunch_bfsar))) { ON_SCOPE_EXIT(plsrBFSARClose(&qlaunch_bfsar)); - plsrPlayerLoadSoundByName(&qlaunch_bfsar, "SeGameIconFocus", &m_sound_ids[SoundEffect_Focus]); - plsrPlayerLoadSoundByName(&qlaunch_bfsar, "SeGameIconScroll", &m_sound_ids[SoundEffect_Scroll]); - plsrPlayerLoadSoundByName(&qlaunch_bfsar, "SeGameIconLimit", &m_sound_ids[SoundEffect_Limit]); - plsrPlayerLoadSoundByName(&qlaunch_bfsar, "SeStartupMenu_game", &m_sound_ids[SoundEffect_Startup]); - plsrPlayerLoadSoundByName(&qlaunch_bfsar, "SeGameIconAdd", &m_sound_ids[SoundEffect_Install]); - plsrPlayerLoadSoundByName(&qlaunch_bfsar, "SeInsertError", &m_sound_ids[SoundEffect_Error]); + const auto load_sound = [&](const char* name, u32 id) { + if (R_FAILED(plsrPlayerLoadSoundByName(&qlaunch_bfsar, name, &m_sound_ids[id]))) { + log_write("[PLSR] failed to load sound effect: %s\n", name); + } + }; + + load_sound("SeGameIconFocus", SoundEffect_Focus); + load_sound("SeGameIconScroll", SoundEffect_Scroll); + load_sound("SeGameIconLimit", SoundEffect_Limit); + load_sound("StartupMenu_Game", SoundEffect_Startup); + load_sound("SeGameIconAdd", SoundEffect_Install); + load_sound("SeInsertError", SoundEffect_Error); plsrPlayerSetVolume(m_sound_ids[SoundEffect_Limit], 2.0f); plsrPlayerSetVolume(m_sound_ids[SoundEffect_Focus], 0.5f); - PlaySoundEffect(SoundEffect_Startup); } } else { log_write("failed to mount romfs 0x0100000000001000\n"); diff --git a/sphaira/source/ui/menus/gc_menu.cpp b/sphaira/source/ui/menus/gc_menu.cpp index 5e6ec65..dd5fed7 100644 --- a/sphaira/source/ui/menus/gc_menu.cpp +++ b/sphaira/source/ui/menus/gc_menu.cpp @@ -453,6 +453,9 @@ Result Menu::GcOnEvent() { if (m_mounted) { log_write("trying to mount\n"); m_mounted = R_SUCCEEDED(GcMount()); + if (m_mounted) { + App::PlaySoundEffect(SoundEffect::SoundEffect_Startup); + } } else { log_write("trying to unmount\n"); GcUnmount();