mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-04 14:17:50 -04:00
New audio devices dialog and handling: use variable global input volume
This commit is contained in:
parent
d8bcfb1360
commit
49fba5b103
@ -26,6 +26,7 @@ AudioInput::AudioInput() :
|
|||||||
m_audioInput(0),
|
m_audioInput(0),
|
||||||
m_audioUsageCount(0),
|
m_audioUsageCount(0),
|
||||||
m_onExit(false),
|
m_onExit(false),
|
||||||
|
m_volume(0.5f),
|
||||||
m_audioFifos()
|
m_audioFifos()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@ -95,7 +96,7 @@ bool AudioInput::start(int device, int rate)
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_audioInput = new QAudioInput(devInfo, m_audioFormat);
|
m_audioInput = new QAudioInput(devInfo, m_audioFormat);
|
||||||
m_audioInput->setVolume(0.2); // TODO: take it from global parameters
|
m_audioInput->setVolume(m_volume);
|
||||||
|
|
||||||
QIODevice::open(QIODevice::ReadWrite);
|
QIODevice::open(QIODevice::ReadWrite);
|
||||||
|
|
||||||
|
@ -42,12 +42,14 @@ public:
|
|||||||
|
|
||||||
uint getRate() const { return m_audioFormat.sampleRate(); }
|
uint getRate() const { return m_audioFormat.sampleRate(); }
|
||||||
void setOnExit(bool onExit) { m_onExit = onExit; }
|
void setOnExit(bool onExit) { m_onExit = onExit; }
|
||||||
|
void setVolume(float volume) { m_volume = volume; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
QAudioInput* m_audioInput;
|
QAudioInput* m_audioInput;
|
||||||
uint m_audioUsageCount;
|
uint m_audioUsageCount;
|
||||||
bool m_onExit;
|
bool m_onExit;
|
||||||
|
float m_volume;
|
||||||
|
|
||||||
typedef std::list<AudioFifo*> AudioFifos;
|
typedef std::list<AudioFifo*> AudioFifos;
|
||||||
AudioFifos m_audioFifos;
|
AudioFifos m_audioFifos;
|
||||||
|
@ -55,6 +55,7 @@ public:
|
|||||||
void stopAudioInput();
|
void stopAudioInput();
|
||||||
void startAudioInputImmediate();
|
void startAudioInputImmediate();
|
||||||
void stopAudioInputImmediate();
|
void stopAudioInputImmediate();
|
||||||
|
void setAudioInputVolume(float volume) { m_audioInput.setVolume(volume); }
|
||||||
|
|
||||||
DSPDeviceSourceEngine *getDeviceSourceEngineByIndex(uint deviceIndex) { return m_deviceSourceEngines[deviceIndex]; }
|
DSPDeviceSourceEngine *getDeviceSourceEngineByIndex(uint deviceIndex) { return m_deviceSourceEngines[deviceIndex]; }
|
||||||
DSPDeviceSourceEngine *getDeviceSourceEngineByUID(uint uid);
|
DSPDeviceSourceEngine *getDeviceSourceEngineByUID(uint uid);
|
||||||
|
@ -739,6 +739,7 @@ void MainWindow::on_action_Audio_triggered()
|
|||||||
{
|
{
|
||||||
AudioDialog audioDialog(m_audioDeviceInfo, this);
|
AudioDialog audioDialog(m_audioDeviceInfo, this);
|
||||||
audioDialog.exec();
|
audioDialog.exec();
|
||||||
|
m_dspEngine->setAudioInputVolume(m_audioDeviceInfo->getInputVolume());
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainWindow::on_action_My_Position_triggered()
|
void MainWindow::on_action_My_Position_triggered()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user