dolphin/Source/Core/DolphinQt/Settings/AudioPane.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

81 lines
1.7 KiB
C
Raw Normal View History

2017-06-21 08:27:21 +00:00
// Copyright 2017 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#pragma once
#include <QWidget>
namespace AudioCommon
{
enum class DPL2Quality;
}
2017-06-21 08:27:21 +00:00
class QCheckBox;
class QComboBox;
class QHBoxLayout;
2017-06-21 08:27:21 +00:00
class QLabel;
class QRadioButton;
class QSlider;
class QSpinBox;
class SettingsWindow;
class AudioPane final : public QWidget
{
Q_OBJECT
public:
explicit AudioPane();
private:
void CreateWidgets();
void ConnectWidgets();
void LoadSettings();
void SaveSettings();
void OnEmulationStateChanged(bool running);
2017-06-21 08:27:21 +00:00
void OnBackendChanged();
void OnDspChanged();
2017-06-21 08:27:21 +00:00
void OnVolumeChanged(int volume);
2017-11-07 09:55:44 +00:00
void CheckNeedForLatencyControl();
bool m_latency_control_supported;
QString GetDPL2QualityLabel(AudioCommon::DPL2Quality value) const;
QString GetDPL2ApproximateLatencyLabel(AudioCommon::DPL2Quality value) const;
void EnableDolbyQualityWidgets(bool enabled) const;
QHBoxLayout* m_main_layout;
2017-06-21 08:27:21 +00:00
// DSP Engine
QRadioButton* m_dsp_hle;
QRadioButton* m_dsp_lle;
QRadioButton* m_dsp_interpreter;
// Volume
QSlider* m_volume_slider;
QLabel* m_volume_indicator;
// Backend
QLabel* m_backend_label;
QComboBox* m_backend_combo;
QCheckBox* m_dolby_pro_logic;
QLabel* m_dolby_quality_label;
QSlider* m_dolby_quality_slider;
QLabel* m_dolby_quality_low_label;
QLabel* m_dolby_quality_highest_label;
QLabel* m_dolby_quality_latency_label;
2017-06-21 08:27:21 +00:00
QLabel* m_latency_label;
QSpinBox* m_latency_spin;
2018-02-10 20:03:27 +00:00
#ifdef _WIN32
QLabel* m_wasapi_device_label;
QComboBox* m_wasapi_device_combo;
#endif
2017-06-21 08:27:21 +00:00
// Audio Stretching
QCheckBox* m_stretching_enable;
QLabel* m_stretching_buffer_label;
QSlider* m_stretching_buffer_slider;
QLabel* m_stretching_buffer_indicator;
};