summaryrefslogtreecommitdiff
path: root/examples/multimedia/spectrum/app/engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/multimedia/spectrum/app/engine.cpp')
-rw-r--r--examples/multimedia/spectrum/app/engine.cpp47
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;
}