You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.8 KiB
63 lines
1.8 KiB
#pragma once |
|
#include <QWidget> |
|
#include <QComboBox> |
|
#include <QProgressBar> |
|
#include <QPushButton> |
|
#include <QCheckBox> |
|
#include <QSlider> |
|
#include <QLabel> |
|
#include <QTimer> |
|
class DbManager; |
|
class AudioRecorder; |
|
class AudioCompressor; |
|
|
|
class AudioDeviceSettingsPage : public QWidget { |
|
Q_OBJECT |
|
public: |
|
explicit AudioDeviceSettingsPage(DbManager* db, QWidget* parent = nullptr); |
|
~AudioDeviceSettingsPage() override; |
|
void loadFromDb(); |
|
void applyAndSave(); |
|
|
|
private slots: |
|
void onTestMicToggled(); |
|
void onTestSpeaker(); |
|
void onLevelTimer(); |
|
|
|
private: |
|
void stopMicTest(); |
|
void buildCompressorUI(class QVBoxLayout* layout); |
|
void updateCompressorLabels(); |
|
|
|
DbManager* m_db; |
|
AudioRecorder* m_testRecorder = nullptr; |
|
QComboBox* m_outputCombo; |
|
QComboBox* m_inputCombo; |
|
QComboBox* m_codecPresetCombo; |
|
QProgressBar* m_micLevelBar; |
|
QPushButton* m_testMicBtn; |
|
QPushButton* m_testSpeakerBtn; |
|
QTimer* m_levelTimer; |
|
bool m_micTestActive = false; |
|
int m_savedOutputIdx = -1; |
|
int m_savedInputIdx = -1; |
|
int m_savedCodecPreset = 1; |
|
|
|
QCheckBox* m_compressorEnabledCb; |
|
QSlider* m_compressorMaxGainSlider; |
|
QSlider* m_compressorLookbackSlider; |
|
QSlider* m_compressorLookaheadSlider; |
|
QSlider* m_compressorRiseRateSlider; |
|
QSlider* m_compressorTargetLevelSlider; |
|
QLabel* m_compressorMaxGainLabel; |
|
QLabel* m_compressorLookbackLabel; |
|
QLabel* m_compressorLookaheadLabel; |
|
QLabel* m_compressorRiseRateLabel; |
|
QLabel* m_compressorTargetLevelLabel; |
|
int m_savedCompressorEnabled = 0; |
|
int m_savedCompressorMaxGainDb = 30; |
|
int m_savedCompressorLookbackMs = 200; |
|
int m_savedCompressorLookaheadMs = 100; |
|
int m_savedCompressorRiseRateTenths = 20; |
|
int m_savedCompressorTargetLevelDb = -12; |
|
};
|
|
|