Qt: Add audio capture volume setting

This commit is contained in:
SternXD 2025-11-21 03:38:03 -05:00
parent ac7da55c36
commit 865f414fb5
No known key found for this signature in database
GPG Key ID: D441C1FDAF4EAC36
4 changed files with 61 additions and 2 deletions

View File

@ -188,14 +188,63 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0" colspan="2"> <item row="2" column="0">
<widget class="QLabel" name="audioCaptureVolumeLabel">
<property name="text">
<string>Volume:</string>
</property>
<property name="buddy">
<cstring>audioCaptureVolume</cstring>
</property>
</widget>
</item>
<item row="2" column="1">
<layout class="QHBoxLayout" name="audioCaptureVolumeLayout" stretch="1,0">
<item>
<widget class="QSlider" name="audioCaptureVolume">
<property name="orientation">
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>100</number>
</property>
<property name="tickPosition">
<enum>QSlider::TickPosition::TicksBelow</enum>
</property>
<property name="tickInterval">
<number>25</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="audioCaptureVolumeValue">
<property name="text">
<string>100%</string>
</property>
<property name="minimumSize">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item row="3" column="0" colspan="2">
<widget class="QCheckBox" name="enableAudioCaptureArguments"> <widget class="QCheckBox" name="enableAudioCaptureArguments">
<property name="text"> <property name="text">
<string>Extra Arguments</string> <string>Extra Arguments</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="0" colspan="2"> <item row="4" column="0" colspan="2">
<widget class="QLineEdit" name="audioCaptureArguments"/> <widget class="QLineEdit" name="audioCaptureArguments"/>
</item> </item>
</layout> </layout>
@ -395,6 +444,7 @@
<tabstop>enableAudioCapture</tabstop> <tabstop>enableAudioCapture</tabstop>
<tabstop>audioCaptureCodec</tabstop> <tabstop>audioCaptureCodec</tabstop>
<tabstop>audioCaptureBitrate</tabstop> <tabstop>audioCaptureBitrate</tabstop>
<tabstop>audioCaptureVolume</tabstop>
<tabstop>enableAudioCaptureArguments</tabstop> <tabstop>enableAudioCaptureArguments</tabstop>
<tabstop>audioCaptureArguments</tabstop> <tabstop>audioCaptureArguments</tabstop>
</tabstops> </tabstops>

View File

