implemented audio dialog

It's arguably not finished in that each API has parameters that users may want control over (e.g. ASIO latency), but it allows selecting devices again which is a necessity
This commit is contained in:
itsmattkc
2022-01-14 18:21:12 -08:00
parent 4584d28652
commit 6fed061e65
4 changed files with 166 additions and 263 deletions
+15 -18
View File
@@ -49,12 +49,6 @@ public:
static AudioManager* instance();
void RefreshDevices();
bool IsRefreshingOutputs();
bool IsRefreshingInputs();
void SetOutputNotifyInterval(int n);
void PushToOutput(const AudioParams &params, const QByteArray& samples);
@@ -63,17 +57,28 @@ public:
void StopOutput();
PaDeviceIndex GetOutputDevice() const
{
return output_device_;
}
PaDeviceIndex GetInputDevice() const
{
return input_device_;
}
void SetOutputDevice(PaDeviceIndex device);
void SetInputDevice(PaDeviceIndex device);
void HardReset();
static PaDeviceIndex FindConfigDeviceByName(bool is_output_device);
static PaDeviceIndex FindDeviceByName(const QString &s, bool is_output_device);
signals:
void OutputListReady();
void OutputNotify();
void InputListReady();
private:
AudioManager();
@@ -83,9 +88,6 @@ private:
void CloseOutputStream();
bool is_refreshing_inputs_;
bool is_refreshing_outputs_;
static AudioManager* instance_;
PaDeviceIndex output_device_;
@@ -95,11 +97,6 @@ private:
PaDeviceIndex input_device_;
private slots:
void OutputDevicesRefreshed();
void InputDevicesRefreshed();
};
}