diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 9f7813108f..cefacc2ffd 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -38,7 +38,10 @@ #ifdef _WIN32 namespace MainWindow { - enum { WM_USER_LOG_STATUS_CHANGED = WM_USER + 200 }; + enum { + WM_USER_LOG_STATUS_CHANGED = WM_USER + 200, + WM_USER_ATRAC_STATUS_CHANGED = WM_USER + 300, + }; extern HWND hwndMain; } #endif @@ -345,6 +348,9 @@ UI::EventReturn GameSettingsScreen::OnBack(UI::EventParams &e) { else Atrac3plus_Decoder::Shutdown(); } +#ifdef _WIN32 + PostMessage(MainWindow::hwndMain, MainWindow::WM_USER_ATRAC_STATUS_CHANGED, 0, 0); +#endif return UI::EVENT_DONE; } diff --git a/Windows/WndMainWindow.cpp b/Windows/WndMainWindow.cpp index d416587bdd..616566dcfb 100644 --- a/Windows/WndMainWindow.cpp +++ b/Windows/WndMainWindow.cpp @@ -1202,6 +1202,13 @@ namespace MainWindow } break; + case WM_USER_ATRAC_STATUS_CHANGED: + if(g_Config.bEnableAtrac3plus && Atrac3plus_Decoder::IsInstalled()) + EnableMenuItem(menu, ID_EMULATION_ATRAC3_SOUND, MF_ENABLED); + else + EnableMenuItem(menu, ID_EMULATION_ATRAC3_SOUND, MF_GRAYED); + break; + case WM_MENUSELECT: // Unfortunately, accelerate keys (hotkeys) shares the same enabled/disabled states // with corresponding menu items. diff --git a/Windows/WndMainWindow.h b/Windows/WndMainWindow.h index 3767777857..7f6e5d3394 100644 --- a/Windows/WndMainWindow.h +++ b/Windows/WndMainWindow.h @@ -10,6 +10,7 @@ namespace MainWindow enum { WM_USER_SAVESTATE_FINISH = WM_USER + 100, WM_USER_LOG_STATUS_CHANGED = WM_USER + 200, + WM_USER_ATRAC_STATUS_CHANGED = WM_USER + 300, }; enum { diff --git a/Windows/ppsspp.rc b/Windows/ppsspp.rc index 1b26878c73..0dfe0d4012 100644 Binary files a/Windows/ppsspp.rc and b/Windows/ppsspp.rc differ