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 AudioDeviceSettingsPage : public QWidget { |
|
Q_OBJECT |
|
public: |
|
explicit AudioDeviceSettingsPage(DbManager* db, AudioRecorder* recorder, QWidget* parent = nullptr); |
|
~AudioDeviceSettingsPage() override; |
|
void setConfigPath(const QString& path) { m_configPath = path; } |
|
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_recorder = nullptr; |
|
AudioRecorder* m_testRecorder = nullptr; |
|
QString m_configPath; |
|
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_compressorRiseRateSlider; |
|
QLabel* m_compressorMaxGainLabel; |
|
QLabel* m_compressorRiseRateLabel; |
|
int m_savedCompressorEnabled = 0; |
|
int m_savedCompressorMaxGainDb = 25; |
|
int m_savedCompressorRiseRate = 10; |
|
|
|
QComboBox* m_radioOpusModeCombo; |
|
QComboBox* m_radioOpusBitrateCombo; |
|
QCheckBox* m_radioCaptureStereoCb; |
|
int m_savedRadioOpusMode = 0; |
|
int m_savedRadioOpusBitrate = 32; |
|
int m_savedRadioCaptureStereo = 0; |
|
};
|
|
|