diff options
Diffstat (limited to 'examples/multimedia/spectrum/app/engine.cpp')
-rw-r--r-- | examples/multimedia/spectrum/app/engine.cpp | 47 |
1 files changed, 33 insertions, 14 deletions
diff --git a/examples/multimedia/spectrum/app/engine.cpp b/examples/multimedia/spectrum/app/engine.cpp index 07e82bb4a..7e11d012b 100644 --- a/examples/multimedia/spectrum/app/engine.cpp +++ b/examples/multimedia/spectrum/app/engine.cpp @@ -108,10 +108,25 @@ Engine::Engine(QObject *parent) { qRegisterMetaType<FrequencySpectrum>("FrequencySpectrum"); qRegisterMetaType<WindowFunction>("WindowFunction"); - CHECKED_CONNECT(&m_spectrumAnalyser, - SIGNAL(spectrumChanged(FrequencySpectrum)), - this, - SLOT(spectrumChanged(FrequencySpectrum))); + connect(&m_spectrumAnalyser, QOverload<const FrequencySpectrum&>::of(&SpectrumAnalyser::spectrumChanged), + this, QOverload<const FrequencySpectrum&>::of(&Engine::spectrumChanged)); + + // This code might misinterpret things like "-something -category". But + // it's unlikely that that needs to be supported so we'll let it go. + QStringList arguments = QCoreApplication::instance()->arguments(); + for (int i = 0; i < arguments.count(); ++i) { + if (arguments.at(i) == QStringLiteral("--")) + break; + + if (arguments.at(i) == QStringLiteral("-category") + || arguments.at(i) == QStringLiteral("--category")) { + ++i; + if (i < arguments.count()) + m_audioOutputCategory = arguments.at(i); + else + --i; + } + } initialize(); @@ -226,16 +241,17 @@ void Engine::startRecording() setRecordPosition(0, true); stopPlayback(); m_mode = QAudio::AudioInput; - CHECKED_CONNECT(m_audioInput, SIGNAL(stateChanged(QAudio::State)), - this, SLOT(audioStateChanged(QAudio::State))); - CHECKED_CONNECT(m_audioInput, SIGNAL(notify()), - this, SLOT(audioNotify())); + connect(m_audioInput, &QAudioInput::stateChanged, + this, &Engine::audioStateChanged); + connect(m_audioInput, &QAudioInput::notify, + this, &Engine::audioNotify); + m_count = 0; m_dataLength = 0; emit dataLengthChanged(0); m_audioInputIODevice = m_audioInput->start(); - CHECKED_CONNECT(m_audioInputIODevice, SIGNAL(readyRead()), - this, SLOT(audioDataReady())); + connect(m_audioInputIODevice, &QIODevice::readyRead, + this, &Engine::audioDataReady); } } } @@ -258,10 +274,11 @@ void Engine::startPlayback() setPlayPosition(0, true); stopRecording(); m_mode = QAudio::AudioOutput; - CHECKED_CONNECT(m_audioOutput, SIGNAL(stateChanged(QAudio::State)), - this, SLOT(audioStateChanged(QAudio::State))); - CHECKED_CONNECT(m_audioOutput, SIGNAL(notify()), - this, SLOT(audioNotify())); + connect(m_audioOutput, &QAudioOutput::stateChanged, + this, &Engine::audioStateChanged); + connect(m_audioOutput, &QAudioOutput::notify, + this, &Engine::audioNotify); + m_count = 0; if (m_file) { m_file->seek(0); @@ -504,6 +521,7 @@ bool Engine::initialize() } m_audioOutput = new QAudioOutput(m_audioOutputDevice, m_format, this); m_audioOutput->setNotifyInterval(NotifyIntervalMs); + m_audioOutput->setCategory(m_audioOutputCategory); } } else { if (m_file) @@ -518,6 +536,7 @@ bool Engine::initialize() ENGINE_DEBUG << "Engine::initialize" << "m_bufferLength" << m_bufferLength; ENGINE_DEBUG << "Engine::initialize" << "m_dataLength" << m_dataLength; ENGINE_DEBUG << "Engine::initialize" << "format" << m_format; + ENGINE_DEBUG << "Engine::initialize" << "m_audioOutputCategory" << m_audioOutputCategory; return result; } |