From 249cb476c0798adf56971f3e2dc5fff380e034e9 Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 10 Jul 2023 11:49:52 +0200 Subject: [PATCH] Audio CAT SISO: removed reference to Audio input and output devices --- .../samplemimo/audiocatsiso/audiocatsiso.cpp | 3 ++- .../samplemimo/audiocatsiso/audiocatsiso.h | 4 ---- sdrbase/audio/audiodevicemanager.cpp | 21 +++++++++++++++++++ sdrbase/audio/audiodevicemanager.h | 2 ++ 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp b/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp index 92eb3110f..2adcd7375 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp @@ -488,7 +488,8 @@ void AudioCATSISO::applySettings(const AudioCATSISOSettings& settings, const QLi if (settingsKeys.contains("rxVolume") || force) { - m_audioInput.setVolume(settings.m_rxVolume); + AudioDeviceManager *audioDeviceManager = DSPEngine::instance()->getAudioDeviceManager(); + audioDeviceManager->setInputDeviceVolume(settings.m_rxVolume, m_rxAudioDeviceIndex); qDebug() << "AudioCATSISO::applySettings: set Rx volume to " << settings.m_rxVolume; } diff --git a/plugins/samplemimo/audiocatsiso/audiocatsiso.h b/plugins/samplemimo/audiocatsiso/audiocatsiso.h index d033b45f2..c013c75b7 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsiso.h +++ b/plugins/samplemimo/audiocatsiso/audiocatsiso.h @@ -25,8 +25,6 @@ #include #include "dsp/devicesamplemimo.h" -#include "audio/audioinputdevice.h" -#include "audio/audiooutputdevice.h" #include "audio/audiofifo.h" #include "audiocatsisosettings.h" #include "audiocatsisohamlib.h" @@ -161,9 +159,7 @@ private: }; DeviceAPI *m_deviceAPI; - AudioInputDevice m_audioInput; AudioFifo m_inputFifo; - AudioOutputDevice m_audioOutput; AudioFifo m_outputFifo; QMutex m_mutex; AudioCATSISOSettings m_settings; diff --git a/sdrbase/audio/audiodevicemanager.cpp b/sdrbase/audio/audiodevicemanager.cpp index cb66d9d28..71193f5ca 100644 --- a/sdrbase/audio/audiodevicemanager.cpp +++ b/sdrbase/audio/audiodevicemanager.cpp @@ -839,6 +839,27 @@ void AudioDeviceManager::outputInfosCleanup() } } +bool AudioDeviceManager::setInputDeviceVolume(float volume, int inputDeviceIndex) +{ + if (m_audioInputs.find(inputDeviceIndex) == m_audioInputs.end()) { // no FIFO registered yet hence no audio input has been allocated yet + return false; + } + + m_audioInputs[inputDeviceIndex]->setVolume(volume); + return true; +} + +bool AudioDeviceManager::setOutputDeviceVolume(float volume, int outputDeviceIndex) +{ + if (m_audioOutputs.find(outputDeviceIndex) == m_audioOutputs.end()) { // no FIFO registered yet hence no audio output has been allocated yet + return false; + } + + m_audioOutputs[outputDeviceIndex]->setVolume(volume); + return true; + +} + void AudioDeviceManager::debugAudioInputInfos() const { QMap::const_iterator it = m_audioInputInfos.begin(); diff --git a/sdrbase/audio/audiodevicemanager.h b/sdrbase/audio/audiodevicemanager.h index 1a3df2372..ddba44de2 100644 --- a/sdrbase/audio/audiodevicemanager.h +++ b/sdrbase/audio/audiodevicemanager.h @@ -124,6 +124,8 @@ public: void unsetOutputDeviceInfo(int outputDeviceIndex); void inputInfosCleanup(); //!< Remove input info from map for input devices not present void outputInfosCleanup(); //!< Remove output info from map for output devices not present + bool setInputDeviceVolume(float volume, int inputDeviceIndex); + bool setOutputDeviceVolume(float volume, int outputDeviceIndex); static const int m_defaultAudioSampleRate = 48000; static const float m_defaultAudioInputVolume;