Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
stenzek
GitHub Repository: stenzek/duckstation
Path: blob/master/src/duckstation-qt/audiosettingswidget.h
4802 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:
25
AudioBackend getEffectiveBackend() const;
26
void resetVolume(bool fast_forward);
27
28
void onStretchModeChanged();
29
30
void updateDriverNames();
31
void updateDeviceNames();
32
void updateLatencyLabel();
33
void updateVolumeLabel();
34
void onMinimalOutputLatencyChecked(Qt::CheckState state);
35
void onOutputVolumeChanged(int new_value);
36
void onFastForwardVolumeChanged(int new_value);
37
void onOutputMutedChanged(int new_state);
38
39
void onStretchSettingsClicked();
40
41
Ui::AudioSettingsWidget m_ui;
42
SettingsWindow* m_dialog;
43
u32 m_output_device_latency = 0;
44
};
45
46