diff --git a/rpcs3/Json/tooltips.json b/rpcs3/Json/tooltips.json index d9e35067e3..b5d3bc8368 100644 --- a/rpcs3/Json/tooltips.json +++ b/rpcs3/Json/tooltips.json @@ -4,7 +4,8 @@ "audioOutBox_Linux": "PulseAudio uses the recommended native Linux sound system and has good compatibility and sound quality. If it is unavailable on your system, ALSA is the next best alternative. \nOpenAL uses a cross-platform approach but will have poor audio quality and stuttering sound in most games.", "audioDump": "Saves all audio as a raw wave file. If unsure, leave this unchecked.", "convert": "Uses 16-bit audio samples instead of default 32-bit floating point.\nUse with buggy audio drivers if you have no sound or completely broken sound.", - "downmix": "Uses stereo audio output instead of default 7.1 surround sound.\nUse with stereo audio devices. Disable it only if you are using a surround sound audio system." + "downmix": "Uses stereo audio output instead of default 7.1 surround sound.\nUse with stereo audio devices. Disable it only if you are using a surround sound audio system.", + "masterVolume": "Controls the overall volume of the emulation." }, "cpu": { "PPU": { diff --git a/rpcs3/rpcs3qt/emu_settings.h b/rpcs3/rpcs3qt/emu_settings.h index 80d68b8071..9f4722e145 100644 --- a/rpcs3/rpcs3qt/emu_settings.h +++ b/rpcs3/rpcs3qt/emu_settings.h @@ -100,6 +100,7 @@ public: DumpToFile, ConvertTo16Bit, DownmixStereo, + MasterVolume, // Input / Output PadHandler, @@ -300,6 +301,7 @@ private: { DumpToFile, { "Audio", "Dump to file"}}, { ConvertTo16Bit, { "Audio", "Convert to 16 bit"}}, { DownmixStereo, { "Audio", "Downmix to Stereo"}}, + { MasterVolume, { "Audio", "Master Volume"}}, // Input / Output { PadHandler, { "Input/Output", "Pad"}}, diff --git a/rpcs3/rpcs3qt/settings_dialog.cpp b/rpcs3/rpcs3qt/settings_dialog.cpp index 8df5029a89..fa47bd3f19 100644 --- a/rpcs3/rpcs3qt/settings_dialog.cpp +++ b/rpcs3/rpcs3qt/settings_dialog.cpp @@ -722,6 +722,16 @@ settings_dialog::settings_dialog(std::shared_ptr guiSettings, std: xemu_settings->EnhanceCheckBox(ui->downmix, emu_settings::DownmixStereo); SubscribeTooltip(ui->downmix, json_audio["downmix"].toString()); + // Sliders + + xemu_settings->EnhanceSlider(ui->masterVolume, emu_settings::MasterVolume); + SubscribeTooltip(ui->masterVolume, json_audio["masterVolume"].toString()); + ui->masterVolumeLabel->setText(tr("Master: %0%").arg(ui->masterVolume->value())); + connect(ui->masterVolume, &QSlider::valueChanged, [this](int value) + { + ui->masterVolumeLabel->setText(tr("Master: %0%").arg(value)); + }); + // _____ __ ____ _______ _ // |_ _| / / / __ \ |__ __| | | // | | / / | | | | | | __ _| |__ diff --git a/rpcs3/rpcs3qt/settings_dialog.ui b/rpcs3/rpcs3qt/settings_dialog.ui index 0c1a3e2053..306d165401 100644 --- a/rpcs3/rpcs3qt/settings_dialog.ui +++ b/rpcs3/rpcs3qt/settings_dialog.ui @@ -6,8 +6,8 @@ 0 0 - 703 - 499 + 752 + 576 @@ -783,7 +783,7 @@ Audio - + @@ -836,15 +836,49 @@ - + + + + + Volume + + + + + + Master: 0% + + + + + + + Qt::Horizontal + + + + + + + Qt::Vertical + + + QSizePolicy::MinimumExpanding + + + + + + + - + - + Qt::Vertical