Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
stenzek
GitHub Repository: stenzek/duckstation
Path: blob/master/src/duckstation-qt/audiosettingswidget.h
4242 views
1
// SPDX-FileCopyrightText: 2019-2024 Connor McLaughlin <[email protected]>
2
// SPDX-License-Identifier: CC-BY-NC-ND-4.0
3
4
#pragma once
5
6
#include "ui_audiosettingswidget.h"
7
8
#include "common/types.h"
9
10
#include <QtWidgets/QWidget>
11
12
enum class AudioBackend : u8;
13
14
class SettingsWindow;
15
16
class AudioSettingsWidget : public QWidget
17
{
18
Q_OBJECT
19
20
public:
21
AudioSettingsWidget(SettingsWindow* dialog, QWidget* parent);
22
~AudioSettingsWidget();
23
24
private Q_SLOTS:
25
void onStretchModeChanged();
26
27
void updateDriverNames();
28
void updateDeviceNames();
29
void updateLatencyLabel();
30
void updateVolumeLabel();
31
void onMinimalOutputLatencyChecked(Qt::CheckState state);
32
void onOutputVolumeChanged(int new_value);
33
void onFastForwardVolumeChanged(int new_value);
34
void onOutputMutedChanged(int new_state);
35
36
void onStretchSettingsClicked();
37
38
private:
39
AudioBackend getEffectiveBackend() const;
40
void resetVolume(bool fast_forward);
41
42
Ui::AudioSettingsWidget m_ui;
43
SettingsWindow* m_dialog;
44
u32 m_output_device_latency = 0;
45
};
46
47