@ -414,6 +414,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* settings_dialog,
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_capture.enableAudioCapture, "EmuCore/GS", "EnableAudioCapture", true); SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_capture.enableAudioCapture, "EmuCore/GS", "EnableAudioCapture", true);
SettingWidgetBinder::BindWidgetToIntSetting( SettingWidgetBinder::BindWidgetToIntSetting(
sif, m_capture.audioCaptureBitrate, "EmuCore/GS", "AudioCaptureBitrate", Pcsx2Config::GSOptions::DEFAULT_AUDIO_CAPTURE_BITRATE); sif, m_capture.audioCaptureBitrate, "EmuCore/GS", "AudioCaptureBitrate", Pcsx2Config::GSOptions::DEFAULT_AUDIO_CAPTURE_BITRATE);
SettingWidgetBinder::BindWidgetAndLabelToIntSetting(
sif, m_capture.audioCaptureVolume, m_capture.audioCaptureVolumeValue, "%", "EmuCore/GS", "AudioCaptureVolume", Pcsx2Config::GSOptions::DEFAULT_AUDIO_CAPTURE_VOLUME);
SettingWidgetBinder::BindWidgetToBoolSetting( SettingWidgetBinder::BindWidgetToBoolSetting(
sif, m_capture.enableAudioCaptureArguments, "EmuCore/GS", "EnableAudioCaptureParameters", false); sif, m_capture.enableAudioCaptureArguments, "EmuCore/GS", "EnableAudioCaptureParameters", false);
SettingWidgetBinder::BindWidgetToStringSetting(sif, m_capture.audioCaptureArguments, "EmuCore/GS", "AudioCaptureParameters"); SettingWidgetBinder::BindWidgetToStringSetting(sif, m_capture.audioCaptureArguments, "EmuCore/GS", "AudioCaptureParameters");
@ -807,6 +809,10 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* settings_dialog,
dialog()->registerWidgetHelp(m_capture.audioCaptureBitrate, tr("Audio Bitrate"), tr("192 kbps"), tr("Sets the audio bitrate to be used.")); dialog()->registerWidgetHelp(m_capture.audioCaptureBitrate, tr("Audio Bitrate"), tr("192 kbps"), tr("Sets the audio bitrate to be used."));
dialog()->registerWidgetHelp(
m_capture.audioCaptureVolume, tr("Audio Volume"), QStringLiteral("100%"),
tr("Sets the volume level for recorded audio. 100% is full volume, lower values reduce the volume."));
dialog()->registerWidgetHelp(m_capture.enableAudioCaptureArguments, tr("Enable Extra Audio Arguments"), tr("Unchecked"), tr("Allows you to pass arguments to the selected audio codec.")); dialog()->registerWidgetHelp(m_capture.enableAudioCaptureArguments, tr("Enable Extra Audio Arguments"), tr("Unchecked"), tr("Allows you to pass arguments to the selected audio codec."));
dialog()->registerWidgetHelp(m_capture.audioCaptureArguments, tr("Extra Audio Arguments"), tr("Leave It Blank"), dialog()->registerWidgetHelp(m_capture.audioCaptureArguments, tr("Extra Audio Arguments"), tr("Leave It Blank"),

View File

@ -704,6 +704,7 @@ struct Pcsx2Config
static constexpr int DEFAULT_VIDEO_CAPTURE_WIDTH = 640; static constexpr int DEFAULT_VIDEO_CAPTURE_WIDTH = 640;
static constexpr int DEFAULT_VIDEO_CAPTURE_HEIGHT = 480; static constexpr int DEFAULT_VIDEO_CAPTURE_HEIGHT = 480;
static constexpr int DEFAULT_AUDIO_CAPTURE_BITRATE = 192; static constexpr int DEFAULT_AUDIO_CAPTURE_BITRATE = 192;
static constexpr int DEFAULT_AUDIO_CAPTURE_VOLUME = 100;
static const char* DEFAULT_CAPTURE_CONTAINER; static const char* DEFAULT_CAPTURE_CONTAINER;
static constexpr int DEFAULT_SHADEBOOST_BRIGHTNESS = 50; static constexpr int DEFAULT_SHADEBOOST_BRIGHTNESS = 50;
@ -879,6 +880,7 @@ struct Pcsx2Config
int VideoCaptureWidth = DEFAULT_VIDEO_CAPTURE_WIDTH; int VideoCaptureWidth = DEFAULT_VIDEO_CAPTURE_WIDTH;
int VideoCaptureHeight = DEFAULT_VIDEO_CAPTURE_HEIGHT; int VideoCaptureHeight = DEFAULT_VIDEO_CAPTURE_HEIGHT;
int AudioCaptureBitrate = DEFAULT_AUDIO_CAPTURE_BITRATE; int AudioCaptureBitrate = DEFAULT_AUDIO_CAPTURE_BITRATE;
int AudioCaptureVolume = DEFAULT_AUDIO_CAPTURE_VOLUME;
std::string Adapter; std::string Adapter;
std::string HWDumpDirectory; std::string HWDumpDirectory;

View File

@ -1069,6 +1069,7 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap)
SettingsWrapBitfieldEx(VideoCaptureWidth, "VideoCaptureWidth"); SettingsWrapBitfieldEx(VideoCaptureWidth, "VideoCaptureWidth");
SettingsWrapBitfieldEx(VideoCaptureHeight, "VideoCaptureHeight"); SettingsWrapBitfieldEx(VideoCaptureHeight, "VideoCaptureHeight");
SettingsWrapBitfieldEx(AudioCaptureBitrate, "AudioCaptureBitrate"); SettingsWrapBitfieldEx(AudioCaptureBitrate, "AudioCaptureBitrate");
SettingsWrapBitfieldEx(AudioCaptureVolume, "AudioCaptureVolume");
SettingsWrapEntry(Adapter); SettingsWrapEntry(Adapter);
SettingsWrapEntry(HWDumpDirectory); SettingsWrapEntry(HWDumpDirectory);