From a9791699efca5689e4775d8848861f37b52e4faf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 11 Feb 2025 11:09:22 -0600 Subject: [PATCH 1/5] Rename "Global volume" to "Game volume" (translations need fixing) Also makes alt speed volume a percentage of game volume, which makes more sense. --- Core/Config.cpp | 6 ++++-- Core/Config.h | 5 ++++- Tools/langtool/Cargo.lock | 20 ++++++++++---------- UI/GameSettingsScreen.cpp | 3 +-- assets/lang/ar_AE.ini | 3 +-- assets/lang/az_AZ.ini | 3 +-- assets/lang/bg_BG.ini | 3 +-- assets/lang/ca_ES.ini | 3 +-- assets/lang/cz_CZ.ini | 3 +-- assets/lang/da_DK.ini | 3 +-- assets/lang/de_DE.ini | 3 +-- assets/lang/dr_ID.ini | 3 +-- assets/lang/en_US.ini | 3 +-- assets/lang/es_ES.ini | 3 +-- assets/lang/es_LA.ini | 3 +-- assets/lang/fa_IR.ini | 3 +-- assets/lang/fi_FI.ini | 3 +-- assets/lang/fr_FR.ini | 3 +-- assets/lang/gl_ES.ini | 3 +-- assets/lang/gr_EL.ini | 3 +-- assets/lang/he_IL.ini | 3 +-- assets/lang/he_IL_invert.ini | 3 +-- assets/lang/hr_HR.ini | 3 +-- assets/lang/hu_HU.ini | 3 +-- assets/lang/id_ID.ini | 3 +-- assets/lang/it_IT.ini | 3 +-- assets/lang/ja_JP.ini | 3 +-- assets/lang/jv_ID.ini | 3 +-- assets/lang/ko_KR.ini | 3 +-- assets/lang/ku_SO.ini | 3 +-- assets/lang/lo_LA.ini | 3 +-- assets/lang/lt-LT.ini | 3 +-- assets/lang/ms_MY.ini | 3 +-- assets/lang/nl_NL.ini | 3 +-- assets/lang/no_NO.ini | 3 +-- assets/lang/pl_PL.ini | 3 +-- assets/lang/pt_BR.ini | 3 +-- assets/lang/pt_PT.ini | 3 +-- assets/lang/ro_RO.ini | 3 +-- assets/lang/ru_RU.ini | 3 +-- assets/lang/sv_SE.ini | 3 +-- assets/lang/tg_PH.ini | 3 +-- assets/lang/th_TH.ini | 3 +-- assets/lang/tr_TR.ini | 3 +-- assets/lang/uk_UA.ini | 3 +-- assets/lang/vi_VN.ini | 3 +-- assets/lang/zh_CN.ini | 3 +-- assets/lang/zh_TW.ini | 3 +-- headless/Headless.cpp | 2 +- 49 files changed, 64 insertions(+), 104 deletions(-) diff --git a/Core/Config.cpp b/Core/Config.cpp index b0d8579ea30e..1ac2c10a68ac 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -749,10 +749,12 @@ static const ConfigSetting soundSettings[] = { ConfigSetting("Enable", &g_Config.bEnableSound, true, CfgFlag::PER_GAME), ConfigSetting("AudioBackend", &g_Config.iAudioBackend, 0, CfgFlag::PER_GAME), ConfigSetting("ExtraAudioBuffering", &g_Config.bExtraAudioBuffering, false, CfgFlag::DEFAULT), - ConfigSetting("GlobalVolume", &g_Config.iGlobalVolume, VOLUME_FULL, CfgFlag::PER_GAME), + + ConfigSetting("GlobalVolume", &g_Config.iGameVolume, VOLUME_FULL, CfgFlag::PER_GAME), ConfigSetting("ReverbVolume", &g_Config.iReverbVolume, VOLUME_FULL, CfgFlag::PER_GAME), ConfigSetting("AltSpeedVolume", &g_Config.iAltSpeedVolume, -1, CfgFlag::PER_GAME), ConfigSetting("AchievementSoundVolume", &g_Config.iAchievementSoundVolume, 6, CfgFlag::PER_GAME), + ConfigSetting("AudioDevice", &g_Config.sAudioDevice, "", CfgFlag::DEFAULT), ConfigSetting("AutoAudioDevice", &g_Config.bAutoAudioDevice, true, CfgFlag::DEFAULT), ConfigSetting("AudioMixWithOthers", &g_Config.bAudioMixWithOthers, true, CfgFlag::DEFAULT), @@ -1485,7 +1487,7 @@ void Config::PostLoadCleanup(bool gameSpecific) { // Automatically silence secondary instances. Could be an option I guess, but meh. if (PPSSPP_ID > 1) { - g_Config.iGlobalVolume = 0; + g_Config.iGameVolume = 0; } // Automatically switch away from deprecated setting value. diff --git a/Core/Config.h b/Core/Config.h index c5d8a9960745..31b4216a67d4 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -279,10 +279,13 @@ struct Config { // Sound bool bEnableSound; int iAudioBackend; - int iGlobalVolume; + + // Volume settings, 0-10 + int iGameVolume; int iReverbVolume; int iAltSpeedVolume; int iAchievementSoundVolume; + bool bExtraAudioBuffering; // For bluetooth std::string sAudioDevice; bool bAutoAudioDevice; diff --git a/Tools/langtool/Cargo.lock b/Tools/langtool/Cargo.lock index edb16c5983bb..5d304ef61ec9 100644 --- a/Tools/langtool/Cargo.lock +++ b/Tools/langtool/Cargo.lock @@ -54,9 +54,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.27" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "769b0145982b4b48713e01ec42d61614425f27b7058bda7180a3a41f30104796" +checksum = "3e77c3243bd94243c03672cb5154667347c457ca271254724f9f393aee1c05ff" dependencies = [ "clap_builder", "clap_derive", @@ -76,9 +76,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.24" +version = "4.5.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54b755194d6389280185988721fffba69495eed5ee9feeee9a599b53db80318c" +checksum = "bf4ced95c6f4a675af3da73304b9ac4ed991640c36374e4b46795c49e17cf1ed" dependencies = [ "heck", "proc-macro2", @@ -119,9 +119,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.2" +version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" +checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" [[package]] name = "proc-macro2" @@ -149,9 +149,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "syn" -version = "2.0.96" +version = "2.0.98" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5d0adab1ae378d7f53bdebc67a39f1f151407ef230f0ce2883572f5d8985c80" +checksum = "36147f1a48ae0ec2b5b3bc5b537d267457555a10dc06f3dbc8cb11ba3006d3b1" dependencies = [ "proc-macro2", "quote", @@ -160,9 +160,9 @@ dependencies = [ [[package]] name = "unicode-ident" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" +checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" [[package]] name = "utf8parse" diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index dc4080f0fcf5..f35cabbc35e1 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -654,14 +654,13 @@ void GameSettingsScreen::CreateAudioSettings(UI::ViewGroup *audioSettings) { mixWithOthers->SetEnabledPtr(&g_Config.bEnableSound); #endif - PopupSliderChoice *volume = audioSettings->Add(new PopupSliderChoice(&g_Config.iGlobalVolume, VOLUME_OFF, VOLUME_FULL, VOLUME_FULL, a->T("Global volume"), screenManager())); + PopupSliderChoice *volume = audioSettings->Add(new PopupSliderChoice(&g_Config.iGameVolume, VOLUME_OFF, VOLUME_FULL, VOLUME_FULL, a->T("Global volume"), screenManager())); volume->SetEnabledPtr(&g_Config.bEnableSound); volume->SetZeroLabel(a->T("Mute")); PopupSliderChoice *altVolume = audioSettings->Add(new PopupSliderChoice(&g_Config.iAltSpeedVolume, VOLUME_OFF, VOLUME_FULL, NO_DEFAULT_INT, a->T("Alternate speed volume"), screenManager())); altVolume->SetEnabledPtr(&g_Config.bEnableSound); altVolume->SetZeroLabel(a->T("Mute")); - altVolume->SetNegativeDisable(a->T("Use global volume")); PopupSliderChoice *reverbVolume = audioSettings->Add(new PopupSliderChoice(&g_Config.iReverbVolume, VOLUME_OFF, 2 * VOLUME_FULL, VOLUME_FULL, a->T("Reverb volume"), screenManager())); reverbVolume->SetEnabledPtr(&g_Config.bEnableSound); diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index e58a9325464e..8007bae710f5 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -79,7 +79,7 @@ Device = جهاز Disabled = غير مفعل DSound (compatible) = ‎DSound (متكامل) Enable Sound = ‎تفعيل الصوت -Global volume = ‎الصوت العام +Game volume = ‎الصوت العام Microphone = Microphone Microphone Device = جهاز المايكروفون Mix audio with other apps = Mix audio with other apps @@ -87,7 +87,6 @@ Mute = كتم Respect silent mode = Respect silent mode Reverb volume = تردد الصوت Use new audio devices automatically = استعمل اجهزة الصوت الجديده تلقائيا -Use global volume = استعمل الصوت العالمي WASAPI (fast) = ‎WASAPI (سريع) [Controls] diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index a6a17f5ffc0c..f6e68ef86452 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = Səs Açıq -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 625d18084f2f..8c1b63479d46 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = Включи звук -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index 4e060824f8ab..c4d3609c01a5 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -71,7 +71,7 @@ Device = Dispositiu Disabled = Disabled DSound (compatible) = DirectSound (compatible) Enable Sound = Activar el so -Global volume = Volum global +Game volume = Volum global Microphone = Micròfon Microphone Device = Dispositiu de micròfon Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Silenciar Respect silent mode = Respect silent mode Reverb volume = Volum de reverberació Use new audio devices automatically = Canviar a dispositiu d'àudio nou -Use global volume = Utilitzar volumen global WASAPI (fast) = WASAPI (ràpid) [Controls] diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index fa690b7fc32b..96c40309f9ee 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (kompatibilní) Enable Sound = Povolit zvuk -Global volume = Celková hlasitost +Game volume = Celková hlasitost Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (rychlé) [Controls] diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index 5116ba3eb2ba..c90c352b1084 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DirectSound (kompatibel) Enable Sound = Aktiver lyd -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (hurtig) [Controls] diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index bb9cf2b2ae70..7e82976adaa9 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -71,7 +71,7 @@ Device = Gerät Disabled = Deaktiviert DSound (compatible) = DirectSound (kompatibel) Enable Sound = Ton einschalten -Global volume = Lautstärke +Game volume = Lautstärke Microphone = Mikrofon Microphone Device = Mikrofon Gerät Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Stumm Respect silent mode = Respect silent mode Reverb volume = Hall Lautstärke Use new audio devices automatically = Neues Tonausgabegerät anschalten -Use global volume = Benutze globale Lautstärke WASAPI (fast) = WASAPI (schnell) [Controls] diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index 82ba599de796..a1543a12e144 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = Padenni suarana -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index 58547520dd2c..38b66e2eb31e 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -95,7 +95,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = Enable sound -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -103,7 +103,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index a067a382af60..b480f516c4b6 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -71,7 +71,7 @@ Device = Dispositivo Disabled = Deshabilitado DSound (compatible) = DirectSound (compatible) Enable Sound = Activar sonido -Global volume = Volumen global +Game volume = Volumen global Microphone = Micrófono Microphone Device = Dispositivo de entrada Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Silenciar Respect silent mode = Respect silent mode Reverb volume = Volumen de reverberación Use new audio devices automatically = Cambiar a dispositivo de audio nuevo -Use global volume = Usar volumen global WASAPI (fast) = WASAPI (rápido) [Controls] diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index 677f82ca0dfd..3f7c01cd9161 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -71,7 +71,7 @@ Device = Dispositivo Disabled = Deshabilitado DSound (compatible) = DirectSound (compatible) Enable Sound = Habilitar sonido -Global volume = Volumen global +Game volume = Volumen global Microphone = Micrófono Microphone Device = Dispositivo de entrada de sonido (Micrófono) Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Silenciar Respect silent mode = Respect silent mode Reverb volume = Efecto de profundidad espacial de sonido añadiendo reverberación al volumen Use new audio devices automatically = Usar/cambiar a nuevos dispositivos de audio automaticamente -Use global volume = Usar volumen global WASAPI (fast) = WASAPI (rápido) [Controls] diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index f53277cd6acf..1ff6a3bd219d 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -71,7 +71,7 @@ Device = سیستم Disabled = فعال کردن DSound (compatible) = ‎DSound (پشتیبانی بهتر) Enable Sound = ‎فعال کردن صدا -Global volume = ‎بلندی صدا +Game volume = ‎بلندی صدا Microphone = میکروفن Microphone Device = میکروفن دستگاه Mix audio with other apps = میکس صدا با برنامه‌های دیگر @@ -79,7 +79,6 @@ Mute = بی‌صدا Respect silent mode = احترام به حالت بی‌صدا Reverb volume = حجم صدا Use new audio devices automatically = استفاده از دستگاه‌های صوتی جدید به صورت خودکار -Use global volume = استفاده از صدای عمومی WASAPI (fast) = ‎WASAPI (سریع) [Controls] diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index fda903f1c79c..274b5261e7fa 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -71,7 +71,7 @@ Device = Laite Disabled = Poistettu käytöstä DSound (compatible) = DSound (yhteensopiva) Enable Sound = Ota äänet käyttöön -Global volume = Yleinen äänenvoimakkuus +Game volume = Yleinen äänenvoimakkuus Microphone = Mikrofoni Microphone Device = Mikrofonin laite Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mykistä Respect silent mode = Respect silent mode Reverb volume = Kaikuefektin voimakkuus Use new audio devices automatically = Käytä uusia äänilaitteita automaattisesti -Use global volume = Käytä yleistä äänenvoimakkuutta WASAPI (fast) = WASAPI (nopea) [Controls] diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index b60440521315..8f774c28323b 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -71,7 +71,7 @@ Device = Périphérique de sortie Disabled = Disabled DSound (compatible) = DirectSound (compatible) Enable Sound = Activer le son -Global volume = Volume global +Game volume = Volume global Microphone = Micro Microphone Device = Micro Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Muet Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Basculer sur le nouveau périphérique de sortie -Use global volume = Utiliser le volume global WASAPI (fast) = WASAPI (rapide) [Controls] diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index f7c6f9578309..c9995fc4af7f 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = Activar son -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (rápido) [Controls] diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index f80d8dcc8388..de4afa9b10e6 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -71,7 +71,7 @@ Device = Συσκευή Disabled = Disabled DSound (compatible) = DSound (συμβατό) Enable Sound = Ενεργοποίηση Ήχου -Global volume = Γενική ένταση +Game volume = Γενική ένταση Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Σίγαση Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Ενεργοποίηση νέας συσκευής ήχου -Use global volume = Χρήση γενικής έντασης WASAPI (fast) = WASAPI (γρήγορο) [Controls] diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index 108db409e572..9c5f6a13df13 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = אפשר שמע -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index 855bf4b60415..a89928bc143d 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = עמש רשפא -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index 02f6f36ded99..a485d3a72069 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -71,7 +71,7 @@ Device = Uređaj Disabled = Disabled DSound (compatible) = DSound (kompatibilno) Enable Sound = Uključi zvuk -Global volume = Opća glasnoća +Game volume = Opća glasnoća Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Priguši Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Promijeni trenutni uređaj -Use global volume = Koristi opću glasnoću WASAPI (fast) = WASAPI (brzo) [Controls] diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 1318bb7e239d..809b9dc697c7 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -71,7 +71,7 @@ Device = Eszköz Disabled = Kikapcsolva DSound (compatible) = DSound (kompatibilis) Enable Sound = Hang bekapcsolása -Global volume = Globális hangerő +Game volume = Globális hangerő Microphone = Mikrofon Microphone Device = Mikrofon eszköz Mix audio with other apps = Audió vegyítése más alkalmazásokkal @@ -79,7 +79,6 @@ Mute = Némítás Respect silent mode = Néma üzemmód betartása Reverb volume = Visszhang hangerő Use new audio devices automatically = Új eszköz észlelésekor átváltás rá -Use global volume = Globális hangerő használata WASAPI (fast) = WASAPI (gyors) [Controls] diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 7db0c7b5721e..2463b646a907 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -71,7 +71,7 @@ Device = Perangkat Disabled = Nonaktif DSound (compatible) = DSound (kompatibel) Enable Sound = Aktifkan suara -Global volume = Volume global +Game volume = Volume global Microphone = Mikrofon Microphone Device = Mikrofon perangkat Mix audio with other apps = Campur audio dengan aplikasi lain @@ -79,7 +79,6 @@ Mute = Tidak bersuara Respect silent mode = Hargai mode senyap Reverb volume = Volume gema Use new audio devices automatically = Gunakan perangkat audio baru secara otomatis -Use global volume = Gunakan volume global WASAPI (fast) = WASAPI (cepat) [Controls] diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 66ad1dea950f..2913d4128fcd 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -71,7 +71,7 @@ Device = Dispositivo Disabled = Disabilitato DSound (compatible) = DirectSound (compatibile) Enable Sound = Attiva il Sonoro -Global volume = Volume Globale +Game volume = Volume Globale Microphone = Microfono Microphone Device = Periferica Microfono Mix audio with other apps = Mix audio con altre app @@ -79,7 +79,6 @@ Mute = Muto Respect silent mode = Rispetta la modalità silenziosa Reverb volume = Riverb. volume Use new audio devices automatically = Usa nuovi dispositivi audio automaticamente. -Use global volume = Usa volume globale WASAPI (fast) = WASAPI (veloce) [Controls] diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index ad4dc0ce2798..25e2a093ee32 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -71,7 +71,7 @@ Device = デバイス Disabled = 無効 DSound (compatible) = DSound (互換性重視) Enable Sound = オーディオを有効にする -Global volume = グローバルボリューム +Game volume = グローバルボリューム Microphone = マイクの設定 Microphone Device = マイク入力機器の選択 Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = ミュート Respect silent mode = Respect silent mode Reverb volume = リバーブボリューム Use new audio devices automatically = 新しいオーディオデバイスをオンにする -Use global volume = グローバルボリュームを使う WASAPI (fast) = WASAPI (高速) [Controls] diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index 652680caadde..c49b8fe700ed 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (kompatibel) Enable Sound = Ngatifke Suoro -Global volume = Tingkat Volume +Game volume = Tingkat Volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (cepet) [Controls] diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index f26d7ca9348b..5af1f5374a4a 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -71,7 +71,7 @@ Device = 장치 Disabled = 비활성화 DSound (compatible) = DSound (호환) Enable Sound = 사운드 활성화 -Global volume = 글로벌 볼륨 +Game volume = 글로벌 볼륨 Microphone = 마이크 Microphone Device = 마이크 장치 Mix audio with other apps = 다른 앱과 오디오 믹스 @@ -79,7 +79,6 @@ Mute = 음소거 Respect silent mode = 무음 모드 존중 Reverb volume = 반향 볼륨 Use new audio devices automatically = 새 오디오 장치를 자동으로 사용 -Use global volume = 글로벌 볼륨 사용 WASAPI (fast) = WASAPI (빠름) [Controls] diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index 8f9868a6a7b0..70a281b7066a 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -84,7 +84,7 @@ Device = ئامێر Disabled = لەکار خراوە DSound (compatible) = DSound (گونجاو) Enable Sound = بەکارکردنی دەنگ -Global volume = دەنگی گشتی +Game volume = دەنگی گشتی Microphone = مایکرۆفۆن Microphone Device = ئامێری مایکرۆفۆن Mix audio with other apps = Mix audio with other apps @@ -92,7 +92,6 @@ Mute = بێدەنگ کردن Respect silent mode = Respect silent mode Reverb volume = ئاستی دەنگی گشت ئاڕاستە Use new audio devices automatically = بەکارهێنانی ئامێری دەنگی تازە بە شێوەیەکی ئۆتۆماتیکی -Use global volume = بەکارهێنانی دەنگی گشتی WASAPI (fast) = WASAPI (خێرا) [Controls] diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 52b4acbe72cc..25b3ccc00bec 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = ເປີດໃຊ້ງານສຽງ -Global volume = ລະດັບສຽງຫຼັກ +Game volume = ລະດັບສຽງຫຼັກ Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index 471cacac763b..1c410b1eff9d 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = Įjungti garsą -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index 235f58d4aa45..fabaca91797e 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = Upayakan suara -Global volume = Volume keseluruhan +Game volume = Volume keseluruhan Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 0c53ab7e68c0..8c1284826665 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DirectSound (compatibel) Enable Sound = Geluid inschakelen -Global volume = Globaal volume +Game volume = Globaal volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (snel) [Controls] diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index ce3bf0ef70eb..08002332a413 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatible) Enable Sound = Lyd -Global volume = Global volume +Game volume = Game volume Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (fast) [Controls] diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index e8739f8414bc..050caa8f6893 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -71,7 +71,7 @@ Device = Urządzenie Disabled = Wył. DSound (compatible) = DSound (kompatybilny) Enable Sound = Włącz dźwięk -Global volume = Głośność globalna +Game volume = Głośność globalna Microphone = Mikrofon Microphone Device = Mikrofon Mix audio with other apps = Miksuj audio z innymi aplikacjami @@ -79,7 +79,6 @@ Mute = Wycisz Respect silent mode = Respect silent mode Reverb volume = Pogłos Use new audio devices automatically = Automatycznie używaj nowego urządzenia audio -Use global volume = Używaj głośności globalnej WASAPI (fast) = WASAPI (szybki) [Controls] diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index e17bdb8b22ba..f6352ef6d0ef 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -95,7 +95,7 @@ Device = Dispositivo Disabled = Desativado DSound (compatible) = DirectSound (compatível) Enable Sound = Ativar áudio -Global volume = Volume global +Game volume = Volume global Microphone = Microfone Microphone Device = Dispositivo Microfone Mix audio with other apps = Misturar o áudio com os outros aplicativos @@ -103,7 +103,6 @@ Mute = Mudo Respect silent mode = Respeitar o modo silencioso Reverb volume = Reverberar volume Use new audio devices automatically = Usar novos dispositivos de áudio automaticamente -Use global volume = Usar volume global WASAPI (fast) = WASAPI (rápido) [Controls] diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index fa624eb30938..e95956d76480 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -95,7 +95,7 @@ Device = Dispositivo Disabled = Desativado DSound (compatible) = DSound (compatível) Enable Sound = Ativar Áudio -Global volume = Volume Global +Game volume = Volume Global Microphone = Microfone Microphone Device = Dispositivo de Microfone Mix audio with other apps = Mix audio with other apps @@ -103,7 +103,6 @@ Mute = Mudo Respect silent mode = Respect silent mode Reverb volume = Reverberar volume Use new audio devices automatically = Usar novos dispositivos de áudio automaticamente -Use global volume = Usar volume global WASAPI (fast) = WASAPI (rápido) [Controls] diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index de1e06ec7e25..91ddf1ccd0fb 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = DSound (compatibil) Enable Sound = Activează Sunet -Global volume = Volum global +Game volume = Volum global Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (rapid) [Controls] diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index b89d921d0f14..6f5bd252942d 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -71,7 +71,7 @@ Device = Устройство Disabled = Отключено DSound (compatible) = DSound (совместимый) Enable Sound = Включить звук -Global volume = Общая громкость +Game volume = Общая громкость Microphone = Микрофон Microphone Device = Устройство микрофона Mix audio with other apps = Микшировать аудио с другими приложениями @@ -79,7 +79,6 @@ Mute = Без звука Respect silent mode = Уважать бесшумный режим Reverb volume = Громкость реверберации Use new audio devices automatically = Переключаться на новые аудиоустройства автоматически -Use global volume = Использовать общую громкость WASAPI (fast) = WASAPI (быстрее) [Controls] diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index be779eee266c..f2703dc265f6 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -71,7 +71,7 @@ Device = Enhet Disabled = Disabled DSound (compatible) = DSound (kompatibel) Enable Sound = Ljud på -Global volume = Global volym +Game volume = Global volym Microphone = Mikrofon Microphone Device = Mikrofon-enhet Mix audio with other apps = Mixa ljud med andra appar @@ -79,7 +79,6 @@ Mute = Tysta Respect silent mode = Respektera tyst läge Reverb volume = Volym på reverb-effekt Use new audio devices automatically = Byt automatiskt till senast inkopplad ljudenhet -Use global volume = Använd global volym WASAPI (fast) = WASAPI (snabb) [Controls] diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 7b1f18d6dd17..1a0b0851037c 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -71,7 +71,7 @@ Device = Kagamitan Disabled = Huwag paganahin DSound (compatible) = DSound (komportable) Enable Sound = Paganahin ang tunog -Global volume = Pangkalahatang tunog +Game volume = Pangkalahatang tunog Microphone = Mikropono Microphone Device = Device ng Mikropono Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Walang tunog Respect silent mode = Respect silent mode Reverb volume = Maugong na tunog Use new audio devices automatically = Awtomatiko gamitin ang bagong tunog na kagamitan -Use global volume = Paggamit ng pangkalahatang tunog WASAPI (fast) = WASAPI (Mabilis) [Controls] diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index c9e2242e18a3..93ad8610f9f5 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -71,14 +71,13 @@ Device = อุปกรณ์ Disabled = ปิดการใช้งาน DSound (compatible) = DSound (เสถียร) Enable Sound = เปิดการใช้งานเสียง -Global volume = ระดับเสียงหลัก +Game volume = ระดับเสียงหลัก Microphone = ไมโครโฟน Microphone Device = อุปกรณ์ไมโครโฟน Mix audio with other apps = ระบบเสียงผสมผสานร่วมกับแอพอื่นๆ Mute = เงียบ Respect silent mode = โหมดเงียบงัน Reverb volume = ระดับเสียงก้อง -Use global volume = ใช้ตามระดับเสียงหลัก Use new audio devices automatically = สลับไปใช้อุปกรณ์เสียงอันใหม่อัตโนมัติ WASAPI (fast) = WASAPI (เร็ว) diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 74170f28e713..15631e919500 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -71,7 +71,7 @@ Device = Cihaz Disabled = Devre dışı DSound (compatible) = DSound (uyumlu) Enable Sound = Sesi etkinleştir -Global volume = Genel ses +Game volume = Genel ses Microphone = Mikrofon Microphone Device = Mikrofon cihazı Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Sessiz Respect silent mode = Respect silent mode Reverb volume = Yankı sesi Use new audio devices automatically = Otomatik olarak yeni ses cihazlarını kullan -Use global volume = Genel ses seviyesini kullan WASAPI (fast) = WASAPI (hızlı) [Controls] diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index b056ea8dc771..a28de5aa2c6a 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -71,7 +71,7 @@ Device = Пристрій Disabled = Вимкнуто DSound (compatible) = DSound (сумісний) Enable Sound = Ввімкнути звук -Global volume = Глобальна гучність +Game volume = Глобальна гучність Microphone = Мікрофон Microphone Device = Мікрофонний пристрій Mix audio with other apps = Змішати аудіо з іншими програмами @@ -79,7 +79,6 @@ Mute = Вимкнути звук Respect silent mode = дотримуватись беззвучного режиму Reverb volume = Гучність реверберації Use new audio devices automatically = Увімкніть новий аудіопристрій -Use global volume = Використовувати загальну гучність WASAPI (fast) = WASAPI (швидко) [Controls] diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 915ef8939585..192fab3c5d8d 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -71,7 +71,7 @@ Device = Device Disabled = Disabled DSound (compatible) = Âm thanh (tương thích) Enable Sound = Mở âm thanh -Global volume = Âm lượng +Game volume = Âm lượng Microphone = Microphone Microphone Device = Microphone device Mix audio with other apps = Mix audio with other apps @@ -79,7 +79,6 @@ Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume Use new audio devices automatically = Use new audio devices automatically -Use global volume = Use global volume WASAPI (fast) = WASAPI (nhanh) [Controls] diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index a157a394eac8..1452d0edaa6e 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -71,7 +71,7 @@ Device = 设备 Disabled = 禁用 DSound (compatible) = DirectSound (兼容) Enable Sound = 开启声音 -Global volume = 全局音量 +Game volume = 全局音量 Microphone = 麦克风 Microphone Device = 麦克风设备 Mix audio with other apps = 允许其他APP同时播放音频 @@ -79,7 +79,6 @@ Mute = 静音 Respect silent mode = 跟随系统静音模式 Reverb volume = 混响强度 Use new audio devices automatically = 自动选择新的音频设备 -Use global volume = 同全局音量一致 WASAPI (fast) = WASAPI (快) [Controls] diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 07301587ab01..2663645cfe87 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -71,7 +71,7 @@ Device = 裝置 Disabled = 已停用 DSound (compatible) = DSound (相容) Enable Sound = 啟用音效 -Global volume = 全域音量 +Game volume = 全域音量 Microphone = 麥克風 Microphone Device = 麥克風裝置 Mix audio with other apps = 與其他應用程式混合音訊 @@ -79,7 +79,6 @@ Mute = 靜音 Respect silent mode = 尊重靜音模式 Reverb volume = 混響裝置音量 Use new audio devices automatically = 自動使用新音訊裝置 -Use global volume = 使用全域音量 WASAPI (fast) = WASAPI (快) [Controls] diff --git a/headless/Headless.cpp b/headless/Headless.cpp index 6f1925a8eec5..ce3fcf5e6da7 100644 --- a/headless/Headless.cpp +++ b/headless/Headless.cpp @@ -527,7 +527,7 @@ int main(int argc, const char* argv[]) g_Config.sMACAddress = "12:34:56:78:9A:BC"; g_Config.iFirmwareVersion = PSP_DEFAULT_FIRMWARE; g_Config.iPSPModel = PSP_MODEL_SLIM; - g_Config.iGlobalVolume = VOLUME_FULL; + g_Config.iGameVolume = VOLUME_FULL; g_Config.iReverbVolume = VOLUME_FULL; g_Config.internalDataDirectory.clear(); g_Config.bUseExperimentalAtrac = newAtrac; From cf90b244319929de5a414a2efa729cd092b23d1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 11 Feb 2025 15:11:20 -0600 Subject: [PATCH 2/5] Add UI volume setting (affecting navigation sounds and preview audio). Convert alt speed volume into a 100-step percentage. --- Common/System/System.h | 4 ++-- Common/UI/Root.cpp | 15 +++++--------- Common/UI/Root.h | 5 ++--- Core/Config.cpp | 17 +++++++++------- Core/Config.h | 3 +++ Core/ConfigValues.h | 19 ++++++++++++++++++ Core/HLE/__sceAudio.cpp | 16 ++++----------- Core/HW/StereoResampler.cpp | 5 ++++- Core/HW/StereoResampler.h | 4 ++-- UI/AudioCommon.cpp | 2 +- UI/BackgroundAudio.cpp | 38 +++++++++++++++++++----------------- UI/EmuScreen.cpp | 6 +++--- UI/GameSettingsScreen.cpp | 29 ++++++++++++++++++--------- UI/NativeApp.cpp | 2 -- assets/lang/ar_AE.ini | 2 +- assets/lang/az_AZ.ini | 2 +- assets/lang/bg_BG.ini | 2 +- assets/lang/ca_ES.ini | 2 +- assets/lang/cz_CZ.ini | 2 +- assets/lang/da_DK.ini | 2 +- assets/lang/de_DE.ini | 2 +- assets/lang/dr_ID.ini | 2 +- assets/lang/en_US.ini | 2 +- assets/lang/es_ES.ini | 2 +- assets/lang/es_LA.ini | 2 +- assets/lang/fa_IR.ini | 2 +- assets/lang/fi_FI.ini | 2 +- assets/lang/fr_FR.ini | 2 +- assets/lang/gl_ES.ini | 2 +- assets/lang/gr_EL.ini | 2 +- assets/lang/he_IL.ini | 2 +- assets/lang/he_IL_invert.ini | 2 +- assets/lang/hr_HR.ini | 2 +- assets/lang/hu_HU.ini | 2 +- assets/lang/id_ID.ini | 2 +- assets/lang/it_IT.ini | 2 +- assets/lang/ja_JP.ini | 2 +- assets/lang/jv_ID.ini | 2 +- assets/lang/ko_KR.ini | 2 +- assets/lang/ku_SO.ini | 2 +- assets/lang/lo_LA.ini | 2 +- assets/lang/lt-LT.ini | 2 +- assets/lang/ms_MY.ini | 2 +- assets/lang/nl_NL.ini | 2 +- assets/lang/no_NO.ini | 2 +- assets/lang/pl_PL.ini | 2 +- assets/lang/pt_BR.ini | 2 +- assets/lang/pt_PT.ini | 2 +- assets/lang/ro_RO.ini | 2 +- assets/lang/ru_RU.ini | 2 +- assets/lang/sv_SE.ini | 2 +- assets/lang/tg_PH.ini | 2 +- assets/lang/th_TH.ini | 2 +- assets/lang/tr_TR.ini | 2 +- assets/lang/uk_UA.ini | 2 +- assets/lang/vi_VN.ini | 2 +- assets/lang/zh_CN.ini | 2 +- assets/lang/zh_TW.ini | 2 +- headless/Headless.cpp | 2 +- libretro/libretro.cpp | 2 +- unittest/UnitTest.cpp | 2 +- 61 files changed, 142 insertions(+), 117 deletions(-) diff --git a/Common/System/System.h b/Common/System/System.h index cbd2ecb78096..6c945be00071 100644 --- a/Common/System/System.h +++ b/Common/System/System.h @@ -302,8 +302,8 @@ void System_AudioClear(); // These samples really have 16 bits of value, but can be a little out of range. // This is for pushing rate-controlled 44khz audio from emulation. // If you push a little too fast, we'll pitch up to a limit, for example. -// Volume is a 12-bit multiplier. -void System_AudioPushSamples(const int32_t *audio, int numSamples, int volume); +// Volume is a unit-range multiplier. +void System_AudioPushSamples(const int32_t *audio, int numSamples, float volume); inline void System_AudioResetStatCounters() { return System_AudioGetDebugStats(nullptr, 0); diff --git a/Common/UI/Root.cpp b/Common/UI/Root.cpp index 25cb5a7e0a12..b2e2a569673b 100644 --- a/Common/UI/Root.cpp +++ b/Common/UI/Root.cpp @@ -17,8 +17,7 @@ static View *focusedView; static bool focusMovementEnabled; bool focusForced; -static std::function soundCallback; -static bool soundEnabled = true; +static std::function soundCallback; struct DispatchQueueItem { Event *e; @@ -126,17 +125,13 @@ static void MoveFocus(ViewGroup *root, FocusDirection direction) { } } -void SetSoundEnabled(bool enabled) { - soundEnabled = enabled; -} - -void SetSoundCallback(std::function func) { +void SetSoundCallback(std::function func) { soundCallback = func; } -void PlayUISound(UISound sound, float volume) { - if (soundEnabled && soundCallback) { - soundCallback(sound, volume); +void PlayUISound(UISound sound) { + if (soundCallback) { + soundCallback(sound); } } diff --git a/Common/UI/Root.h b/Common/UI/Root.h index 2c79777af3ec..625204b77436 100644 --- a/Common/UI/Root.h +++ b/Common/UI/Root.h @@ -48,11 +48,10 @@ enum class UISound { COUNT, }; -void SetSoundEnabled(bool enabled); -void SetSoundCallback(std::function func); +void SetSoundCallback(std::function func); // This is only meant for actual UI navigation sound, not achievements. // Call directly into the player for other UI effects. -void PlayUISound(UISound sound, float volume = 0.25f); +void PlayUISound(UISound sound); } // namespace UI diff --git a/Core/Config.cpp b/Core/Config.cpp index 1ac2c10a68ac..118c9de5ad6f 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -752,8 +752,9 @@ static const ConfigSetting soundSettings[] = { ConfigSetting("GlobalVolume", &g_Config.iGameVolume, VOLUME_FULL, CfgFlag::PER_GAME), ConfigSetting("ReverbVolume", &g_Config.iReverbVolume, VOLUME_FULL, CfgFlag::PER_GAME), - ConfigSetting("AltSpeedVolume", &g_Config.iAltSpeedVolume, -1, CfgFlag::PER_GAME), + ConfigSetting("AltSpeedRelativeVolume", &g_Config.iAltSpeedVolume, VOLUMEHI_FULL, CfgFlag::PER_GAME), ConfigSetting("AchievementSoundVolume", &g_Config.iAchievementSoundVolume, 6, CfgFlag::PER_GAME), + ConfigSetting("UIVolume", &g_Config.iUIVolume, 70, CfgFlag::DEFAULT), ConfigSetting("AudioDevice", &g_Config.sAudioDevice, "", CfgFlag::DEFAULT), ConfigSetting("AutoAudioDevice", &g_Config.bAutoAudioDevice, true, CfgFlag::DEFAULT), @@ -1295,12 +1296,14 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) { vPostShaderNames.push_back(it.second); } - // Check for an old dpad setting - Section *control = iniFile.GetOrCreateSection("Control"); - float f; - control->Get("DPadRadius", &f, 0.0f); - if (f > 0.0f) { - ResetControlLayout(); + // Check for an old dpad setting (very obsolete) + Section *control = iniFile.GetSection("Control"); + if (control) { + float f; + control->Get("DPadRadius", &f, 0.0f); + if (f > 0.0f) { + ResetControlLayout(); + } } // Force JIT setting to a valid value for the current system configuration. diff --git a/Core/Config.h b/Core/Config.h index 31b4216a67d4..cb8252859821 100644 --- a/Core/Config.h +++ b/Core/Config.h @@ -286,6 +286,9 @@ struct Config { int iAltSpeedVolume; int iAchievementSoundVolume; + // Newer volume settings, 0-100 + int iUIVolume; + bool bExtraAudioBuffering; // For bluetooth std::string sAudioDevice; bool bAutoAudioDevice; diff --git a/Core/ConfigValues.h b/Core/ConfigValues.h index e2f2fff20474..7f743298d5f9 100644 --- a/Core/ConfigValues.h +++ b/Core/ConfigValues.h @@ -18,6 +18,7 @@ #pragma once #include +#include #include #ifndef _MSC_VER #include @@ -30,6 +31,24 @@ constexpr int PSP_MODEL_SLIM = 1; constexpr int PSP_DEFAULT_FIRMWARE = 660; constexpr int VOLUME_OFF = 0; constexpr int VOLUME_FULL = 10; +constexpr int VOLUMEHI_FULL = 100; // for newer volume params. will convert them all later + +// This matches exactly the old shift-based curve. +inline float Volume10ToMultiplier(int volume) { + // Allow muting entirely. + if (volume <= 0) { + return 0.0f; + } + return powf(2.0f, (float)(volume - 10)); +} + +inline float Volume100ToMultiplier(int volume) { + // Allow muting entirely. + if (volume <= 0) { + return 0.0f; + } + return powf(2.0f, (float)(volume - 100) * 0.1f); +} struct ConfigTouchPos { float x; diff --git a/Core/HLE/__sceAudio.cpp b/Core/HLE/__sceAudio.cpp index e417ea67c498..19e389ad0b7e 100644 --- a/Core/HLE/__sceAudio.cpp +++ b/Core/HLE/__sceAudio.cpp @@ -414,23 +414,15 @@ void __AudioUpdate(bool resetRecording) { } if (g_Config.bEnableSound) { - int vol = g_Config.iGlobalVolume; + float multiplier = Volume10ToMultiplier(std::clamp(g_Config.iGameVolume, 0, VOLUME_FULL)); if (PSP_CoreParameter().fpsLimit != FPSLimit::NORMAL || PSP_CoreParameter().fastForward) { if (g_Config.iAltSpeedVolume != -1) { - vol = g_Config.iAltSpeedVolume; + // Multiply in the alt speed volume instead of replacing like before. + multiplier *= Volume100ToMultiplier(g_Config.iAltSpeedVolume); } } - vol = std::clamp(vol, 0, VOLUME_FULL); - - // 12-bit volume. So far this isn't any better than the shift, but stay tuned. - int volume; - if (vol != 0) { - volume = 4096 >> (VOLUME_FULL - vol); - } else { - volume = 0; - } - System_AudioPushSamples(mixBuffer, hwBlockSize, volume); + System_AudioPushSamples(mixBuffer, hwBlockSize, multiplier); #ifndef MOBILE_DEVICE if (g_Config.bSaveLoadResetsAVdumping && resetRecording) { diff --git a/Core/HW/StereoResampler.cpp b/Core/HW/StereoResampler.cpp index 11d364a327fb..9817f0e50481 100644 --- a/Core/HW/StereoResampler.cpp +++ b/Core/HW/StereoResampler.cpp @@ -248,7 +248,7 @@ unsigned int StereoResampler::Mix(short* samples, unsigned int numSamples, bool } // Executes on the emulator thread, pushing sound into the buffer. -void StereoResampler::PushSamples(const s32 *samples, unsigned int numSamples, int volume) { +void StereoResampler::PushSamples(const s32 *samples, unsigned int numSamples, float multiplier) { inputSampleCount_ += numSamples; UpdateBufferSize(); @@ -274,6 +274,9 @@ void StereoResampler::PushSamples(const s32 *samples, unsigned int numSamples, i return; } + // 12-bit volume. + int volume = (int)(multiplier * 4096.0f); + // Check if we need to roll over to the start of the buffer during the copy. unsigned int indexW_left_samples = m_maxBufsize * 2 - (indexW & INDEX_MASK); if (numSamples * 2 > indexW_left_samples) { diff --git a/Core/HW/StereoResampler.h b/Core/HW/StereoResampler.h index ae1267cc9d37..10bc5a9fe64f 100644 --- a/Core/HW/StereoResampler.h +++ b/Core/HW/StereoResampler.h @@ -36,8 +36,8 @@ class StereoResampler { // Called from main thread // This clamps the samples to 16-bit before starting to work on them. - // Volume is a 12-bit fixed point multiplier. - void PushSamples(const s32* samples, unsigned int num_samples, int volume); + // Volume is a multiplier from 0.0f to 1.0f. + void PushSamples(const s32* samples, unsigned int num_samples, float volume); void Clear(); diff --git a/UI/AudioCommon.cpp b/UI/AudioCommon.cpp index e09a51f0c289..73ee0254e198 100644 --- a/UI/AudioCommon.cpp +++ b/UI/AudioCommon.cpp @@ -28,7 +28,7 @@ void System_AudioClear() { g_resampler.Clear(); } -void System_AudioPushSamples(const int32_t *audio, int numSamples, int volume) { +void System_AudioPushSamples(const int32_t *audio, int numSamples, float volume) { if (audio) { g_resampler.PushSamples(audio, numSamples, volume); } else { diff --git a/UI/BackgroundAudio.cpp b/UI/BackgroundAudio.cpp index 8912006d3539..8dc33b87971f 100644 --- a/UI/BackgroundAudio.cpp +++ b/UI/BackgroundAudio.cpp @@ -321,7 +321,7 @@ bool BackgroundAudio::Play() { std::lock_guard lock(mutex_); // Immediately stop the sound if it is turned off while playing. - if (!g_Config.bEnableSound) { + if (g_Config.iUIVolume <= 0) { Clear(true); System_AudioClear(); return true; @@ -332,17 +332,20 @@ bool BackgroundAudio::Play() { if (lastPlaybackTime_ > 0.0 && lastPlaybackTime_ <= now) { sz = (int)((now - lastPlaybackTime_) * 44100); } + sz = std::min(BUFSIZE / 2, sz); if (at3Reader_) { if (at3Reader_->Read(buffer, sz)) { if (fadingOut_) { - float vol = volume_; - for (int i = 0; i < sz*2; i += 2) { - buffer[i] = (int)((float)buffer[i] * vol); - buffer[i + 1] = (int)((float)buffer[i + 1] * vol); + float vol = volume_; + // TODO: This isn't optimized. But hardly matters... + for (int i = 0; i < sz * 2; i += 2) { + const float v = vol; + buffer[i] = (int)((float)buffer[i] * v); + buffer[i + 1] = (int)((float)buffer[i + 1] * v); vol += delta_; } - volume_ = vol; + volume_ = vol; } } } else { @@ -352,15 +355,8 @@ bool BackgroundAudio::Play() { } } - int vol = std::clamp(g_Config.iGlobalVolume, 0, VOLUME_FULL); - // 12-bit volume. So far this isn't any better than the shift, but stay tuned. - int volume; - if (vol != 0) { - volume = 4096 >> (VOLUME_FULL - vol); - } else { - volume = 0; - } - System_AudioPushSamples(buffer, sz, volume); + float multiplier = Volume100ToMultiplier(g_Config.iUIVolume); + System_AudioPushSamples(buffer, sz, multiplier); if (at3Reader_ && fadingOut_ && volume_ <= 0.0f) { Clear(true); @@ -554,6 +550,7 @@ void SoundEffectMixer::UpdateSample(UI::UISound sound, Sample *sample) { void SoundEffectMixer::LoadDefaultSample(UI::UISound sound) { const char *filename = nullptr; + switch (sound) { case UI::UISound::BACK: filename = "sfx_back.wav"; break; case UI::UISound::SELECT: filename = "sfx_select.wav"; break; @@ -565,6 +562,7 @@ void SoundEffectMixer::LoadDefaultSample(UI::UISound sound) { default: return; } + Sample *sample = Sample::Load(filename); if (!sample) { ERROR_LOG(Log::Audio, "Failed to load the default sample for UI sound %d", (int)sound); @@ -589,12 +587,16 @@ class SampleLoadTask : public Task { void SoundEffectMixer::Init() { samples_.resize((size_t)UI::UISound::COUNT); - UI::SetSoundCallback([](UI::UISound sound, float volume) { - g_BackgroundAudio.SFX().Play(sound, volume); + + // Setup UI sound callback. For navigation sounds only. + UI::SetSoundCallback([](UI::UISound sound) { + if (g_Config.bUISound) { + float volume = Volume100ToMultiplier(g_Config.iUIVolume); + g_BackgroundAudio.SFX().Play(sound, volume); + } }); // Load samples in the background. - g_threadManager.EnqueueTask(new SampleLoadTask(this)); } diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index 695305a085e0..b2d409e8984e 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -630,13 +630,13 @@ void EmuScreen::sendMessage(UIMessage message, const char *value) { } } else if (message == UIMessage::REQUEST_PLAY_SOUND) { if (g_Config.bAchievementsSoundEffects && g_Config.bEnableSound) { - float achievementVolume = g_Config.iAchievementSoundVolume * 0.1f; + float achievementVolume = Volume10ToMultiplier(g_Config.iAchievementSoundVolume) * Volume100ToMultiplier(g_Config.iGameVolume); // TODO: Handle this some nicer way. if (!strcmp(value, "achievement_unlocked")) { - g_BackgroundAudio.SFX().Play(UI::UISound::ACHIEVEMENT_UNLOCKED, achievementVolume * 1.0f); + g_BackgroundAudio.SFX().Play(UI::UISound::ACHIEVEMENT_UNLOCKED, achievementVolume); } if (!strcmp(value, "leaderboard_submitted")) { - g_BackgroundAudio.SFX().Play(UI::UISound::LEADERBOARD_SUBMITTED, achievementVolume * 1.0f); + g_BackgroundAudio.SFX().Play(UI::UISound::LEADERBOARD_SUBMITTED, achievementVolume); } } } diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index f35cabbc35e1..409b825cf544 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -636,9 +636,6 @@ void GameSettingsScreen::CreateAudioSettings(UI::ViewGroup *audioSettings) { auto ac = GetI18NCategory(I18NCat::ACHIEVEMENTS); auto ms = GetI18NCategory(I18NCat::MAINSETTINGS); - audioSettings->Add(new ItemHeader(ms->T("Audio"))); - CheckBox *enableSound = audioSettings->Add(new CheckBox(&g_Config.bEnableSound,a->T("Enable Sound"))); - #if PPSSPP_PLATFORM(IOS) CheckBox *respectSilentMode = audioSettings->Add(new CheckBox(&g_Config.bAudioRespectSilentMode, a->T("Respect silent mode"))); respectSilentMode->OnClick.Add([=](EventParams &e) { @@ -654,22 +651,37 @@ void GameSettingsScreen::CreateAudioSettings(UI::ViewGroup *audioSettings) { mixWithOthers->SetEnabledPtr(&g_Config.bEnableSound); #endif - PopupSliderChoice *volume = audioSettings->Add(new PopupSliderChoice(&g_Config.iGameVolume, VOLUME_OFF, VOLUME_FULL, VOLUME_FULL, a->T("Global volume"), screenManager())); + audioSettings->Add(new ItemHeader(a->T("Game volume"))); + + // This is here because it now only applies to in-game. Muting the menu sounds is separate. + CheckBox *enableSound = audioSettings->Add(new CheckBox(&g_Config.bEnableSound, a->T("Enable Sound"))); + + PopupSliderChoice *volume = audioSettings->Add(new PopupSliderChoice(&g_Config.iGameVolume, VOLUME_OFF, VOLUME_FULL, VOLUME_FULL, a->T("Game volume"), screenManager())); volume->SetEnabledPtr(&g_Config.bEnableSound); volume->SetZeroLabel(a->T("Mute")); - PopupSliderChoice *altVolume = audioSettings->Add(new PopupSliderChoice(&g_Config.iAltSpeedVolume, VOLUME_OFF, VOLUME_FULL, NO_DEFAULT_INT, a->T("Alternate speed volume"), screenManager())); - altVolume->SetEnabledPtr(&g_Config.bEnableSound); - altVolume->SetZeroLabel(a->T("Mute")); - PopupSliderChoice *reverbVolume = audioSettings->Add(new PopupSliderChoice(&g_Config.iReverbVolume, VOLUME_OFF, 2 * VOLUME_FULL, VOLUME_FULL, a->T("Reverb volume"), screenManager())); reverbVolume->SetEnabledPtr(&g_Config.bEnableSound); reverbVolume->SetZeroLabel(a->T("Disabled")); + PopupSliderChoice *altVolume = audioSettings->Add(new PopupSliderChoice(&g_Config.iAltSpeedVolume, VOLUME_OFF, VOLUMEHI_FULL, NO_DEFAULT_INT, a->T("Alternate speed volume"), screenManager())); + altVolume->SetFormat("%d%%"); + altVolume->SetEnabledPtr(&g_Config.bEnableSound); + altVolume->SetZeroLabel(a->T("Mute")); + PopupSliderChoice *achievementVolume = audioSettings->Add(new PopupSliderChoice(&g_Config.iAchievementSoundVolume, VOLUME_OFF, VOLUME_FULL, VOLUME_FULL, ac->T("Achievement sound volume"), screenManager())); achievementVolume->SetEnabledPtr(&g_Config.bEnableSound); achievementVolume->SetZeroLabel(a->T("Mute")); + audioSettings->Add(new ItemHeader(a->T("UI sound"))); + + audioSettings->Add(new CheckBox(&g_Config.bUISound, a->T("UI sound"))); + PopupSliderChoice *uiVolume = audioSettings->Add(new PopupSliderChoice(&g_Config.iUIVolume, 0, VOLUMEHI_FULL, VOLUMEHI_FULL, ac->T("UI volume"), screenManager())); + uiVolume->SetFormat("%d%%"); + uiVolume->SetZeroLabel(a->T("Mute")); + + audioSettings->Add(new ItemHeader(a->T("Audio backend"))); + // Hide the backend selector in UWP builds (we only support XAudio2 there). #if PPSSPP_PLATFORM(WINDOWS) && !PPSSPP_PLATFORM(UWP) if (IsVistaOrHigher()) { @@ -1098,7 +1110,6 @@ void GameSettingsScreen::CreateSystemSettings(UI::ViewGroup *systemSettings) { }); #endif - systemSettings->Add(new CheckBox(&g_Config.bUISound, sy->T("UI Sound"))); const Path bgPng = GetSysDirectory(DIRECTORY_SYSTEM) / "background.png"; const Path bgJpg = GetSysDirectory(DIRECTORY_SYSTEM) / "background.jpg"; if (File::Exists(bgPng) || File::Exists(bgJpg)) { diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp index 7c26bb348e1e..bcc5705f8eee 100644 --- a/UI/NativeApp.cpp +++ b/UI/NativeApp.cpp @@ -1031,8 +1031,6 @@ void NativeFrame(GraphicsContext *graphicsContext) { g_OSD.Update(); - UI::SetSoundEnabled(g_Config.bUISound); - _dbg_assert_(graphicsContext != nullptr); _dbg_assert_(g_screenManager != nullptr); diff --git a/assets/lang/ar_AE.ini b/assets/lang/ar_AE.ini index 8007bae710f5..897c49696b28 100644 --- a/assets/lang/ar_AE.ini +++ b/assets/lang/ar_AE.ini @@ -86,6 +86,7 @@ Mix audio with other apps = Mix audio with other apps Mute = كتم Respect silent mode = Respect silent mode Reverb volume = تردد الصوت +UI sound = UI sound Use new audio devices automatically = استعمل اجهزة الصوت الجديده تلقائيا WASAPI (fast) = ‎WASAPI (سريع) @@ -1403,7 +1404,6 @@ Time Format = ‎صيغة الوقت Transparent UI background = Transparent UI background UI = اجهة UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = ‎إستخدم صيغة الفيديو الأقل تأثيراً (FFV1) diff --git a/assets/lang/az_AZ.ini b/assets/lang/az_AZ.ini index f6e68ef86452..4d3f4f4bb48f 100644 --- a/assets/lang/az_AZ.ini +++ b/assets/lang/az_AZ.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = Time format Transparent UI background = Transparent UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/bg_BG.ini b/assets/lang/bg_BG.ini index 8c1b63479d46..ed2e38d36d85 100644 --- a/assets/lang/bg_BG.ini +++ b/assets/lang/bg_BG.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = Час Transparent UI background = Transparent UI background UI = Потребителски интерфейс UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/ca_ES.ini b/assets/lang/ca_ES.ini index c4d3609c01a5..ae1ed763bec2 100644 --- a/assets/lang/ca_ES.ini +++ b/assets/lang/ca_ES.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Silenciar Respect silent mode = Respect silent mode Reverb volume = Volum de reverberació +UI sound = UI sound Use new audio devices automatically = Canviar a dispositiu d'àudio nou WASAPI (fast) = WASAPI (ràpid) @@ -1395,7 +1396,6 @@ Time Format = Time format Transparent UI background = Transparent UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/cz_CZ.ini b/assets/lang/cz_CZ.ini index 96c40309f9ee..c20c6e1bdb9f 100644 --- a/assets/lang/cz_CZ.ini +++ b/assets/lang/cz_CZ.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (rychlé) @@ -1395,7 +1396,6 @@ Time Format = Formát času Transparent UI background = Transparent UI background UI = Uživatelské rozhraní UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/da_DK.ini b/assets/lang/da_DK.ini index c90c352b1084..3e423878c3fd 100644 --- a/assets/lang/da_DK.ini +++ b/assets/lang/da_DK.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (hurtig) @@ -1395,7 +1396,6 @@ Time Format = Tidsformat Transparent UI background = Transparent UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Brug tabsfri Video Codec (FFV1) diff --git a/assets/lang/de_DE.ini b/assets/lang/de_DE.ini index 7e82976adaa9..4702680efd79 100644 --- a/assets/lang/de_DE.ini +++ b/assets/lang/de_DE.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Stumm Respect silent mode = Respect silent mode Reverb volume = Hall Lautstärke +UI sound = Menüsound Use new audio devices automatically = Neues Tonausgabegerät anschalten WASAPI (fast) = WASAPI (schnell) @@ -1395,7 +1396,6 @@ Time Format = Zeitformat Transparent UI background = Menü Hintergrund transparent UI = Benutzeroberfläche UI background animation = Menü Hintergrundanimation -UI Sound = Menüsound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Benutze verlustfreien Videocodec (FFV1) diff --git a/assets/lang/dr_ID.ini b/assets/lang/dr_ID.ini index a1543a12e144..fa322ea739dc 100644 --- a/assets/lang/dr_ID.ini +++ b/assets/lang/dr_ID.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = Matumbai to wattu? Transparent UI background = Transparent UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/en_US.ini b/assets/lang/en_US.ini index 38b66e2eb31e..2b2ba18a225c 100644 --- a/assets/lang/en_US.ini +++ b/assets/lang/en_US.ini @@ -102,6 +102,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1406,7 +1407,6 @@ Swipe twice to switch app (indicator stays visible) = Swipe twice to switch app Time Format = Time format Transparent UI background = Transparent UI background UI = UI -UI Sound = UI sound UI background animation = UI background animation undo %c = backup %c USB = USB diff --git a/assets/lang/es_ES.ini b/assets/lang/es_ES.ini index b480f516c4b6..eebde67fbb97 100644 --- a/assets/lang/es_ES.ini +++ b/assets/lang/es_ES.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Silenciar Respect silent mode = Respect silent mode Reverb volume = Volumen de reverberación +UI sound = Sonido de interfaz Use new audio devices automatically = Cambiar a dispositivo de audio nuevo WASAPI (fast) = WASAPI (rápido) @@ -1396,7 +1397,6 @@ Time Format = Formato de hora Transparent UI background = Fondo transparente UI = Interfaz de usuario UI background animation = Animación de fondo -UI Sound = Sonido de interfaz undo %c = Restaurar %c USB = USB Use Lossless Video Codec (FFV1) = Usar codec de vídeo sin pérdida (FFV1) diff --git a/assets/lang/es_LA.ini b/assets/lang/es_LA.ini index 3f7c01cd9161..298140857a1b 100644 --- a/assets/lang/es_LA.ini +++ b/assets/lang/es_LA.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Silenciar Respect silent mode = Respect silent mode Reverb volume = Efecto de profundidad espacial de sonido añadiendo reverberación al volumen +UI sound = Sonido de interfaz Use new audio devices automatically = Usar/cambiar a nuevos dispositivos de audio automaticamente WASAPI (fast) = WASAPI (rápido) @@ -1397,7 +1398,6 @@ Time Format = Formato de hora Transparent UI background = Transparent UI background UI = Interfaz de usuario UI background animation = Animación del fondo de UI -UI Sound = Sonido de interfaz undo %c = Restaurar %c USB = USB Use Lossless Video Codec (FFV1) = Usar codec de vídeo sin pérdida (FFV1) diff --git a/assets/lang/fa_IR.ini b/assets/lang/fa_IR.ini index 1ff6a3bd219d..c2495c95f20f 100644 --- a/assets/lang/fa_IR.ini +++ b/assets/lang/fa_IR.ini @@ -78,6 +78,7 @@ Mix audio with other apps = میکس صدا با برنامه‌های دیگر Mute = بی‌صدا Respect silent mode = احترام به حالت بی‌صدا Reverb volume = حجم صدا +UI sound = صدای رابط کاربری Use new audio devices automatically = استفاده از دستگاه‌های صوتی جدید به صورت خودکار WASAPI (fast) = ‎WASAPI (سریع) @@ -1395,7 +1396,6 @@ Time Format = ‎فرمت زمان Transparent UI background = پس‌زمینه شفاف UI = ‎زبان برنامه UI background animation = پس‌زمینه زنده -UI Sound = صدای رابط کاربری undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/fi_FI.ini b/assets/lang/fi_FI.ini index 274b5261e7fa..a7566969c86d 100644 --- a/assets/lang/fi_FI.ini +++ b/assets/lang/fi_FI.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mykistä Respect silent mode = Respect silent mode Reverb volume = Kaikuefektin voimakkuus +UI sound = Käyttöliittymän äänet Use new audio devices automatically = Käytä uusia äänilaitteita automaattisesti WASAPI (fast) = WASAPI (nopea) @@ -1395,7 +1396,6 @@ Time Format = Ajan muoto Transparent UI background = Läpinäkyvä käyttöliittymän tausta UI = Käyttöliittymä UI background animation = Käyttöliittymän taustan animaatio -UI Sound = Käyttöliittymän äänet undo %c = peruuta %c USB = USB Use Lossless Video Codec (FFV1) = Käytä häviöttömän videon koodekkia (FFV1) diff --git a/assets/lang/fr_FR.ini b/assets/lang/fr_FR.ini index 8f774c28323b..17c30276db41 100644 --- a/assets/lang/fr_FR.ini +++ b/assets/lang/fr_FR.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Muet Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = Sons de l'interface utilisateur Use new audio devices automatically = Basculer sur le nouveau périphérique de sortie WASAPI (fast) = WASAPI (rapide) @@ -1386,7 +1387,6 @@ Time Format = Format de l'heure Transparent UI background = Transparent UI background UI = Interface utilisateur UI background animation = UI background animation -UI Sound = Sons de l'interface utilisateur undo %c = secours %c USB = USB Use Lossless Video Codec (FFV1) = Utiliser un codec vidéo sans perte (FFV1) diff --git a/assets/lang/gl_ES.ini b/assets/lang/gl_ES.ini index c9995fc4af7f..d09b40673650 100644 --- a/assets/lang/gl_ES.ini +++ b/assets/lang/gl_ES.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (rápido) @@ -1395,7 +1396,6 @@ Time Format = Formato de hora Transparent UI background = Transparent UI background UI = Interfaz de usuario UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/gr_EL.ini b/assets/lang/gr_EL.ini index de4afa9b10e6..b68beaa09ab9 100644 --- a/assets/lang/gr_EL.ini +++ b/assets/lang/gr_EL.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Σίγαση Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Ενεργοποίηση νέας συσκευής ήχου WASAPI (fast) = WASAPI (γρήγορο) @@ -1395,7 +1396,6 @@ Time Format = Μορφή Ώρας Transparent UI background = Transparent UI background UI = Διεπαφή χρήστη UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Χρήση μη απολεστικού κωδικοποιητή (FFV1) diff --git a/assets/lang/he_IL.ini b/assets/lang/he_IL.ini index 9c5f6a13df13..21cfdb1911fd 100644 --- a/assets/lang/he_IL.ini +++ b/assets/lang/he_IL.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = תבנית זמן Transparent UI background = Transparent UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/he_IL_invert.ini b/assets/lang/he_IL_invert.ini index a89928bc143d..f4d2207f2f1a 100644 --- a/assets/lang/he_IL_invert.ini +++ b/assets/lang/he_IL_invert.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = ןמז תינבת Transparent UI background = Transparent UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/hr_HR.ini b/assets/lang/hr_HR.ini index a485d3a72069..d7be2ac4fe94 100644 --- a/assets/lang/hr_HR.ini +++ b/assets/lang/hr_HR.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Priguši Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = Felhasználói felület hangja Use new audio devices automatically = Promijeni trenutni uređaj WASAPI (fast) = WASAPI (brzo) @@ -1395,7 +1396,6 @@ Time Format = Format vremena Transparent UI background = Transparent UI background UI = Felhasználói felület UI background animation = UI background animation -UI Sound = Felhasználói felület hangja undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Koristi neizgubiv Video Codec (FFV1) diff --git a/assets/lang/hu_HU.ini b/assets/lang/hu_HU.ini index 809b9dc697c7..086a8660919e 100644 --- a/assets/lang/hu_HU.ini +++ b/assets/lang/hu_HU.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Audió vegyítése más alkalmazásokkal Mute = Némítás Respect silent mode = Néma üzemmód betartása Reverb volume = Visszhang hangerő +UI sound = Kezelőfelület hangok Use new audio devices automatically = Új eszköz észlelésekor átváltás rá WASAPI (fast) = WASAPI (gyors) @@ -1395,7 +1396,6 @@ Time Format = Idő formátuma Transparent UI background = Áttetsző háttér UI = Felhasználói felület UI background animation = Háttér animáció -UI Sound = Kezelőfelület hangok undo %c = visszavon %c USB = USB Use Lossless Video Codec (FFV1) = Veszteségmentes videó codec használata (FFV1) diff --git a/assets/lang/id_ID.ini b/assets/lang/id_ID.ini index 2463b646a907..9e2dba11f7f6 100644 --- a/assets/lang/id_ID.ini +++ b/assets/lang/id_ID.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Campur audio dengan aplikasi lain Mute = Tidak bersuara Respect silent mode = Hargai mode senyap Reverb volume = Volume gema +UI sound = Suara UI Use new audio devices automatically = Gunakan perangkat audio baru secara otomatis WASAPI (fast) = WASAPI (cepat) @@ -1395,7 +1396,6 @@ Time Format = Format waktu Transparent UI background = Latar belakang UI transparan UI = Antarmuka pengguna UI background animation = Animasi latar belakang UI -UI Sound = Suara UI undo %c = Cadangan %c USB = USB Use Lossless Video Codec (FFV1) = Gunakan kompresi video (FFV1) diff --git a/assets/lang/it_IT.ini b/assets/lang/it_IT.ini index 2913d4128fcd..c525e933f7f6 100644 --- a/assets/lang/it_IT.ini +++ b/assets/lang/it_IT.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio con altre app Mute = Muto Respect silent mode = Rispetta la modalità silenziosa Reverb volume = Riverb. volume +UI sound = Suoni dell'Interfaccia Use new audio devices automatically = Usa nuovi dispositivi audio automaticamente. WASAPI (fast) = WASAPI (veloce) @@ -1396,7 +1397,6 @@ Storage full = Spazio su disco pieno Sustained performance mode = Modalità prestazioni prolungate Time Format = Formato Data/Ora UI background animation = Animazione sfondo interfaccia -UI Sound = Suoni dell'Interfaccia undo %c = annulla %c USB = USB Use Lossless Video Codec (FFV1) = Usa Codec Video senza perdite (FFV1) diff --git a/assets/lang/ja_JP.ini b/assets/lang/ja_JP.ini index 25e2a093ee32..7e809f976ea9 100644 --- a/assets/lang/ja_JP.ini +++ b/assets/lang/ja_JP.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = ミュート Respect silent mode = Respect silent mode Reverb volume = リバーブボリューム +UI sound = UI操作音 Use new audio devices automatically = 新しいオーディオデバイスをオンにする WASAPI (fast) = WASAPI (高速) @@ -1394,7 +1395,6 @@ Theme = UIのテーマ Time Format = 時刻の形式 Transparent UI background = 透明なUI背景 UI = ユーザーインターフェース -UI Sound = UI操作音 UI background animation = UIの背景アニメーション undo %c = backup %c USB = USB diff --git a/assets/lang/jv_ID.ini b/assets/lang/jv_ID.ini index c49b8fe700ed..455226a490b9 100644 --- a/assets/lang/jv_ID.ini +++ b/assets/lang/jv_ID.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = Swara Antarmuka Panganggo Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (cepet) @@ -1395,7 +1396,6 @@ Time Format = Format wektu Transparent UI background = Transparent UI background UI = Antarmuka Panganggo UI background animation = UI background animation -UI Sound = Swara Antarmuka Panganggo undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/ko_KR.ini b/assets/lang/ko_KR.ini index 5af1f5374a4a..a087ee44719d 100644 --- a/assets/lang/ko_KR.ini +++ b/assets/lang/ko_KR.ini @@ -78,6 +78,7 @@ Mix audio with other apps = 다른 앱과 오디오 믹스 Mute = 음소거 Respect silent mode = 무음 모드 존중 Reverb volume = 반향 볼륨 +UI sound = UI 사운드 Use new audio devices automatically = 새 오디오 장치를 자동으로 사용 WASAPI (fast) = WASAPI (빠름) @@ -1382,7 +1383,6 @@ Swipe twice to switch app (indicator stays visible) = 두 번 밀어 앱 전환 Time Format = 시간 형식 Transparent UI background = 투명한 UI 배경 UI = UI -UI Sound = UI 사운드 UI background animation = UI 배경 애니메이션 undo %c = %c 백업 USB = USB diff --git a/assets/lang/ku_SO.ini b/assets/lang/ku_SO.ini index 70a281b7066a..216b0afad59c 100644 --- a/assets/lang/ku_SO.ini +++ b/assets/lang/ku_SO.ini @@ -91,6 +91,7 @@ Mix audio with other apps = Mix audio with other apps Mute = بێدەنگ کردن Respect silent mode = Respect silent mode Reverb volume = ئاستی دەنگی گشت ئاڕاستە +UI sound = UI دەنگی Use new audio devices automatically = بەکارهێنانی ئامێری دەنگی تازە بە شێوەیەکی ئۆتۆماتیکی WASAPI (fast) = WASAPI (خێرا) @@ -1396,7 +1397,6 @@ Swipe twice to switch app (indicator stays visible) = Swipe twice to switch app Time Format = شێوازی کاتژمێر Transparent UI background = ڕوون(شەفاف) UI باکگراوندێکی UI = UI -UI Sound = UI دەنگی UI background animation = UI ئەنیمەیشنی باکگراوندی undo %c = backup %c USB = USB diff --git a/assets/lang/lo_LA.ini b/assets/lang/lo_LA.ini index 25b3ccc00bec..2b07669215be 100644 --- a/assets/lang/lo_LA.ini +++ b/assets/lang/lo_LA.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = ຮູບແບບເວລາ Transparent UI background = Transparent UI background UI = ການໂຕ້ຕອບຜູ້ໃຊ້ UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use Lossless Video Codec (FFV1) diff --git a/assets/lang/lt-LT.ini b/assets/lang/lt-LT.ini index 1c410b1eff9d..5c2765d4fabd 100644 --- a/assets/lang/lt-LT.ini +++ b/assets/lang/lt-LT.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = Laiko formatas Transparent UI background = Transparent UI background UI = Vartotojo sąsaja UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/ms_MY.ini b/assets/lang/ms_MY.ini index fabaca91797e..a5d3679f4e6c 100644 --- a/assets/lang/ms_MY.ini +++ b/assets/lang/ms_MY.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = Format waktu Transparent UI background = Transparent UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/nl_NL.ini b/assets/lang/nl_NL.ini index 8c1284826665..656b8b9cc2b7 100644 --- a/assets/lang/nl_NL.ini +++ b/assets/lang/nl_NL.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (snel) @@ -1395,7 +1396,6 @@ Time Format = Tijdweergave Transparent UI background = Transparent UI background UI = Gebruikersomgeving UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Lossless videocodec gebruiken (FFV1) diff --git a/assets/lang/no_NO.ini b/assets/lang/no_NO.ini index 08002332a413..9c88eb3a8ffc 100644 --- a/assets/lang/no_NO.ini +++ b/assets/lang/no_NO.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (fast) @@ -1395,7 +1396,6 @@ Time Format = Time format Transparent UI background = Transparent UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/pl_PL.ini b/assets/lang/pl_PL.ini index 050caa8f6893..3ad8dd975044 100644 --- a/assets/lang/pl_PL.ini +++ b/assets/lang/pl_PL.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Miksuj audio z innymi aplikacjami Mute = Wycisz Respect silent mode = Respect silent mode Reverb volume = Pogłos +UI sound = Dźwięki interfejsu użytkownika Use new audio devices automatically = Automatycznie używaj nowego urządzenia audio WASAPI (fast) = WASAPI (szybki) @@ -1400,7 +1401,6 @@ Time Format = Format czasu Transparent UI background = Przezroczyste tło interfejsu użytkownika UI = Interfejs użytkownika UI background animation = Animacja tła -UI Sound = Dźwięki interfejsu użytkownika undo %c = kopia zapasowa %c USB = USB Use Lossless Video Codec (FFV1) = Używaj stratnego kodeka wideo (FFV1) diff --git a/assets/lang/pt_BR.ini b/assets/lang/pt_BR.ini index f6352ef6d0ef..e520251f22c3 100644 --- a/assets/lang/pt_BR.ini +++ b/assets/lang/pt_BR.ini @@ -102,6 +102,7 @@ Mix audio with other apps = Misturar o áudio com os outros aplicativos Mute = Mudo Respect silent mode = Respeitar o modo silencioso Reverb volume = Reverberar volume +UI sound = Som da interface do usuário Use new audio devices automatically = Usar novos dispositivos de áudio automaticamente WASAPI (fast) = WASAPI (rápido) @@ -1406,7 +1407,6 @@ Swipe twice to switch app (indicator stays visible) = Deslize duas vezes pra tro Time Format = Formato da hora Transparent UI background = 2º plano transparente da interface do usuário UI = Interface do usuário -UI Sound = Som da interface do usuário UI background animation = Animação do cenário de fundo da interface do usuário undo %c = Backup %c USB = USB diff --git a/assets/lang/pt_PT.ini b/assets/lang/pt_PT.ini index e95956d76480..56725ee358f5 100644 --- a/assets/lang/pt_PT.ini +++ b/assets/lang/pt_PT.ini @@ -102,6 +102,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mudo Respect silent mode = Respect silent mode Reverb volume = Reverberar volume +UI sound = Som da interface do usuário Use new audio devices automatically = Usar novos dispositivos de áudio automaticamente WASAPI (fast) = WASAPI (rápido) @@ -1408,7 +1409,6 @@ Swipe twice to switch app (indicator stays visible) = Swipe twice to switch app Time Format = Formato da hora Transparent UI background = Cenário de fundo da interface do usuário transparente UI = Interface do usuário -UI Sound = Som da interface do usuário UI background animation = Animação do cenário de fundo da interface do usuário undo %c = Backup %c USB = USB diff --git a/assets/lang/ro_RO.ini b/assets/lang/ro_RO.ini index 91ddf1ccd0fb..ea9f0104da4d 100644 --- a/assets/lang/ro_RO.ini +++ b/assets/lang/ro_RO.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (rapid) @@ -1396,7 +1397,6 @@ Time Format = Format timp Transparent UI background = Transparent UI background UI = Interfața cu utilizatorul UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Use lossless video codec (FFV1) diff --git a/assets/lang/ru_RU.ini b/assets/lang/ru_RU.ini index 6f5bd252942d..68014694e19f 100644 --- a/assets/lang/ru_RU.ini +++ b/assets/lang/ru_RU.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Микшировать аудио с другими Mute = Без звука Respect silent mode = Уважать бесшумный режим Reverb volume = Громкость реверберации +UI sound = Звуки интерфейса Use new audio devices automatically = Переключаться на новые аудиоустройства автоматически WASAPI (fast) = WASAPI (быстрее) @@ -1394,7 +1395,6 @@ Theme = Тема Time Format = Формат времени Transparent UI background = Прозрачный фон интерфейса UI = Интерфейс -UI Sound = Звуки интерфейса UI background animation = Фоновая анимация интерфейса undo %c = резервная копия %c USB = USB diff --git a/assets/lang/sv_SE.ini b/assets/lang/sv_SE.ini index f2703dc265f6..d0871740e2f5 100644 --- a/assets/lang/sv_SE.ini +++ b/assets/lang/sv_SE.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mixa ljud med andra appar Mute = Tysta Respect silent mode = Respektera tyst läge Reverb volume = Volym på reverb-effekt +UI sound = Ljud i användargränssnittet Use new audio devices automatically = Byt automatiskt till senast inkopplad ljudenhet WASAPI (fast) = WASAPI (snabb) @@ -1396,7 +1397,6 @@ Time Format = Tidsformat Transparent UI background = Genomskinlig UI-bakground UI = Användargränssnitt UI background animation = Bakgrundsanimering -UI Sound = Ljud i användargränssnittet undo %c = ångra %c USB = USB Use Lossless Video Codec (FFV1) = Använd förlust-fri video codec (FFV1) diff --git a/assets/lang/tg_PH.ini b/assets/lang/tg_PH.ini index 1a0b0851037c..f2c03b2cd27e 100644 --- a/assets/lang/tg_PH.ini +++ b/assets/lang/tg_PH.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Walang tunog Respect silent mode = Respect silent mode Reverb volume = Maugong na tunog +UI sound = UI sound Use new audio devices automatically = Awtomatiko gamitin ang bagong tunog na kagamitan WASAPI (fast) = WASAPI (Mabilis) @@ -1398,7 +1399,6 @@ Time Format = Pormat ng oras Transparent UI background = Transparent na UI background UI = UI UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Gumamit ng 'lossless video codec' (o FFV1) diff --git a/assets/lang/th_TH.ini b/assets/lang/th_TH.ini index 93ad8610f9f5..c3068d516471 100644 --- a/assets/lang/th_TH.ini +++ b/assets/lang/th_TH.ini @@ -78,6 +78,7 @@ Mix audio with other apps = ระบบเสียงผสมผสานร Mute = เงียบ Respect silent mode = โหมดเงียบงัน Reverb volume = ระดับเสียงก้อง +UI sound = เสียงของอินเตอร์เฟซ Use new audio devices automatically = สลับไปใช้อุปกรณ์เสียงอันใหม่อัตโนมัติ WASAPI (fast) = WASAPI (เร็ว) @@ -1433,7 +1434,6 @@ Time Format = รูปแบบเวลา Transparent UI background = พื้นหลังของอินเตอร์เฟซแบบโปร่งใส UI = หน้าจอผู้ใช้ UI background animation = อนิเมชั่นพื้นหลังของอินเตอร์เฟซ -UI Sound = เสียงของอินเตอร์เฟซ undo %c = สำรอง %c USB = USB Use Lossless Video Codec (FFV1) = ใช้โค้ด FFV1 บันทึกวีดีโอ เพื่อรักษาความคมชัด diff --git a/assets/lang/tr_TR.ini b/assets/lang/tr_TR.ini index 15631e919500..087e31e1da09 100644 --- a/assets/lang/tr_TR.ini +++ b/assets/lang/tr_TR.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Sessiz Respect silent mode = Respect silent mode Reverb volume = Yankı sesi +UI sound = Arayüz sesleri Use new audio devices automatically = Otomatik olarak yeni ses cihazlarını kullan WASAPI (fast) = WASAPI (hızlı) @@ -1396,7 +1397,6 @@ Time Format = Zaman biçimi Transparent UI background = Şeffaf arayüz arkaplanı UI = Arayüz UI background animation = Arayüz arkaplan animasyonu -UI Sound = Arayüz sesleri undo %c = %c 'yi yedekle USB = USB Use Lossless Video Codec (FFV1) = Kayıpsız video codec'i kullan (FFV1) diff --git a/assets/lang/uk_UA.ini b/assets/lang/uk_UA.ini index a28de5aa2c6a..b7edf87efb76 100644 --- a/assets/lang/uk_UA.ini +++ b/assets/lang/uk_UA.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Змішати аудіо з іншими прогр Mute = Вимкнути звук Respect silent mode = дотримуватись беззвучного режиму Reverb volume = Гучність реверберації +UI sound = Звук інтерфейсу Use new audio devices automatically = Увімкніть новий аудіопристрій WASAPI (fast) = WASAPI (швидко) @@ -1395,7 +1396,6 @@ Time Format = Формат часу Transparent UI background = Прозорий фон інтерфейсу користувача UI = Користувацький інтерфейс UI background animation = Фонова анімація інтерфейсу -UI Sound = Звук інтерфейсу undo %c = резервна копія %c USB = флешка Use Lossless Video Codec (FFV1) = Використовувати відеокодек без втрат (FFV1) diff --git a/assets/lang/vi_VN.ini b/assets/lang/vi_VN.ini index 192fab3c5d8d..d0d15751d497 100644 --- a/assets/lang/vi_VN.ini +++ b/assets/lang/vi_VN.ini @@ -78,6 +78,7 @@ Mix audio with other apps = Mix audio with other apps Mute = Mute Respect silent mode = Respect silent mode Reverb volume = Reverb volume +UI sound = UI sound Use new audio devices automatically = Use new audio devices automatically WASAPI (fast) = WASAPI (nhanh) @@ -1395,7 +1396,6 @@ Time Format = Chỉnh định dạng thời gian (12/24) Transparent UI background = Transparent UI background UI = Giao diện người dùng UI background animation = UI background animation -UI Sound = UI sound undo %c = backup %c USB = USB Use Lossless Video Codec (FFV1) = Sử dụng codec video lossless (FFV1) diff --git a/assets/lang/zh_CN.ini b/assets/lang/zh_CN.ini index 1452d0edaa6e..ad4b910920a3 100644 --- a/assets/lang/zh_CN.ini +++ b/assets/lang/zh_CN.ini @@ -78,6 +78,7 @@ Mix audio with other apps = 允许其他APP同时播放音频 Mute = 静音 Respect silent mode = 跟随系统静音模式 Reverb volume = 混响强度 +UI sound = 按键音效 Use new audio devices automatically = 自动选择新的音频设备 WASAPI (fast) = WASAPI (快) @@ -1387,7 +1388,6 @@ Time Format = 时间格式 Transparent UI background = 游戏中使用半透明UI UI = 用户界面 UI background animation = 壁纸动效 -UI Sound = 按键音效 undo %c = 备份%c USB = USB路径 Use Lossless Video Codec (FFV1) = 使用无损视频编码器 (FFV1) diff --git a/assets/lang/zh_TW.ini b/assets/lang/zh_TW.ini index 2663645cfe87..b4ae5e29e6c2 100644 --- a/assets/lang/zh_TW.ini +++ b/assets/lang/zh_TW.ini @@ -78,6 +78,7 @@ Mix audio with other apps = 與其他應用程式混合音訊 Mute = 靜音 Respect silent mode = 尊重靜音模式 Reverb volume = 混響裝置音量 +UI sound = UI 音效 Use new audio devices automatically = 自動使用新音訊裝置 WASAPI (fast) = WASAPI (快) @@ -1382,7 +1383,6 @@ Swipe twice to switch app (indicator stays visible) = Swipe twice to switch app Time Format = 時間格式 Transparent UI background = 透明 UI 背景 UI = UI -UI Sound = UI 音效 UI background animation = UI 背景動畫 undo %c = 備份 %c USB = USB diff --git a/headless/Headless.cpp b/headless/Headless.cpp index ce3fcf5e6da7..e671293f997f 100644 --- a/headless/Headless.cpp +++ b/headless/Headless.cpp @@ -115,7 +115,7 @@ void System_AskForPermission(SystemPermission permission) {} PermissionStatus System_GetPermissionStatus(SystemPermission permission) { return PERMISSION_STATUS_GRANTED; } void System_AudioGetDebugStats(char *buf, size_t bufSize) { if (buf) buf[0] = '\0'; } void System_AudioClear() {} -void System_AudioPushSamples(const s32 *audio, int numSamples, int volume) {} +void System_AudioPushSamples(const s32 *audio, int numSamples, float volume) {} // TODO: To avoid having to define these here, these should probably be turned into system "requests". bool NativeSaveSecret(std::string_view nameOfSecret, std::string_view data) { return false; } diff --git a/libretro/libretro.cpp b/libretro/libretro.cpp index ab9dd126d944..f31af7beebbc 100644 --- a/libretro/libretro.cpp +++ b/libretro/libretro.cpp @@ -1924,7 +1924,7 @@ inline int16_t Clamp16(int32_t sample) { return sample; } -void System_AudioPushSamples(const int32_t *audio, int numSamples, int volume) { +void System_AudioPushSamples(const int32_t *audio, int numSamples, float volume) { // We ignore volume here, because it's handled by libretro presumably. // Convert to 16-bit audio for further processing. diff --git a/unittest/UnitTest.cpp b/unittest/UnitTest.cpp index 04a4ef3a4009..52a72f36fce9 100644 --- a/unittest/UnitTest.cpp +++ b/unittest/UnitTest.cpp @@ -114,7 +114,7 @@ void System_Notify(SystemNotification notification) {} void System_PostUIMessage(UIMessage message, const std::string ¶m) {} void System_AudioGetDebugStats(char *buf, size_t bufSize) { if (buf) buf[0] = '\0'; } void System_AudioClear() {} -void System_AudioPushSamples(const s32 *audio, int numSamples, int volume) {} +void System_AudioPushSamples(const s32 *audio, int numSamples, float volume) {} // TODO: To avoid having to define these here, these should probably be turned into system "requests". // To clear the secret entirely, just save an empty string. From 27deabaea984523a74354ed9b26b62dc3f8c5507 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 11 Feb 2025 17:41:26 -0600 Subject: [PATCH 3/5] More intuitive volume curve for new-style volume settings --- Core/ConfigValues.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Core/ConfigValues.h b/Core/ConfigValues.h index 7f743298d5f9..1fefc2d03f51 100644 --- a/Core/ConfigValues.h +++ b/Core/ConfigValues.h @@ -42,12 +42,10 @@ inline float Volume10ToMultiplier(int volume) { return powf(2.0f, (float)(volume - 10)); } +// NOTE: This is used for new volume parameters. +// It uses a more intuitive-feeling curve. inline float Volume100ToMultiplier(int volume) { - // Allow muting entirely. - if (volume <= 0) { - return 0.0f; - } - return powf(2.0f, (float)(volume - 100) * 0.1f); + return powf(volume * 0.01f, 1.75f); } struct ConfigTouchPos { From 25817c3bdbc4577162894ad9a29bfd15f8579aff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 11 Feb 2025 18:02:26 -0600 Subject: [PATCH 4/5] Remove an unnecessary wrapper function (just rename __AudioMix to NativeMix) --- UI/AudioCommon.cpp | 2 +- UI/AudioCommon.h | 2 -- UI/NativeApp.cpp | 4 ---- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/UI/AudioCommon.cpp b/UI/AudioCommon.cpp index 73ee0254e198..d43dad337fd0 100644 --- a/UI/AudioCommon.cpp +++ b/UI/AudioCommon.cpp @@ -7,7 +7,7 @@ StereoResampler g_resampler; // numFrames is number of stereo frames. // This is called from *outside* the emulator thread. -int __AudioMix(int16_t *outStereo, int numFrames, int sampleRateHz) { +int NativeMix(int16_t *outStereo, int numFrames, int sampleRateHz) { int validFrames = g_resampler.Mix(outStereo, numFrames, false, sampleRateHz); // Mix sound effects on top. diff --git a/UI/AudioCommon.h b/UI/AudioCommon.h index ff2c1a03b983..88cb40dec811 100644 --- a/UI/AudioCommon.h +++ b/UI/AudioCommon.h @@ -1,5 +1,3 @@ #pragma once #include - -int __AudioMix(int16_t *outstereo, int numFrames, int sampleRate); diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp index bcc5705f8eee..524b988f1f39 100644 --- a/UI/NativeApp.cpp +++ b/UI/NativeApp.cpp @@ -196,10 +196,6 @@ std::thread *graphicsLoadThread; // globals Path boot_filename; -int NativeMix(short *audio, int numSamples, int sampleRateHz) { - return __AudioMix(audio, numSamples, sampleRateHz); -} - // This is called before NativeInit so we do a little bit of initialization here. void NativeGetAppInfo(std::string *app_dir_name, std::string *app_nice_name, bool *landscape, std::string *version) { *app_nice_name = "PPSSPP"; From d200d80633e41f3e6eb8964e984af63073887cf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 11 Feb 2025 18:03:42 -0600 Subject: [PATCH 5/5] Allow preview of UI sound volume while changing the slider. --- Common/UI/PopupScreens.cpp | 9 ++++++++- Common/UI/PopupScreens.h | 9 +++++++-- UI/GameSettingsScreen.cpp | 7 ++++++- UI/RetroAchievementScreens.cpp | 2 +- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Common/UI/PopupScreens.cpp b/Common/UI/PopupScreens.cpp index 20326604019a..1384e4bf4305 100644 --- a/Common/UI/PopupScreens.cpp +++ b/Common/UI/PopupScreens.cpp @@ -202,7 +202,7 @@ void PopupSliderChoiceFloat::SetFormat(std::string_view fmt) { EventReturn PopupSliderChoice::HandleClick(EventParams &e) { restoreFocus_ = HasFocus(); - SliderPopupScreen *popupScreen = new SliderPopupScreen(value_, minValue_, maxValue_, defaultValue_, ChopTitle(text_), step_, units_); + SliderPopupScreen *popupScreen = new SliderPopupScreen(value_, minValue_, maxValue_, defaultValue_, ChopTitle(text_), step_, units_, liveUpdate_); if (!negativeLabel_.empty()) popupScreen->SetNegativeDisable(negativeLabel_); popupScreen->OnChange.Handle(this, &PopupSliderChoice::HandleChange); @@ -346,6 +346,13 @@ void SliderPopupScreen::UpdateTextBox() { char temp[128]; snprintf(temp, sizeof(temp), "%d", sliderValue_); edit_->SetText(temp); + if (liveUpdate_ && *value_ != sliderValue_) { + *value_ = sliderValue_; + EventParams e{}; + e.v = nullptr; + e.a = *value_; + OnChange.Trigger(e); + } } void SliderPopupScreen::CreatePopupContents(UI::ViewGroup *parent) { diff --git a/Common/UI/PopupScreens.h b/Common/UI/PopupScreens.h index bf7b21427669..0b82464f07cb 100644 --- a/Common/UI/PopupScreens.h +++ b/Common/UI/PopupScreens.h @@ -80,8 +80,8 @@ class MessagePopupScreen : public PopupScreen { class SliderPopupScreen : public PopupScreen { public: - SliderPopupScreen(int *value, int minValue, int maxValue, int defaultValue, std::string_view title, int step = 1, std::string_view units = "") - : PopupScreen(title, "OK", "Cancel"), units_(units), value_(value), minValue_(minValue), maxValue_(maxValue), defaultValue_(defaultValue), step_(step) {} + SliderPopupScreen(int *value, int minValue, int maxValue, int defaultValue, std::string_view title, int step, std::string_view units, bool liveUpdate) + : PopupScreen(title, "OK", "Cancel"), units_(units), value_(value), minValue_(minValue), maxValue_(maxValue), defaultValue_(defaultValue), step_(step), liveUpdate_(liveUpdate) {} void CreatePopupContents(ViewGroup *parent) override; void SetNegativeDisable(const std::string &str) { @@ -110,6 +110,7 @@ class SliderPopupScreen : public PopupScreen { int maxValue_; int defaultValue_; int step_; + bool liveUpdate_; bool changing_ = false; bool disabled_ = false; }; @@ -303,6 +304,9 @@ class PopupSliderChoice : public AbstractChoiceWithValueDisplay { void SetZeroLabel(std::string_view str) { zeroLabel_ = str; } + void SetLiveUpdate(bool update) { + liveUpdate_ = update; + } void SetNegativeDisable(std::string_view str) { negativeLabel_ = str; } @@ -327,6 +331,7 @@ class PopupSliderChoice : public AbstractChoiceWithValueDisplay { std::string units_; ScreenManager *screenManager_; bool restoreFocus_ = false; + bool liveUpdate_ = false; }; class PopupSliderChoiceFloat : public AbstractChoiceWithValueDisplay { diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp index 409b825cf544..52402ccb5a48 100644 --- a/UI/GameSettingsScreen.cpp +++ b/UI/GameSettingsScreen.cpp @@ -679,7 +679,12 @@ void GameSettingsScreen::CreateAudioSettings(UI::ViewGroup *audioSettings) { PopupSliderChoice *uiVolume = audioSettings->Add(new PopupSliderChoice(&g_Config.iUIVolume, 0, VOLUMEHI_FULL, VOLUMEHI_FULL, ac->T("UI volume"), screenManager())); uiVolume->SetFormat("%d%%"); uiVolume->SetZeroLabel(a->T("Mute")); - + uiVolume->SetLiveUpdate(true); + uiVolume->OnChange.Add([](UI::EventParams &e) { + // Audio preview + PlayUISound(UI::UISound::CONFIRM); + return UI::EVENT_DONE; + }); audioSettings->Add(new ItemHeader(a->T("Audio backend"))); // Hide the backend selector in UWP builds (we only support XAudio2 there). diff --git a/UI/RetroAchievementScreens.cpp b/UI/RetroAchievementScreens.cpp index 8cd08072ce6b..ac740185cbdb 100644 --- a/UI/RetroAchievementScreens.cpp +++ b/UI/RetroAchievementScreens.cpp @@ -340,7 +340,7 @@ void RetroAchievementsSettingsScreen::CreateAccountTab(UI::ViewGroup *viewGroup) return UI::EVENT_DONE; }); viewGroup->Add(new CheckBox(&g_Config.bAchievementsHardcoreMode, ac->T("Hardcore Mode (no savestates)")))->SetEnabledPtr(&g_Config.bAchievementsEnable); - viewGroup->Add(new CheckBox(&g_Config.bAchievementsSoundEffects, ac->T("Sound Effects")))->SetEnabledPtr(&g_Config.bAchievementsEnable); // not yet implemented + viewGroup->Add(new CheckBox(&g_Config.bAchievementsSoundEffects, ac->T("Sound Effects")))->SetEnabledPtr(&g_Config.bAchievementsEnable); viewGroup->Add(new ItemHeader(di->T("Links"))); viewGroup->Add(new Choice(ac->T("RetroAchievements website")))->OnClick.Add([&](UI::EventParams &) -> UI::EventReturn {