Skip to content

Commit db8f2d2

Browse files
committed
Qt: Add audio capture volume setting
1 parent ab52cf9 commit db8f2d2

File tree

4 files changed

+61
-2
lines changed

4 files changed

+61
-2
lines changed

pcsx2-qt/Settings/GraphicsMediaCaptureSettingsTab.ui

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -191,14 +191,63 @@
191191
</property>
192192
</widget>
193193
</item>
194-
<item row="2" column="0" colspan="2">
194+
<item row="2" column="0">
195+
<widget class="QLabel" name="audioCaptureVolumeLabel">
196+
<property name="text">
197+
<string>Volume:</string>
198+
</property>
199+
<property name="buddy">
200+
<cstring>audioCaptureVolume</cstring>
201+
</property>
202+
</widget>
203+
</item>
204+
<item row="2" column="1">
205+
<layout class="QHBoxLayout" name="audioCaptureVolumeLayout" stretch="1,0">
206+
<item>
207+
<widget class="QSlider" name="audioCaptureVolume">
208+
<property name="orientation">
209+
<enum>Qt::Orientation::Horizontal</enum>
210+
</property>
211+
<property name="minimum">
212+
<number>0</number>
213+
</property>
214+
<property name="maximum">
215+
<number>100</number>
216+
</property>
217+
<property name="value">
218+
<number>100</number>
219+
</property>
220+
<property name="tickPosition">
221+
<enum>QSlider::TickPosition::TicksBelow</enum>
222+
</property>
223+
<property name="tickInterval">
224+
<number>25</number>
225+
</property>
226+
</widget>
227+
</item>
228+
<item>
229+
<widget class="QLabel" name="audioCaptureVolumeValue">
230+
<property name="text">
231+
<string>100%</string>
232+
</property>
233+
<property name="minimumSize">
234+
<size>
235+
<width>40</width>
236+
<height>0</height>
237+
</size>
238+
</property>
239+
</widget>
240+
</item>
241+
</layout>
242+
</item>
243+
<item row="3" column="0" colspan="2">
195244
<widget class="QCheckBox" name="enableAudioCaptureArguments">
196245
<property name="text">
197246
<string>Extra Arguments</string>
198247
</property>
199248
</widget>
200249
</item>
201-
<item row="3" column="0" colspan="2">
250+
<item row="4" column="0" colspan="2">
202251
<widget class="QLineEdit" name="audioCaptureArguments"/>
203252
</item>
204253
</layout>
@@ -401,6 +450,7 @@
401450
<tabstop>enableAudioCapture</tabstop>
402451
<tabstop>audioCaptureCodec</tabstop>
403452
<tabstop>audioCaptureBitrate</tabstop>
453+
<tabstop>audioCaptureVolume</tabstop>
404454
<tabstop>enableAudioCaptureArguments</tabstop>
405455
<tabstop>audioCaptureArguments</tabstop>
406456
</tabstops>

pcsx2-qt/Settings/GraphicsSettingsWidget.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,8 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* settings_dialog,
415415
SettingWidgetBinder::BindWidgetToBoolSetting(sif, m_capture.enableAudioCapture, "EmuCore/GS", "EnableAudioCapture", true);
416416
SettingWidgetBinder::BindWidgetToIntSetting(
417417
sif, m_capture.audioCaptureBitrate, "EmuCore/GS", "AudioCaptureBitrate", Pcsx2Config::GSOptions::DEFAULT_AUDIO_CAPTURE_BITRATE);
418+
SettingWidgetBinder::BindWidgetAndLabelToIntSetting(
419+
sif, m_capture.audioCaptureVolume, m_capture.audioCaptureVolumeValue, "%", "EmuCore/GS", "AudioCaptureVolume", Pcsx2Config::GSOptions::DEFAULT_AUDIO_CAPTURE_VOLUME);
418420
SettingWidgetBinder::BindWidgetToBoolSetting(
419421
sif, m_capture.enableAudioCaptureArguments, "EmuCore/GS", "EnableAudioCaptureParameters", false);
420422
SettingWidgetBinder::BindWidgetToStringSetting(sif, m_capture.audioCaptureArguments, "EmuCore/GS", "AudioCaptureParameters");
@@ -813,6 +815,10 @@ GraphicsSettingsWidget::GraphicsSettingsWidget(SettingsWindow* settings_dialog,
813815

814816
dialog()->registerWidgetHelp(m_capture.audioCaptureBitrate, tr("Audio Bitrate"), tr("192 kbps"), tr("Sets the audio bitrate to be used."));
815817

818+
dialog()->registerWidgetHelp(
819+
m_capture.audioCaptureVolume, tr("Audio Volume"), QStringLiteral("100%"),
820+
tr("Sets the volume level for recorded audio. 100% is full volume, lower values reduce the volume."));
821+
816822
dialog()->registerWidgetHelp(m_capture.enableAudioCaptureArguments, tr("Enable Extra Audio Arguments"), tr("Unchecked"), tr("Allows you to pass arguments to the selected audio codec."));
817823

818824
dialog()->registerWidgetHelp(m_capture.audioCaptureArguments, tr("Extra Audio Arguments"), tr("Leave It Blank"),

pcsx2/Config.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,7 @@ struct Pcsx2Config
704704
static constexpr int DEFAULT_VIDEO_CAPTURE_WIDTH = 640;
705705
static constexpr int DEFAULT_VIDEO_CAPTURE_HEIGHT = 480;
706706
static constexpr int DEFAULT_AUDIO_CAPTURE_BITRATE = 192;
707+
static constexpr int DEFAULT_AUDIO_CAPTURE_VOLUME = 100;
707708
static const char* DEFAULT_CAPTURE_CONTAINER;
708709

709710
static constexpr int DEFAULT_SHADEBOOST_BRIGHTNESS = 50;
@@ -880,6 +881,7 @@ struct Pcsx2Config
880881
int VideoCaptureWidth = DEFAULT_VIDEO_CAPTURE_WIDTH;
881882
int VideoCaptureHeight = DEFAULT_VIDEO_CAPTURE_HEIGHT;
882883
int AudioCaptureBitrate = DEFAULT_AUDIO_CAPTURE_BITRATE;
884+
int AudioCaptureVolume = DEFAULT_AUDIO_CAPTURE_VOLUME;
883885

884886
std::string Adapter;
885887
std::string HWDumpDirectory;

pcsx2/Pcsx2Config.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1072,6 +1072,7 @@ void Pcsx2Config::GSOptions::LoadSave(SettingsWrapper& wrap)
10721072
SettingsWrapBitfieldEx(VideoCaptureWidth, "VideoCaptureWidth");
10731073
SettingsWrapBitfieldEx(VideoCaptureHeight, "VideoCaptureHeight");
10741074
SettingsWrapBitfieldEx(AudioCaptureBitrate, "AudioCaptureBitrate");
1075+
SettingsWrapBitfieldEx(AudioCaptureVolume, "AudioCaptureVolume");
10751076

10761077
SettingsWrapEntry(Adapter);
10771078
SettingsWrapEntry(HWDumpDirectory);

0 commit comments

Comments
 (0)