summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorKai Köhne <kai.koehne@qt.io>2022-09-06 16:07:45 +0200
committerKai Köhne <kai.koehne@qt.io>2022-09-07 11:52:54 +0200
commit46abf24d5f2945b862a794fe1b85a6b23d44f1ed (patch)
treec37fcc4abcd103fbeef53503f1649f7b1756e1b1 /examples
parent2d41f6dfb813fbfda76ec77970e8f2ef88cab8b4 (diff)
Examples: C++ style cleanup
Run clang-format on all files. Unify the headers to use the canonical include variants: single class includes instead of #include <QtGui>. Finally, using signals and slots instead of Q_SIGNALS and Q_SLOTS. Pick-to: 6.4 Change-Id: I033dad85a4a25600ec4e3171bede8b98e584cf5d Reviewed-by: Lars Knoll <lars@knoll.priv.no>
Diffstat (limited to 'examples')
-rw-r--r--examples/multimedia/audiodecoder/audiodecoder.cpp39
-rw-r--r--examples/multimedia/audiodecoder/audiodecoder.h1
-rw-r--r--examples/multimedia/audiodecoder/main.cpp21
-rw-r--r--examples/multimedia/audiodevices/audiodevices.cpp47
-rw-r--r--examples/multimedia/audiodevices/audiodevices.h10
-rw-r--r--examples/multimedia/audiodevices/main.cpp4
-rw-r--r--examples/multimedia/audiooutput/audiooutput.cpp41
-rw-r--r--examples/multimedia/audiooutput/audiooutput.h8
-rw-r--r--examples/multimedia/audiooutput/main.cpp4
-rw-r--r--examples/multimedia/audiorecorder/audiolevel.cpp4
-rw-r--r--examples/multimedia/audiorecorder/audiolevel.h2
-rw-r--r--examples/multimedia/audiorecorder/audiorecorder.cpp90
-rw-r--r--examples/multimedia/audiorecorder/audiorecorder.h10
-rw-r--r--examples/multimedia/audiorecorder/main.cpp2
-rw-r--r--examples/multimedia/audiosource/audiosource.cpp61
-rw-r--r--examples/multimedia/audiosource/audiosource.h2
-rw-r--r--examples/multimedia/audiosource/main.cpp2
-rw-r--r--examples/multimedia/camera/camera.cpp81
-rw-r--r--examples/multimedia/camera/camera.h14
-rw-r--r--examples/multimedia/camera/imagesettings.cpp21
-rw-r--r--examples/multimedia/camera/imagesettings.h4
-rw-r--r--examples/multimedia/camera/main.cpp2
-rw-r--r--examples/multimedia/camera/metadatadialog.cpp35
-rw-r--r--examples/multimedia/camera/videosettings.cpp52
-rw-r--r--examples/multimedia/camera/videosettings.h6
-rw-r--r--examples/multimedia/declarative-camera/qmlcamera.cpp9
-rw-r--r--examples/multimedia/devices/main.cpp57
-rw-r--r--examples/multimedia/player/main.cpp4
-rw-r--r--examples/multimedia/player/player.cpp101
-rw-r--r--examples/multimedia/player/player.h4
-rw-r--r--examples/multimedia/player/playercontrols.cpp27
-rw-r--r--examples/multimedia/player/playlistmodel.cpp23
-rw-r--r--examples/multimedia/player/playlistmodel.h12
-rw-r--r--examples/multimedia/player/qmediaplaylist.cpp42
-rw-r--r--examples/multimedia/player/qmediaplaylist.h17
-rw-r--r--examples/multimedia/player/qmediaplaylist_p.h26
-rw-r--r--examples/multimedia/player/qplaylistfileparser.cpp206
-rw-r--r--examples/multimedia/player/qplaylistfileparser_p.h26
-rw-r--r--examples/multimedia/player/videowidget.cpp4
-rw-r--r--examples/multimedia/spectrum/engine.cpp249
-rw-r--r--examples/multimedia/spectrum/engine.h92
-rw-r--r--examples/multimedia/spectrum/frequencyspectrum.cpp8
-rw-r--r--examples/multimedia/spectrum/frequencyspectrum.h16
-rw-r--r--examples/multimedia/spectrum/levelmeter.cpp30
-rw-r--r--examples/multimedia/spectrum/levelmeter.h3
-rw-r--r--examples/multimedia/spectrum/main.cpp1
-rw-r--r--examples/multimedia/spectrum/mainwidget.cpp160
-rw-r--r--examples/multimedia/spectrum/mainwidget.h69
-rw-r--r--examples/multimedia/spectrum/progressbar.cpp13
-rw-r--r--examples/multimedia/spectrum/progressbar.h2
-rw-r--r--examples/multimedia/spectrum/settingsdialog.cpp48
-rw-r--r--examples/multimedia/spectrum/settingsdialog.h8
-rw-r--r--examples/multimedia/spectrum/spectrograph.cpp40
-rw-r--r--examples/multimedia/spectrum/spectrograph.h21
-rw-r--r--examples/multimedia/spectrum/spectrum.h51
-rw-r--r--examples/multimedia/spectrum/spectrumanalyser.cpp97
-rw-r--r--examples/multimedia/spectrum/spectrumanalyser.h62
-rw-r--r--examples/multimedia/spectrum/tonegenerator.cpp9
-rw-r--r--examples/multimedia/spectrum/tonegenerator.h4
-rw-r--r--examples/multimedia/spectrum/tonegeneratordialog.cpp42
-rw-r--r--examples/multimedia/spectrum/tonegeneratordialog.h3
-rw-r--r--examples/multimedia/spectrum/utils.cpp14
-rw-r--r--examples/multimedia/spectrum/utils.h43
-rw-r--r--examples/multimedia/spectrum/waveform.cpp126
-rw-r--r--examples/multimedia/spectrum/waveform.h46
-rw-r--r--examples/multimedia/video/mediaplayer/main.cpp13
-rw-r--r--examples/multimedia/video/qmlvideo/frequencymonitor.cpp54
-rw-r--r--examples/multimedia/video/qmlvideo/frequencymonitor.h11
-rw-r--r--examples/multimedia/video/qmlvideo/frequencymonitordeclarative.cpp2
-rw-r--r--examples/multimedia/video/qmlvideo/main.cpp36
-rw-r--r--examples/multimedia/video/qmlvideo/performancemonitor.h9
-rw-r--r--examples/multimedia/video/qmlvideo/performancemonitordeclarative.cpp9
-rw-r--r--examples/multimedia/video/qmlvideo/performancemonitordeclarative.h4
-rw-r--r--examples/multimedia/video/qmlvideo/trace.h49
-rw-r--r--examples/multimedia/video/recorder/main.cpp12
-rw-r--r--examples/multimedia/videographicsitem/main.cpp8
-rw-r--r--examples/multimedia/videographicsitem/videoplayer.cpp43
-rw-r--r--examples/multimedia/videographicsitem/videoplayer.h1
-rw-r--r--examples/multimedia/videowidget/main.cpp15
-rw-r--r--examples/multimedia/videowidget/videoplayer.cpp37
-rw-r--r--examples/multimedia/videowidget/videoplayer.h2
-rw-r--r--examples/spatialaudio/audiopanning/main.cpp31
82 files changed, 1374 insertions, 1340 deletions
diff --git a/examples/multimedia/audiodecoder/audiodecoder.cpp b/examples/multimedia/audiodecoder/audiodecoder.cpp
index 390933cd4..c8420804b 100644
--- a/examples/multimedia/audiodecoder/audiodecoder.cpp
+++ b/examples/multimedia/audiodecoder/audiodecoder.cpp
@@ -2,33 +2,28 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "audiodecoder.h"
+
#include <QFile>
+
#include <stdio.h>
AudioDecoder::AudioDecoder(bool isPlayback, bool isDelete, const QString &targetFileName)
- : m_cout(stdout, QIODevice::WriteOnly),
- m_targetFilename(targetFileName)
+ : m_cout(stdout, QIODevice::WriteOnly), m_targetFilename(targetFileName)
{
m_isPlayback = isPlayback;
m_isDelete = isDelete;
- connect(&m_decoder, &QAudioDecoder::bufferReady,
- this, &AudioDecoder::bufferReady);
- connect(&m_decoder, QOverload<QAudioDecoder::Error>::of(&QAudioDecoder::error),
- this, QOverload<QAudioDecoder::Error>::of(&AudioDecoder::error));
- connect(&m_decoder, &QAudioDecoder::isDecodingChanged,
- this, &AudioDecoder::isDecodingChanged);
- connect(&m_decoder, &QAudioDecoder::finished,
- this, &AudioDecoder::finished);
- connect(&m_decoder, &QAudioDecoder::positionChanged,
- this, &AudioDecoder::updateProgress);
- connect(&m_decoder, &QAudioDecoder::durationChanged,
- this, &AudioDecoder::updateProgress);
-
- connect(&m_soundEffect, &QSoundEffect::statusChanged,
- this, &AudioDecoder::playbackStatusChanged);
- connect(&m_soundEffect, &QSoundEffect::playingChanged,
- this, &AudioDecoder::playingChanged);
+ connect(&m_decoder, &QAudioDecoder::bufferReady, this, &AudioDecoder::bufferReady);
+ connect(&m_decoder, QOverload<QAudioDecoder::Error>::of(&QAudioDecoder::error), this,
+ QOverload<QAudioDecoder::Error>::of(&AudioDecoder::error));
+ connect(&m_decoder, &QAudioDecoder::isDecodingChanged, this, &AudioDecoder::isDecodingChanged);
+ connect(&m_decoder, &QAudioDecoder::finished, this, &AudioDecoder::finished);
+ connect(&m_decoder, &QAudioDecoder::positionChanged, this, &AudioDecoder::updateProgress);
+ connect(&m_decoder, &QAudioDecoder::durationChanged, this, &AudioDecoder::updateProgress);
+
+ connect(&m_soundEffect, &QSoundEffect::statusChanged, this,
+ &AudioDecoder::playbackStatusChanged);
+ connect(&m_soundEffect, &QSoundEffect::playingChanged, this, &AudioDecoder::playingChanged);
m_progress = -1.0;
}
@@ -71,7 +66,7 @@ void AudioDecoder::bufferReady()
return;
if (!m_waveDecoder) {
- QIODevice* target = new QFile(m_targetFilename, this);
+ QIODevice *target = new QFile(m_targetFilename, this);
if (!target->open(QIODevice::WriteOnly)) {
qWarning() << "target file is not writable";
m_decoder.stop();
@@ -80,8 +75,8 @@ void AudioDecoder::bufferReady()
m_waveDecoder = new QWaveDecoder(target, buffer.format());
}
- if (!m_waveDecoder || (!m_waveDecoder->isOpen()
- && !m_waveDecoder->open(QIODevice::WriteOnly))) {
+ if (!m_waveDecoder
+ || (!m_waveDecoder->isOpen() && !m_waveDecoder->open(QIODevice::WriteOnly))) {
m_decoder.stop();
return;
}
diff --git a/examples/multimedia/audiodecoder/audiodecoder.h b/examples/multimedia/audiodecoder/audiodecoder.h
index 865e69dd7..5f8d447c0 100644
--- a/examples/multimedia/audiodecoder/audiodecoder.h
+++ b/examples/multimedia/audiodecoder/audiodecoder.h
@@ -7,7 +7,6 @@
#include <QAudioDecoder>
#include <QSoundEffect>
#include <QTextStream>
-#include <QAudioDecoder>
#include <QWaveDecoder>
class AudioDecoder : public QObject
diff --git a/examples/multimedia/audiodecoder/main.cpp b/examples/multimedia/audiodecoder/main.cpp
index fecb4d76e..2a23a7751 100644
--- a/examples/multimedia/audiodecoder/main.cpp
+++ b/examples/multimedia/audiodecoder/main.cpp
@@ -8,10 +8,10 @@
#include <QFileInfo>
#include <QTextStream>
#ifdef Q_OS_ANDROID
-#include <QApplication>
-#include <QFileDialog>
-#include <QMessageBox>
-#include <qstandardpaths.h>
+# include <QApplication>
+# include <QFileDialog>
+# include <QMessageBox>
+# include <QStandardPaths>
#endif
#include <stdio.h>
@@ -34,8 +34,10 @@ int main(int argc, char *argv[])
if (app.arguments().size() < 2) {
cout << "Usage: audiodecoder [-p] [-pd] SOURCEFILE [TARGETFILE]\n";
cout << "Set -p option if you want to play output file.\n";
- cout << "Set -pd option if you want to play output file and delete it after successful playback.\n";
- cout << "Default TARGETFILE name is \"out.wav\" in the same directory as the source file.\n";
+ cout << "Set -pd option if you want to play output file and delete it after successful "
+ "playback.\n";
+ cout << "Default TARGETFILE name is \"out.wav\" in the same directory as the source "
+ "file.\n";
return 0;
}
@@ -64,15 +66,14 @@ int main(int argc, char *argv[])
"which will be decoded and played back to you.";
QMessageBox messageBox(QMessageBox::Information, "Audio Decoder", message, QMessageBox::Ok);
messageBox.exec();
- sourceFile = QFileInfo(QFileDialog::getOpenFileName(messageBox.parentWidget(),
- "Select Audio File"));
+ sourceFile =
+ QFileInfo(QFileDialog::getOpenFileName(messageBox.parentWidget(), "Select Audio File"));
auto musicPath = QStandardPaths::writableLocation(QStandardPaths::MusicLocation);
targetFile = QFileInfo(musicPath.append("/out.wav"));
isPlayback = true;
#endif
AudioDecoder decoder(isPlayback, isDelete, targetFile.absoluteFilePath());
- QObject::connect(&decoder, &AudioDecoder::done,
- &app, &QCoreApplication::quit);
+ QObject::connect(&decoder, &AudioDecoder::done, &app, &QCoreApplication::quit);
decoder.setSource(sourceFile.absoluteFilePath());
decoder.start();
if (decoder.getError() != QAudioDecoder::NoError)
diff --git a/examples/multimedia/audiodevices/audiodevices.cpp b/examples/multimedia/audiodevices/audiodevices.cpp
index e29807601..049185701 100644
--- a/examples/multimedia/audiodevices/audiodevices.cpp
+++ b/examples/multimedia/audiodevices/audiodevices.cpp
@@ -2,9 +2,10 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "audiodevices.h"
-#include <qmediadevices.h>
-#include <qcameradevice.h>
-#include <qmediaformat.h>
+
+#include <QCameraDevice>
+#include <QMediaDevices>
+#include <QMediaFormat>
// Utility functions for converting QAudioFormat fields into text
@@ -24,18 +25,14 @@ static QString toString(QAudioFormat::SampleFormat sampleFormat)
}
}
-AudioDevicesBase::AudioDevicesBase(QWidget *parent)
- : QMainWindow(parent)
+AudioDevicesBase::AudioDevicesBase(QWidget *parent) : QMainWindow(parent)
{
setupUi(this);
}
AudioDevicesBase::~AudioDevicesBase() = default;
-
-AudioTest::AudioTest(QWidget *parent)
- : AudioDevicesBase(parent),
- m_devices(new QMediaDevices(this))
+AudioTest::AudioTest(QWidget *parent) : AudioDevicesBase(parent), m_devices(new QMediaDevices(this))
{
m_devices->videoInputs();
qDebug() << "<<<<<<<<<<<<<<<<<<";
@@ -45,7 +42,8 @@ AudioTest::AudioTest(QWidget *parent)
connect(deviceBox, QOverload<int>::of(&QComboBox::activated), this, &AudioTest::deviceChanged);
connect(sampleRateSpinBox, &QSpinBox::valueChanged, this, &AudioTest::sampleRateChanged);
connect(channelsSpinBox, &QSpinBox::valueChanged, this, &AudioTest::channelChanged);
- connect(sampleFormatBox, QOverload<int>::of(&QComboBox::activated), this, &AudioTest::sampleFormatChanged);
+ connect(sampleFormatBox, QOverload<int>::of(&QComboBox::activated), this,
+ &AudioTest::sampleFormatChanged);
connect(populateTableButton, &QPushButton::clicked, this, &AudioTest::populateTable);
connect(m_devices, &QMediaDevices::audioInputsChanged, this, &AudioTest::updateAudioDevices);
connect(m_devices, &QMediaDevices::audioOutputsChanged, this, &AudioTest::updateAudioDevices);
@@ -74,20 +72,19 @@ void AudioTest::test()
nearestChannel->setText(QString("%1").arg(nearest.channelCount()));
nearestSampleFormat->setText(toString(nearest.sampleFormat()));
}
- }
- else
+ } else
testResult->setText(tr("No Device"));
}
void AudioTest::updateAudioDevices()
{
deviceBox->clear();
- const auto devices = m_mode == QAudioDevice::Input ? m_devices->audioInputs() : m_devices->audioOutputs();
- for (auto &deviceInfo: devices)
+ const auto devices =
+ m_mode == QAudioDevice::Input ? m_devices->audioInputs() : m_devices->audioOutputs();
+ for (auto &deviceInfo : devices)
deviceBox->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
}
-
void AudioTest::modeChanged(int idx)
{
testResult->clear();
@@ -110,16 +107,16 @@ void AudioTest::deviceChanged(int idx)
sampleRateSpinBox->clear();
sampleRateSpinBox->setMinimum(m_deviceInfo.minimumSampleRate());
sampleRateSpinBox->setMaximum(m_deviceInfo.maximumSampleRate());
- int sampleValue = qBound(m_deviceInfo.minimumSampleRate(), 48000,
- m_deviceInfo.maximumSampleRate());
+ int sampleValue =
+ qBound(m_deviceInfo.minimumSampleRate(), 48000, m_deviceInfo.maximumSampleRate());
sampleRateSpinBox->setValue(sampleValue);
m_settings.setSampleRate(sampleValue);
channelsSpinBox->clear();
channelsSpinBox->setMinimum(m_deviceInfo.minimumChannelCount());
channelsSpinBox->setMaximum(m_deviceInfo.maximumChannelCount());
- int channelValue = qBound(m_deviceInfo.minimumChannelCount(), 2,
- m_deviceInfo.maximumChannelCount());
+ int channelValue =
+ qBound(m_deviceInfo.minimumChannelCount(), 2, m_deviceInfo.maximumChannelCount());
channelsSpinBox->setValue(channelValue);
sampleFormatBox->clear();
@@ -142,12 +139,16 @@ void AudioTest::populateTable()
QTableWidgetItem *sampleTypeItem = new QTableWidgetItem(toString(sampleFormat));
allFormatsTable->setItem(row, 2, sampleTypeItem);
- QTableWidgetItem *sampleRateItem = new QTableWidgetItem(QString("%1 - %2")
- .arg(m_deviceInfo.minimumSampleRate()).arg(m_deviceInfo.maximumSampleRate()));
+ QTableWidgetItem *sampleRateItem =
+ new QTableWidgetItem(QString("%1 - %2")
+ .arg(m_deviceInfo.minimumSampleRate())
+ .arg(m_deviceInfo.maximumSampleRate()));
allFormatsTable->setItem(row, 0, sampleRateItem);
- QTableWidgetItem *channelsItem = new QTableWidgetItem(QString("%1 - %2")
- .arg(m_deviceInfo.minimumChannelCount()).arg(m_deviceInfo.maximumChannelCount()));
+ QTableWidgetItem *channelsItem =
+ new QTableWidgetItem(QString("%1 - %2")
+ .arg(m_deviceInfo.minimumChannelCount())
+ .arg(m_deviceInfo.maximumChannelCount()));
allFormatsTable->setItem(row, 1, channelsItem);
++row;
diff --git a/examples/multimedia/audiodevices/audiodevices.h b/examples/multimedia/audiodevices/audiodevices.h
index ffc4a00be..ad1de73e1 100644
--- a/examples/multimedia/audiodevices/audiodevices.h
+++ b/examples/multimedia/audiodevices/audiodevices.h
@@ -4,17 +4,17 @@
#ifndef AUDIODEVICES_H
#define AUDIODEVICES_H
+#include "ui_audiodevicesbase.h"
+
#include <QAudioDevice>
-#include <QMediaDevices>
#include <QMainWindow>
+#include <QMediaDevices>
#include <QObject>
-#include "ui_audiodevicesbase.h"
-
class AudioDevicesBase : public QMainWindow, public Ui::AudioDevicesBase
{
public:
- AudioDevicesBase(QWidget *parent = 0);
+ AudioDevicesBase(QWidget *parent = nullptr);
virtual ~AudioDevicesBase();
};
@@ -40,8 +40,6 @@ private slots:
void sampleFormatChanged(int idx);
void test();
void populateTable();
-
};
#endif
-
diff --git a/examples/multimedia/audiodevices/main.cpp b/examples/multimedia/audiodevices/main.cpp
index 7dafce831..411f67092 100644
--- a/examples/multimedia/audiodevices/main.cpp
+++ b/examples/multimedia/audiodevices/main.cpp
@@ -1,10 +1,10 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <QtWidgets>
-
#include "audiodevices.h"
+#include <QApplication>
+
int main(int argv, char **args)
{
QApplication app(argv, args);
diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp
index 334d65e1e..fb99af499 100644
--- a/examples/multimedia/audiooutput/audiooutput.cpp
+++ b/examples/multimedia/audiooutput/audiooutput.cpp
@@ -7,8 +7,8 @@
#include <QAudioSink>
#include <QDebug>
#include <QVBoxLayout>
-#include <qmath.h>
-#include <qendian.h>
+#include <QtEndian>
+#include <QtMath>
Generator::Generator(const QAudioFormat &format, qint64 durationUs, int sampleRate)
{
@@ -41,9 +41,10 @@ void Generator::generateData(const QAudioFormat &format, qint64 durationUs, int
while (length) {
// Produces value (-1..1)
- const qreal x = qSin(2 * M_PI * sampleRate * qreal(sampleIndex++ % format.sampleRate()) / format.sampleRate());
- for (int i=0; i<format.channelCount(); ++i) {
- switch(format.sampleFormat()) {
+ const qreal x = qSin(2 * M_PI * sampleRate * qreal(sampleIndex++ % format.sampleRate())
+ / format.sampleRate());
+ for (int i = 0; i < format.channelCount(); ++i) {
+ switch (format.sampleFormat()) {
case QAudioFormat::UInt8:
*reinterpret_cast<quint8 *>(ptr) = static_cast<quint8>((1.0 + x) / 2 * 255);
break;
@@ -51,7 +52,8 @@ void Generator::generateData(const QAudioFormat &format, qint64 durationUs, int
*reinterpret_cast<qint16 *>(ptr) = static_cast<qint16>(x * 32767);
break;
case QAudioFormat::Int32:
- *reinterpret_cast<qint32 *>(ptr) = static_cast<qint32>(x * std::numeric_limits<qint32>::max());
+ *reinterpret_cast<qint32 *>(ptr) =
+ static_cast<qint32>(x * std::numeric_limits<qint32>::max());
break;
case QAudioFormat::Float:
*reinterpret_cast<float *>(ptr) = x;
@@ -93,9 +95,7 @@ qint64 Generator::bytesAvailable() const
return m_buffer.size() + QIODevice::bytesAvailable();
}
-AudioTest::AudioTest()
- : m_devices(new QMediaDevices(this)),
- m_pushTimer(new QTimer(this))
+AudioTest::AudioTest() : m_devices(new QMediaDevices(this)), m_pushTimer(new QTimer(this))
{
initializeWindow();
initializeAudio(m_devices->defaultAudioOutput());
@@ -114,11 +114,12 @@ void AudioTest::initializeWindow()
m_deviceBox = new QComboBox(this);
const QAudioDevice &defaultDeviceInfo = m_devices->defaultAudioOutput();
m_deviceBox->addItem(defaultDeviceInfo.description(), QVariant::fromValue(defaultDeviceInfo));
- for (auto &deviceInfo: m_devices->audioOutputs()) {
+ for (auto &deviceInfo : m_devices->audioOutputs()) {
if (deviceInfo != defaultDeviceInfo)
m_deviceBox->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
}
- connect(m_deviceBox, QOverload<int>::of(&QComboBox::activated), this, &AudioTest::deviceChanged);
+ connect(m_deviceBox, QOverload<int>::of(&QComboBox::activated), this,
+ &AudioTest::deviceChanged);
connect(m_devices, &QMediaDevices::audioOutputsChanged, this, &AudioTest::updateAudioDevices);
layout->addWidget(m_deviceBox);
@@ -158,8 +159,7 @@ void AudioTest::initializeAudio(const QAudioDevice &deviceInfo)
m_audioOutput.reset(new QAudioSink(deviceInfo, format));
m_generator->start();
- qreal initialVolume = QAudio::convertVolume(m_audioOutput->volume(),
- QAudio::LinearVolumeScale,
+ qreal initialVolume = QAudio::convertVolume(m_audioOutput->volume(), QAudio::LinearVolumeScale,
QAudio::LogarithmicVolumeScale);
m_volumeSlider->setValue(qRound(initialVolume * 100));
toggleMode();
@@ -175,8 +175,7 @@ void AudioTest::deviceChanged(int index)
void AudioTest::volumeChanged(int value)
{
- qreal linearVolume = QAudio::convertVolume(value / qreal(100),
- QAudio::LogarithmicVolumeScale,
+ qreal linearVolume = QAudio::convertVolume(value / qreal(100), QAudio::LogarithmicVolumeScale,
QAudio::LinearVolumeScale);
m_audioOutput->setVolume(linearVolume);
@@ -186,7 +185,7 @@ void AudioTest::updateAudioDevices()
{
m_deviceBox->clear();
const QList<QAudioDevice> devices = m_devices->audioOutputs();
- for (const QAudioDevice &deviceInfo: devices)
+ for (const QAudioDevice &deviceInfo : devices)
m_deviceBox->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
}
@@ -197,11 +196,11 @@ void AudioTest::toggleMode()
toggleSuspendResume();
if (m_pullMode) {
- //switch to pull mode (QAudioSink pulls from Generator as needed)
+ // switch to pull mode (QAudioSink pulls from Generator as needed)
m_modeButton->setText(tr("Enable push mode"));
m_audioOutput->start(m_generator.data());
} else {
- //switch to push mode (periodically push to QAudioSink using a timer)
+ // switch to push mode (periodically push to QAudioSink using a timer)
m_modeButton->setText(tr("Enable pull mode"));
auto io = m_audioOutput->start();
m_pushTimer->disconnect();
@@ -214,7 +213,7 @@ void AudioTest::toggleMode()
QByteArray buffer(len, 0);
len = m_generator->read(buffer.data(), len);
if (len)
- io->write(buffer.data(), len);
+ io->write(buffer.data(), len);
});
m_pushTimer->start(10);
@@ -225,7 +224,8 @@ void AudioTest::toggleMode()
void AudioTest::toggleSuspendResume()
{
- if (m_audioOutput->state() == QAudio::SuspendedState || m_audioOutput->state() == QAudio::StoppedState) {
+ if (m_audioOutput->state() == QAudio::SuspendedState
+ || m_audioOutput->state() == QAudio::StoppedState) {
m_audioOutput->resume();
m_suspendResumeButton->setText(tr("Suspend playback"));
} else if (m_audioOutput->state() == QAudio::ActiveState) {
@@ -235,4 +235,3 @@ void AudioTest::toggleSuspendResume()
// no-op
}
}
-
diff --git a/examples/multimedia/audiooutput/audiooutput.h b/examples/multimedia/audiooutput/audiooutput.h
index 050af3e93..3a82c57c4 100644
--- a/examples/multimedia/audiooutput/audiooutput.h
+++ b/examples/multimedia/audiooutput/audiooutput.h
@@ -4,20 +4,20 @@
#ifndef AUDIOOUTPUT_H
#define AUDIOOUTPUT_H
-#include <math.h>
-
#include <QAudioSink>
#include <QByteArray>
#include <QComboBox>
#include <QIODevice>
#include <QLabel>
#include <QMainWindow>
+#include <QMediaDevices>
#include <QObject>
#include <QPushButton>
+#include <QScopedPointer>
#include <QSlider>
#include <QTimer>
-#include <QScopedPointer>
-#include <QMediaDevices>
+
+#include <math.h>
class Generator : public QIODevice
{
diff --git a/examples/multimedia/audiooutput/main.cpp b/examples/multimedia/audiooutput/main.cpp
index 5d93b275f..8c652f0ff 100644
--- a/examples/multimedia/audiooutput/main.cpp
+++ b/examples/multimedia/audiooutput/main.cpp
@@ -1,10 +1,10 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <QApplication>
-
#include "audiooutput.h"
+#include <QApplication>
+
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
diff --git a/examples/multimedia/audiorecorder/audiolevel.cpp b/examples/multimedia/audiorecorder/audiolevel.cpp
index efcd90731..be17ef2e1 100644
--- a/examples/multimedia/audiorecorder/audiolevel.cpp
+++ b/examples/multimedia/audiorecorder/audiolevel.cpp
@@ -2,10 +2,10 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "audiolevel.h"
+
#include <QPainter>
-AudioLevel::AudioLevel(QWidget *parent)
- : QWidget(parent)
+AudioLevel::AudioLevel(QWidget *parent) : QWidget(parent)
{
setMinimumHeight(15);
setMaximumHeight(50);
diff --git a/examples/multimedia/audiorecorder/audiolevel.h b/examples/multimedia/audiorecorder/audiolevel.h
index f2cddd4c1..7a42a8d01 100644
--- a/examples/multimedia/audiorecorder/audiolevel.h
+++ b/examples/multimedia/audiorecorder/audiolevel.h
@@ -10,7 +10,7 @@ class AudioLevel : public QWidget
{
Q_OBJECT
public:
- explicit AudioLevel(QWidget *parent = 0);
+ explicit AudioLevel(QWidget *parent = nullptr);
// Using [0; 1.0] range
void setLevel(qreal level);
diff --git a/examples/multimedia/audiorecorder/audiorecorder.cpp b/examples/multimedia/audiorecorder/audiorecorder.cpp
index 81666f432..e9677f738 100644
--- a/examples/multimedia/audiorecorder/audiorecorder.cpp
+++ b/examples/multimedia/audiorecorder/audiorecorder.cpp
@@ -3,26 +3,23 @@
#include "audiorecorder.h"
#include "audiolevel.h"
-
#include "ui_audiorecorder.h"
-#include <QMediaRecorder>
+#include <QAudioBuffer>
+#include <QAudioDevice>
+#include <QAudioInput>
#include <QDir>
#include <QFileDialog>
+#include <QImageCapture>
+#include <QMediaDevices>
+#include <QMediaFormat>
#include <QMediaRecorder>
-#include <QStandardPaths>
-#include <qmediadevices.h>
-#include <qmediaformat.h>
-#include <qaudiodevice.h>
-#include <qaudiobuffer.h>
-#include <qaudioinput.h>
-#include <qimagecapture.h>
#include <QMimeType>
+#include <QStandardPaths>
static QList<qreal> getBufferLevels(const QAudioBuffer &buffer);
-AudioRecorder::AudioRecorder()
- : ui(new Ui::AudioRecorder)
+AudioRecorder::AudioRecorder() : ui(new Ui::AudioRecorder)
{
ui->setupUi(this);
@@ -30,49 +27,54 @@ AudioRecorder::AudioRecorder()
m_captureSession.setRecorder(m_audioRecorder);
m_captureSession.setAudioInput(new QAudioInput(this));
// ### replace with a monitoring output once we have it.
-// m_probe = new QAudioProbe(this);
-// connect(m_probe, &QAudioProbe::audioBufferProbed,
-// this, &AudioRecorder::processBuffer);
-// m_probe->setSource(m_audioRecorder);
+ // m_probe = new QAudioProbe(this);
+ // connect(m_probe, &QAudioProbe::audioBufferProbed,
+ // this, &AudioRecorder::processBuffer);
+ // m_probe->setSource(m_audioRecorder);
- //audio devices
+ // audio devices
ui->audioDeviceBox->addItem(tr("Default"), QVariant(QString()));
- for (auto device: QMediaDevices::audioInputs()) {
+ for (auto device : QMediaDevices::audioInputs()) {
auto name = device.description();
ui->audioDeviceBox->addItem(name, QVariant::fromValue(device));
}
- //audio codecs and container formats
+ // audio codecs and container formats
updateFormats();
- connect(ui->audioCodecBox, &QComboBox::currentIndexChanged, this, &AudioRecorder::updateFormats);
+ connect(ui->audioCodecBox, &QComboBox::currentIndexChanged, this,
+ &AudioRecorder::updateFormats);
connect(ui->containerBox, &QComboBox::currentIndexChanged, this, &AudioRecorder::updateFormats);
- //sample rate
+ // sample rate
ui->sampleRateBox->setRange(m_captureSession.audioInput()->device().minimumSampleRate(),
m_captureSession.audioInput()->device().maximumSampleRate());
- ui->sampleRateBox->setValue(qBound(m_captureSession.audioInput()->device().minimumSampleRate(), 44100,
- m_captureSession.audioInput()->device().maximumSampleRate()));
+ ui->sampleRateBox->setValue(
+ qBound(m_captureSession.audioInput()->device().minimumSampleRate(), 44100,
+ m_captureSession.audioInput()->device().maximumSampleRate()));
- //channels
+ // channels
ui->channelsBox->addItem(tr("Default"), QVariant(-1));
ui->channelsBox->addItem(QStringLiteral("1"), QVariant(1));
ui->channelsBox->addItem(QStringLiteral("2"), QVariant(2));
ui->channelsBox->addItem(QStringLiteral("4"), QVariant(4));
- //quality
+ // quality
ui->qualitySlider->setRange(0, int(QImageCapture::VeryHighQuality));
ui->qualitySlider->setValue(int(QImageCapture::NormalQuality));
- //bit rates:
+ // bit rates:
ui->bitrateBox->addItem(tr("Default"), QVariant(0));
ui->bitrateBox->addItem(QStringLiteral("32000"), QVariant(32000));
ui->bitrateBox->addItem(QStringLiteral("64000"), QVariant(64000));
ui->bitrateBox->addItem(QStringLiteral("96000"), QVariant(96000));
ui->bitrateBox->addItem(QStringLiteral("128000"), QVariant(128000));
- connect(m_audioRecorder, &QMediaRecorder::durationChanged, this, &AudioRecorder::updateProgress);
- connect(m_audioRecorder, &QMediaRecorder::recorderStateChanged, this, &AudioRecorder::onStateChanged);
- connect(m_audioRecorder, &QMediaRecorder::errorChanged, this, &AudioRecorder::displayErrorMessage);
+ connect(m_audioRecorder, &QMediaRecorder::durationChanged, this,
+ &AudioRecorder::updateProgress);
+ connect(m_audioRecorder, &QMediaRecorder::recorderStateChanged, this,
+ &AudioRecorder::onStateChanged);
+ connect(m_audioRecorder, &QMediaRecorder::errorChanged, this,
+ &AudioRecorder::displayErrorMessage);
}
void AudioRecorder::updateProgress(qint64 duration)
@@ -124,20 +126,20 @@ static QVariant boxValue(const QComboBox *box)
void AudioRecorder::toggleRecord()
{
if (m_audioRecorder->recorderState() == QMediaRecorder::StoppedState) {
- m_captureSession.audioInput()->setDevice(boxValue(ui->audioDeviceBox).value<QAudioDevice>());
+ m_captureSession.audioInput()->setDevice(
+ boxValue(ui->audioDeviceBox).value<QAudioDevice>());
m_audioRecorder->setMediaFormat(selectedMediaFormat());
m_audioRecorder->setAudioSampleRate(ui->sampleRateBox->value());
m_audioRecorder->setAudioBitRate(boxValue(ui->bitrateBox).toInt());
m_audioRecorder->setAudioChannelCount(boxValue(ui->channelsBox).toInt());
m_audioRecorder->setQuality(QMediaRecorder::Quality(ui->qualitySlider->value()));
- m_audioRecorder->setEncodingMode(ui->constantQualityRadioButton->isChecked() ?
- QMediaRecorder::ConstantQualityEncoding :
- QMediaRecorder::ConstantBitRateEncoding);
+ m_audioRecorder->setEncodingMode(ui->constantQualityRadioButton->isChecked()
+ ? QMediaRecorder::ConstantQualityEncoding
+ : QMediaRecorder::ConstantBitRateEncoding);
m_audioRecorder->record();
- }
- else {
+ } else {
m_audioRecorder->stop();
}
}
@@ -153,9 +155,9 @@ void AudioRecorder::togglePause()
void AudioRecorder::setOutputLocation()
{
#ifdef Q_OS_ANDROID
- QString fileName = QFileDialog::getSaveFileName(this, tr("Save Recording"),
- "output."
- + selectedMediaFormat().mimeType().preferredSuffix());
+ QString fileName = QFileDialog::getSaveFileName(
+ this, tr("Save Recording"),
+ "output." + selectedMediaFormat().mimeType().preferredSuffix());
#else
QString fileName = QFileDialog::getSaveFileName();
#endif
@@ -182,23 +184,27 @@ void AudioRecorder::updateFormats()
int currentIndex = 0;
ui->audioCodecBox->clear();
- ui->audioCodecBox->addItem(tr("Default audio codec"), QVariant::fromValue(QMediaFormat::AudioCodec::Unspecified));
+ ui->audioCodecBox->addItem(tr("Default audio codec"),
+ QVariant::fromValue(QMediaFormat::AudioCodec::Unspecified));
for (auto codec : format.supportedAudioCodecs(QMediaFormat::Encode)) {
if (codec == format.audioCodec())
currentIndex = ui->audioCodecBox->count();
- ui->audioCodecBox->addItem(QMediaFormat::audioCodecDescription(codec), QVariant::fromValue(codec));
+ ui->audioCodecBox->addItem(QMediaFormat::audioCodecDescription(codec),
+ QVariant::fromValue(codec));
}
ui->audioCodecBox->setCurrentIndex(currentIndex);
currentIndex = 0;
ui->containerBox->clear();
- ui->containerBox->addItem(tr("Default file format"), QVariant::fromValue(QMediaFormat::UnspecifiedFormat));
+ ui->containerBox->addItem(tr("Default file format"),
+ QVariant::fromValue(QMediaFormat::UnspecifiedFormat));
for (auto container : format.supportedFileFormats(QMediaFormat::Encode)) {
if (container < QMediaFormat::Mpeg4Audio) // Skip video formats
continue;
if (container == format.fileFormat())
currentIndex = ui->containerBox->count();
- ui->containerBox->addItem(QMediaFormat::fileFormatDescription(container), QVariant::fromValue(container));
+ ui->containerBox->addItem(QMediaFormat::fileFormatDescription(container),
+ QVariant::fromValue(container));
}
ui->containerBox->setCurrentIndex(currentIndex);
@@ -248,7 +254,7 @@ QList<qreal> getBufferLevels(const QAudioBuffer &buffer)
return max_values;
}
-void AudioRecorder::processBuffer(const QAudioBuffer& buffer)
+void AudioRecorder::processBuffer(const QAudioBuffer &buffer)
{
if (m_audioLevels.count() != buffer.format().channelCount()) {
qDeleteAll(m_audioLevels);
diff --git a/examples/multimedia/audiorecorder/audiorecorder.h b/examples/multimedia/audiorecorder/audiorecorder.h
index 3323e8050..830e4b001 100644
--- a/examples/multimedia/audiorecorder/audiorecorder.h
+++ b/examples/multimedia/audiorecorder/audiorecorder.h
@@ -5,12 +5,14 @@
#define AUDIORECORDER_H
#include <QMainWindow>
-#include <QMediaRecorder>
#include <QMediaCaptureSession>
+#include <QMediaRecorder>
#include <QUrl>
QT_BEGIN_NAMESPACE
-namespace Ui { class AudioRecorder; }
+namespace Ui {
+class AudioRecorder;
+}
class QAudioBuffer;
QT_END_NAMESPACE
@@ -24,7 +26,7 @@ public:
AudioRecorder();
public slots:
- void processBuffer(const QAudioBuffer&);
+ void processBuffer(const QAudioBuffer &);
private slots:
void setOutputLocation();
@@ -45,7 +47,7 @@ private:
QMediaCaptureSession m_captureSession;
QMediaRecorder *m_audioRecorder = nullptr;
- QList<AudioLevel*> m_audioLevels;
+ QList<AudioLevel *> m_audioLevels;
bool m_outputLocationSet = false;
bool m_updatingFormats = false;
};
diff --git a/examples/multimedia/audiorecorder/main.cpp b/examples/multimedia/audiorecorder/main.cpp
index 691b4908c..407729616 100644
--- a/examples/multimedia/audiorecorder/main.cpp
+++ b/examples/multimedia/audiorecorder/main.cpp
@@ -3,7 +3,7 @@
#include "audiorecorder.h"
-#include <QtWidgets>
+#include <QApplication>
int main(int argc, char *argv[])
{
diff --git a/examples/multimedia/audiosource/audiosource.cpp b/examples/multimedia/audiosource/audiosource.cpp
index 6a1567b26..545b8c5fa 100644
--- a/examples/multimedia/audiosource/audiosource.cpp
+++ b/examples/multimedia/audiosource/audiosource.cpp
@@ -3,21 +3,18 @@
#include "audiosource.h"
-#include <stdlib.h>
-#include <math.h>
-
+#include <QAudioDevice>
+#include <QAudioSource>
#include <QDateTime>
#include <QDebug>
#include <QPainter>
#include <QVBoxLayout>
-#include <QAudioDevice>
-#include <QAudioSource>
-#include <qendian.h>
+#include <QtEndian>
-AudioInfo::AudioInfo(const QAudioFormat &format)
- : m_format(format)
-{
-}
+#include <math.h>
+#include <stdlib.h>
+
+AudioInfo::AudioInfo(const QAudioFormat &format) : m_format(format) { }
void AudioInfo::start()
{
@@ -63,8 +60,7 @@ qint64 AudioInfo::writeData(const char *data, qint64 len)
return len;
}
-RenderArea::RenderArea(QWidget *parent)
- : QWidget(parent)
+RenderArea::RenderArea(QWidget *parent) : QWidget(parent)
{
setBackgroundRole(QPalette::Base);
setAutoFillBackground(true);
@@ -85,8 +81,7 @@ void RenderArea::paintEvent(QPaintEvent * /* event */)
return;
const int pos = qRound(qreal(frame.width() - 1) * m_level);
- painter.fillRect(frame.left() + 1, frame.top() + 1,
- pos, frame.height() - 1, Qt::red);
+ painter.fillRect(frame.left() + 1, frame.top() + 1, pos, frame.height() - 1, Qt::red);
}
void RenderArea::setLevel(qreal value)
@@ -95,9 +90,7 @@ void RenderArea::setLevel(qreal value)
update();
}
-
-InputTest::InputTest()
- : m_devices(new QMediaDevices(this))
+InputTest::InputTest() : m_devices(new QMediaDevices(this))
{
initializeWindow();
initializeAudio(QMediaDevices::defaultAudioInput());
@@ -113,7 +106,7 @@ void InputTest::initializeWindow()
m_deviceBox = new QComboBox(this);
const QAudioDevice &defaultDeviceInfo = QMediaDevices::defaultAudioInput();
m_deviceBox->addItem(defaultDeviceInfo.description(), QVariant::fromValue(defaultDeviceInfo));
- for (auto &deviceInfo: m_devices->audioInputs()) {
+ for (auto &deviceInfo : m_devices->audioInputs()) {
if (deviceInfo != defaultDeviceInfo)
m_deviceBox->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
}
@@ -144,12 +137,10 @@ void InputTest::initializeAudio(const QAudioDevice &deviceInfo)
format.setSampleFormat(QAudioFormat::Int16);
m_audioInfo.reset(new AudioInfo(format));
- connect(m_audioInfo.data(), &AudioInfo::levelChanged,
- m_canvas, &RenderArea::setLevel);
+ connect(m_audioInfo.data(), &AudioInfo::levelChanged, m_canvas, &RenderArea::setLevel);
m_audioInput.reset(new QAudioSource(deviceInfo, format));
- qreal initialVolume = QAudio::convertVolume(m_audioInput->volume(),
- QAudio::LinearVolumeScale,
+ qreal initialVolume = QAudio::convertVolume(m_audioInput->volume(), QAudio::LinearVolumeScale,
QAudio::LogarithmicVolumeScale);
m_volumeSlider->setValue(qRound(initialVolume * 100));
m_audioInfo->start();
@@ -171,18 +162,17 @@ void InputTest::toggleMode()
if (!io)
return;
- connect(io, &QIODevice::readyRead,
- [this, io]() {
- static const qint64 BufferSize = 4096;
- const qint64 len = qMin(m_audioInput->bytesAvailable(), BufferSize);
-
- QByteArray buffer(len, 0);
- qint64 l = io->read(buffer.data(), len);
- if (l > 0) {
- const qreal level = m_audioInfo->calculateLevel(buffer.constData(), l);
- m_canvas->setLevel(level);
- }
- });
+ connect(io, &QIODevice::readyRead, [this, io]() {
+ static const qint64 BufferSize = 4096;
+ const qint64 len = qMin(m_audioInput->bytesAvailable(), BufferSize);
+
+ QByteArray buffer(len, 0);
+ qint64 l = io->read(buffer.data(), len);
+ if (l > 0) {
+ const qreal level = m_audioInfo->calculateLevel(buffer.constData(), l);
+ m_canvas->setLevel(level);
+ }
+ });
}
m_pullMode = !m_pullMode;
@@ -218,8 +208,7 @@ void InputTest::deviceChanged(int index)
void InputTest::sliderChanged(int value)
{
- qreal linearVolume = QAudio::convertVolume(value / qreal(100),
- QAudio::LogarithmicVolumeScale,
+ qreal linearVolume = QAudio::convertVolume(value / qreal(100), QAudio::LogarithmicVolumeScale,
QAudio::LinearVolumeScale);
m_audioInput->setVolume(linearVolume);
diff --git a/examples/multimedia/audiosource/audiosource.h b/examples/multimedia/audiosource/audiosource.h
index fe54f0cbd..05b891fe7 100644
--- a/examples/multimedia/audiosource/audiosource.h
+++ b/examples/multimedia/audiosource/audiosource.h
@@ -42,7 +42,6 @@ private:
qreal m_level = 0.0; // 0.0 <= m_level <= 1.0
};
-
class RenderArea : public QWidget
{
Q_OBJECT
@@ -59,7 +58,6 @@ private:
qreal m_level = 0;
};
-
class InputTest : public QWidget
{
Q_OBJECT
diff --git a/examples/multimedia/audiosource/main.cpp b/examples/multimedia/audiosource/main.cpp
index 2445a6927..49156d860 100644
--- a/examples/multimedia/audiosource/main.cpp
+++ b/examples/multimedia/audiosource/main.cpp
@@ -3,7 +3,7 @@
#include "audiosource.h"
-#include <QtWidgets/QApplication>
+#include <QApplication>
int main(int argv, char **args)
{
diff --git a/examples/multimedia/camera/camera.cpp b/examples/multimedia/camera/camera.cpp
index 201e6e985..47f8222ae 100644
--- a/examples/multimedia/camera/camera.cpp
+++ b/examples/multimedia/camera/camera.cpp
@@ -3,39 +3,41 @@
#include "camera.h"
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
-#include "ui_camera_mobile.h"
+# include "ui_camera_mobile.h"
#else
-#include "ui_camera.h"
+# include "ui_camera.h"
#endif
-#include "videosettings.h"
+
#include "imagesettings.h"
#include "metadatadialog.h"
+#include "videosettings.h"
-#include <QMediaRecorder>
-#include <QVideoWidget>
-#include <QCameraDevice>
-#include <QMediaMetaData>
-#include <QMediaDevices>
+#include <QAction>
+#include <QActionGroup>
#include <QAudioDevice>
#include <QAudioInput>
-
-#include <QMessageBox>
-#include <QPalette>
+#include <QCameraDevice>
+#include <QDir>
#include <QImage>
-
-#include <QtWidgets>
+#include <QKeyEvent>
+#include <QLineEdit>
#include <QMediaDevices>
#include <QMediaFormat>
+#include <QMediaMetaData>
+#include <QMediaRecorder>
+#include <QMessageBox>
+#include <QPalette>
+#include <QTimer>
+#include <QVideoWidget>
-Camera::Camera()
- : ui(new Ui::Camera)
+Camera::Camera() : ui(new Ui::Camera)
{
ui->setupUi(this);
m_audioInput.reset(new QAudioInput);
m_captureSession.setAudioInput(m_audioInput.get());
- //Camera devices:
+ // Camera devices:
videoDevicesGroup = new QActionGroup(this);
videoDevicesGroup->setExclusive(true);
@@ -61,16 +63,20 @@ void Camera::setCamera(const QCameraDevice &cameraDevice)
if (!m_mediaRecorder) {
m_mediaRecorder.reset(new QMediaRecorder);
m_captureSession.setRecorder(m_mediaRecorder.data());
- connect(m_mediaRecorder.data(), &QMediaRecorder::recorderStateChanged, this, &Camera::updateRecorderState);
+ connect(m_mediaRecorder.data(), &QMediaRecorder::recorderStateChanged, this,
+ &Camera::updateRecorderState);
}
m_imageCapture = new QImageCapture;
m_captureSession.setImageCapture(m_imageCapture);
- connect(m_mediaRecorder.data(), &QMediaRecorder::durationChanged, this, &Camera::updateRecordTime);
- connect(m_mediaRecorder.data(), &QMediaRecorder::errorChanged, this, &Camera::displayRecorderError);
+ connect(m_mediaRecorder.data(), &QMediaRecorder::durationChanged, this,
+ &Camera::updateRecordTime);
+ connect(m_mediaRecorder.data(), &QMediaRecorder::errorChanged, this,
+ &Camera::displayRecorderError);
- connect(ui->exposureCompensation, &QAbstractSlider::valueChanged, this, &Camera::setExposureCompensation);
+ connect(ui->exposureCompensation, &QAbstractSlider::valueChanged, this,
+ &Camera::setExposureCompensation);
m_captureSession.setVideoOutput(ui->viewfinder);
@@ -92,11 +98,12 @@ void Camera::setCamera(const QCameraDevice &cameraDevice)
// we use 29 FPS to compare against as some cameras report 29.97 FPS...
QCameraFormat bestFormat;
for (const auto &fmt : formats) {
- if (bestFormat.maxFrameRate() < 29 && fmt.maxFrameRate() > bestFormat.maxFrameRate())
+ if (bestFormat.maxFrameRate() < 29
+ && fmt.maxFrameRate() > bestFormat.maxFrameRate())
bestFormat = fmt;
- else if (bestFormat.maxFrameRate() == fmt.maxFrameRate() &&
- bestFormat.resolution().width()*bestFormat.resolution().height() <
- fmt.resolution().width()*fmt.resolution().height())
+ else if (bestFormat.maxFrameRate() == fmt.maxFrameRate()
+ && bestFormat.resolution().width() * bestFormat.resolution().height()
+ < fmt.resolution().width() * fmt.resolution().height())
bestFormat = fmt;
}
@@ -108,7 +115,7 @@ void Camera::setCamera(const QCameraDevice &cameraDevice)
m_camera->start();
}
-void Camera::keyPressEvent(QKeyEvent * event)
+void Camera::keyPressEvent(QKeyEvent *event)
{
if (event->isAutoRepeat())
return;
@@ -141,16 +148,15 @@ void Camera::keyReleaseEvent(QKeyEvent *event)
void Camera::updateRecordTime()
{
- QString str = QString("Recorded %1 sec").arg(m_mediaRecorder->duration()/1000);
+ QString str = QString("Recorded %1 sec").arg(m_mediaRecorder->duration() / 1000);
ui->statusbar->showMessage(str);
}
-void Camera::processCapturedImage(int requestId, const QImage& img)
+void Camera::processCapturedImage(int requestId, const QImage &img)
{
Q_UNUSED(requestId);
- QImage scaledImage = img.scaled(ui->viewfinder->size(),
- Qt::KeepAspectRatio,
- Qt::SmoothTransformation);
+ QImage scaledImage =
+ img.scaled(ui->viewfinder->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
ui->lastImagePreviewLabel->setPixmap(QPixmap::fromImage(scaledImage));
@@ -213,7 +219,8 @@ void Camera::takeImage()
m_imageCapture->captureToFile();
}
-void Camera::displayCaptureError(int id, const QImageCapture::Error error, const QString &errorString)
+void Camera::displayCaptureError(int id, const QImageCapture::Error error,
+ const QString &errorString)
{
Q_UNUSED(id);
Q_UNUSED(error);
@@ -278,7 +285,7 @@ void Camera::updateRecorderState(QMediaRecorder::RecorderState state)
void Camera::setExposureCompensation(int index)
{
- m_camera->setExposureCompensation(index*0.5);
+ m_camera->setExposureCompensation(index * 0.5);
}
void Camera::displayRecorderError()
@@ -368,20 +375,16 @@ void Camera::saveMetaData()
if (i == QMediaMetaData::CoverArtImage) {
QImage coverArt(val);
data.insert(key, coverArt);
- }
- else if (i == QMediaMetaData::ThumbnailImage) {
+ } else if (i == QMediaMetaData::ThumbnailImage) {
QImage thumbnail(val);
data.insert(key, thumbnail);
- }
- else if (i == QMediaMetaData::Date) {
+ } else if (i == QMediaMetaData::Date) {
QDateTime date = QDateTime::fromString(val);
data.insert(key, date);
- }
- else {
+ } else {
data.insert(key, val);
}
}
}
m_mediaRecorder->setMetaData(data);
}
-
diff --git a/examples/multimedia/camera/camera.h b/examples/multimedia/camera/camera.h
index ae8eb5919..5f083135f 100644
--- a/examples/multimedia/camera/camera.h
+++ b/examples/multimedia/camera/camera.h
@@ -4,19 +4,21 @@
#ifndef CAMERA_H
#define CAMERA_H
+#include <QAudioInput>
#include <QCamera>
#include <QImageCapture>
-#include <QMediaRecorder>
-#include <QScopedPointer>
-#include <QMediaMetaData>
#include <QMediaCaptureSession>
#include <QMediaDevices>
-#include <QAudioInput>
+#include <QMediaMetaData>
+#include <QMediaRecorder>
+#include <QScopedPointer>
#include <QMainWindow>
QT_BEGIN_NAMESPACE
-namespace Ui { class Camera; }
+namespace Ui {
+class Camera;
+}
class QActionGroup;
QT_END_NAMESPACE
@@ -82,7 +84,7 @@ protected:
private:
Ui::Camera *ui;
- QActionGroup *videoDevicesGroup = nullptr;
+ QActionGroup *videoDevicesGroup = nullptr;
QMediaDevices m_devices;
QMediaCaptureSession m_captureSession;
diff --git a/examples/multimedia/camera/imagesettings.cpp b/examples/multimedia/camera/imagesettings.cpp
index a107cc62d..0a6c6a138 100644
--- a/examples/multimedia/camera/imagesettings.cpp
+++ b/examples/multimedia/camera/imagesettings.cpp
@@ -4,34 +4,35 @@
#include "imagesettings.h"
#include "ui_imagesettings.h"
+#include <QCamera>
#include <QComboBox>
#include <QDebug>
#include <QImageCapture>
-#include <QCamera>
#include <QMediaCaptureSession>
-ImageSettings::ImageSettings(QImageCapture *imageCapture, QWidget *parent) :
- QDialog(parent),
- ui(new Ui::ImageSettingsUi),
- imagecapture(imageCapture)
+ImageSettings::ImageSettings(QImageCapture *imageCapture, QWidget *parent)
+ : QDialog(parent), ui(new Ui::ImageSettingsUi), imagecapture(imageCapture)
{
ui->setupUi(this);
- //image codecs
+ // image codecs
ui->imageCodecBox->addItem(tr("Default image format"), QVariant(QString()));
const auto supportedImageFormats = QImageCapture::supportedFormats();
for (const auto &f : supportedImageFormats) {
QString description = QImageCapture::fileFormatDescription(f);
- ui->imageCodecBox->addItem(QImageCapture::fileFormatName(f) + ": " + description, QVariant::fromValue(f));
+ ui->imageCodecBox->addItem(QImageCapture::fileFormatName(f) + ": " + description,
+ QVariant::fromValue(f));
}
ui->imageQualitySlider->setRange(0, int(QImageCapture::VeryHighQuality));
ui->imageResolutionBox->addItem(tr("Default Resolution"));
- const QList<QSize> supportedResolutions = imagecapture->captureSession()->camera()->cameraDevice().photoResolutions();
+ const QList<QSize> supportedResolutions =
+ imagecapture->captureSession()->camera()->cameraDevice().photoResolutions();
for (const QSize &resolution : supportedResolutions) {
- ui->imageResolutionBox->addItem(QString("%1x%2").arg(resolution.width()).arg(resolution.height()),
- QVariant(resolution));
+ ui->imageResolutionBox->addItem(
+ QString("%1x%2").arg(resolution.width()).arg(resolution.height()),
+ QVariant(resolution));
}
selectComboBoxItem(ui->imageCodecBox, QVariant::fromValue(imagecapture->fileFormat()));
diff --git a/examples/multimedia/camera/imagesettings.h b/examples/multimedia/camera/imagesettings.h
index 13bd6dc4a..0e2ef8e5b 100644
--- a/examples/multimedia/camera/imagesettings.h
+++ b/examples/multimedia/camera/imagesettings.h
@@ -9,7 +9,9 @@
QT_BEGIN_NAMESPACE
class QComboBox;
class QImageCapture;
-namespace Ui { class ImageSettingsUi; }
+namespace Ui {
+class ImageSettingsUi;
+}
QT_END_NAMESPACE
class ImageSettings : public QDialog
diff --git a/examples/multimedia/camera/main.cpp b/examples/multimedia/camera/main.cpp
index 50b411e4e..13554fc2b 100644
--- a/examples/multimedia/camera/main.cpp
+++ b/examples/multimedia/camera/main.cpp
@@ -3,7 +3,7 @@
#include "camera.h"
-#include <QtWidgets>
+#include <QApplication>
int main(int argc, char *argv[])
{
diff --git a/examples/multimedia/camera/metadatadialog.cpp b/examples/multimedia/camera/metadatadialog.cpp
index 096217014..82977de1b 100644
--- a/examples/multimedia/camera/metadatadialog.cpp
+++ b/examples/multimedia/camera/metadatadialog.cpp
@@ -2,14 +2,21 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "metadatadialog.h"
-#include "camera.h"
-#include <QtWidgets>
+#include <QDialog>
+#include <QDialogButtonBox>
+#include <QFileDialog>
#include <QFormLayout>
+#include <QHBoxLayout>
+#include <QLineEdit>
#include <QMediaMetaData>
+#include <QPushButton>
+#include <QScrollArea>
+#include <QString>
+#include <QVBoxLayout>
+#include <QWidget>
-MetaDataDialog::MetaDataDialog(QWidget *parent)
- : QDialog(parent)
+MetaDataDialog::MetaDataDialog(QWidget *parent) : QDialog(parent)
{
QFormLayout *metaDataLayout = new QFormLayout;
for (int key = 0; key < QMediaMetaData::NumMetaData; key++) {
@@ -17,21 +24,20 @@ MetaDataDialog::MetaDataDialog(QWidget *parent)
m_metaDataFields[key] = new QLineEdit;
if (key == QMediaMetaData::ThumbnailImage) {
QPushButton *openThumbnail = new QPushButton(tr("Open"));
- connect(openThumbnail, &QPushButton::clicked, this, &MetaDataDialog::openThumbnailImage);
+ connect(openThumbnail, &QPushButton::clicked, this,
+ &MetaDataDialog::openThumbnailImage);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(m_metaDataFields[key]);
layout->addWidget(openThumbnail);
metaDataLayout->addRow(label, layout);
- }
- else if (key == QMediaMetaData::CoverArtImage) {
+ } else if (key == QMediaMetaData::CoverArtImage) {
QPushButton *openCoverArt = new QPushButton(tr("Open"));
connect(openCoverArt, &QPushButton::clicked, this, &MetaDataDialog::openCoverArtImage);
QHBoxLayout *layout = new QHBoxLayout;
layout->addWidget(m_metaDataFields[key]);
layout->addWidget(openCoverArt);
metaDataLayout->addRow(label, layout);
- }
- else {
+ } else {
if (key == QMediaMetaData::Title)
m_metaDataFields[key]->setText(tr("Qt Camera Example"));
else if (key == QMediaMetaData::Author)
@@ -52,8 +58,7 @@ MetaDataDialog::MetaDataDialog(QWidget *parent)
this->setLayout(dialogLayout);
this->layout()->addWidget(scrollArea);
- auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok
- | QDialogButtonBox::Cancel);
+ auto buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
this->layout()->addWidget(buttonBox);
this->setWindowTitle(tr("Set Metadata"));
@@ -65,16 +70,16 @@ MetaDataDialog::MetaDataDialog(QWidget *parent)
void MetaDataDialog::openThumbnailImage()
{
- QString fileName = QFileDialog::getOpenFileName(this,
- tr("Open Image"), QDir::currentPath(), tr("Image Files (*.png *.jpg *.bmp)"));
+ QString fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), QDir::currentPath(),
+ tr("Image Files (*.png *.jpg *.bmp)"));
if (!fileName.isEmpty())
m_metaDataFields[QMediaMetaData::ThumbnailImage]->setText(fileName);
}
void MetaDataDialog::openCoverArtImage()
{
- QString fileName = QFileDialog::getOpenFileName(this,
- tr("Open Image"), QDir::currentPath(), tr("Image Files (*.png *.jpg *.bmp)"));
+ QString fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), QDir::currentPath(),
+ tr("Image Files (*.png *.jpg *.bmp)"));
if (!fileName.isEmpty())
m_metaDataFields[QMediaMetaData::CoverArtImage]->setText(fileName);
}
diff --git a/examples/multimedia/camera/videosettings.cpp b/examples/multimedia/camera/videosettings.cpp
index b2c62bafc..d3f59fa2c 100644
--- a/examples/multimedia/camera/videosettings.cpp
+++ b/examples/multimedia/camera/videosettings.cpp
@@ -3,21 +3,21 @@
#include "videosettings.h"
#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS)
-#include "ui_videosettings_mobile.h"
+# include "ui_videosettings_mobile.h"
#else
-#include "ui_videosettings.h"
+# include "ui_videosettings.h"
#endif
+#include <QAudioDevice>
+#include <QAudioInput>
+#include <QCamera>
+#include <QCameraDevice>
#include <QComboBox>
-#include <QSpinBox>
#include <QDebug>
-#include <QMediaRecorder>
-#include <QMediaFormat>
-#include <QAudioDevice>
#include <QMediaCaptureSession>
-#include <QCameraDevice>
-#include <QCamera>
-#include <QAudioInput>
+#include <QMediaFormat>
+#include <QMediaRecorder>
+#include <QSpinBox>
QString toFormattedString(const QCameraFormat &cameraFormat)
{
@@ -41,13 +41,11 @@ QString toFormattedString(const QCameraFormat &cameraFormat)
}
VideoSettings::VideoSettings(QMediaRecorder *mediaRecorder, QWidget *parent)
- : QDialog(parent),
- ui(new Ui::VideoSettingsUi),
- mediaRecorder(mediaRecorder)
+ : QDialog(parent), ui(new Ui::VideoSettingsUi), mediaRecorder(mediaRecorder)
{
ui->setupUi(this);
- //sample rate:
+ // sample rate:
auto audioDevice = mediaRecorder->captureSession()->audioInput()->device();
ui->audioSampleRateBox->setRange(audioDevice.minimumSampleRate(),
audioDevice.maximumSampleRate());
@@ -77,9 +75,12 @@ VideoSettings::VideoSettings(QMediaRecorder *mediaRecorder, QWidget *parent)
connect(ui->fpsSpinBox, &QSpinBox::valueChanged, ui->fpsSlider, &QSlider::setValue);
updateFormatsAndCodecs();
- connect(ui->audioCodecBox, &QComboBox::currentIndexChanged, this, &VideoSettings::updateFormatsAndCodecs);
- connect(ui->videoCodecBox, &QComboBox::currentIndexChanged, this, &VideoSettings::updateFormatsAndCodecs);
- connect(ui->containerFormatBox, &QComboBox::currentIndexChanged, this, &VideoSettings::updateFormatsAndCodecs);
+ connect(ui->audioCodecBox, &QComboBox::currentIndexChanged, this,
+ &VideoSettings::updateFormatsAndCodecs);
+ connect(ui->videoCodecBox, &QComboBox::currentIndexChanged, this,
+ &VideoSettings::updateFormatsAndCodecs);
+ connect(ui->containerFormatBox, &QComboBox::currentIndexChanged, this,
+ &VideoSettings::updateFormatsAndCodecs);
ui->qualitySlider->setRange(0, int(QMediaRecorder::VeryHighQuality));
@@ -149,36 +150,41 @@ void VideoSettings::updateFormatsAndCodecs()
int currentIndex = 0;
ui->audioCodecBox->clear();
- ui->audioCodecBox->addItem(tr("Default audio codec"), QVariant::fromValue(QMediaFormat::AudioCodec::Unspecified));
+ ui->audioCodecBox->addItem(tr("Default audio codec"),
+ QVariant::fromValue(QMediaFormat::AudioCodec::Unspecified));
for (auto codec : format.supportedAudioCodecs(QMediaFormat::Encode)) {
if (codec == format.audioCodec())
currentIndex = ui->audioCodecBox->count();
- ui->audioCodecBox->addItem(QMediaFormat::audioCodecDescription(codec), QVariant::fromValue(codec));
+ ui->audioCodecBox->addItem(QMediaFormat::audioCodecDescription(codec),
+ QVariant::fromValue(codec));
}
ui->audioCodecBox->setCurrentIndex(currentIndex);
currentIndex = 0;
ui->videoCodecBox->clear();
- ui->videoCodecBox->addItem(tr("Default video codec"), QVariant::fromValue(QMediaFormat::VideoCodec::Unspecified));
+ ui->videoCodecBox->addItem(tr("Default video codec"),
+ QVariant::fromValue(QMediaFormat::VideoCodec::Unspecified));
for (auto codec : format.supportedVideoCodecs(QMediaFormat::Encode)) {
if (codec == format.videoCodec())
currentIndex = ui->videoCodecBox->count();
- ui->videoCodecBox->addItem(QMediaFormat::videoCodecDescription(codec), QVariant::fromValue(codec));
+ ui->videoCodecBox->addItem(QMediaFormat::videoCodecDescription(codec),
+ QVariant::fromValue(codec));
}
ui->videoCodecBox->setCurrentIndex(currentIndex);
currentIndex = 0;
ui->containerFormatBox->clear();
- ui->containerFormatBox->addItem(tr("Default file format"), QVariant::fromValue(QMediaFormat::UnspecifiedFormat));
+ ui->containerFormatBox->addItem(tr("Default file format"),
+ QVariant::fromValue(QMediaFormat::UnspecifiedFormat));
for (auto container : format.supportedFileFormats(QMediaFormat::Encode)) {
if (container == format.fileFormat())
currentIndex = ui->containerFormatBox->count();
- ui->containerFormatBox->addItem(QMediaFormat::fileFormatDescription(container), QVariant::fromValue(container));
+ ui->containerFormatBox->addItem(QMediaFormat::fileFormatDescription(container),
+ QVariant::fromValue(container));
}
ui->containerFormatBox->setCurrentIndex(currentIndex);
m_updatingFormats = false;
-
}
QVariant VideoSettings::boxValue(const QComboBox *box) const
diff --git a/examples/multimedia/camera/videosettings.h b/examples/multimedia/camera/videosettings.h
index 2f356d90f..a9e7b4c0a 100644
--- a/examples/multimedia/camera/videosettings.h
+++ b/examples/multimedia/camera/videosettings.h
@@ -9,7 +9,9 @@
QT_BEGIN_NAMESPACE
class QComboBox;
class QMediaRecorder;
-namespace Ui { class VideoSettingsUi; }
+namespace Ui {
+class VideoSettingsUi;
+}
QT_END_NAMESPACE
class VideoSettings : public QDialog
@@ -27,7 +29,7 @@ protected:
void changeEvent(QEvent *e) override;
private:
- QVariant boxValue(const QComboBox*) const;
+ QVariant boxValue(const QComboBox *) const;
void selectComboBoxItem(QComboBox *box, const QVariant &value);
Ui::VideoSettingsUi *ui;
diff --git a/examples/multimedia/declarative-camera/qmlcamera.cpp b/examples/multimedia/declarative-camera/qmlcamera.cpp
index 46e333a68..347b7684f 100644
--- a/examples/multimedia/declarative-camera/qmlcamera.cpp
+++ b/examples/multimedia/declarative-camera/qmlcamera.cpp
@@ -2,18 +2,17 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <QGuiApplication>
-#include <QQuickView>
#include <QQmlEngine>
+#include <QQuickView>
-int main(int argc, char* argv[])
+int main(int argc, char *argv[])
{
- QGuiApplication app(argc,argv);
+ QGuiApplication app(argc, argv);
QQuickView view;
view.setResizeMode(QQuickView::SizeRootObjectToView);
// Qt.quit() called in embedded .qml by default only emits
// quit() signal, so do this (optionally use Qt.exit()).
- QObject::connect(view.engine(), &QQmlEngine::quit,
- qApp, &QGuiApplication::quit);
+ QObject::connect(view.engine(), &QQmlEngine::quit, qApp, &QGuiApplication::quit);
view.setSource(QUrl("qrc:///declarative-camera.qml"));
view.resize(800, 480);
view.show();
diff --git a/examples/multimedia/devices/main.cpp b/examples/multimedia/devices/main.cpp
index 7a1854ede..6c7f46a0b 100644
--- a/examples/multimedia/devices/main.cpp
+++ b/examples/multimedia/devices/main.cpp
@@ -1,13 +1,12 @@
// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <QTextStream>
-#include <QString>
-#include <QAudioFormat>
-
#include <QAudioDevice>
+#include <QAudioFormat>
#include <QCameraDevice>
-#include <qmediadevices.h>
+#include <QMediaDevices>
+#include <QString>
+#include <QTextStream>
#include <stdio.h>
@@ -30,12 +29,12 @@ QString formatToString(QAudioFormat::SampleFormat sampleFormat)
QString positionToString(QCameraDevice::Position position)
{
switch (position) {
- case QCameraDevice::BackFace:
- return "BackFace";
- case QCameraDevice::FrontFace:
- return "FrontFace";
- default:
- return "Unspecified";
+ case QCameraDevice::BackFace:
+ return "BackFace";
+ case QCameraDevice::FrontFace:
+ return "FrontFace";
+ default:
+ return "Unspecified";
}
}
@@ -48,26 +47,28 @@ void printAudioDeviceInfo(QTextStream &out, const QAudioDevice &deviceInfo)
out.setFieldAlignment(QTextStream::AlignLeft);
out << "Name: " << deviceInfo.description() << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
- out << "Id: " << QString::fromLatin1(deviceInfo.id()) << qSetFieldWidth(0) << Qt::endl;
+ out << "Id: " << QString::fromLatin1(deviceInfo.id()) << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
- out << "Default: " << isDefault << qSetFieldWidth(0) << Qt::endl;
+ out << "Default: " << isDefault << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
- out << "Preferred Format: " << formatToString(preferredFormat.sampleFormat()) << qSetFieldWidth(0) << Qt::endl;
+ out << "Preferred Format: " << formatToString(preferredFormat.sampleFormat())
+ << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
out << "Preferred Rate: " << preferredFormat.sampleRate() << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
- out << "Preferred Channels: " << preferredFormat.channelCount() << qSetFieldWidth(0) << Qt::endl;
+ out << "Preferred Channels: " << preferredFormat.channelCount() << qSetFieldWidth(0)
+ << Qt::endl;
out.setFieldWidth(30);
out << "Supported Formats: ";
- for (auto &format: supportedFormats)
+ for (auto &format : supportedFormats)
out << qSetFieldWidth(0) << formatToString(format) << " ";
out << Qt::endl;
out.setFieldWidth(30);
out << "Supported Rates: " << qSetFieldWidth(0) << deviceInfo.minimumSampleRate() << " - "
- << deviceInfo.maximumSampleRate() << Qt::endl;
+ << deviceInfo.maximumSampleRate() << Qt::endl;
out.setFieldWidth(30);
out << "Supported Channels: " << qSetFieldWidth(0) << deviceInfo.minimumChannelCount() << " - "
- << deviceInfo.maximumChannelCount() << Qt::endl;
+ << deviceInfo.maximumChannelCount() << Qt::endl;
out << Qt::endl;
}
@@ -83,33 +84,33 @@ void printVideoDeviceInfo(QTextStream &out, const QCameraDevice &cameraDevice)
out.setFieldAlignment(QTextStream::AlignLeft);
out << "Name: " << cameraDevice.description() << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
- out << "Id: " << QString::fromLatin1(cameraDevice.id()) << qSetFieldWidth(0) << Qt::endl;
+ out << "Id: " << QString::fromLatin1(cameraDevice.id()) << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
- out << "Default: " << isDefault << qSetFieldWidth(0) << Qt::endl;
+ out << "Default: " << isDefault << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
out << "Position: " << positionToString(position) << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
out << "Photo Resolutions: ";
- for (auto &resolution: photoResolutions) {
+ for (auto &resolution : photoResolutions) {
QString s = QString("%1x%2").arg(resolution.width()).arg(resolution.height());
out << qSetFieldWidth(0) << s << ", ";
}
out.setFieldWidth(10);
out << Qt::endl << Qt::endl;
out << "Supported Video Formats: " << qSetFieldWidth(0) << Qt::endl;
- for (auto &format: videoFormats) {
+ for (auto &format : videoFormats) {
out.setFieldWidth(30);
- QString s = QString("%1x%2").arg(format.resolution().width()).arg(format.resolution().height());
+ QString s =
+ QString("%1x%2").arg(format.resolution().width()).arg(format.resolution().height());
out << "Resolution: " << s << qSetFieldWidth(0) << Qt::endl;
out.setFieldWidth(30);
- out << "Frame Rate: " << qSetFieldWidth(0) << "Min:" << format.minFrameRate() << " Max:" << format.maxFrameRate() << Qt::endl;
+ out << "Frame Rate: " << qSetFieldWidth(0) << "Min:" << format.minFrameRate()
+ << " Max:" << format.maxFrameRate() << Qt::endl;
}
out << Qt::endl;
-
}
-
int main(int argc, char *argv[])
{
Q_UNUSED(argc);
@@ -122,10 +123,10 @@ int main(int argc, char *argv[])
out << "Audio devices detected: " << Qt::endl;
out << Qt::endl << "Input" << Qt::endl;
- for (auto &deviceInfo: audioInputDevices)
+ for (auto &deviceInfo : audioInputDevices)
printAudioDeviceInfo(out, deviceInfo);
out << Qt::endl << "Output" << Qt::endl;
- for (auto &deviceInfo: audioOutputDevices)
+ for (auto &deviceInfo : audioOutputDevices)
printAudioDeviceInfo(out, deviceInfo);
out << Qt::endl << "Video devices detected: " << Qt::endl;
diff --git a/examples/multimedia/player/main.cpp b/examples/multimedia/player/main.cpp
index befe1d561..3f9993570 100644
--- a/examples/multimedia/player/main.cpp
+++ b/examples/multimedia/player/main.cpp
@@ -4,8 +4,8 @@
#include "player.h"
#include <QApplication>
-#include <QCommandLineParser>
#include <QCommandLineOption>
+#include <QCommandLineParser>
#include <QDir>
#include <QUrl>
@@ -27,7 +27,7 @@ int main(int argc, char *argv[])
if (!parser.positionalArguments().isEmpty() && player.isPlayerAvailable()) {
QList<QUrl> urls;
- for (auto &a: parser.positionalArguments())
+ for (auto &a : parser.positionalArguments())
urls.append(QUrl::fromUserInput(a, QDir::currentPath()));
player.addToPlaylist(urls);
}
diff --git a/examples/multimedia/player/player.cpp b/examples/multimedia/player/player.cpp
index 22146d7e9..5028cead1 100644
--- a/examples/multimedia/player/player.cpp
+++ b/examples/multimedia/player/player.cpp
@@ -2,45 +2,59 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "player.h"
-
#include "playercontrols.h"
#include "playlistmodel.h"
#include "qmediaplaylist.h"
#include "videowidget.h"
-#include <QMediaMetaData>
-#include <QMediaDevices>
+#include <QApplication>
#include <QAudioDevice>
#include <QAudioOutput>
+#include <QBoxLayout>
+#include <QComboBox>
+#include <QDir>
+#include <QFileDialog>
+#include <QHBoxLayout>
+#include <QLabel>
+#include <QLineEdit>
+#include <QListView>
+#include <QMediaDevices>
#include <QMediaFormat>
-#include <QtWidgets>
-
-Player::Player(QWidget *parent)
- : QWidget(parent)
+#include <QMediaMetaData>
+#include <QMessageBox>
+#include <QPushButton>
+#include <QSlider>
+#include <QStandardPaths>
+#include <QStatusBar>
+#include <QVBoxLayout>
+
+Player::Player(QWidget *parent) : QWidget(parent)
{
-//! [create-objs]
+ //! [create-objs]
m_player = new QMediaPlayer(this);
m_audioOutput = new QAudioOutput(this);
m_player->setAudioOutput(m_audioOutput);
-//! [create-objs]
+ //! [create-objs]
connect(m_player, &QMediaPlayer::durationChanged, this, &Player::durationChanged);
connect(m_player, &QMediaPlayer::positionChanged, this, &Player::positionChanged);
- connect(m_player, QOverload<>::of(&QMediaPlayer::metaDataChanged), this, &Player::metaDataChanged);
+ connect(m_player, QOverload<>::of(&QMediaPlayer::metaDataChanged), this,
+ &Player::metaDataChanged);
connect(m_player, &QMediaPlayer::mediaStatusChanged, this, &Player::statusChanged);
connect(m_player, &QMediaPlayer::bufferProgressChanged, this, &Player::bufferingProgress);
connect(m_player, &QMediaPlayer::hasVideoChanged, this, &Player::videoAvailableChanged);
connect(m_player, &QMediaPlayer::errorChanged, this, &Player::displayErrorMessage);
connect(m_player, &QMediaPlayer::tracksChanged, this, &Player::tracksChanged);
-//! [2]
+ //! [2]
m_videoWidget = new VideoWidget(this);
m_videoWidget->resize(1280, 720);
m_player->setVideoOutput(m_videoWidget);
m_playlistModel = new PlaylistModel(this);
m_playlist = m_playlistModel->playlist();
-//! [2]
- connect(m_playlist, &QMediaPlaylist::currentIndexChanged, this, &Player::playlistPositionChanged);
+ //! [2]
+ connect(m_playlist, &QMediaPlaylist::currentIndexChanged, this,
+ &Player::playlistPositionChanged);
// player layout
QBoxLayout *layout = new QVBoxLayout(this);
@@ -108,7 +122,7 @@ Player::Player(QWidget *parent)
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
m_audioOutputCombo = new QComboBox(this);
m_audioOutputCombo->addItem(QString::fromUtf8("Default"), QVariant::fromValue(QAudioDevice()));
- for (auto &deviceInfo: QMediaDevices::audioOutputs())
+ for (auto &deviceInfo : QMediaDevices::audioOutputs())
m_audioOutputCombo->addItem(deviceInfo.description(), QVariant::fromValue(deviceInfo));
connect(m_audioOutputCombo, QOverload<int>::of(&QComboBox::activated), this,
&Player::audioOutputChanged);
@@ -180,7 +194,7 @@ Player::Player(QWidget *parent)
if (!isPlayerAvailable()) {
QMessageBox::warning(this, tr("Service not available"),
- tr("The QMediaPlayer object does not have a valid service.\n"\
+ tr("The QMediaPlayer object does not have a valid service.\n"
"Please check the media service plugins are installed."));
controls->setEnabled(false);
@@ -203,7 +217,8 @@ void Player::open()
QFileDialog fileDialog(this);
fileDialog.setAcceptMode(QFileDialog::AcceptOpen);
fileDialog.setWindowTitle(tr("Open Files"));
- fileDialog.setDirectory(QStandardPaths::standardLocations(QStandardPaths::MoviesLocation).value(0, QDir::homePath()));
+ fileDialog.setDirectory(QStandardPaths::standardLocations(QStandardPaths::MoviesLocation)
+ .value(0, QDir::homePath()));
if (fileDialog.exec() == QDialog::Accepted)
addToPlaylist(fileDialog.selectedUrls());
}
@@ -213,13 +228,14 @@ static bool isPlaylist(const QUrl &url) // Check for ".m3u" playlists.
if (!url.isLocalFile())
return false;
const QFileInfo fileInfo(url.toLocalFile());
- return fileInfo.exists() && !fileInfo.suffix().compare(QLatin1String("m3u"), Qt::CaseInsensitive);
+ return fileInfo.exists()
+ && !fileInfo.suffix().compare(QLatin1String("m3u"), Qt::CaseInsensitive);
}
void Player::addToPlaylist(const QList<QUrl> &urls)
{
const int previousMediaCount = m_playlist->mediaCount();
- for (auto &url: urls) {
+ for (auto &url : urls) {
if (isPlaylist(url))
m_playlist->load(url);
else
@@ -251,14 +267,14 @@ void Player::metaDataChanged()
{
auto metaData = m_player->metaData();
setTrackInfo(QString("%1 - %2")
- .arg(metaData.value(QMediaMetaData::AlbumArtist).toString())
- .arg(metaData.value(QMediaMetaData::Title).toString()));
+ .arg(metaData.value(QMediaMetaData::AlbumArtist).toString())
+ .arg(metaData.value(QMediaMetaData::Title).toString()));
#if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS)
for (int i = 0; i < QMediaMetaData::NumMetaData; i++) {
- if (QLineEdit* field = qobject_cast<QLineEdit*>(m_metaDataFields[i]))
+ if (QLineEdit *field = qobject_cast<QLineEdit *>(m_metaDataFields[i]))
field->clear();
- else if (QLabel* label = qobject_cast<QLabel*>(m_metaDataFields[i]))
+ else if (QLabel *label = qobject_cast<QLabel *>(m_metaDataFields[i]))
label->clear();
m_metaDataFields[i]->setDisabled(true);
m_metaDataLabels[i]->setDisabled(true);
@@ -268,17 +284,17 @@ void Player::metaDataChanged()
int i = int(key);
if (key == QMediaMetaData::CoverArtImage) {
QVariant v = metaData.value(key);
- if (QLabel *cover = qobject_cast<QLabel*>(m_metaDataFields[key])) {
+ if (QLabel *cover = qobject_cast<QLabel *>(m_metaDataFields[key])) {
QImage coverImage = v.value<QImage>();
cover->setPixmap(QPixmap::fromImage(coverImage));
}
} else if (key == QMediaMetaData::ThumbnailImage) {
QVariant v = metaData.value(key);
- if (QLabel *thumbnail = qobject_cast<QLabel*>(m_metaDataFields[key])) {
+ if (QLabel *thumbnail = qobject_cast<QLabel *>(m_metaDataFields[key])) {
QImage thumbnailImage = v.value<QImage>();
thumbnail->setPixmap(QPixmap::fromImage(thumbnailImage));
}
- } else if (QLineEdit *field = qobject_cast<QLineEdit*>(m_metaDataFields[key])) {
+ } else if (QLineEdit *field = qobject_cast<QLineEdit *>(m_metaDataFields[key])) {
QString stringValue = metaData.stringValue(key);
field->setText(stringValue);
}
@@ -296,7 +312,7 @@ QString Player::trackName(const QMediaMetaData &metaData, int index)
if (title.isEmpty()) {
if (lang == QLocale::Language::AnyLanguage)
- name = tr("Track %1").arg(index+1);
+ name = tr("Track %1").arg(index + 1);
else
name = QLocale::languageToString(lang);
} else {
@@ -378,10 +394,10 @@ void Player::statusChanged(QMediaPlayer::MediaStatus status)
break;
case QMediaPlayer::BufferingMedia:
case QMediaPlayer::BufferedMedia:
- setStatusInfo(tr("Buffering %1%").arg(qRound(m_player->bufferProgress()*100.)));
+ setStatusInfo(tr("Buffering %1%").arg(qRound(m_player->bufferProgress() * 100.)));
break;
case QMediaPlayer::StalledMedia:
- setStatusInfo(tr("Stalled %1%").arg(qRound(m_player->bufferProgress()*100.)));
+ setStatusInfo(tr("Stalled %1%").arg(qRound(m_player->bufferProgress() * 100.)));
break;
case QMediaPlayer::EndOfMedia:
QApplication::alert(this);
@@ -396,9 +412,8 @@ void Player::statusChanged(QMediaPlayer::MediaStatus status)
void Player::handleCursor(QMediaPlayer::MediaStatus status)
{
#ifndef QT_NO_CURSOR
- if (status == QMediaPlayer::LoadingMedia ||
- status == QMediaPlayer::BufferingMedia ||
- status == QMediaPlayer::StalledMedia)
+ if (status == QMediaPlayer::LoadingMedia || status == QMediaPlayer::BufferingMedia
+ || status == QMediaPlayer::StalledMedia)
setCursor(QCursor(Qt::BusyCursor));
else
unsetCursor();
@@ -408,20 +423,24 @@ void Player::handleCursor(QMediaPlayer::MediaStatus status)
void Player::bufferingProgress(float progress)
{
if (m_player->mediaStatus() == QMediaPlayer::StalledMedia)
- setStatusInfo(tr("Stalled %1%").arg(qRound(progress*100.)));
+ setStatusInfo(tr("Stalled %1%").arg(qRound(progress * 100.)));
else
- setStatusInfo(tr("Buffering %1%").arg(qRound(progress*100.)));
+ setStatusInfo(tr("Buffering %1%").arg(qRound(progress * 100.)));
}
void Player::videoAvailableChanged(bool available)
{
if (!available) {
- disconnect(m_fullScreenButton, &QPushButton::clicked, m_videoWidget, &QVideoWidget::setFullScreen);
- disconnect(m_videoWidget, &QVideoWidget::fullScreenChanged, m_fullScreenButton, &QPushButton::setChecked);
+ disconnect(m_fullScreenButton, &QPushButton::clicked, m_videoWidget,
+ &QVideoWidget::setFullScreen);
+ disconnect(m_videoWidget, &QVideoWidget::fullScreenChanged, m_fullScreenButton,
+ &QPushButton::setChecked);
m_videoWidget->setFullScreen(false);
} else {
- connect(m_fullScreenButton, &QPushButton::clicked, m_videoWidget, &QVideoWidget::setFullScreen);
- connect(m_videoWidget, &QVideoWidget::fullScreenChanged, m_fullScreenButton, &QPushButton::setChecked);
+ connect(m_fullScreenButton, &QPushButton::clicked, m_videoWidget,
+ &QVideoWidget::setFullScreen);
+ connect(m_videoWidget, &QVideoWidget::fullScreenChanged, m_fullScreenButton,
+ &QPushButton::setChecked);
if (m_fullScreenButton->isChecked())
m_videoWidget->setFullScreen(true);
@@ -487,10 +506,10 @@ void Player::updateDurationInfo(qint64 currentInfo)
{
QString tStr;
if (currentInfo || m_duration) {
- QTime currentTime((currentInfo / 3600) % 60, (currentInfo / 60) % 60,
- currentInfo % 60, (currentInfo * 1000) % 1000);
- QTime totalTime((m_duration / 3600) % 60, (m_duration / 60) % 60,
- m_duration % 60, (m_duration * 1000) % 1000);
+ QTime currentTime((currentInfo / 3600) % 60, (currentInfo / 60) % 60, currentInfo % 60,
+ (currentInfo * 1000) % 1000);
+ QTime totalTime((m_duration / 3600) % 60, (m_duration / 60) % 60, m_duration % 60,
+ (m_duration * 1000) % 1000);
QString format = "mm:ss";
if (m_duration > 3600)
format = "hh:mm:ss";
diff --git a/examples/multimedia/player/player.h b/examples/multimedia/player/player.h
index 1d328d307..66b1b8fab 100644
--- a/examples/multimedia/player/player.h
+++ b/examples/multimedia/player/player.h
@@ -6,9 +6,9 @@
#include "qmediaplaylist.h"
-#include <QWidget>
-#include <QMediaPlayer>
#include <QMediaMetaData>
+#include <QMediaPlayer>
+#include <QWidget>
QT_BEGIN_NAMESPACE
class QAbstractItemView;
diff --git a/examples/multimedia/player/playercontrols.cpp b/examples/multimedia/player/playercontrols.cpp
index 0a6827326..ff4ec3c0d 100644
--- a/examples/multimedia/player/playercontrols.cpp
+++ b/examples/multimedia/player/playercontrols.cpp
@@ -3,15 +3,14 @@
#include "playercontrols.h"
+#include <QAudio>
#include <QBoxLayout>
+#include <QComboBox>
#include <QSlider>
#include <QStyle>
#include <QToolButton>
-#include <QComboBox>
-#include <QAudio>
-PlayerControls::PlayerControls(QWidget *parent)
- : QWidget(parent)
+PlayerControls::PlayerControls(QWidget *parent) : QWidget(parent)
{
m_playButton = new QToolButton(this);
m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
@@ -42,7 +41,8 @@ PlayerControls::PlayerControls(QWidget *parent)
m_volumeSlider = new QSlider(Qt::Horizontal, this);
m_volumeSlider->setRange(0, 100);
- connect(m_volumeSlider, &QSlider::valueChanged, this, &PlayerControls::onVolumeSliderValueChanged);
+ connect(m_volumeSlider, &QSlider::valueChanged, this,
+ &PlayerControls::onVolumeSliderValueChanged);
m_rateBox = new QComboBox(this);
m_rateBox->addItem("0.5x", QVariant(0.5));
@@ -50,7 +50,8 @@ PlayerControls::PlayerControls(QWidget *parent)
m_rateBox->addItem("2.0x", QVariant(2.0));
m_rateBox->setCurrentIndex(1);
- connect(m_rateBox, QOverload<int>::of(&QComboBox::activated), this, &PlayerControls::updateRate);
+ connect(m_rateBox, QOverload<int>::of(&QComboBox::activated), this,
+ &PlayerControls::updateRate);
QBoxLayout *layout = new QHBoxLayout;
layout->setContentsMargins(0, 0, 0, 0);
@@ -93,17 +94,16 @@ void PlayerControls::setState(QMediaPlayer::PlaybackState state)
float PlayerControls::volume() const
{
- qreal linearVolume = QAudio::convertVolume(m_volumeSlider->value() / qreal(100),
- QAudio::LogarithmicVolumeScale,
- QAudio::LinearVolumeScale);
+ qreal linearVolume =
+ QAudio::convertVolume(m_volumeSlider->value() / qreal(100),
+ QAudio::LogarithmicVolumeScale, QAudio::LinearVolumeScale);
return linearVolume;
}
void PlayerControls::setVolume(float volume)
{
- qreal logarithmicVolume = QAudio::convertVolume(volume,
- QAudio::LinearVolumeScale,
+ qreal logarithmicVolume = QAudio::convertVolume(volume, QAudio::LinearVolumeScale,
QAudio::LogarithmicVolumeScale);
m_volumeSlider->setValue(qRound(logarithmicVolume * 100));
@@ -119,9 +119,8 @@ void PlayerControls::setMuted(bool muted)
if (muted != m_playerMuted) {
m_playerMuted = muted;
- m_muteButton->setIcon(style()->standardIcon(muted
- ? QStyle::SP_MediaVolumeMuted
- : QStyle::SP_MediaVolume));
+ m_muteButton->setIcon(style()->standardIcon(muted ? QStyle::SP_MediaVolumeMuted
+ : QStyle::SP_MediaVolume));
}
}
diff --git a/examples/multimedia/player/playlistmodel.cpp b/examples/multimedia/player/playlistmodel.cpp
index 871aed0b8..ad5cec9f4 100644
--- a/examples/multimedia/player/playlistmodel.cpp
+++ b/examples/multimedia/player/playlistmodel.cpp
@@ -7,13 +7,15 @@
#include <QFileInfo>
#include <QUrl>
-PlaylistModel::PlaylistModel(QObject *parent)
- : QAbstractItemModel(parent)
+PlaylistModel::PlaylistModel(QObject *parent) : QAbstractItemModel(parent)
{
m_playlist.reset(new QMediaPlaylist);
- connect(m_playlist.data(), &QMediaPlaylist::mediaAboutToBeInserted, this, &PlaylistModel::beginInsertItems);
- connect(m_playlist.data(), &QMediaPlaylist::mediaInserted, this, &PlaylistModel::endInsertItems);
- connect(m_playlist.data(), &QMediaPlaylist::mediaAboutToBeRemoved, this, &PlaylistModel::beginRemoveItems);
+ connect(m_playlist.data(), &QMediaPlaylist::mediaAboutToBeInserted, this,
+ &PlaylistModel::beginInsertItems);
+ connect(m_playlist.data(), &QMediaPlaylist::mediaInserted, this,
+ &PlaylistModel::endInsertItems);
+ connect(m_playlist.data(), &QMediaPlaylist::mediaAboutToBeRemoved, this,
+ &PlaylistModel::beginRemoveItems);
connect(m_playlist.data(), &QMediaPlaylist::mediaRemoved, this, &PlaylistModel::endRemoveItems);
connect(m_playlist.data(), &QMediaPlaylist::mediaChanged, this, &PlaylistModel::changeItems);
}
@@ -32,11 +34,10 @@ int PlaylistModel::columnCount(const QModelIndex &parent) const
QModelIndex PlaylistModel::index(int row, int column, const QModelIndex &parent) const
{
- return m_playlist && !parent.isValid()
- && row >= 0 && row < m_playlist->mediaCount()
- && column >= 0 && column < ColumnCount
- ? createIndex(row, column)
- : QModelIndex();
+ return m_playlist && !parent.isValid() && row >= 0 && row < m_playlist->mediaCount()
+ && column >= 0 && column < ColumnCount
+ ? createIndex(row, column)
+ : QModelIndex();
}
QModelIndex PlaylistModel::parent(const QModelIndex &child) const
@@ -98,5 +99,5 @@ void PlaylistModel::endRemoveItems()
void PlaylistModel::changeItems(int start, int end)
{
m_data.clear();
- emit dataChanged(index(start,0), index(end,ColumnCount));
+ emit dataChanged(index(start, 0), index(end, ColumnCount));
}
diff --git a/examples/multimedia/player/playlistmodel.h b/examples/multimedia/player/playlistmodel.h
index 6c20cc1d6..0c510f6e0 100644
--- a/examples/multimedia/player/playlistmodel.h
+++ b/examples/multimedia/player/playlistmodel.h
@@ -16,11 +16,7 @@ class PlaylistModel : public QAbstractItemModel
Q_OBJECT
public:
- enum Column
- {
- Title = 0,
- ColumnCount
- };
+ enum Column { Title = 0, ColumnCount };
explicit PlaylistModel(QObject *parent = nullptr);
~PlaylistModel();
@@ -28,14 +24,16 @@ public:
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
- QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const override;
+ QModelIndex index(int row, int column,
+ const QModelIndex &parent = QModelIndex()) const override;
QModelIndex parent(const QModelIndex &child) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
QMediaPlaylist *playlist() const;
- bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::DisplayRole) override;
+ bool setData(const QModelIndex &index, const QVariant &value,
+ int role = Qt::DisplayRole) override;
private slots:
void beginInsertItems(int start, int end);
diff --git a/examples/multimedia/player/qmediaplaylist.cpp b/examples/multimedia/player/qmediaplaylist.cpp
index 529720808..d4fa1f842 100644
--- a/examples/multimedia/player/qmediaplaylist.cpp
+++ b/examples/multimedia/player/qmediaplaylist.cpp
@@ -5,12 +5,11 @@
#include "qmediaplaylist_p.h"
#include "qplaylistfileparser_p.h"
-#include <QtCore/qlist.h>
-#include <QtCore/qfile.h>
-#include <QtCore/qurl.h>
-#include <QtCore/qcoreevent.h>
-#include <QtCore/qcoreapplication.h>
+#include <QCoreApplication>
+#include <QFile>
+#include <QList>
#include <QRandomGenerator>
+#include <QUrl>
QT_BEGIN_NAMESPACE
@@ -18,16 +17,13 @@ class QM3uPlaylistWriter
{
public:
QM3uPlaylistWriter(QIODevice *device)
- :m_device(device), m_textStream(new QTextStream(m_device))
+ : m_device(device), m_textStream(new QTextStream(m_device))
{
}
- ~QM3uPlaylistWriter()
- {
- delete m_textStream;
- }
+ ~QM3uPlaylistWriter() { delete m_textStream; }
- bool writeItem(const QUrl& item)
+ bool writeItem(const QUrl &item)
{
*m_textStream << item.toString() << Qt::endl;
return true;
@@ -38,7 +34,6 @@ private:
QTextStream *m_textStream;
};
-
int QMediaPlaylistPrivate::nextPosition(int steps) const
{
if (playlist.count() == 0)
@@ -117,7 +112,6 @@ int QMediaPlaylistPrivate::prevPosition(int steps) const
\sa QUrl
*/
-
/*!
\enum QMediaPlaylist::PlaybackMode
@@ -127,23 +121,21 @@ int QMediaPlaylistPrivate::prevPosition(int steps) const
\value CurrentItemInLoop The current item is played repeatedly in a loop.
- \value Sequential Playback starts from the current and moves through each successive item until the last is reached and then stops.
- The next item is a null item when the last one is currently playing.
+ \value Sequential Playback starts from the current and moves through each successive
+ item until the last is reached and then stops. The next item is a null item when the last one is
+ currently playing.
- \value Loop Playback restarts at the first item after the last has finished playing.
+ \value Loop Playback restarts at the first item after the last has finished
+ playing.
\value Random Play items in random order.
*/
-
-
/*!
Create a new playlist object with the given \a parent.
*/
-QMediaPlaylist::QMediaPlaylist(QObject *parent)
- : QObject(parent)
- , d_ptr(new QMediaPlaylistPrivate)
+QMediaPlaylist::QMediaPlaylist(QObject *parent) : QObject(parent), d_ptr(new QMediaPlaylistPrivate)
{
Q_D(QMediaPlaylist);
@@ -230,7 +222,6 @@ int QMediaPlaylist::previousIndex(int steps) const
return d_func()->prevPosition(steps);
}
-
/*!
Returns the number of items in the playlist.
@@ -344,8 +335,7 @@ bool QMediaPlaylist::insertMedia(int pos, const QList<QUrl> &items)
bool QMediaPlaylist::moveMedia(int from, int to)
{
Q_D(QMediaPlaylist);
- if (from < 0 || from > d->playlist.count() ||
- to < 0 || to > d->playlist.count())
+ if (from < 0 || from > d->playlist.count() || to < 0 || to > d->playlist.count())
return false;
d->playlist.move(from, to);
@@ -515,7 +505,8 @@ void QMediaPlaylist::shuffle()
current = d->playlist.takeAt(d->currentPos);
while (!d->playlist.isEmpty())
- playlist.append(d->playlist.takeAt(QRandomGenerator::global()->bounded(int(d->playlist.size()))));
+ playlist.append(
+ d->playlist.takeAt(QRandomGenerator::global()->bounded(int(d->playlist.size()))));
if (d->currentPos != -1)
playlist.insert(d->currentPos, current);
@@ -523,7 +514,6 @@ void QMediaPlaylist::shuffle()
emit mediaChanged(0, d->playlist.count());
}
-
/*!
Advance to the next media content in playlist.
*/
diff --git a/examples/multimedia/player/qmediaplaylist.h b/examples/multimedia/player/qmediaplaylist.h
index 94846d9b7..8342712d1 100644
--- a/examples/multimedia/player/qmediaplaylist.h
+++ b/examples/multimedia/player/qmediaplaylist.h
@@ -4,11 +4,9 @@
#ifndef QMEDIAPLAYLIST_H
#define QMEDIAPLAYLIST_H
-#include <QtCore/qobject.h>
-
-#include <QtMultimedia/qtmultimediaglobal.h>
-#include <QtMultimedia/qmediaenumdebug.h>
+#include <QObject>
+#include <qmediaenumdebug.h>
QT_BEGIN_NAMESPACE
@@ -16,7 +14,8 @@ class QMediaPlaylistPrivate;
class QMediaPlaylist : public QObject
{
Q_OBJECT
- Q_PROPERTY(QMediaPlaylist::PlaybackMode playbackMode READ playbackMode WRITE setPlaybackMode NOTIFY playbackModeChanged)
+ Q_PROPERTY(QMediaPlaylist::PlaybackMode playbackMode READ playbackMode WRITE setPlaybackMode
+ NOTIFY playbackModeChanged)
Q_PROPERTY(QUrl currentMedia READ currentMedia NOTIFY currentMediaChanged)
Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
@@ -61,7 +60,7 @@ public:
Error error() const;
QString errorString() const;
-public Q_SLOTS:
+public slots:
void shuffle();
void next();
@@ -69,10 +68,10 @@ public Q_SLOTS:
void setCurrentIndex(int index);
-Q_SIGNALS:
+signals:
void currentIndexChanged(int index);
void playbackModeChanged(QMediaPlaylist::PlaybackMode mode);
- void currentMediaChanged(const QUrl&);
+ void currentMediaChanged(const QUrl &);
void mediaAboutToBeInserted(int start, int end);
void mediaInserted(int start, int end);
@@ -93,4 +92,4 @@ QT_END_NAMESPACE
Q_MEDIA_ENUM_DEBUG(QMediaPlaylist, PlaybackMode)
Q_MEDIA_ENUM_DEBUG(QMediaPlaylist, Error)
-#endif // QMEDIAPLAYLIST_H
+#endif // QMEDIAPLAYLIST_H
diff --git a/examples/multimedia/player/qmediaplaylist_p.h b/examples/multimedia/player/qmediaplaylist_p.h
index b0a6609c7..bc1ec1c20 100644
--- a/examples/multimedia/player/qmediaplaylist_p.h
+++ b/examples/multimedia/player/qmediaplaylist_p.h
@@ -18,25 +18,21 @@
#include "qmediaplaylist.h"
#include "qplaylistfileparser_p.h"
-#include <QtCore/qdebug.h>
+#include <QDebug>
#ifdef Q_MOC_RUN
-# pragma Q_MOC_EXPAND_MACROS
+# pragma Q_MOC_EXPAND_MACROS
#endif
QT_BEGIN_NAMESPACE
-
class QMediaPlaylistControl;
class QMediaPlaylistPrivate
{
Q_DECLARE_PUBLIC(QMediaPlaylist)
public:
- QMediaPlaylistPrivate()
- : error(QMediaPlaylist::NoError)
- {
- }
+ QMediaPlaylistPrivate() : error(QMediaPlaylist::NoError) { }
virtual ~QMediaPlaylistPrivate()
{
@@ -62,13 +58,14 @@ public:
bool checkFormat(const char *format) const
{
QLatin1String f(format);
- QPlaylistFileParser::FileType type = format ? QPlaylistFileParser::UNKNOWN : QPlaylistFileParser::M3U8;
+ QPlaylistFileParser::FileType type =
+ format ? QPlaylistFileParser::UNKNOWN : QPlaylistFileParser::M3U8;
if (format) {
- if (f == QLatin1String("m3u") || f == QLatin1String("text/uri-list") ||
- f == QLatin1String("audio/x-mpegurl") || f == QLatin1String("audio/mpegurl"))
+ if (f == QLatin1String("m3u") || f == QLatin1String("text/uri-list")
+ || f == QLatin1String("audio/x-mpegurl") || f == QLatin1String("audio/mpegurl"))
type = QPlaylistFileParser::M3U;
- else if (f == QLatin1String("m3u8") || f == QLatin1String("application/x-mpegURL") ||
- f == QLatin1String("application/vnd.apple.mpegurl"))
+ else if (f == QLatin1String("m3u8") || f == QLatin1String("application/x-mpegURL")
+ || f == QLatin1String("application/vnd.apple.mpegurl"))
type = QPlaylistFileParser::M3U8;
}
@@ -88,7 +85,9 @@ public:
parser = new QPlaylistFileParser(q_ptr);
QObject::connect(parser, &QPlaylistFileParser::finished, [this]() { loadFinished(); });
QObject::connect(parser, &QPlaylistFileParser::error,
- [this](QMediaPlaylist::Error err, const QString& errorMsg) { loadFailed(err, errorMsg); });
+ [this](QMediaPlaylist::Error err, const QString &errorMsg) {
+ loadFailed(err, errorMsg);
+ });
}
int nextPosition(int steps) const;
@@ -108,5 +107,4 @@ public:
QT_END_NAMESPACE
-
#endif // QMEDIAPLAYLIST_P_H
diff --git a/examples/multimedia/player/qplaylistfileparser.cpp b/examples/multimedia/player/qplaylistfileparser.cpp
index 698f81ddc..7823f9907 100644
--- a/examples/multimedia/player/qplaylistfileparser.cpp
+++ b/examples/multimedia/player/qplaylistfileparser.cpp
@@ -1,15 +1,16 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#include "qplaylistfileparser_p.h"
-#include <qfileinfo.h>
-#include <QtCore/QDebug>
-#include <QtCore/qiodevice.h>
-#include <QtCore/qpointer.h>
-#include <QtNetwork/QNetworkReply>
-#include <QtNetwork/QNetworkRequest>
-#include "qmediaplayer.h"
#include "qmediametadata.h"
+#include "qmediaplayer.h"
+#include "qplaylistfileparser_p.h"
+
+#include <QDebug>
+#include <QFileInfo>
+#include <QIODevice>
+#include <QNetworkReply>
+#include <QNetworkRequest>
+#include <QPointer>
QT_BEGIN_NAMESPACE
@@ -18,14 +19,12 @@ namespace {
class ParserBase
{
public:
- explicit ParserBase(QPlaylistFileParser *parent)
- : m_parent(parent)
- , m_aborted(false)
+ explicit ParserBase(QPlaylistFileParser *parent) : m_parent(parent), m_aborted(false)
{
Q_ASSERT(m_parent);
}
- bool parseLine(int lineIndex, const QString& line, const QUrl& root)
+ bool parseLine(int lineIndex, const QString &line, const QUrl &root)
{
if (m_aborted)
return false;
@@ -38,7 +37,7 @@ public:
virtual ~ParserBase() = default;
protected:
- virtual bool parseLineImpl(int lineIndex, const QString& line, const QUrl& root) = 0;
+ virtual bool parseLineImpl(int lineIndex, const QString &line, const QUrl &root) = 0;
static QUrl expandToFullPath(const QUrl &root, const QString &line)
{
@@ -52,7 +51,8 @@ protected:
if (url.scheme().isEmpty()) {
// Resolve it relative to root
if (root.isLocalFile())
- return QUrl::fromUserInput(line, root.adjusted(QUrl::RemoveFilename).toLocalFile(), QUrl::AssumeLocalFile);
+ return QUrl::fromUserInput(line, root.adjusted(QUrl::RemoveFilename).toLocalFile(),
+ QUrl::AssumeLocalFile);
return root.resolved(url);
}
if (url.scheme().length() == 1)
@@ -62,8 +62,7 @@ protected:
return url;
}
- void newItemFound(const QVariant& content) { Q_EMIT m_parent->newItem(content); }
-
+ void newItemFound(const QVariant &content) { Q_EMIT m_parent->newItem(content); }
QPlaylistFileParser *m_parent;
bool m_aborted;
@@ -72,11 +71,7 @@ protected:
class M3UParser : public ParserBase
{
public:
- explicit M3UParser(QPlaylistFileParser *q)
- : ParserBase(q)
- , m_extendedFormat(false)
- {
- }
+ explicit M3UParser(QPlaylistFileParser *q) : ParserBase(q), m_extendedFormat(false) { }
/*
*
@@ -95,31 +90,41 @@ public:
C:\Documents and Settings\I\My Music\Greatest Hits\Example.ogg
*/
- bool parseLineImpl(int lineIndex, const QString& line, const QUrl& root) override
+ bool parseLineImpl(int lineIndex, const QString &line, const QUrl &root) override
{
- if (line[0] == u'#' ) {
+ if (line[0] == u'#') {
if (m_extendedFormat) {
if (line.startsWith(QLatin1String("#EXTINF:"))) {
m_extraInfo.clear();
int artistStart = line.indexOf(QLatin1String(","), 8);
bool ok = false;
- QStringView lineView { line };
- int length = lineView.mid(8, artistStart < 8 ? -1 : artistStart - 8).trimmed().toInt(&ok);
+ QStringView lineView{ line };
+ int length = lineView.mid(8, artistStart < 8 ? -1 : artistStart - 8)
+ .trimmed()
+ .toInt(&ok);
if (ok && length > 0) {
- //convert from second to milisecond
+ // convert from second to milisecond
m_extraInfo[QMediaMetaData::Duration] = QVariant(length * 1000);
}
if (artistStart > 0) {
int titleStart = getSplitIndex(line, artistStart);
if (titleStart > artistStart) {
- m_extraInfo[QMediaMetaData::Author] = lineView.mid(artistStart + 1,
- titleStart - artistStart - 1).trimmed().toString().
- replace(QLatin1String("--"), QLatin1String("-"));
- m_extraInfo[QMediaMetaData::Title] = lineView.mid(titleStart + 1).trimmed().toString().
- replace(QLatin1String("--"), QLatin1String("-"));
+ m_extraInfo[QMediaMetaData::Author] =
+ lineView.mid(artistStart + 1, titleStart - artistStart - 1)
+ .trimmed()
+ .toString()
+ .replace(QLatin1String("--"), QLatin1String("-"));
+ m_extraInfo[QMediaMetaData::Title] =
+ lineView.mid(titleStart + 1)
+ .trimmed()
+ .toString()
+ .replace(QLatin1String("--"), QLatin1String("-"));
} else {
- m_extraInfo[QMediaMetaData::Title] = lineView.mid(artistStart + 1).trimmed().toString().
- replace(QLatin1String("--"), QLatin1String("-"));
+ m_extraInfo[QMediaMetaData::Title] =
+ lineView.mid(artistStart + 1)
+ .trimmed()
+ .toString()
+ .replace(QLatin1String("--"), QLatin1String("-"));
}
}
}
@@ -137,11 +142,11 @@ public:
return true;
}
- int getSplitIndex(const QString& line, int startPos)
+ int getSplitIndex(const QString &line, int startPos)
{
if (startPos < 0)
startPos = 0;
- const QChar* buf = line.data();
+ const QChar *buf = line.data();
for (int i = startPos; i < line.length(); ++i) {
if (buf[i] == u'-') {
if (i == line.length() - 1)
@@ -155,56 +160,53 @@ public:
}
private:
- QMediaMetaData m_extraInfo;
- bool m_extendedFormat;
+ QMediaMetaData m_extraInfo;
+ bool m_extendedFormat;
};
class PLSParser : public ParserBase
{
public:
- explicit PLSParser(QPlaylistFileParser *q)
- : ParserBase(q)
- {
- }
+ explicit PLSParser(QPlaylistFileParser *q) : ParserBase(q) { }
-/*
- *
-The format is essentially that of an INI file structured as follows:
+ /*
+ *
+ The format is essentially that of an INI file structured as follows:
-Header
+ Header
- * [playlist] : This tag indicates that it is a Playlist File
+ * [playlist] : This tag indicates that it is a Playlist File
-Track Entry
-Assuming track entry #X
+ Track Entry
+ Assuming track entry #X
- * FileX : Variable defining location of stream.
- * TitleX : Defines track title.
- * LengthX : Length in seconds of track. Value of -1 indicates indefinite.
+ * FileX : Variable defining location of stream.
+ * TitleX : Defines track title.
+ * LengthX : Length in seconds of track. Value of -1 indicates indefinite.
-Footer
+ Footer
- * NumberOfEntries : This variable indicates the number of tracks.
- * Version : Playlist version. Currently only a value of 2 is valid.
+ * NumberOfEntries : This variable indicates the number of tracks.
+ * Version : Playlist version. Currently only a value of 2 is valid.
-[playlist]
+ [playlist]
-File1=Alternative\everclear - SMFTA.mp3
+ File1=Alternative\everclear - SMFTA.mp3
-Title1=Everclear - So Much For The Afterglow
+ Title1=Everclear - So Much For The Afterglow
-Length1=233
+ Length1=233
-File2=http://www.site.com:8000/listen.pls
+ File2=http://www.site.com:8000/listen.pls
-Title2=My Cool Stream
+ Title2=My Cool Stream
-Length5=-1
+ Length5=-1
-NumberOfEntries=2
+ NumberOfEntries=2
-Version=2
-*/
+ Version=2
+ */
bool parseLineImpl(int, const QString &line, const QUrl &root) override
{
// We ignore everything but 'File' entries, since that's the only thing we care about.
@@ -222,7 +224,8 @@ Version=2
return true;
}
- QString getValue(QStringView line) {
+ QString getValue(QStringView line)
+ {
int start = line.indexOf(u'=');
if (start < 0)
return QString();
@@ -238,13 +241,13 @@ class QPlaylistFileParserPrivate
Q_DECLARE_PUBLIC(QPlaylistFileParser)
public:
QPlaylistFileParserPrivate(QPlaylistFileParser *q)
- : q_ptr(q)
- , m_stream(nullptr)
- , m_type(QPlaylistFileParser::UNKNOWN)
- , m_scanIndex(0)
- , m_lineIndex(-1)
- , m_utf8(false)
- , m_aborted(false)
+ : q_ptr(q),
+ m_stream(nullptr),
+ m_type(QPlaylistFileParser::UNKNOWN),
+ m_scanIndex(0),
+ m_lineIndex(-1),
+ m_utf8(false),
+ m_aborted(false)
{
}
@@ -255,8 +258,8 @@ public:
QScopedPointer<QNetworkReply, QScopedPointerDeleteLater> m_source;
QScopedPointer<ParserBase> m_currentParser;
- QByteArray m_buffer;
- QUrl m_root;
+ QByteArray m_buffer;
+ QUrl m_root;
QNetworkAccessManager m_mgr;
QString m_mimeType;
QPlaylistFileParser *q_ptr;
@@ -268,7 +271,12 @@ public:
QUrl m_media;
QString m_mimeType;
[[nodiscard]] bool isValid() const { return m_stream || !m_media.isEmpty(); }
- void reset() { m_stream = nullptr; m_media = QUrl(); m_mimeType = QString(); }
+ void reset()
+ {
+ m_stream = nullptr;
+ m_media = QUrl();
+ m_mimeType = QString();
+ }
} m_pendingJob;
int m_scanIndex;
int m_lineIndex;
@@ -279,8 +287,8 @@ private:
bool processLine(int startIndex, int length);
};
-#define LINE_LIMIT 4096
-#define READ_LIMIT 64
+#define LINE_LIMIT 4096
+#define READ_LIMIT 64
bool QPlaylistFileParserPrivate::processLine(int startIndex, int length)
{
@@ -293,7 +301,9 @@ bool QPlaylistFileParserPrivate::processLine(int startIndex, int length)
QString mimeType;
if (m_source)
mimeType = m_source->header(QNetworkRequest::ContentTypeHeader).toString();
- m_type = QPlaylistFileParser::findPlaylistType(suffix, !mimeType.isEmpty() ? mimeType : m_mimeType, m_buffer.constData(), quint32(m_buffer.size()));
+ m_type = QPlaylistFileParser::findPlaylistType(
+ suffix, !mimeType.isEmpty() ? mimeType : m_mimeType, m_buffer.constData(),
+ quint32(m_buffer.size()));
switch (m_type) {
case QPlaylistFileParser::UNKNOWN:
@@ -334,8 +344,9 @@ void QPlaylistFileParserPrivate::handleData()
{
Q_Q(QPlaylistFileParser);
while (m_stream->bytesAvailable() && !m_aborted) {
- int expectedBytes = qMin(READ_LIMIT, int(qMin(m_stream->bytesAvailable(),
- qint64(LINE_LIMIT - m_buffer.size()))));
+ int expectedBytes =
+ qMin(READ_LIMIT,
+ int(qMin(m_stream->bytesAvailable(), qint64(LINE_LIMIT - m_buffer.size()))));
m_buffer.push_back(m_stream->read(expectedBytes));
int processedBytes = 0;
while (m_scanIndex < m_buffer.length() && !m_aborted) {
@@ -348,7 +359,7 @@ void QPlaylistFileParserPrivate::handleData()
}
processedBytes = m_scanIndex + 1;
if (!m_stream) {
- //some error happened, so exit parsing
+ // some error happened, so exit parsing
return;
}
}
@@ -359,13 +370,14 @@ void QPlaylistFileParserPrivate::handleData()
break;
if (m_buffer.length() - processedBytes >= LINE_LIMIT) {
- emit q->error(QMediaPlaylist::FormatError, QMediaPlaylist::tr("invalid line in playlist file"));
+ emit q->error(QMediaPlaylist::FormatError,
+ QMediaPlaylist::tr("invalid line in playlist file"));
q->abort();
break;
}
if (!m_stream->bytesAvailable() && (!m_source || !m_source->isFinished())) {
- //last line
+ // last line
processLine(processedBytes, -1);
break;
}
@@ -388,20 +400,20 @@ void QPlaylistFileParserPrivate::handleData()
}
QPlaylistFileParser::QPlaylistFileParser(QObject *parent)
- : QObject(parent)
- , d_ptr(new QPlaylistFileParserPrivate(this))
+ : QObject(parent), d_ptr(new QPlaylistFileParserPrivate(this))
{
-
}
QPlaylistFileParser::~QPlaylistFileParser() = default;
QPlaylistFileParser::FileType QPlaylistFileParser::findByMimeType(const QString &mime)
{
- if (mime == QLatin1String("text/uri-list") || mime == QLatin1String("audio/x-mpegurl") || mime == QLatin1String("audio/mpegurl"))
+ if (mime == QLatin1String("text/uri-list") || mime == QLatin1String("audio/x-mpegurl")
+ || mime == QLatin1String("audio/mpegurl"))
return QPlaylistFileParser::M3U;
- if (mime == QLatin1String("application/x-mpegURL") || mime == QLatin1String("application/vnd.apple.mpegurl"))
+ if (mime == QLatin1String("application/x-mpegURL")
+ || mime == QLatin1String("application/vnd.apple.mpegurl"))
return QPlaylistFileParser::M3U8;
if (mime == QLatin1String("audio/x-scpls"))
@@ -440,10 +452,9 @@ QPlaylistFileParser::FileType QPlaylistFileParser::findByDataHeader(const char *
return QPlaylistFileParser::UNKNOWN;
}
-QPlaylistFileParser::FileType QPlaylistFileParser::findPlaylistType(const QString& suffix,
- const QString& mime,
- const char *data,
- quint32 size)
+QPlaylistFileParser::FileType QPlaylistFileParser::findPlaylistType(const QString &suffix,
+ const QString &mime,
+ const char *data, quint32 size)
{
FileType dataHeaderType = findByDataHeader(data, size);
@@ -500,13 +511,14 @@ void QPlaylistFileParser::start(QIODevice *stream, const QString &mimeType)
d->handleData();
}
-void QPlaylistFileParser::start(const QUrl& request, const QString &mimeType)
+void QPlaylistFileParser::start(const QUrl &request, const QString &mimeType)
{
Q_D(QPlaylistFileParser);
const QUrl &url = request.url();
if (url.isLocalFile() && !QFile::exists(url.toLocalFile())) {
- emit error(QMediaPlaylist::AccessDeniedError, QString(QMediaPlaylist::tr("%1 does not exist")).arg(url.toString()));
+ emit error(QMediaPlaylist::AccessDeniedError,
+ QString(QMediaPlaylist::tr("%1 does not exist")).arg(url.toString()));
return;
}
@@ -523,7 +535,8 @@ void QPlaylistFileParser::start(const QUrl& request, const QString &mimeType)
d->m_stream = d->m_source.get();
connect(d->m_source.data(), SIGNAL(readyRead()), this, SLOT(handleData()));
connect(d->m_source.data(), SIGNAL(finished()), this, SLOT(handleData()));
- connect(d->m_source.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)), this, SLOT(handleError()));
+ connect(d->m_source.data(), SIGNAL(errorOccurred(QNetworkReply::NetworkError)), this,
+ SLOT(handleError()));
if (url.isLocalFile())
d->handleData();
@@ -554,7 +567,8 @@ void QPlaylistFileParserPrivate::handleParserFinished()
Q_Q(QPlaylistFileParser);
const bool isParserValid = !m_currentParser.isNull();
if (!isParserValid && !m_aborted)
- emit q->error(QMediaPlaylist::FormatNotSupportedError, QMediaPlaylist::tr("Empty file provided"));
+ emit q->error(QMediaPlaylist::FormatNotSupportedError,
+ QMediaPlaylist::tr("Empty file provided"));
if (isParserValid && !m_aborted) {
m_currentParser.reset();
diff --git a/examples/multimedia/player/qplaylistfileparser_p.h b/examples/multimedia/player/qplaylistfileparser_p.h
index 3d2016736..88e5bf19e 100644
--- a/examples/multimedia/player/qplaylistfileparser_p.h
+++ b/examples/multimedia/player/qplaylistfileparser_p.h
@@ -15,9 +15,10 @@
// We mean it.
//
-#include "qtmultimediaglobal.h"
#include "qmediaplaylist.h"
-#include <QtCore/qobject.h>
+#include "qtmultimediaglobal.h"
+
+#include <QObject>
QT_BEGIN_NAMESPACE
@@ -34,8 +35,7 @@ public:
QPlaylistFileParser(QObject *parent = nullptr);
~QPlaylistFileParser();
- enum FileType
- {
+ enum FileType {
UNKNOWN,
M3U,
M3U8, // UTF-8 version of M3U
@@ -49,26 +49,22 @@ public:
QList<QUrl> playlist;
-Q_SIGNALS:
- void newItem(const QVariant& content);
+signals:
+ void newItem(const QVariant &content);
void finished();
- void error(QMediaPlaylist::Error err, const QString& errorMsg);
+ void error(QMediaPlaylist::Error err, const QString &errorMsg);
-private Q_SLOTS:
+private slots:
void handleData();
void handleError();
private:
-
static FileType findByMimeType(const QString &mime);
static FileType findBySuffixType(const QString &suffix);
static FileType findByDataHeader(const char *data, quint32 size);
- static FileType findPlaylistType(QIODevice *device,
- const QString& mime);
- static FileType findPlaylistType(const QString &suffix,
- const QString& mime,
- const char *data = nullptr,
- quint32 size = 0);
+ static FileType findPlaylistType(QIODevice *device, const QString &mime);
+ static FileType findPlaylistType(const QString &suffix, const QString &mime,
+ const char *data = nullptr, quint32 size = 0);
Q_DISABLE_COPY(QPlaylistFileParser)
Q_DECLARE_PRIVATE(QPlaylistFileParser)
diff --git a/examples/multimedia/player/videowidget.cpp b/examples/multimedia/player/videowidget.cpp
index e7f906e38..3fbbd4f72 100644
--- a/examples/multimedia/player/videowidget.cpp
+++ b/examples/multimedia/player/videowidget.cpp
@@ -6,8 +6,7 @@
#include <QKeyEvent>
#include <QMouseEvent>
-VideoWidget::VideoWidget(QWidget *parent)
- : QVideoWidget(parent)
+VideoWidget::VideoWidget(QWidget *parent) : QVideoWidget(parent)
{
setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
@@ -43,4 +42,3 @@ void VideoWidget::mousePressEvent(QMouseEvent *event)
{
QVideoWidget::mousePressEvent(event);
}
-
diff --git a/examples/multimedia/spectrum/engine.cpp b/examples/multimedia/spectrum/engine.cpp
index d9d791bc1..4e44db06b 100644
--- a/examples/multimedia/spectrum/engine.cpp
+++ b/examples/multimedia/spectrum/engine.cpp
@@ -5,10 +5,8 @@
#include "tonegenerator.h"
#include "utils.h"
-#include <math.h>
-
-#include <QAudioSource>
#include <QAudioSink>
+#include <QAudioSource>
#include <QCoreApplication>
#include <QDebug>
#include <QFile>
@@ -16,48 +14,51 @@
#include <QSet>
#include <QThread>
+#include <math.h>
+
//-----------------------------------------------------------------------------
// Constants
//-----------------------------------------------------------------------------
-const qint64 BufferDurationUs = 10 * 1000000;
+const qint64 BufferDurationUs = 10 * 1000000;
// Size of the level calculation window in microseconds
-const int LevelWindowUs = 0.1 * 1000000;
+const int LevelWindowUs = 0.1 * 1000000;
//-----------------------------------------------------------------------------
// Constructor and destructor
//-----------------------------------------------------------------------------
Engine::Engine(QObject *parent)
- : QObject(parent)
- , m_mode(QAudioDevice::Input)
- , m_state(QAudio::StoppedState)
- , m_devices(new QMediaDevices(this))
- , m_generateTone(false)
- , m_file(nullptr)
- , m_analysisFile(nullptr)
- , m_availableAudioInputDevices(m_devices->audioInputs())
- , m_audioInputDevice(m_devices->defaultAudioInput())
- , m_audioInput(nullptr)
- , m_audioInputIODevice(nullptr)
- , m_recordPosition(0)
- , m_availableAudioOutputDevices(m_devices->audioOutputs())
- , m_audioOutputDevice(m_devices->defaultAudioOutput())
- , m_audioOutput(nullptr)
- , m_playPosition(0)
- , m_bufferPosition(0)
- , m_bufferLength(0)
- , m_dataLength(0)
- , m_levelBufferLength(0)
- , m_rmsLevel(0.0)
- , m_peakLevel(0.0)
- , m_spectrumBufferLength(0)
- , m_spectrumPosition(0)
- , m_count(0)
-{
- connect(&m_spectrumAnalyser, QOverload<const FrequencySpectrum&>::of(&SpectrumAnalyser::spectrumChanged),
- this, QOverload<const FrequencySpectrum&>::of(&Engine::spectrumChanged));
+ : QObject(parent),
+ m_mode(QAudioDevice::Input),
+ m_state(QAudio::StoppedState),
+ m_devices(new QMediaDevices(this)),
+ m_generateTone(false),
+ m_file(nullptr),
+ m_analysisFile(nullptr),
+ m_availableAudioInputDevices(m_devices->audioInputs()),
+ m_audioInputDevice(m_devices->defaultAudioInput()),
+ m_audioInput(nullptr),
+ m_audioInputIODevice(nullptr),
+ m_recordPosition(0),
+ m_availableAudioOutputDevices(m_devices->audioOutputs()),
+ m_audioOutputDevice(m_devices->defaultAudioOutput()),
+ m_audioOutput(nullptr),
+ m_playPosition(0),
+ m_bufferPosition(0),
+ m_bufferLength(0),
+ m_dataLength(0),
+ m_levelBufferLength(0),
+ m_rmsLevel(0.0),
+ m_peakLevel(0.0),
+ m_spectrumBufferLength(0),
+ m_spectrumPosition(0),
+ m_count(0)
+{
+ 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.
@@ -80,7 +81,6 @@ Engine::Engine(QObject *parent)
m_notifyTimer = new QTimer(this);
m_notifyTimer->setInterval(1000);
connect(m_notifyTimer, &QTimer::timeout, this, &Engine::audioNotify);
-
}
Engine::~Engine() = default;
@@ -96,7 +96,7 @@ bool Engine::loadFile(const QString &fileName)
Q_ASSERT(!m_generateTone);
Q_ASSERT(!m_file);
Q_ASSERT(!fileName.isEmpty());
- QIODevice* file = new QFile(fileName);
+ QIODevice *file = new QFile(fileName);
if (file->open(QIODevice::ReadOnly)) {
m_file = new QWaveDecoder(file, this);
if (m_file->open(QIODevice::ReadOnly)) {
@@ -104,10 +104,9 @@ bool Engine::loadFile(const QString &fileName)
result = initialize();
} else {
emit errorMessage(tr("Audio format not supported"),
- formatToString(m_file->audioFormat()));
+ formatToString(m_file->audioFormat()));
}
- }
- else
+ } else
emit errorMessage(tr("Could not open WAV decoder for file"), fileName);
} else {
emit errorMessage(tr("Could not open file"), fileName);
@@ -129,9 +128,8 @@ bool Engine::generateTone(const Tone &tone)
m_generateTone = true;
m_tone = tone;
ENGINE_DEBUG << "Engine::generateTone"
- << "startFreq" << m_tone.startFreq
- << "endFreq" << m_tone.endFreq
- << "amp" << m_tone.amplitude;
+ << "startFreq" << m_tone.startFreq << "endFreq" << m_tone.endFreq << "amp"
+ << m_tone.amplitude;
return initialize();
}
@@ -144,8 +142,7 @@ bool Engine::generateSweptTone(qreal amplitude)
m_tone.endFreq = 0;
m_tone.amplitude = amplitude;
ENGINE_DEBUG << "Engine::generateSweptTone"
- << "startFreq" << m_tone.startFreq
- << "amp" << m_tone.amplitude;
+ << "startFreq" << m_tone.startFreq << "amp" << m_tone.amplitude;
return initialize();
}
@@ -170,7 +167,6 @@ void Engine::setWindowFunction(WindowFunction type)
m_spectrumAnalyser.setWindowFunction(type);
}
-
//-----------------------------------------------------------------------------
// Public slots
//-----------------------------------------------------------------------------
@@ -178,8 +174,7 @@ void Engine::setWindowFunction(WindowFunction type)
void Engine::startRecording()
{
if (m_audioInput) {
- if (QAudioDevice::Input == m_mode &&
- QAudio::SuspendedState == m_state) {
+ if (QAudioDevice::Input == m_mode && QAudio::SuspendedState == m_state) {
m_audioInput->resume();
} else {
m_spectrumAnalyser.cancelCalculation();
@@ -189,15 +184,13 @@ void Engine::startRecording()
setRecordPosition(0, true);
stopPlayback();
m_mode = QAudioDevice::Input;
- connect(m_audioInput, &QAudioSource::stateChanged,
- this, &Engine::audioStateChanged);
+ connect(m_audioInput, &QAudioSource::stateChanged, this, &Engine::audioStateChanged);
m_count = 0;
m_dataLength = 0;
emit dataLengthChanged(0);
m_audioInputIODevice = m_audioInput->start();
- connect(m_audioInputIODevice, &QIODevice::readyRead,
- this, &Engine::audioDataReady);
+ connect(m_audioInputIODevice, &QIODevice::readyRead, this, &Engine::audioDataReady);
}
m_notifyTimer->start();
}
@@ -209,8 +202,7 @@ void Engine::startPlayback()
initialize();
if (m_audioOutput) {
- if (QAudioDevice::Output == m_mode &&
- QAudio::SuspendedState == m_state) {
+ if (QAudioDevice::Output == m_mode && QAudio::SuspendedState == m_state) {
#ifdef Q_OS_WIN
// The Windows backend seems to internally go back into ActiveState
// while still returning SuspendedState, so to ensure that it doesn't
@@ -224,8 +216,7 @@ void Engine::startPlayback()
setPlayPosition(0, true);
stopRecording();
m_mode = QAudioDevice::Output;
- connect(m_audioOutput, &QAudioSink::stateChanged,
- this, &Engine::audioStateChanged);
+ connect(m_audioOutput, &QAudioSink::stateChanged, this, &Engine::audioStateChanged);
m_count = 0;
if (m_file) {
@@ -246,8 +237,7 @@ void Engine::startPlayback()
void Engine::suspend()
{
- if (QAudio::ActiveState == m_state ||
- QAudio::IdleState == m_state) {
+ if (QAudio::ActiveState == m_state || QAudio::IdleState == m_state) {
switch (m_mode) {
case QAudioDevice::Input:
m_audioInput->suspend();
@@ -278,7 +268,6 @@ void Engine::setAudioOutputDevice(const QAudioDevice &device)
}
}
-
//-----------------------------------------------------------------------------
// Private slots
//-----------------------------------------------------------------------------
@@ -287,66 +276,70 @@ void Engine::audioNotify()
{
switch (m_mode) {
case QAudioDevice::Input: {
- const qint64 recordPosition = qMin(m_bufferLength, m_format.bytesForDuration(m_audioInput->processedUSecs()));
- setRecordPosition(recordPosition);
- const qint64 levelPosition = m_dataLength - m_levelBufferLength;
- if (levelPosition >= 0)
- calculateLevel(levelPosition, m_levelBufferLength);
- if (m_dataLength >= m_spectrumBufferLength) {
- const qint64 spectrumPosition = m_dataLength - m_spectrumBufferLength;
- calculateSpectrum(spectrumPosition);
- }
- emit bufferChanged(0, m_dataLength, m_buffer);
+ const qint64 recordPosition =
+ qMin(m_bufferLength, m_format.bytesForDuration(m_audioInput->processedUSecs()));
+ setRecordPosition(recordPosition);
+ const qint64 levelPosition = m_dataLength - m_levelBufferLength;
+ if (levelPosition >= 0)
+ calculateLevel(levelPosition, m_levelBufferLength);
+ if (m_dataLength >= m_spectrumBufferLength) {
+ const qint64 spectrumPosition = m_dataLength - m_spectrumBufferLength;
+ calculateSpectrum(spectrumPosition);
}
- break;
+ emit bufferChanged(0, m_dataLength, m_buffer);
+ } break;
case QAudioDevice::Output: {
- const qint64 playPosition = m_format.bytesForDuration(m_audioOutput->processedUSecs());
- setPlayPosition(qMin(bufferLength(), playPosition));
- const qint64 levelPosition = playPosition - m_levelBufferLength;
- const qint64 spectrumPosition = playPosition - m_spectrumBufferLength;
- if (m_file) {
- if (levelPosition > m_bufferPosition ||
- spectrumPosition > m_bufferPosition ||
- qMax(m_levelBufferLength, m_spectrumBufferLength) > m_dataLength) {
- m_bufferPosition = 0;
- m_dataLength = 0;
- // Data needs to be read into m_buffer in order to be analysed
- const qint64 readPos = qMax(qint64(0), qMin(levelPosition, spectrumPosition));
- const qint64 readEnd = qMin(m_analysisFile->getDevice()->size(), qMax(levelPosition + m_levelBufferLength, spectrumPosition + m_spectrumBufferLength));
- const qint64 readLen = readEnd - readPos + m_format.bytesForDuration(WaveformWindowDuration);
- qDebug() << "Engine::audioNotify [1]"
- << "analysisFileSize" << m_analysisFile->getDevice()->size()
- << "readPos" << readPos
- << "readLen" << readLen;
- if (m_analysisFile->seek(readPos + m_analysisFile->headerLength())) {
- m_buffer.resize(readLen);
- m_bufferPosition = readPos;
- m_dataLength = m_analysisFile->read(m_buffer.data(), readLen);
- qDebug() << "Engine::audioNotify [2]" << "bufferPosition" << m_bufferPosition << "dataLength" << m_dataLength;
- } else {
- qDebug() << "Engine::audioNotify [2]" << "file seek error";
- }
- emit bufferChanged(m_bufferPosition, m_dataLength, m_buffer);
+ const qint64 playPosition = m_format.bytesForDuration(m_audioOutput->processedUSecs());
+ setPlayPosition(qMin(bufferLength(), playPosition));
+ const qint64 levelPosition = playPosition - m_levelBufferLength;
+ const qint64 spectrumPosition = playPosition - m_spectrumBufferLength;
+ if (m_file) {
+ if (levelPosition > m_bufferPosition || spectrumPosition > m_bufferPosition
+ || qMax(m_levelBufferLength, m_spectrumBufferLength) > m_dataLength) {
+ m_bufferPosition = 0;
+ m_dataLength = 0;
+ // Data needs to be read into m_buffer in order to be analysed
+ const qint64 readPos = qMax(qint64(0), qMin(levelPosition, spectrumPosition));
+ const qint64 readEnd = qMin(m_analysisFile->getDevice()->size(),
+ qMax(levelPosition + m_levelBufferLength,
+ spectrumPosition + m_spectrumBufferLength));
+ const qint64 readLen =
+ readEnd - readPos + m_format.bytesForDuration(WaveformWindowDuration);
+ qDebug() << "Engine::audioNotify [1]"
+ << "analysisFileSize" << m_analysisFile->getDevice()->size() << "readPos"
+ << readPos << "readLen" << readLen;
+ if (m_analysisFile->seek(readPos + m_analysisFile->headerLength())) {
+ m_buffer.resize(readLen);
+ m_bufferPosition = readPos;
+ m_dataLength = m_analysisFile->read(m_buffer.data(), readLen);
+ qDebug() << "Engine::audioNotify [2]"
+ << "bufferPosition" << m_bufferPosition << "dataLength"
+ << m_dataLength;
+ } else {
+ qDebug() << "Engine::audioNotify [2]"
+ << "file seek error";
}
- } else {
- if (playPosition >= m_dataLength)
- stopPlayback();
+ emit bufferChanged(m_bufferPosition, m_dataLength, m_buffer);
}
- if (levelPosition >= 0 && levelPosition + m_levelBufferLength < m_bufferPosition + m_dataLength)
- calculateLevel(levelPosition, m_levelBufferLength);
- if (spectrumPosition >= 0 && spectrumPosition + m_spectrumBufferLength < m_bufferPosition + m_dataLength)
- calculateSpectrum(spectrumPosition);
+ } else {
+ if (playPosition >= m_dataLength)
+ stopPlayback();
}
+ if (levelPosition >= 0
+ && levelPosition + m_levelBufferLength < m_bufferPosition + m_dataLength)
+ calculateLevel(levelPosition, m_levelBufferLength);
+ if (spectrumPosition >= 0
+ && spectrumPosition + m_spectrumBufferLength < m_bufferPosition + m_dataLength)
+ calculateSpectrum(spectrumPosition);
+ } break;
+ default:
break;
- default:
- break;
}
}
void Engine::audioStateChanged(QAudio::State state)
{
- ENGINE_DEBUG << "Engine::audioStateChanged from" << m_state
- << "to" << state;
+ ENGINE_DEBUG << "Engine::audioStateChanged from" << m_state << "to" << state;
if (QAudio::IdleState == state && m_file && m_file->pos() == m_file->getDevice()->size()) {
stopPlayback();
@@ -381,9 +374,8 @@ void Engine::audioDataReady()
const qint64 bytesSpace = m_buffer.size() - m_dataLength;
const qint64 bytesToRead = qMin(bytesReady, bytesSpace);
- const qint64 bytesRead = m_audioInputIODevice->read(
- m_buffer.data() + m_dataLength,
- bytesToRead);
+ const qint64 bytesRead =
+ m_audioInputIODevice->read(m_buffer.data() + m_dataLength, bytesToRead);
if (bytesRead) {
m_dataLength += bytesRead;
@@ -396,11 +388,11 @@ void Engine::audioDataReady()
void Engine::spectrumChanged(const FrequencySpectrum &spectrum)
{
- ENGINE_DEBUG << "Engine::spectrumChanged" << "pos" << m_spectrumPosition;
+ ENGINE_DEBUG << "Engine::spectrumChanged"
+ << "pos" << m_spectrumPosition;
emit spectrumChanged(m_spectrumPosition, m_spectrumBufferLength, spectrum);
}
-
//-----------------------------------------------------------------------------
// Private functions
//-----------------------------------------------------------------------------
@@ -479,17 +471,19 @@ bool Engine::initialize()
}
} else {
if (m_file)
- emit errorMessage(tr("Audio format not supported"),
- formatToString(m_format));
+ emit errorMessage(tr("Audio format not supported"), formatToString(m_format));
else if (m_generateTone)
emit errorMessage(tr("No suitable format found"), "");
else
emit errorMessage(tr("No common input / output format found"), "");
}
- 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_bufferLength" << m_bufferLength;
+ ENGINE_DEBUG << "Engine::initialize"
+ << "m_dataLength" << m_dataLength;
+ ENGINE_DEBUG << "Engine::initialize"
+ << "format" << m_format;
return result;
}
@@ -608,7 +602,7 @@ void Engine::calculateLevel(qint64 position, qint64 length)
const char *ptr = m_buffer.constData() + position - m_bufferPosition;
const char *const end = ptr + length;
while (ptr < end) {
- const qint16 value = *reinterpret_cast<const qint16*>(ptr);
+ const qint16 value = *reinterpret_cast<const qint16 *>(ptr);
const qreal fracValue = pcmToReal(value);
peakLevel = qMax(peakLevel, fracValue);
sum += fracValue * fracValue;
@@ -621,8 +615,9 @@ void Engine::calculateLevel(qint64 position, qint64 length)
rmsLevel = qMin(qreal(1.0), rmsLevel);
setLevel(rmsLevel, peakLevel, numSamples);
- ENGINE_DEBUG << "Engine::calculateLevel" << "pos" << position << "len" << length
- << "rms" << rmsLevel << "peak" << peakLevel;
+ ENGINE_DEBUG << "Engine::calculateLevel"
+ << "pos" << position << "len" << length << "rms" << rmsLevel << "peak"
+ << peakLevel;
#endif
}
@@ -636,13 +631,13 @@ void Engine::calculateSpectrum(qint64 position)
// QThread::currentThread is marked 'for internal use only', but
// we're only using it for debug output here, so it's probably OK :)
- ENGINE_DEBUG << "Engine::calculateSpectrum" << QThread::currentThread()
- << "count" << m_count << "pos" << position << "len" << m_spectrumBufferLength
+ ENGINE_DEBUG << "Engine::calculateSpectrum" << QThread::currentThread() << "count" << m_count
+ << "pos" << position << "len" << m_spectrumBufferLength
<< "spectrumAnalyser.isReady" << m_spectrumAnalyser.isReady();
if (m_spectrumAnalyser.isReady()) {
- m_spectrumBuffer = QByteArray::fromRawData(m_buffer.constData() + position - m_bufferPosition,
- m_spectrumBufferLength);
+ m_spectrumBuffer = QByteArray::fromRawData(
+ m_buffer.constData() + position - m_bufferPosition, m_spectrumBufferLength);
m_spectrumPosition = position;
m_spectrumAnalyser.calculate(m_spectrumBuffer, m_format);
}
@@ -681,11 +676,11 @@ void Engine::emitError(QAudio::Error error)
break;
case QAudio::UnderrunError:
errorString = tr("UnderrunError: Audio data is not being fed"
- "to the audio device at a fast enough rate.");
+ "to the audio device at a fast enough rate.");
break;
case QAudio::FatalError:
errorString = tr("FatalError: A non-recoverable error has occurred,"
- "the audio device is not usable at this time.");
+ "the audio device is not usable at this time.");
break;
}
@@ -715,9 +710,9 @@ void Engine::dumpData()
QFile txtFile(txtFileName);
txtFile.open(QFile::WriteOnly | QFile::Text);
QTextStream stream(&txtFile);
- const qint16 *ptr = reinterpret_cast<const qint16*>(m_buffer.constData());
+ const qint16 *ptr = reinterpret_cast<const qint16 *>(m_buffer.constData());
const int numSamples = m_dataLength / (2 * m_format.channels());
- for (int i=0; i<numSamples; ++i) {
+ for (int i = 0; i < numSamples; ++i) {
stream << i << "\t" << *ptr << "\n";
ptr += m_format.channels();
}
diff --git a/examples/multimedia/spectrum/engine.h b/examples/multimedia/spectrum/engine.h
index 3d108fe1c..0ac454484 100644
--- a/examples/multimedia/spectrum/engine.h
+++ b/examples/multimedia/spectrum/engine.h
@@ -13,17 +13,17 @@
#include <QByteArray>
#include <QDir>
#include <QList>
-#include <QObject>
#include <QMediaDevices>
-#include <QWaveDecoder>
+#include <QObject>
#include <QTimer>
+#include <QWaveDecoder>
#ifdef DUMP_CAPTURED_AUDIO
-#define DUMP_DATA
+# define DUMP_DATA
#endif
#ifdef DUMP_SPECTRUM
-#define DUMP_DATA
+# define DUMP_DATA
#endif
class FrequencySpectrum;
@@ -43,14 +43,18 @@ class Engine : public QObject
Q_OBJECT
public:
- explicit Engine(QObject *parent = 0);
+ explicit Engine(QObject *parent = nullptr);
~Engine();
const QList<QAudioDevice> &availableAudioInputDevices() const
- { return m_availableAudioInputDevices; }
+ {
+ return m_availableAudioInputDevices;
+ }
const QList<QAudioDevice> &availableAudioOutputDevices() const
- { return m_availableAudioOutputDevices; }
+ {
+ return m_availableAudioOutputDevices;
+ }
QAudioDevice::Mode mode() const { return m_mode; }
QAudio::State state() const { return m_state; }
@@ -59,7 +63,7 @@ public:
* \return Current audio format
* \note May be QAudioFormat() if engine is not initialized
*/
- const QAudioFormat& format() const { return m_format; }
+ const QAudioFormat &format() const { return m_format; }
/**
* Stop any ongoing recording or playback, and reset to ground state.
@@ -222,7 +226,10 @@ private:
#ifdef DUMP_DATA
void createOutputDir();
- QString outputPath() const { return m_outputDir.path(); }
+ QString outputPath() const
+ {
+ return m_outputDir.path();
+ }
#endif
#ifdef DUMP_CAPTURED_AUDIO
@@ -230,53 +237,52 @@ private:
#endif
private:
- QAudioDevice::Mode m_mode;
- QAudio::State m_state;
- QMediaDevices *m_devices;
+ QAudioDevice::Mode m_mode;
+ QAudio::State m_state;
+ QMediaDevices *m_devices;
- bool m_generateTone;
- SweptTone m_tone;
+ bool m_generateTone;
+ SweptTone m_tone;
- QWaveDecoder* m_file;
+ QWaveDecoder *m_file;
// We need a second file handle via which to read data into m_buffer
// for analysis
- QWaveDecoder* m_analysisFile;
+ QWaveDecoder *m_analysisFile;
- QAudioFormat m_format;
+ QAudioFormat m_format;
const QList<QAudioDevice> m_availableAudioInputDevices;
- QAudioDevice m_audioInputDevice;
- QAudioSource* m_audioInput;
- QIODevice* m_audioInputIODevice;
- qint64 m_recordPosition;
+ QAudioDevice m_audioInputDevice;
+ QAudioSource *m_audioInput;
+ QIODevice *m_audioInputIODevice;
+ qint64 m_recordPosition;
const QList<QAudioDevice> m_availableAudioOutputDevices;
- QAudioDevice m_audioOutputDevice;
- QAudioSink* m_audioOutput;
- qint64 m_playPosition;
- QBuffer m_audioOutputIODevice;
-
- QByteArray m_buffer;
- qint64 m_bufferPosition;
- qint64 m_bufferLength;
- qint64 m_dataLength;
-
- int m_levelBufferLength;
- qreal m_rmsLevel;
- qreal m_peakLevel;
-
- int m_spectrumBufferLength;
- QByteArray m_spectrumBuffer;
- SpectrumAnalyser m_spectrumAnalyser;
- qint64 m_spectrumPosition;
-
- int m_count;
+ QAudioDevice m_audioOutputDevice;
+ QAudioSink *m_audioOutput;
+ qint64 m_playPosition;
+ QBuffer m_audioOutputIODevice;
+
+ QByteArray m_buffer;
+ qint64 m_bufferPosition;
+ qint64 m_bufferLength;
+ qint64 m_dataLength;
+
+ int m_levelBufferLength;
+ qreal m_rmsLevel;
+ qreal m_peakLevel;
+
+ int m_spectrumBufferLength;
+ QByteArray m_spectrumBuffer;
+ SpectrumAnalyser m_spectrumAnalyser;
+ qint64 m_spectrumPosition;
+
+ int m_count;
QTimer *m_notifyTimer = nullptr;
#ifdef DUMP_DATA
- QDir m_outputDir;
+ QDir m_outputDir;
#endif
-
};
#endif // ENGINE_H
diff --git a/examples/multimedia/spectrum/frequencyspectrum.cpp b/examples/multimedia/spectrum/frequencyspectrum.cpp
index b9f3c12df..f271a04aa 100644
--- a/examples/multimedia/spectrum/frequencyspectrum.cpp
+++ b/examples/multimedia/spectrum/frequencyspectrum.cpp
@@ -3,16 +3,12 @@
#include "frequencyspectrum.h"
-FrequencySpectrum::FrequencySpectrum(int numPoints)
- : m_elements(numPoints)
-{
-
-}
+FrequencySpectrum::FrequencySpectrum(int numPoints) : m_elements(numPoints) { }
void FrequencySpectrum::reset()
{
iterator i = begin();
- for ( ; i != end(); ++i)
+ for (; i != end(); ++i)
*i = Element();
}
diff --git a/examples/multimedia/spectrum/frequencyspectrum.h b/examples/multimedia/spectrum/frequencyspectrum.h
index f56964508..9f3771571 100644
--- a/examples/multimedia/spectrum/frequencyspectrum.h
+++ b/examples/multimedia/spectrum/frequencyspectrum.h
@@ -4,20 +4,20 @@
#ifndef FREQUENCYSPECTRUM_H
#define FREQUENCYSPECTRUM_H
-#include <QtCore/QList>
+#include <QList>
/**
* Represents a frequency spectrum as a series of elements, each of which
* consists of a frequency, an amplitude and a phase.
*/
-class FrequencySpectrum {
+class FrequencySpectrum
+{
public:
FrequencySpectrum(int numPoints = 0);
- struct Element {
- Element()
- : frequency(0.0), amplitude(0.0), phase(0.0), clipped(false)
- { }
+ struct Element
+ {
+ Element() : frequency(0.0), amplitude(0.0), phase(0.0), clipped(false) { }
/**
* Frequency in Hertz
@@ -46,8 +46,8 @@ public:
void reset();
int count() const;
- Element& operator[](int index);
- const Element& operator[](int index) const;
+ Element &operator[](int index);
+ const Element &operator[](int index) const;
iterator begin();
iterator end();
const_iterator begin() const;
diff --git a/examples/multimedia/spectrum/levelmeter.cpp b/examples/multimedia/spectrum/levelmeter.cpp
index aa7141d48..25bfdc494 100644
--- a/examples/multimedia/spectrum/levelmeter.cpp
+++ b/examples/multimedia/spectrum/levelmeter.cpp
@@ -3,35 +3,32 @@
#include "levelmeter.h"
-#include <math.h>
-
+#include <QDebug>
#include <QPainter>
#include <QTimer>
-#include <QDebug>
+#include <math.h>
// Constants
const int RedrawInterval = 100; // ms
const qreal PeakDecayRate = 0.001;
const int PeakHoldLevelDuration = 2000; // ms
-
LevelMeter::LevelMeter(QWidget *parent)
- : QWidget(parent)
- , m_rmsLevel(0.0)
- , m_peakLevel(0.0)
- , m_decayedPeakLevel(0.0)
- , m_peakDecayRate(PeakDecayRate)
- , m_peakHoldLevel(0.0)
- , m_redrawTimer(new QTimer(this))
- , m_rmsColor(Qt::red)
- , m_peakColor(255, 200, 200, 255)
+ : QWidget(parent),
+ m_rmsLevel(0.0),
+ m_peakLevel(0.0),
+ m_decayedPeakLevel(0.0),
+ m_peakDecayRate(PeakDecayRate),
+ m_peakHoldLevel(0.0),
+ m_redrawTimer(new QTimer(this)),
+ m_rmsColor(Qt::red),
+ m_peakColor(255, 200, 200, 255)
{
setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Preferred);
setMinimumWidth(30);
- connect(m_redrawTimer, &QTimer::timeout,
- this, &LevelMeter::redrawTimerExpired);
+ connect(m_redrawTimer, &QTimer::timeout, this, &LevelMeter::redrawTimerExpired);
m_redrawTimer->start(RedrawInterval);
}
@@ -47,7 +44,8 @@ void LevelMeter::reset()
void LevelMeter::levelChanged(qreal rmsLevel, qreal peakLevel, int numSamples)
{
// Smooth the RMS signal
- const qreal smooth = pow(qreal(0.9), static_cast<qreal>(numSamples) / 256); // TODO: remove this magic number
+ const qreal smooth =
+ pow(qreal(0.9), static_cast<qreal>(numSamples) / 256); // TODO: remove this magic number
m_rmsLevel = (m_rmsLevel * smooth) + (rmsLevel * (1.0 - smooth));
if (peakLevel > m_decayedPeakLevel) {
diff --git a/examples/multimedia/spectrum/levelmeter.h b/examples/multimedia/spectrum/levelmeter.h
index 47cf557c5..e131bc904 100644
--- a/examples/multimedia/spectrum/levelmeter.h
+++ b/examples/multimedia/spectrum/levelmeter.h
@@ -17,7 +17,7 @@ class LevelMeter : public QWidget
Q_OBJECT
public:
- explicit LevelMeter(QWidget *parent = 0);
+ explicit LevelMeter(QWidget *parent = nullptr);
~LevelMeter();
void paintEvent(QPaintEvent *event) override;
@@ -75,7 +75,6 @@ private:
QColor m_rmsColor;
QColor m_peakColor;
-
};
#endif // LEVELMETER_H
diff --git a/examples/multimedia/spectrum/main.cpp b/examples/multimedia/spectrum/main.cpp
index 8a64d6046..31913b2f2 100644
--- a/examples/multimedia/spectrum/main.cpp
+++ b/examples/multimedia/spectrum/main.cpp
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "mainwidget.h"
+
#include <QApplication>
int main(int argc, char *argv[])
diff --git a/examples/multimedia/spectrum/mainwidget.cpp b/examples/multimedia/spectrum/mainwidget.cpp
index f0a7cf2ae..f3583c7ad 100644
--- a/examples/multimedia/spectrum/mainwidget.cpp
+++ b/examples/multimedia/spectrum/mainwidget.cpp
@@ -1,55 +1,55 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+#include "mainwidget.h"
#include "engine.h"
#include "levelmeter.h"
-#include "mainwidget.h"
-#include "waveform.h"
#include "progressbar.h"
#include "settingsdialog.h"
#include "spectrograph.h"
#include "tonegeneratordialog.h"
#include "utils.h"
+#include "waveform.h"
+#include <QFileDialog>
+#include <QHBoxLayout>
#include <QLabel>
+#include <QMenu>
+#include <QMessageBox>
#include <QPushButton>
-#include <QHBoxLayout>
-#include <QVBoxLayout>
#include <QStyle>
-#include <QMenu>
-#include <QFileDialog>
#include <QTimerEvent>
-#include <QMessageBox>
+#include <QVBoxLayout>
const int NullTimerId = -1;
MainWidget::MainWidget(QWidget *parent)
- : QWidget(parent)
- , m_mode(NoMode)
- , m_engine(new Engine(this))
+ : QWidget(parent),
+ m_mode(NoMode),
+ m_engine(new Engine(this))
#ifndef DISABLE_WAVEFORM
- , m_waveform(new Waveform(this))
+ ,
+ m_waveform(new Waveform(this))
#endif
- , m_progressBar(new ProgressBar(this))
- , m_spectrograph(new Spectrograph(this))
- , m_levelMeter(new LevelMeter(this))
- , m_modeButton(new QPushButton(this))
- , m_recordButton(new QPushButton(this))
- , m_pauseButton(new QPushButton(this))
- , m_playButton(new QPushButton(this))
- , m_settingsButton(new QPushButton(this))
- , m_infoMessage(new QLabel(tr("Select a mode to begin"), this))
- , m_infoMessageTimerId(NullTimerId)
- , m_settingsDialog(new SettingsDialog(
- m_engine->availableAudioInputDevices(),
- m_engine->availableAudioOutputDevices(),
- this))
- , m_toneGeneratorDialog(new ToneGeneratorDialog(this))
- , m_modeMenu(new QMenu(this))
- , m_loadFileAction(nullptr)
- , m_generateToneAction(nullptr)
- , m_recordAction(nullptr)
- , m_errorOccurred(false)
+ ,
+ m_progressBar(new ProgressBar(this)),
+ m_spectrograph(new Spectrograph(this)),
+ m_levelMeter(new LevelMeter(this)),
+ m_modeButton(new QPushButton(this)),
+ m_recordButton(new QPushButton(this)),
+ m_pauseButton(new QPushButton(this)),
+ m_playButton(new QPushButton(this)),
+ m_settingsButton(new QPushButton(this)),
+ m_infoMessage(new QLabel(tr("Select a mode to begin"), this)),
+ m_infoMessageTimerId(NullTimerId),
+ m_settingsDialog(new SettingsDialog(m_engine->availableAudioInputDevices(),
+ m_engine->availableAudioOutputDevices(), this)),
+ m_toneGeneratorDialog(new ToneGeneratorDialog(this)),
+ m_modeMenu(new QMenu(this)),
+ m_loadFileAction(nullptr),
+ m_generateToneAction(nullptr),
+ m_recordAction(nullptr),
+ m_errorOccurred(false)
{
m_spectrograph->setParams(SpectrumNumBands, SpectrumLowFreq, SpectrumHighFreq);
@@ -59,7 +59,6 @@ MainWidget::MainWidget(QWidget *parent)
MainWidget::~MainWidget() = default;
-
//-----------------------------------------------------------------------------
// Public slots
//-----------------------------------------------------------------------------
@@ -70,8 +69,7 @@ void MainWidget::stateChanged(QAudioDevice::Mode mode, QAudio::State state)
updateButtonStates();
- if (QAudio::ActiveState != state &&
- QAudio::SuspendedState != state) {
+ if (QAudio::ActiveState != state && QAudio::SuspendedState != state) {
m_levelMeter->reset();
m_spectrograph->reset();
}
@@ -79,18 +77,16 @@ void MainWidget::stateChanged(QAudioDevice::Mode mode, QAudio::State state)
void MainWidget::formatChanged(const QAudioFormat &format)
{
- infoMessage(formatToString(format), NullMessageTimeout);
+ infoMessage(formatToString(format), NullMessageTimeout);
#ifndef DISABLE_WAVEFORM
if (QAudioFormat() != format) {
- m_waveform->initialize(format, WaveformTileLength,
- WaveformWindowDuration);
+ m_waveform->initialize(format, WaveformTileLength, WaveformWindowDuration);
}
#endif
}
-void MainWidget::spectrumChanged(qint64 position, qint64 length,
- const FrequencySpectrum &spectrum)
+void MainWidget::spectrumChanged(qint64 position, qint64 length, const FrequencySpectrum &spectrum)
{
m_progressBar->windowChanged(position, length);
m_spectrograph->spectrumChanged(spectrum);
@@ -139,7 +135,6 @@ void MainWidget::bufferLengthChanged(qint64 length)
m_progressBar->bufferLengthChanged(length);
}
-
//-----------------------------------------------------------------------------
// Private slots
//-----------------------------------------------------------------------------
@@ -148,7 +143,8 @@ void MainWidget::showFileDialog()
{
m_errorOccurred = false;
const QString dir;
- const QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Open WAV file"), dir, "*.wav");
+ const QStringList fileNames =
+ QFileDialog::getOpenFileNames(this, tr("Open WAV file"), dir, "*.wav");
if (fileNames.count()) {
reset();
setMode(LoadFileMode);
@@ -200,7 +196,6 @@ void MainWidget::initializeRecord()
updateButtonStates();
}
-
//-----------------------------------------------------------------------------
// Private functions
//-----------------------------------------------------------------------------
@@ -225,9 +220,9 @@ void MainWidget::createUi()
m_waveform->setLayout(waveformLayout.release());
windowLayout->addWidget(m_waveform);
#else
-#ifndef DISABLE_WAVEFORM
+# ifndef DISABLE_WAVEFORM
windowLayout->addWidget(m_waveform);
-#endif // DISABLE_WAVEFORM
+# endif // DISABLE_WAVEFORM
windowLayout->addWidget(m_progressBar);
#endif // SUPERIMPOSE_PROGRESS_ON_WAVEFORM
@@ -291,62 +286,49 @@ void MainWidget::createUi()
void MainWidget::connectUi()
{
- connect(m_recordButton, &QPushButton::clicked,
- m_engine, &Engine::startRecording);
+ connect(m_recordButton, &QPushButton::clicked, m_engine, &Engine::startRecording);
- connect(m_pauseButton, &QPushButton::clicked,
- m_engine, &Engine::suspend);
+ connect(m_pauseButton, &QPushButton::clicked, m_engine, &Engine::suspend);
- connect(m_playButton, &QPushButton::clicked,
- m_engine, &Engine::startPlayback);
+ connect(m_playButton, &QPushButton::clicked, m_engine, &Engine::startPlayback);
- connect(m_settingsButton, &QPushButton::clicked,
- this, &MainWidget::showSettingsDialog);
+ connect(m_settingsButton, &QPushButton::clicked, this, &MainWidget::showSettingsDialog);
- connect(m_engine, &Engine::stateChanged,
- this, &MainWidget::stateChanged);
+ connect(m_engine, &Engine::stateChanged, this, &MainWidget::stateChanged);
- connect(m_engine, &Engine::formatChanged,
- this, &MainWidget::formatChanged);
+ connect(m_engine, &Engine::formatChanged, this, &MainWidget::formatChanged);
m_progressBar->bufferLengthChanged(m_engine->bufferLength());
- connect(m_engine, &Engine::bufferLengthChanged,
- this, &MainWidget::bufferLengthChanged);
+ connect(m_engine, &Engine::bufferLengthChanged, this, &MainWidget::bufferLengthChanged);
- connect(m_engine, &Engine::dataLengthChanged,
- this, &MainWidget::updateButtonStates);
+ connect(m_engine, &Engine::dataLengthChanged, this, &MainWidget::updateButtonStates);
- connect(m_engine, &Engine::recordPositionChanged,
- m_progressBar, &ProgressBar::recordPositionChanged);
+ connect(m_engine, &Engine::recordPositionChanged, m_progressBar,
+ &ProgressBar::recordPositionChanged);
- connect(m_engine, &Engine::playPositionChanged,
- m_progressBar, &ProgressBar::playPositionChanged);
+ connect(m_engine, &Engine::playPositionChanged, m_progressBar,
+ &ProgressBar::playPositionChanged);
- connect(m_engine, &Engine::recordPositionChanged,
- this, &MainWidget::audioPositionChanged);
+ connect(m_engine, &Engine::recordPositionChanged, this, &MainWidget::audioPositionChanged);
- connect(m_engine, &Engine::playPositionChanged,
- this, &MainWidget::audioPositionChanged);
+ connect(m_engine, &Engine::playPositionChanged, this, &MainWidget::audioPositionChanged);
- connect(m_engine, &Engine::levelChanged,
- m_levelMeter, &LevelMeter::levelChanged);
+ connect(m_engine, &Engine::levelChanged, m_levelMeter, &LevelMeter::levelChanged);
- connect(m_engine, QOverload<qint64, qint64, const FrequencySpectrum&>::of(&Engine::spectrumChanged),
- this, QOverload<qint64, qint64, const FrequencySpectrum&>::of(&MainWidget::spectrumChanged));
+ connect(m_engine,
+ QOverload<qint64, qint64, const FrequencySpectrum &>::of(&Engine::spectrumChanged),
+ this,
+ QOverload<qint64, qint64, const FrequencySpectrum &>::of(&MainWidget::spectrumChanged));
- connect(m_engine, &Engine::infoMessage,
- this, &MainWidget::infoMessage);
+ connect(m_engine, &Engine::infoMessage, this, &MainWidget::infoMessage);
- connect(m_engine, &Engine::errorMessage,
- this, &MainWidget::errorMessage);
+ connect(m_engine, &Engine::errorMessage, this, &MainWidget::errorMessage);
- connect(m_spectrograph, &Spectrograph::infoMessage,
- this, &MainWidget::infoMessage);
+ connect(m_spectrograph, &Spectrograph::infoMessage, this, &MainWidget::infoMessage);
#ifndef DISABLE_WAVEFORM
- connect(m_engine, &Engine::bufferChanged,
- m_waveform, &Waveform::bufferChanged);
+ connect(m_engine, &Engine::bufferChanged, m_waveform, &Waveform::bufferChanged);
#endif
}
@@ -369,20 +351,20 @@ void MainWidget::createMenus()
void MainWidget::updateButtonStates()
{
- const bool recordEnabled = ((QAudioDevice::Output == m_engine->mode() ||
- (QAudio::ActiveState != m_engine->state() &&
- QAudio::IdleState != m_engine->state())) &&
- RecordMode == m_mode);
+ const bool recordEnabled = ((QAudioDevice::Output == m_engine->mode()
+ || (QAudio::ActiveState != m_engine->state()
+ && QAudio::IdleState != m_engine->state()))
+ && RecordMode == m_mode);
m_recordButton->setEnabled(m_errorOccurred ? false : recordEnabled);
- const bool pauseEnabled = (QAudio::ActiveState == m_engine->state() ||
- QAudio::IdleState == m_engine->state());
+ const bool pauseEnabled =
+ (QAudio::ActiveState == m_engine->state() || QAudio::IdleState == m_engine->state());
m_pauseButton->setEnabled(m_errorOccurred ? false : pauseEnabled);
const bool playEnabled = (/*m_engine->dataLength() &&*/
- (QAudioDevice::Output != m_engine->mode() ||
- (QAudio::ActiveState != m_engine->state() &&
- QAudio::IdleState != m_engine->state())));
+ (QAudioDevice::Output != m_engine->mode()
+ || (QAudio::ActiveState != m_engine->state()
+ && QAudio::IdleState != m_engine->state())));
m_playButton->setEnabled(m_errorOccurred ? false : playEnabled);
}
diff --git a/examples/multimedia/spectrum/mainwidget.h b/examples/multimedia/spectrum/mainwidget.h
index 39d2c409f..789e312f5 100644
--- a/examples/multimedia/spectrum/mainwidget.h
+++ b/examples/multimedia/spectrum/mainwidget.h
@@ -34,7 +34,7 @@ class MainWidget : public QWidget
Q_OBJECT
public:
- explicit MainWidget(QWidget *parent = 0);
+ explicit MainWidget(QWidget *parent = nullptr);
~MainWidget();
// QObject
@@ -43,8 +43,7 @@ public:
public slots:
void stateChanged(QAudioDevice::Mode mode, QAudio::State state);
void formatChanged(const QAudioFormat &format);
- void spectrumChanged(qint64 position, qint64 length,
- const FrequencySpectrum &spectrum);
+ void spectrumChanged(qint64 position, qint64 length, const FrequencySpectrum &spectrum);
void infoMessage(const QString &message, int timeoutMs);
void errorMessage(const QString &heading, const QString &detail);
void audioPositionChanged(qint64 position);
@@ -64,49 +63,43 @@ private:
void connectUi();
void reset();
- enum Mode {
- NoMode,
- RecordMode,
- GenerateToneMode,
- LoadFileMode
- };
+ enum Mode { NoMode, RecordMode, GenerateToneMode, LoadFileMode };
void setMode(Mode mode);
private:
- Mode m_mode;
+ Mode m_mode;
- Engine* m_engine;
+ Engine *m_engine;
#ifndef DISABLE_WAVEFORM
- Waveform* m_waveform;
+ Waveform *m_waveform;
#endif
- ProgressBar* m_progressBar;
- Spectrograph* m_spectrograph;
- LevelMeter* m_levelMeter;
-
- QPushButton* m_modeButton;
- QPushButton* m_recordButton;
- QIcon m_recordIcon;
- QPushButton* m_pauseButton;
- QIcon m_pauseIcon;
- QPushButton* m_playButton;
- QIcon m_playIcon;
- QPushButton* m_settingsButton;
- QIcon m_settingsIcon;
-
- QLabel* m_infoMessage;
- int m_infoMessageTimerId;
-
- SettingsDialog* m_settingsDialog;
- ToneGeneratorDialog* m_toneGeneratorDialog;
-
- QMenu* m_modeMenu;
- QAction* m_loadFileAction;
- QAction* m_generateToneAction;
- QAction* m_recordAction;
- bool m_errorOccurred;
-
+ ProgressBar *m_progressBar;
+ Spectrograph *m_spectrograph;
+ LevelMeter *m_levelMeter;
+
+ QPushButton *m_modeButton;
+ QPushButton *m_recordButton;
+ QIcon m_recordIcon;
+ QPushButton *m_pauseButton;
+ QIcon m_pauseIcon;
+ QPushButton *m_playButton;
+ QIcon m_playIcon;
+ QPushButton *m_settingsButton;
+ QIcon m_settingsIcon;
+
+ QLabel *m_infoMessage;
+ int m_infoMessageTimerId;
+
+ SettingsDialog *m_settingsDialog;
+ ToneGeneratorDialog *m_toneGeneratorDialog;
+
+ QMenu *m_modeMenu;
+ QAction *m_loadFileAction;
+ QAction *m_generateToneAction;
+ QAction *m_recordAction;
+ bool m_errorOccurred;
};
#endif // MAINWIDGET_H
diff --git a/examples/multimedia/spectrum/progressbar.cpp b/examples/multimedia/spectrum/progressbar.cpp
index d829b735d..701359abc 100644
--- a/examples/multimedia/spectrum/progressbar.cpp
+++ b/examples/multimedia/spectrum/progressbar.cpp
@@ -2,16 +2,15 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "progressbar.h"
-#include "spectrum.h"
#include <QPainter>
ProgressBar::ProgressBar(QWidget *parent)
- : QWidget(parent)
- , m_bufferLength(0)
- , m_recordPosition(0)
- , m_playPosition(0)
- , m_windowPosition(0)
- , m_windowLength(0)
+ : QWidget(parent),
+ m_bufferLength(0),
+ m_recordPosition(0),
+ m_playPosition(0),
+ m_windowPosition(0),
+ m_windowLength(0)
{
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
setMinimumHeight(30);
diff --git a/examples/multimedia/spectrum/progressbar.h b/examples/multimedia/spectrum/progressbar.h
index e1b575bb6..8b117c7e6 100644
--- a/examples/multimedia/spectrum/progressbar.h
+++ b/examples/multimedia/spectrum/progressbar.h
@@ -15,7 +15,7 @@ class ProgressBar : public QWidget
Q_OBJECT
public:
- explicit ProgressBar(QWidget *parent = 0);
+ explicit ProgressBar(QWidget *parent = nullptr);
~ProgressBar();
void reset();
diff --git a/examples/multimedia/spectrum/settingsdialog.cpp b/examples/multimedia/spectrum/settingsdialog.cpp
index 8d64bc9a9..9acd641f9 100644
--- a/examples/multimedia/spectrum/settingsdialog.cpp
+++ b/examples/multimedia/spectrum/settingsdialog.cpp
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "settingsdialog.h"
+
#include <QCheckBox>
#include <QComboBox>
#include <QDialogButtonBox>
@@ -11,26 +12,22 @@
#include <QSpinBox>
#include <QVBoxLayout>
-SettingsDialog::SettingsDialog(
- const QList<QAudioDevice> &availableInputDevices,
- const QList<QAudioDevice> &availableOutputDevices,
- QWidget *parent)
- : QDialog(parent)
- , m_windowFunction(DefaultWindowFunction)
- , m_inputDeviceComboBox(new QComboBox(this))
- , m_outputDeviceComboBox(new QComboBox(this))
- , m_windowFunctionComboBox(new QComboBox(this))
+SettingsDialog::SettingsDialog(const QList<QAudioDevice> &availableInputDevices,
+ const QList<QAudioDevice> &availableOutputDevices, QWidget *parent)
+ : QDialog(parent),
+ m_windowFunction(DefaultWindowFunction),
+ m_inputDeviceComboBox(new QComboBox(this)),
+ m_outputDeviceComboBox(new QComboBox(this)),
+ m_windowFunctionComboBox(new QComboBox(this))
{
QVBoxLayout *dialogLayout = new QVBoxLayout(this);
// Populate combo boxes
for (const QAudioDevice &device : availableInputDevices)
- m_inputDeviceComboBox->addItem(device.description(),
- QVariant::fromValue(device));
+ m_inputDeviceComboBox->addItem(device.description(), QVariant::fromValue(device));
for (const QAudioDevice &device : availableOutputDevices)
- m_outputDeviceComboBox->addItem(device.description(),
- QVariant::fromValue(device));
+ m_outputDeviceComboBox->addItem(device.description(), QVariant::fromValue(device));
m_windowFunctionComboBox->addItem(tr("None"), QVariant::fromValue(int(NoWindow)));
m_windowFunctionComboBox->addItem("Hann", QVariant::fromValue(int(HannWindow)));
@@ -63,12 +60,12 @@ SettingsDialog::SettingsDialog(
dialogLayout->addLayout(windowFunctionLayout.release());
// Connect
- connect(m_inputDeviceComboBox, QOverload<int>::of(&QComboBox::activated),
- this, &SettingsDialog::inputDeviceChanged);
- connect(m_outputDeviceComboBox, QOverload<int>::of(&QComboBox::activated),
- this, &SettingsDialog::outputDeviceChanged);
- connect(m_windowFunctionComboBox, QOverload<int>::of(&QComboBox::activated),
- this, &SettingsDialog::windowFunctionChanged);
+ connect(m_inputDeviceComboBox, QOverload<int>::of(&QComboBox::activated), this,
+ &SettingsDialog::inputDeviceChanged);
+ connect(m_outputDeviceComboBox, QOverload<int>::of(&QComboBox::activated), this,
+ &SettingsDialog::outputDeviceChanged);
+ connect(m_windowFunctionComboBox, QOverload<int>::of(&QComboBox::activated), this,
+ &SettingsDialog::windowFunctionChanged);
// Add standard buttons to layout
QDialogButtonBox *buttonBox = new QDialogButtonBox(this);
@@ -76,10 +73,10 @@ SettingsDialog::SettingsDialog(
dialogLayout->addWidget(buttonBox);
// Connect standard buttons
- connect(buttonBox->button(QDialogButtonBox::Ok), &QPushButton::clicked,
- this, &SettingsDialog::accept);
- connect(buttonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked,
- this, &SettingsDialog::reject);
+ connect(buttonBox->button(QDialogButtonBox::Ok), &QPushButton::clicked, this,
+ &SettingsDialog::accept);
+ connect(buttonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked, this,
+ &SettingsDialog::reject);
setLayout(dialogLayout);
}
@@ -88,8 +85,8 @@ SettingsDialog::~SettingsDialog() = default;
void SettingsDialog::windowFunctionChanged(int index)
{
- m_windowFunction = static_cast<WindowFunction>(
- m_windowFunctionComboBox->itemData(index).value<int>());
+ m_windowFunction =
+ static_cast<WindowFunction>(m_windowFunctionComboBox->itemData(index).value<int>());
}
void SettingsDialog::inputDeviceChanged(int index)
@@ -101,4 +98,3 @@ void SettingsDialog::outputDeviceChanged(int index)
{
m_outputDevice = m_outputDeviceComboBox->itemData(index).value<QAudioDevice>();
}
-
diff --git a/examples/multimedia/spectrum/settingsdialog.h b/examples/multimedia/spectrum/settingsdialog.h
index a3bb2881d..ac877d975 100644
--- a/examples/multimedia/spectrum/settingsdialog.h
+++ b/examples/multimedia/spectrum/settingsdialog.h
@@ -5,8 +5,9 @@
#define SETTINGSDIALOG_H
#include "spectrum.h"
-#include <QDialog>
+
#include <QAudioDevice>
+#include <QDialog>
QT_BEGIN_NAMESPACE
class QComboBox;
@@ -26,8 +27,7 @@ class SettingsDialog : public QDialog
public:
SettingsDialog(const QList<QAudioDevice> &availableInputDevices,
- const QList<QAudioDevice> &availableOutputDevices,
- QWidget *parent = 0);
+ const QList<QAudioDevice> &availableOutputDevices, QWidget *parent = nullptr);
~SettingsDialog();
WindowFunction windowFunction() const { return m_windowFunction; }
@@ -40,7 +40,7 @@ private slots:
void outputDeviceChanged(int index);
private:
- WindowFunction m_windowFunction;
+ WindowFunction m_windowFunction;
QAudioDevice m_inputDevice;
QAudioDevice m_outputDevice;
diff --git a/examples/multimedia/spectrum/spectrograph.cpp b/examples/multimedia/spectrum/spectrograph.cpp
index 55838f0b7..d6b76b1df 100644
--- a/examples/multimedia/spectrum/spectrograph.cpp
+++ b/examples/multimedia/spectrum/spectrograph.cpp
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "spectrograph.h"
+
#include <QDebug>
#include <QMouseEvent>
#include <QPainter>
@@ -12,17 +13,16 @@ const int NullIndex = -1;
const int BarSelectionInterval = 2000;
Spectrograph::Spectrograph(QWidget *parent)
- : QWidget(parent)
- , m_barSelected(NullIndex)
- , m_timerId(NullTimerId)
- , m_lowFreq(0.0)
- , m_highFreq(0.0)
+ : QWidget(parent),
+ m_barSelected(NullIndex),
+ m_timerId(NullTimerId),
+ m_lowFreq(0.0),
+ m_highFreq(0.0)
{
setMinimumHeight(100);
}
-Spectrograph::~Spectrograph()
-= default;
+Spectrograph::~Spectrograph() = default;
void Spectrograph::setParams(int numBars, qreal lowFreq, qreal highFreq)
{
@@ -85,8 +85,8 @@ void Spectrograph::paintEvent(QPaintEvent *event)
if (numBars) {
const int numHorizontalSections = numBars;
QLine line(rect().topLeft(), rect().bottomLeft());
- for (int i=1; i<numHorizontalSections; ++i) {
- line.translate(rect().width()/numHorizontalSections, 0);
+ for (int i = 1; i < numHorizontalSections; ++i) {
+ line.translate(rect().width() / numHorizontalSections, 0);
painter.drawLine(line);
}
}
@@ -94,8 +94,8 @@ void Spectrograph::paintEvent(QPaintEvent *event)
// Draw horizontal lines
const int numVerticalSections = 10;
QLine line(rect().topLeft(), rect().topRight());
- for (int i=1; i<numVerticalSections; ++i) {
- line.translate(0, rect().height()/numVerticalSections);
+ for (int i = 1; i < numVerticalSections; ++i) {
+ line.translate(0, rect().height() / numVerticalSections);
painter.drawLine(line);
}
@@ -114,7 +114,7 @@ void Spectrograph::paintEvent(QPaintEvent *event)
const int leftPaddingWidth = (paddingWidth + gapWidth) / 2;
const int barHeight = rect().height() - 2 * gapWidth;
- for (int i=0; i<numBars; ++i) {
+ for (int i = 0; i < numBars; ++i) {
const qreal value = m_bars[i].value;
Q_ASSERT(value >= 0.0 && value <= 1.0);
QRect bar = rect();
@@ -156,7 +156,7 @@ int Spectrograph::barIndex(qreal frequency) const
Q_ASSERT(frequency >= m_lowFreq && frequency < m_highFreq);
const qreal bandWidth = (m_highFreq - m_lowFreq) / m_bars.count();
const int index = (frequency - m_lowFreq) / bandWidth;
- if (index <0 || index >= m_bars.count())
+ if (index < 0 || index >= m_bars.count())
Q_ASSERT(false);
return index;
}
@@ -165,7 +165,7 @@ QPair<qreal, qreal> Spectrograph::barRange(int index) const
{
Q_ASSERT(index >= 0 && index < m_bars.count());
const qreal bandWidth = (m_highFreq - m_lowFreq) / m_bars.count();
- return QPair<qreal, qreal>(index * bandWidth, (index+1) * bandWidth);
+ return QPair<qreal, qreal>(index * bandWidth, (index + 1) * bandWidth);
}
void Spectrograph::updateBars()
@@ -173,7 +173,7 @@ void Spectrograph::updateBars()
m_bars.fill(Bar());
FrequencySpectrum::const_iterator i = m_spectrum.begin();
const FrequencySpectrum::const_iterator end = m_spectrum.end();
- for ( ; i != end; ++i) {
+ for (; i != end; ++i) {
const FrequencySpectrum::Element e = *i;
if (e.frequency >= m_lowFreq && e.frequency < m_highFreq) {
Bar &bar = m_bars[barIndex(e.frequency)];
@@ -184,11 +184,11 @@ void Spectrograph::updateBars()
update();
}
-void Spectrograph::selectBar(int index) {
+void Spectrograph::selectBar(int index)
+{
const QPair<qreal, qreal> frequencyRange = barRange(index);
- const QString message = QString("%1 - %2 Hz")
- .arg(frequencyRange.first)
- .arg(frequencyRange.second);
+ const QString message =
+ QString("%1 - %2 Hz").arg(frequencyRange.first).arg(frequencyRange.second);
emit infoMessage(message, BarSelectionInterval);
if (NullTimerId != m_timerId)
@@ -198,5 +198,3 @@ void Spectrograph::selectBar(int index) {
m_barSelected = index;
update();
}
-
-
diff --git a/examples/multimedia/spectrum/spectrograph.h b/examples/multimedia/spectrum/spectrograph.h
index 9de4b73a0..1344d3257 100644
--- a/examples/multimedia/spectrum/spectrograph.h
+++ b/examples/multimedia/spectrum/spectrograph.h
@@ -17,7 +17,7 @@ class Spectrograph : public QWidget
Q_OBJECT
public:
- explicit Spectrograph(QWidget *parent = 0);
+ explicit Spectrograph(QWidget *parent = nullptr);
~Spectrograph();
void setParams(int numBars, qreal lowFreq, qreal highFreq);
@@ -44,18 +44,19 @@ private:
void selectBar(int index);
private:
- struct Bar {
+ struct Bar
+ {
Bar() : value(0.0), clipped(false) { }
- qreal value;
- bool clipped;
+ qreal value;
+ bool clipped;
};
- QList<Bar> m_bars;
- int m_barSelected;
- int m_timerId;
- qreal m_lowFreq;
- qreal m_highFreq;
- FrequencySpectrum m_spectrum;
+ QList<Bar> m_bars;
+ int m_barSelected;
+ int m_timerId;
+ qreal m_lowFreq;
+ qreal m_highFreq;
+ FrequencySpectrum m_spectrum;
};
#endif // SPECTROGRAPH_H
diff --git a/examples/multimedia/spectrum/spectrum.h b/examples/multimedia/spectrum/spectrum.h
index 928048245..e416e82bd 100644
--- a/examples/multimedia/spectrum/spectrum.h
+++ b/examples/multimedia/spectrum/spectrum.h
@@ -4,25 +4,26 @@
#ifndef SPECTRUM_H
#define SPECTRUM_H
-#include <qglobal.h>
-#include "utils.h"
#include "fftreal_wrapper.h" // For FFTLengthPowerOfTwo
+#include "utils.h"
+
+#include <QtGlobal>
//-----------------------------------------------------------------------------
// Constants
//-----------------------------------------------------------------------------
// Number of audio samples used to calculate the frequency spectrum
-const int SpectrumLengthSamples = PowerOfTwo<FFTLengthPowerOfTwo>::Result;
+const int SpectrumLengthSamples = PowerOfTwo<FFTLengthPowerOfTwo>::Result;
// Number of bands in the frequency spectrum
-const int SpectrumNumBands = 10;
+const int SpectrumNumBands = 10;
// Lower bound of first band in the spectrum
-const qreal SpectrumLowFreq = 0.0; // Hz
+const qreal SpectrumLowFreq = 0.0; // Hz
// Upper band of last band in the spectrum
-const qreal SpectrumHighFreq = 1000.0; // Hz
+const qreal SpectrumHighFreq = 1000.0; // Hz
// Waveform window size in microseconds
const qint64 WaveformWindowDuration = 500 * 1000;
@@ -32,63 +33,59 @@ const qint64 WaveformWindowDuration = 500 * 1000;
// available until some time after QAudio*::start() has been called, and we
// need this value in order to initialize the waveform display.
// We therefore just choose a sensible value.
-const int WaveformTileLength = 4096;
+const int WaveformTileLength = 4096;
// Fudge factor used to calculate the spectrum bar heights
const qreal SpectrumAnalyserMultiplier = 0.15;
// Disable message timeout
-const int NullMessageTimeout = -1;
-
+const int NullMessageTimeout = -1;
//-----------------------------------------------------------------------------
// Types and data structures
//-----------------------------------------------------------------------------
-enum WindowFunction {
- NoWindow,
- HannWindow
-};
+enum WindowFunction { NoWindow, HannWindow };
Q_DECLARE_METATYPE(WindowFunction)
const WindowFunction DefaultWindowFunction = HannWindow;
struct Tone
{
- Tone(qreal freq = 0.0, qreal amp = 0.0)
- : frequency(freq), amplitude(amp)
- { }
+ Tone(qreal freq = 0.0, qreal amp = 0.0) : frequency(freq), amplitude(amp) { }
// Start and end frequencies for swept tone generation
- qreal frequency;
+ qreal frequency;
// Amplitude in range [0.0, 1.0]
- qreal amplitude;
+ qreal amplitude;
};
struct SweptTone
{
SweptTone(qreal start = 0.0, qreal end = 0.0, qreal amp = 0.0)
- : startFreq(start), endFreq(end), amplitude(amp)
- { Q_ASSERT(end >= start); }
+ : startFreq(start), endFreq(end), amplitude(amp)
+ {
+ Q_ASSERT(end >= start);
+ }
SweptTone(const Tone &tone)
- : startFreq(tone.frequency), endFreq(tone.frequency), amplitude(tone.amplitude)
- { }
+ : startFreq(tone.frequency), endFreq(tone.frequency), amplitude(tone.amplitude)
+ {
+ }
// Start and end frequencies for swept tone generation
- qreal startFreq;
- qreal endFreq;
+ qreal startFreq;
+ qreal endFreq;
// Amplitude in range [0.0, 1.0]
- qreal amplitude;
+ qreal amplitude;
};
// Handle some dependencies between macros defined in the .pro file
#ifdef DISABLE_WAVEFORM
-#undef SUPERIMPOSE_PROGRESS_ON_WAVEFORM
+# undef SUPERIMPOSE_PROGRESS_ON_WAVEFORM
#endif
#endif // SPECTRUM_H
-
diff --git a/examples/multimedia/spectrum/spectrumanalyser.cpp b/examples/multimedia/spectrum/spectrumanalyser.cpp
index ced777058..07d6a6a6e 100644
--- a/examples/multimedia/spectrum/spectrumanalyser.cpp
+++ b/examples/multimedia/spectrum/spectrumanalyser.cpp
@@ -2,27 +2,30 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "spectrumanalyser.h"
-#include "utils.h"
#include "fftreal_wrapper.h"
+#include "utils.h"
-#include <qmath.h>
-#include <qmetatype.h>
#include <QAudioFormat>
+#include <QMetaType>
#include <QThread>
+#include <QtMath>
SpectrumAnalyserThread::SpectrumAnalyserThread(QObject *parent)
- : QObject(parent)
+ : QObject(parent)
#ifndef DISABLE_FFT
- , m_fft(new FFTRealWrapper)
+ ,
+ m_fft(new FFTRealWrapper)
#endif
- , m_numSamples(SpectrumLengthSamples)
- , m_windowFunction(DefaultWindowFunction)
- , m_window(SpectrumLengthSamples, 0.0)
- , m_input(SpectrumLengthSamples, 0.0)
- , m_output(SpectrumLengthSamples, 0.0)
- , m_spectrum(SpectrumLengthSamples)
+ ,
+ m_numSamples(SpectrumLengthSamples),
+ m_windowFunction(DefaultWindowFunction),
+ m_window(SpectrumLengthSamples, 0.0),
+ m_input(SpectrumLengthSamples, 0.0),
+ m_output(SpectrumLengthSamples, 0.0),
+ m_spectrum(SpectrumLengthSamples)
#ifdef SPECTRUM_ANALYSER_SEPARATE_THREAD
- , m_thread(new QThread(this))
+ ,
+ m_thread(new QThread(this))
#endif
{
#ifdef SPECTRUM_ANALYSER_SEPARATE_THREAD
@@ -49,7 +52,7 @@ void SpectrumAnalyserThread::setWindowFunction(WindowFunction type)
void SpectrumAnalyserThread::calculateWindow()
{
- for (int i=0; i<m_numSamples; ++i) {
+ for (int i = 0; i < m_numSamples; ++i) {
DataType x = 0.0;
switch (m_windowFunction) {
@@ -67,17 +70,16 @@ void SpectrumAnalyserThread::calculateWindow()
}
}
-void SpectrumAnalyserThread::calculateSpectrum(const QByteArray &buffer,
- int inputFrequency,
- int bytesPerFrame)
+void SpectrumAnalyserThread::calculateSpectrum(const QByteArray &buffer, int inputFrequency,
+ int bytesPerFrame)
{
#ifndef DISABLE_FFT
Q_ASSERT(buffer.size() == m_numSamples * bytesPerFrame);
// Initialize data array
const char *ptr = buffer.constData();
- for (int i=0; i<m_numSamples; ++i) {
- const qint16 pcmSample = *reinterpret_cast<const qint16*>(ptr);
+ for (int i = 0; i < m_numSamples; ++i) {
+ const qint16 pcmSample = *reinterpret_cast<const qint16 *>(ptr);
// Scale down to range [-1.0, 1.0]
const DataType realSample = pcmToReal(pcmSample);
const DataType windowedSample = realSample * m_window[i];
@@ -89,16 +91,16 @@ void SpectrumAnalyserThread::calculateSpectrum(const QByteArray &buffer,
m_fft->calculateFFT(m_output.data(), m_input.data());
// Analyze output to obtain amplitude and phase for each frequency
- for (int i=2; i<=m_numSamples/2; ++i) {
+ for (int i = 2; i <= m_numSamples / 2; ++i) {
// Calculate frequency of this complex sample
m_spectrum[i].frequency = qreal(i * inputFrequency) / (m_numSamples);
const qreal real = m_output[i];
qreal imag = 0.0;
- if (i>0 && i<m_numSamples/2)
- imag = m_output[m_numSamples/2 + i];
+ if (i > 0 && i < m_numSamples / 2)
+ imag = m_output[m_numSamples / 2 + i];
- const qreal magnitude = qSqrt(real*real + imag*imag);
+ const qreal magnitude = qSqrt(real * real + imag * imag);
qreal amplitude = SpectrumAnalyserMultiplier * qLn(magnitude);
// Bound amplitude to [0.0, 1.0]
@@ -112,21 +114,21 @@ void SpectrumAnalyserThread::calculateSpectrum(const QByteArray &buffer,
emit calculationComplete(m_spectrum);
}
-
//=============================================================================
// SpectrumAnalyser
//=============================================================================
SpectrumAnalyser::SpectrumAnalyser(QObject *parent)
- : QObject(parent)
- , m_thread(new SpectrumAnalyserThread(this))
- , m_state(Idle)
+ : QObject(parent),
+ m_thread(new SpectrumAnalyserThread(this)),
+ m_state(Idle)
#ifdef DUMP_SPECTRUMANALYSER
- , m_count(0)
+ ,
+ m_count(0)
#endif
{
- connect(m_thread, &SpectrumAnalyserThread::calculationComplete,
- this, &SpectrumAnalyser::calculationComplete);
+ connect(m_thread, &SpectrumAnalyserThread::calculationComplete, this,
+ &SpectrumAnalyser::calculationComplete);
}
SpectrumAnalyser::~SpectrumAnalyser() = default;
@@ -147,21 +149,18 @@ void SpectrumAnalyser::setOutputPath(const QString &outputDir)
void SpectrumAnalyser::setWindowFunction(WindowFunction type)
{
- const bool b = QMetaObject::invokeMethod(m_thread, "setWindowFunction",
- Qt::AutoConnection,
- Q_ARG(WindowFunction, type));
+ const bool b = QMetaObject::invokeMethod(m_thread, "setWindowFunction", Qt::AutoConnection,
+ Q_ARG(WindowFunction, type));
Q_ASSERT(b);
Q_UNUSED(b); // suppress warnings in release builds
}
-void SpectrumAnalyser::calculate(const QByteArray &buffer,
- const QAudioFormat &format)
+void SpectrumAnalyser::calculate(const QByteArray &buffer, const QAudioFormat &format)
{
// QThread::currentThread is marked 'for internal use only', but
// we're only using it for debug output here, so it's probably OK :)
- SPECTRUMANALYSER_DEBUG << "SpectrumAnalyser::calculate"
- << QThread::currentThread()
- << "state" << m_state;
+ SPECTRUMANALYSER_DEBUG << "SpectrumAnalyser::calculate" << QThread::currentThread() << "state"
+ << m_state;
if (isReady()) {
Q_ASSERT(format.sampleFormat() == QAudioFormat::Int16);
@@ -170,15 +169,16 @@ void SpectrumAnalyser::calculate(const QByteArray &buffer,
#ifdef DUMP_SPECTRUMANALYSER
m_count++;
- const QString pcmFileName = m_outputDir.filePath(QString("spectrum_%1.pcm").arg(m_count, 4, 10, QChar('0')));
+ const QString pcmFileName =
+ m_outputDir.filePath(QString("spectrum_%1.pcm").arg(m_count, 4, 10, QChar('0')));
QFile pcmFile(pcmFileName);
pcmFile.open(QIODevice::WriteOnly);
const int bufferLength = m_numSamples * bytesPerFrame;
pcmFile.write(buffer, bufferLength);
m_textStream << "TimeDomain " << m_count << "\n";
- const qint16* input = reinterpret_cast<const qint16*>(buffer);
- for (int i=0; i<m_numSamples; ++i) {
+ const qint16 *input = reinterpret_cast<const qint16 *>(buffer);
+ for (int i = 0; i < m_numSamples; ++i) {
m_textStream << i << "\t" << *input << "\n";
input += format.channels();
}
@@ -191,22 +191,18 @@ void SpectrumAnalyser::calculate(const QByteArray &buffer,
// calculation will be done in the child thread.
// Once the calculation is finished, a calculationChanged signal will be
// emitted by m_thread.
- const bool b = QMetaObject::invokeMethod(m_thread, "calculateSpectrum",
- Qt::AutoConnection,
- Q_ARG(QByteArray, buffer),
- Q_ARG(int, format.sampleRate()),
- Q_ARG(int, bytesPerFrame));
+ const bool b = QMetaObject::invokeMethod(
+ m_thread, "calculateSpectrum", Qt::AutoConnection, Q_ARG(QByteArray, buffer),
+ Q_ARG(int, format.sampleRate()), Q_ARG(int, bytesPerFrame));
Q_ASSERT(b);
Q_UNUSED(b); // suppress warnings in release builds
#ifdef DUMP_SPECTRUMANALYSER
m_textStream << "FrequencySpectrum " << m_count << "\n";
FrequencySpectrum::const_iterator x = m_spectrum.begin();
- for (int i=0; i<m_numSamples; ++i, ++x)
- m_textStream << i << "\t"
- << x->frequency << "\t"
- << x->amplitude<< "\t"
- << x->phase << "\n";
+ for (int i = 0; i < m_numSamples; ++i, ++x)
+ m_textStream << i << "\t" << x->frequency << "\t" << x->amplitude << "\t" << x->phase
+ << "\n";
#endif
}
}
@@ -222,7 +218,6 @@ void SpectrumAnalyser::cancelCalculation()
m_state = Cancelled;
}
-
//-----------------------------------------------------------------------------
// Private slots
//-----------------------------------------------------------------------------
diff --git a/examples/multimedia/spectrum/spectrumanalyser.h b/examples/multimedia/spectrum/spectrumanalyser.h
index b865fa359..202e602fe 100644
--- a/examples/multimedia/spectrum/spectrumanalyser.h
+++ b/examples/multimedia/spectrum/spectrumanalyser.h
@@ -4,21 +4,21 @@
#ifndef SPECTRUMANALYSER_H
#define SPECTRUMANALYSER_H
+#include "frequencyspectrum.h"
+#include "spectrum.h"
+
#include <QByteArray>
-#include <QObject>
#include <QList>
+#include <QObject>
#ifdef DUMP_SPECTRUMANALYSER
-#include <QDir>
-#include <QFile>
-#include <QTextStream>
+# include <QDir>
+# include <QFile>
+# include <QTextStream>
#endif
-#include "frequencyspectrum.h"
-#include "spectrum.h"
-
#ifndef DISABLE_FFT
-#include "FFTRealFixLenParam.h"
+# include "FFTRealFixLenParam.h"
#endif
QT_FORWARD_DECLARE_CLASS(QAudioFormat)
@@ -42,9 +42,7 @@ public:
public slots:
void setWindowFunction(WindowFunction type);
- void calculateSpectrum(const QByteArray &buffer,
- int inputFrequency,
- int bytesPerSample);
+ void calculateSpectrum(const QByteArray &buffer, int inputFrequency, int bytesPerSample);
signals:
void calculationComplete(const FrequencySpectrum &spectrum);
@@ -54,27 +52,27 @@ private:
private:
#ifndef DISABLE_FFT
- FFTRealWrapper* m_fft;
+ FFTRealWrapper *m_fft;
#endif
- const int m_numSamples;
+ const int m_numSamples;
- WindowFunction m_windowFunction;
+ WindowFunction m_windowFunction;
#ifdef DISABLE_FFT
- typedef qreal DataType;
+ typedef qreal DataType;
#else
- typedef FFTRealFixLenParam::DataType DataType;
+ typedef FFTRealFixLenParam::DataType DataType;
#endif
- QList<DataType> m_window;
+ QList<DataType> m_window;
- QList<DataType> m_input;
- QList<DataType> m_output;
+ QList<DataType> m_input;
+ QList<DataType> m_output;
- FrequencySpectrum m_spectrum;
+ FrequencySpectrum m_spectrum;
#ifdef SPECTRUM_ANALYSER_SEPARATE_THREAD
- QThread* m_thread;
+ QThread *m_thread;
#endif
};
@@ -87,7 +85,7 @@ class SpectrumAnalyser : public QObject
Q_OBJECT
public:
- SpectrumAnalyser(QObject *parent = 0);
+ SpectrumAnalyser(QObject *parent = nullptr);
~SpectrumAnalyser();
#ifdef DUMP_SPECTRUMANALYSER
@@ -136,24 +134,18 @@ private:
void calculateWindow();
private:
+ SpectrumAnalyserThread *m_thread;
- SpectrumAnalyserThread* m_thread;
+ enum State { Idle, Busy, Cancelled };
- enum State {
- Idle,
- Busy,
- Cancelled
- };
-
- State m_state;
+ State m_state;
#ifdef DUMP_SPECTRUMANALYSER
- QDir m_outputDir;
- int m_count;
- QFile m_textFile;
- QTextStream m_textStream;
+ QDir m_outputDir;
+ int m_count;
+ QFile m_textFile;
+ QTextStream m_textStream;
#endif
};
#endif // SPECTRUMANALYSER_H
-
diff --git a/examples/multimedia/spectrum/tonegenerator.cpp b/examples/multimedia/spectrum/tonegenerator.cpp
index 1a7f64184..5df1df44d 100644
--- a/examples/multimedia/spectrum/tonegenerator.cpp
+++ b/examples/multimedia/spectrum/tonegenerator.cpp
@@ -3,10 +3,11 @@
#include "spectrum.h"
#include "utils.h"
-#include <QByteArray>
+
#include <QAudioFormat>
-#include <qmath.h>
-#include <qendian.h>
+#include <QByteArray>
+#include <QtEndian>
+#include <QtMath>
void generateTone(const SweptTone &tone, const QAudioFormat &format, QByteArray &buffer)
{
@@ -39,7 +40,7 @@ void generateTone(const SweptTone &tone, const QAudioFormat &format, QByteArray
while (length) {
const qreal x = tone.amplitude * qSin(phase);
const qint16 value = realToPcm(x);
- for (int i=0; i<format.channelCount(); ++i) {
+ for (int i = 0; i < format.channelCount(); ++i) {
qToLittleEndian<qint16>(value, ptr);
ptr += channelBytes;
length -= channelBytes;
diff --git a/examples/multimedia/spectrum/tonegenerator.h b/examples/multimedia/spectrum/tonegenerator.h
index 449734470..2c331fb3c 100644
--- a/examples/multimedia/spectrum/tonegenerator.h
+++ b/examples/multimedia/spectrum/tonegenerator.h
@@ -4,9 +4,10 @@
#ifndef TONEGENERATOR_H
#define TONEGENERATOR_H
-#include <qglobal.h>
#include "spectrum.h"
+#include <QtGlobal>
+
QT_BEGIN_NAMESPACE
class QAudioFormat;
class QByteArray;
@@ -18,4 +19,3 @@ QT_END_NAMESPACE
void generateTone(const SweptTone &tone, const QAudioFormat &format, QByteArray &buffer);
#endif // TONEGENERATOR_H
-
diff --git a/examples/multimedia/spectrum/tonegeneratordialog.cpp b/examples/multimedia/spectrum/tonegeneratordialog.cpp
index 21baac3b7..c0ca107d5 100644
--- a/examples/multimedia/spectrum/tonegeneratordialog.cpp
+++ b/examples/multimedia/spectrum/tonegeneratordialog.cpp
@@ -2,14 +2,15 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "tonegeneratordialog.h"
+
+#include <QCheckBox>
#include <QComboBox>
#include <QDialogButtonBox>
#include <QLabel>
#include <QPushButton>
-#include <QVBoxLayout>
-#include <QCheckBox>
#include <QSlider>
#include <QSpinBox>
+#include <QVBoxLayout>
const int ToneGeneratorFreqMin = 1;
const int ToneGeneratorFreqMax = 1000;
@@ -17,15 +18,15 @@ const int ToneGeneratorFreqDefault = 440;
const int ToneGeneratorAmplitudeDefault = 75;
ToneGeneratorDialog::ToneGeneratorDialog(QWidget *parent)
- : QDialog(parent)
- , m_toneGeneratorSweepCheckBox(new QCheckBox(tr("Frequency sweep"), this))
- , m_frequencySweepEnabled(true)
- , m_toneGeneratorControl(new QWidget(this))
- , m_toneGeneratorFrequencyControl(new QWidget(this))
- , m_frequencySlider(new QSlider(Qt::Horizontal, this))
- , m_frequencySpinBox(new QSpinBox(this))
- , m_frequency(ToneGeneratorFreqDefault)
- , m_amplitudeSlider(new QSlider(Qt::Horizontal, this))
+ : QDialog(parent),
+ m_toneGeneratorSweepCheckBox(new QCheckBox(tr("Frequency sweep"), this)),
+ m_frequencySweepEnabled(true),
+ m_toneGeneratorControl(new QWidget(this)),
+ m_toneGeneratorFrequencyControl(new QWidget(this)),
+ m_frequencySlider(new QSlider(Qt::Horizontal, this)),
+ m_frequencySpinBox(new QSpinBox(this)),
+ m_frequency(ToneGeneratorFreqDefault),
+ m_amplitudeSlider(new QSlider(Qt::Horizontal, this))
{
QVBoxLayout *dialogLayout = new QVBoxLayout(this);
@@ -59,12 +60,11 @@ ToneGeneratorDialog::ToneGeneratorDialog(QWidget *parent)
dialogLayout->addWidget(m_toneGeneratorControl);
// Connect
- connect(m_toneGeneratorSweepCheckBox, &QCheckBox::toggled,
- this, &ToneGeneratorDialog::frequencySweepEnabled);
- connect(m_frequencySlider, &QSlider::valueChanged,
- m_frequencySpinBox, &QSpinBox::setValue);
- connect(m_frequencySpinBox, QOverload<int>::of(&QSpinBox::valueChanged),
- m_frequencySlider, &QSlider::setValue);
+ connect(m_toneGeneratorSweepCheckBox, &QCheckBox::toggled, this,
+ &ToneGeneratorDialog::frequencySweepEnabled);
+ connect(m_frequencySlider, &QSlider::valueChanged, m_frequencySpinBox, &QSpinBox::setValue);
+ connect(m_frequencySpinBox, QOverload<int>::of(&QSpinBox::valueChanged), m_frequencySlider,
+ &QSlider::setValue);
// Add standard buttons to layout
QDialogButtonBox *buttonBox = new QDialogButtonBox(this);
@@ -72,10 +72,10 @@ ToneGeneratorDialog::ToneGeneratorDialog(QWidget *parent)
dialogLayout->addWidget(buttonBox);
// Connect standard buttons
- connect(buttonBox->button(QDialogButtonBox::Ok), &QPushButton::clicked,
- this, &ToneGeneratorDialog::accept);
- connect(buttonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked,
- this, &ToneGeneratorDialog::reject);
+ connect(buttonBox->button(QDialogButtonBox::Ok), &QPushButton::clicked, this,
+ &ToneGeneratorDialog::accept);
+ connect(buttonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked, this,
+ &ToneGeneratorDialog::reject);
setLayout(dialogLayout);
}
diff --git a/examples/multimedia/spectrum/tonegeneratordialog.h b/examples/multimedia/spectrum/tonegeneratordialog.h
index 269ce8706..a922610a3 100644
--- a/examples/multimedia/spectrum/tonegeneratordialog.h
+++ b/examples/multimedia/spectrum/tonegeneratordialog.h
@@ -5,6 +5,7 @@
#define TONEGENERATORDIALOG_H
#include "spectrum.h"
+
#include <QAudioDevice>
#include <QDialog>
@@ -23,7 +24,7 @@ class ToneGeneratorDialog : public QDialog
Q_OBJECT
public:
- explicit ToneGeneratorDialog(QWidget *parent = 0);
+ explicit ToneGeneratorDialog(QWidget *parent = nullptr);
~ToneGeneratorDialog();
bool isFrequencySweepEnabled() const;
diff --git a/examples/multimedia/spectrum/utils.cpp b/examples/multimedia/spectrum/utils.cpp
index af0695fad..f73571569 100644
--- a/examples/multimedia/spectrum/utils.cpp
+++ b/examples/multimedia/spectrum/utils.cpp
@@ -1,8 +1,8 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <QAudioFormat>
#include "utils.h"
+#include <QAudioFormat>
qreal nyquistFrequency(const QAudioFormat &format)
{
@@ -45,17 +45,17 @@ QString formatToString(const QAudioFormat &format)
}
result = QString("%1 Hz %2 bit %3 %4")
- .arg(format.sampleRate())
- .arg(format.bytesPerSample() * 8)
- .arg(formatType)
- .arg(formatChannels);
+ .arg(format.sampleRate())
+ .arg(format.bytesPerSample() * 8)
+ .arg(formatType)
+ .arg(formatChannels);
}
return result;
}
-const qint16 PCMS16MaxValue = 32767;
-const quint16 PCMS16MaxAmplitude = 32768; // because minimum is -32768
+const qint16 PCMS16MaxValue = 32767;
+const quint16 PCMS16MaxAmplitude = 32768; // because minimum is -32768
qreal pcmToReal(qint16 pcm)
{
diff --git a/examples/multimedia/spectrum/utils.h b/examples/multimedia/spectrum/utils.h
index fe53bad34..da0711c66 100644
--- a/examples/multimedia/spectrum/utils.h
+++ b/examples/multimedia/spectrum/utils.h
@@ -4,8 +4,8 @@
#ifndef UTILS_H
#define UTILS_H
-#include <QtCore/qglobal.h>
#include <QDebug>
+#include <QtGlobal>
QT_FORWARD_DECLARE_CLASS(QAudioFormat)
@@ -25,12 +25,19 @@ qint16 realToPcm(qreal real);
// Compile-time calculation of powers of two
-template<int N> class PowerOfTwo
-{ public: static const int Result = PowerOfTwo<N-1>::Result * 2; };
-
-template<> class PowerOfTwo<0>
-{ public: static const int Result = 1; };
+template<int N>
+class PowerOfTwo
+{
+public:
+ static const int Result = PowerOfTwo<N - 1>::Result * 2;
+};
+template<>
+class PowerOfTwo<0>
+{
+public:
+ static const int Result = 1;
+};
//-----------------------------------------------------------------------------
// Debug output
@@ -39,28 +46,34 @@ template<> class PowerOfTwo<0>
class NullDebug
{
public:
- template <typename T>
- NullDebug& operator<<(const T&) { return *this; }
+ template<typename T>
+ NullDebug &operator<<(const T &)
+ {
+ return *this;
+ }
};
-inline NullDebug nullDebug() { return NullDebug(); }
+inline NullDebug nullDebug()
+{
+ return NullDebug();
+}
#ifdef LOG_ENGINE
-# define ENGINE_DEBUG qDebug()
+# define ENGINE_DEBUG qDebug()
#else
-# define ENGINE_DEBUG nullDebug()
+# define ENGINE_DEBUG nullDebug()
#endif
#ifdef LOG_SPECTRUMANALYSER
-# define SPECTRUMANALYSER_DEBUG qDebug()
+# define SPECTRUMANALYSER_DEBUG qDebug()
#else
-# define SPECTRUMANALYSER_DEBUG nullDebug()
+# define SPECTRUMANALYSER_DEBUG nullDebug()
#endif
#ifdef LOG_WAVEFORM
-# define WAVEFORM_DEBUG qDebug()
+# define WAVEFORM_DEBUG qDebug()
#else
-# define WAVEFORM_DEBUG nullDebug()
+# define WAVEFORM_DEBUG nullDebug()
#endif
#endif // UTILS_H
diff --git a/examples/multimedia/spectrum/waveform.cpp b/examples/multimedia/spectrum/waveform.cpp
index ef7f27cc0..d978b952d 100644
--- a/examples/multimedia/spectrum/waveform.cpp
+++ b/examples/multimedia/spectrum/waveform.cpp
@@ -3,27 +3,28 @@
#include "waveform.h"
#include "utils.h"
+
+#include <QDebug>
#include <QPainter>
#include <QResizeEvent>
-#include <QDebug>
//#define PAINT_EVENT_TRACE
#ifdef PAINT_EVENT_TRACE
-# define WAVEFORM_PAINT_DEBUG qDebug()
+# define WAVEFORM_PAINT_DEBUG qDebug()
#else
-# define WAVEFORM_PAINT_DEBUG nullDebug()
+# define WAVEFORM_PAINT_DEBUG nullDebug()
#endif
Waveform::Waveform(QWidget *parent)
- : QWidget(parent)
- , m_bufferPosition(0)
- , m_bufferLength(0)
- , m_audioPosition(0)
- , m_active(false)
- , m_tileLength(0)
- , m_tileArrayStart(0)
- , m_windowPosition(0)
- , m_windowLength(0)
+ : QWidget(parent),
+ m_bufferPosition(0),
+ m_bufferLength(0),
+ m_audioPosition(0),
+ m_active(false),
+ m_tileLength(0),
+ m_tileArrayStart(0),
+ m_windowPosition(0),
+ m_windowLength(0)
{
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
setMinimumHeight(50);
@@ -42,24 +43,23 @@ void Waveform::paintEvent(QPaintEvent * /*event*/)
if (m_active) {
WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
- << "windowPosition" << m_windowPosition
- << "windowLength" << m_windowLength;
+ << "windowPosition" << m_windowPosition << "windowLength"
+ << m_windowLength;
qint64 pos = m_windowPosition;
const qint64 windowEnd = m_windowPosition + m_windowLength;
int destLeft = 0;
int destRight = 0;
while (pos < windowEnd) {
const TilePoint point = tilePoint(pos);
- WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "pos" << pos
- << "tileIndex" << point.index
- << "positionOffset" << point.positionOffset
- << "pixelOffset" << point.pixelOffset;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
+ << "pos" << pos << "tileIndex" << point.index << "positionOffset"
+ << point.positionOffset << "pixelOffset" << point.pixelOffset;
if (point.index != NullIndex) {
const Tile &tile = m_tiles[point.index];
if (tile.painted) {
- const qint64 sectionLength = qMin((m_tileLength - point.positionOffset),
- (windowEnd - pos));
+ const qint64 sectionLength =
+ qMin((m_tileLength - point.positionOffset), (windowEnd - pos));
Q_ASSERT(sectionLength > 0);
const int sourceRight = tilePixelOffset(point.positionOffset + sectionLength);
@@ -73,9 +73,10 @@ void Waveform::paintEvent(QPaintEvent * /*event*/)
sourceRect.setLeft(point.pixelOffset);
sourceRect.setRight(sourceRight);
- WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "tileIndex" << point.index
- << "source" << point.pixelOffset << sourceRight
- << "dest" << destLeft << destRight;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
+ << "tileIndex" << point.index << "source"
+ << point.pixelOffset << sourceRight << "dest" << destLeft
+ << destRight;
painter.drawPixmap(destRect, *tile.pixmap, sourceRect);
@@ -83,25 +84,30 @@ void Waveform::paintEvent(QPaintEvent * /*event*/)
if (point.index < m_tiles.count()) {
pos = tilePosition(point.index + 1);
- WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "pos ->" << pos;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
+ << "pos ->" << pos;
} else {
// Reached end of tile array
- WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "reached end of tile array";
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
+ << "reached end of tile array";
break;
}
} else {
// Passed last tile which is painted
- WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "tile" << point.index << "not painted";
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
+ << "tile" << point.index << "not painted";
break;
}
} else {
// pos is past end of tile array
- WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "pos" << pos << "past end of tile array";
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
+ << "pos" << pos << "past end of tile array";
break;
}
}
- WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent" << "final pos" << pos << "final x" << destRight;
+ WAVEFORM_PAINT_DEBUG << "Waveform::paintEvent"
+ << "final pos" << pos << "final x" << destRight;
}
}
@@ -111,11 +117,12 @@ void Waveform::resizeEvent(QResizeEvent *event)
createPixmaps(event->size());
}
-void Waveform::initialize(const QAudioFormat &format, qint64 audioBufferSize, qint64 windowDurationUs)
+void Waveform::initialize(const QAudioFormat &format, qint64 audioBufferSize,
+ qint64 windowDurationUs)
{
WAVEFORM_DEBUG << "Waveform::initialize"
- << "audioBufferSize" << audioBufferSize
- << "windowDurationUs" << windowDurationUs;
+ << "audioBufferSize" << audioBufferSize << "windowDurationUs"
+ << windowDurationUs;
reset();
@@ -138,9 +145,8 @@ void Waveform::initialize(const QAudioFormat &format, qint64 audioBufferSize, qi
}
WAVEFORM_DEBUG << "Waveform::initialize"
- << "tileLength" << m_tileLength
- << "windowLength" << m_windowLength
- << "nTiles" << nTiles;
+ << "tileLength" << m_tileLength << "windowLength" << m_windowLength << "nTiles"
+ << nTiles;
m_pixmaps.fill(nullptr, nTiles);
m_tiles.resize(nTiles);
@@ -170,8 +176,7 @@ void Waveform::reset()
void Waveform::bufferChanged(qint64 position, qint64 length, const QByteArray &buffer)
{
WAVEFORM_DEBUG << "Waveform::bufferChanged"
- << "audioPosition" << m_audioPosition
- << "bufferPosition" << position
+ << "audioPosition" << m_audioPosition << "bufferPosition" << position
<< "bufferLength" << length;
m_bufferPosition = position;
m_bufferLength = length;
@@ -182,8 +187,7 @@ void Waveform::bufferChanged(qint64 position, qint64 length, const QByteArray &b
void Waveform::audioPositionChanged(qint64 position)
{
WAVEFORM_DEBUG << "Waveform::audioPositionChanged"
- << "audioPosition" << position
- << "bufferPosition" << m_bufferPosition
+ << "audioPosition" << position << "bufferPosition" << m_bufferPosition
<< "bufferLength" << m_bufferLength;
if (position >= m_bufferPosition) {
@@ -205,19 +209,18 @@ void Waveform::createPixmaps(const QSize &widgetSize)
m_pixmapSize.setWidth(qreal(widgetSize.width()) * m_tileLength / m_windowLength);
WAVEFORM_DEBUG << "Waveform::createPixmaps"
- << "widgetSize" << widgetSize
- << "pixmapSize" << m_pixmapSize;
+ << "widgetSize" << widgetSize << "pixmapSize" << m_pixmapSize;
Q_ASSERT(m_tiles.count() == m_pixmaps.count());
// (Re)create pixmaps
- for (auto & pixmap : m_pixmaps) {
+ for (auto &pixmap : m_pixmaps) {
delete pixmap;
pixmap = new QPixmap(m_pixmapSize);
}
// Update tile pixmap pointers, and mark for repainting
- for (int i=0; i<m_tiles.count(); ++i) {
+ for (int i = 0; i < m_tiles.count(); ++i) {
m_tiles[i].pixmap = m_pixmaps[i];
m_tiles[i].painted = false;
}
@@ -226,14 +229,14 @@ void Waveform::createPixmaps(const QSize &widgetSize)
void Waveform::setWindowPosition(qint64 position)
{
WAVEFORM_DEBUG << "Waveform::setWindowPosition"
- << "old" << m_windowPosition << "new" << position
- << "tileArrayStart" << m_tileArrayStart;
+ << "old" << m_windowPosition << "new" << position << "tileArrayStart"
+ << m_tileArrayStart;
const qint64 oldPosition = m_windowPosition;
m_windowPosition = position;
- if ((m_windowPosition >= oldPosition) &&
- (m_windowPosition - m_tileArrayStart < (m_tiles.count() * m_tileLength))) {
+ if ((m_windowPosition >= oldPosition)
+ && (m_windowPosition - m_tileArrayStart < (m_tiles.count() * m_tileLength))) {
// Work out how many tiles need to be shuffled
const qint64 offset = m_windowPosition - m_tileArrayStart;
const int nTiles = offset / m_tileLength;
@@ -288,7 +291,7 @@ bool Waveform::paintTiles()
WAVEFORM_DEBUG << "Waveform::paintTiles";
bool updateRequired = false;
- for (int i=0; i<m_tiles.count(); ++i) {
+ for (int i = 0; i < m_tiles.count(); ++i) {
const Tile &tile = m_tiles[i];
if (!tile.painted) {
const qint64 tileStart = m_tileArrayStart + i * m_tileLength;
@@ -311,11 +314,8 @@ void Waveform::paintTile(int index)
const qint64 tileStart = m_tileArrayStart + index * m_tileLength;
WAVEFORM_DEBUG << "Waveform::paintTile"
- << "index" << index
- << "bufferPosition" << m_bufferPosition
- << "bufferLength" << m_bufferLength
- << "start" << tileStart
- << "end" << tileStart + m_tileLength;
+ << "index" << index << "bufferPosition" << m_bufferPosition << "bufferLength"
+ << m_bufferLength << "start" << tileStart << "end" << tileStart + m_tileLength;
Q_ASSERT(m_bufferPosition <= tileStart);
Q_ASSERT(m_bufferPosition + m_bufferLength >= tileStart + m_tileLength);
@@ -323,8 +323,8 @@ void Waveform::paintTile(int index)
Tile &tile = m_tiles[index];
Q_ASSERT(!tile.painted);
- const qint16* base = reinterpret_cast<const qint16*>(m_buffer.constData());
- const qint16* buffer = base + ((tileStart - m_bufferPosition) / 2);
+ const qint16 *base = reinterpret_cast<const qint16 *>(m_buffer.constData());
+ const qint16 *buffer = base + ((tileStart - m_bufferPosition) / 2);
const int numSamples = m_tileLength / (2 * m_format.channelCount());
QPainter painter(tile.pixmap);
@@ -346,10 +346,10 @@ void Waveform::paintTile(int index)
QLine line(origin, origin);
- for (int i=0; i<numSamples; ++i) {
- const qint16* ptr = buffer + i * m_format.channelCount();
+ for (int i = 0; i < numSamples; ++i) {
+ const qint16 *ptr = buffer + i * m_format.channelCount();
- const int offset = reinterpret_cast<const char*>(ptr) - m_buffer.constData();
+ const int offset = reinterpret_cast<const char *>(ptr) - m_buffer.constData();
Q_ASSERT(offset >= 0);
Q_ASSERT(offset < m_bufferLength);
Q_UNUSED(offset);
@@ -370,7 +370,8 @@ void Waveform::paintTile(int index)
void Waveform::shuffleTiles(int n)
{
- WAVEFORM_DEBUG << "Waveform::shuffleTiles" << "n" << n;
+ WAVEFORM_DEBUG << "Waveform::shuffleTiles"
+ << "n" << n;
while (n--) {
Tile tile = m_tiles.first();
@@ -380,17 +381,18 @@ void Waveform::shuffleTiles(int n)
m_tileArrayStart += m_tileLength;
}
- WAVEFORM_DEBUG << "Waveform::shuffleTiles" << "tileArrayStart" << m_tileArrayStart;
+ WAVEFORM_DEBUG << "Waveform::shuffleTiles"
+ << "tileArrayStart" << m_tileArrayStart;
}
void Waveform::resetTiles(qint64 newStartPos)
{
- WAVEFORM_DEBUG << "Waveform::resetTiles" << "newStartPos" << newStartPos;
+ WAVEFORM_DEBUG << "Waveform::resetTiles"
+ << "newStartPos" << newStartPos;
QList<Tile>::iterator i = m_tiles.begin();
- for ( ; i != m_tiles.end(); ++i)
+ for (; i != m_tiles.end(); ++i)
i->painted = false;
m_tileArrayStart = newStartPos;
}
-
diff --git a/examples/multimedia/spectrum/waveform.h b/examples/multimedia/spectrum/waveform.h
index 9d877d5bf..86fda9962 100644
--- a/examples/multimedia/spectrum/waveform.h
+++ b/examples/multimedia/spectrum/waveform.h
@@ -23,7 +23,7 @@ class Waveform : public QWidget
Q_OBJECT
public:
- explicit Waveform(QWidget *parent = 0);
+ explicit Waveform(QWidget *parent = nullptr);
~Waveform();
// QWidget
@@ -68,17 +68,18 @@ private:
struct TilePoint
{
TilePoint(int idx = 0, qint64 pos = 0, qint64 pix = 0)
- : index(idx), positionOffset(pos), pixelOffset(pix)
- { }
+ : index(idx), positionOffset(pos), pixelOffset(pix)
+ {
+ }
// Index of tile
- int index;
+ int index;
// Number of bytes from start of tile
- qint64 positionOffset;
+ qint64 positionOffset;
// Number of pixels from left of corresponding pixmap
- int pixelOffset;
+ int pixelOffset;
};
/*
@@ -130,36 +131,37 @@ private:
void resetTiles(qint64 newStartPos);
private:
- qint64 m_bufferPosition;
- qint64 m_bufferLength;
- QByteArray m_buffer;
+ qint64 m_bufferPosition;
+ qint64 m_bufferLength;
+ QByteArray m_buffer;
- qint64 m_audioPosition;
- QAudioFormat m_format;
+ qint64 m_audioPosition;
+ QAudioFormat m_format;
- bool m_active;
+ bool m_active;
- QSize m_pixmapSize;
- QList<QPixmap*> m_pixmaps;
+ QSize m_pixmapSize;
+ QList<QPixmap *> m_pixmaps;
- struct Tile {
+ struct Tile
+ {
// Pointer into parent m_pixmaps array
- QPixmap* pixmap;
+ QPixmap *pixmap;
// Flag indicating whether this tile has been painted
- bool painted;
+ bool painted;
};
- QList<Tile> m_tiles;
+ QList<Tile> m_tiles;
// Length of audio data in bytes depicted by each tile
- qint64 m_tileLength;
+ qint64 m_tileLength;
// Position in bytes of the first tile, relative to m_buffer
- qint64 m_tileArrayStart;
+ qint64 m_tileArrayStart;
- qint64 m_windowPosition;
- qint64 m_windowLength;
+ qint64 m_windowPosition;
+ qint64 m_windowLength;
};
#endif // WAVEFORM_H
diff --git a/examples/multimedia/video/mediaplayer/main.cpp b/examples/multimedia/video/mediaplayer/main.cpp
index 7fccbc05c..e2b22db4b 100644
--- a/examples/multimedia/video/mediaplayer/main.cpp
+++ b/examples/multimedia/video/mediaplayer/main.cpp
@@ -1,10 +1,10 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <QGuiApplication>
-#include <QQmlApplicationEngine>
#include <QCommandLineParser>
#include <QDir>
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
@@ -25,10 +25,11 @@ int main(int argc, char *argv[])
if (!parser.positionalArguments().isEmpty()) {
QUrl source = QUrl::fromUserInput(parser.positionalArguments().at(0), QDir::currentPath());
- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, [source](QObject *object, const QUrl &){
- qDebug() << "setting source";
- object->setProperty("source", source);
- });
+ QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
+ [source](QObject *object, const QUrl &) {
+ qDebug() << "setting source";
+ object->setProperty("source", source);
+ });
}
engine.load(url);
diff --git a/examples/multimedia/video/qmlvideo/frequencymonitor.cpp b/examples/multimedia/video/qmlvideo/frequencymonitor.cpp
index 71f155f99..61be58167 100644
--- a/examples/multimedia/video/qmlvideo/frequencymonitor.cpp
+++ b/examples/multimedia/video/qmlvideo/frequencymonitor.cpp
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "frequencymonitor.h"
+
#include <QDebug>
#include <QElapsedTimer>
#include <QString>
@@ -10,11 +11,20 @@
//#define VERBOSE_TRACE
-inline QDebug qtTrace() { return qDebug() << "[frequencymonitor]"; }
+inline QDebug qtTrace()
+{
+ return qDebug() << "[frequencymonitor]";
+}
#ifdef VERBOSE_TRACE
-inline QDebug qtVerboseTrace() { return qtTrace(); }
+inline QDebug qtVerboseTrace()
+{
+ return qtTrace();
+}
#else
-inline QNoDebug qtVerboseTrace() { return QNoDebug(); }
+inline QNoDebug qtVerboseTrace()
+{
+ return QNoDebug();
+}
#endif
static const int DefaultSamplingInterval = 100;
@@ -47,29 +57,27 @@ public:
};
FrequencyMonitorPrivate::FrequencyMonitorPrivate(FrequencyMonitor *parent)
-: QObject(parent)
-, q_ptr(parent)
-, m_active(false)
-, m_instantaneousFrequency(0)
-, m_averageTimer(new QTimer(this))
-, m_count(0)
-, m_averageFrequency(0)
-, m_traceTimer(new QTimer(this))
-, m_stalledTimer(new QTimer(this))
+ : QObject(parent),
+ q_ptr(parent),
+ m_active(false),
+ m_instantaneousFrequency(0),
+ m_averageTimer(new QTimer(this)),
+ m_count(0),
+ m_averageFrequency(0),
+ m_traceTimer(new QTimer(this)),
+ m_stalledTimer(new QTimer(this))
{
m_instantaneousElapsed.start();
- connect(m_averageTimer, &QTimer::timeout,
- this, &FrequencyMonitorPrivate::calculateAverageFrequency);
+ connect(m_averageTimer, &QTimer::timeout, this,
+ &FrequencyMonitorPrivate::calculateAverageFrequency);
if (DefaultSamplingInterval)
m_averageTimer->start(DefaultSamplingInterval);
m_averageElapsed.start();
- connect(m_traceTimer, &QTimer::timeout,
- q_ptr, &FrequencyMonitor::trace);
+ connect(m_traceTimer, &QTimer::timeout, q_ptr, &FrequencyMonitor::trace);
if (DefaultTraceInterval)
m_traceTimer->start(DefaultTraceInterval);
m_stalledTimer->setSingleShot(true);
- connect(m_stalledTimer, &QTimer::timeout,
- this, &FrequencyMonitorPrivate::stalled);
+ connect(m_stalledTimer, &QTimer::timeout, this, &FrequencyMonitorPrivate::stalled);
}
void FrequencyMonitorPrivate::calculateInstantaneousFrequency()
@@ -101,8 +109,7 @@ void FrequencyMonitorPrivate::stalled()
}
}
-FrequencyMonitor::FrequencyMonitor(QObject *parent)
-: QObject(parent)
+FrequencyMonitor::FrequencyMonitor(QObject *parent) : QObject(parent)
{
d_ptr = new FrequencyMonitorPrivate(this);
}
@@ -150,12 +157,13 @@ void FrequencyMonitor::trace()
{
Q_D(FrequencyMonitor);
const QString value = QString::fromLatin1("instant %1 average %2")
- .arg(d->m_instantaneousFrequency, 0, 'f', 2)
- .arg(d->m_averageFrequency, 0, 'f', 2);
+ .arg(d->m_instantaneousFrequency, 0, 'f', 2)
+ .arg(d->m_averageFrequency, 0, 'f', 2);
if (d->m_label.isEmpty())
qtTrace() << "FrequencyMonitor::trace" << value;
else
- qtTrace() << "FrequencyMonitor::trace" << "label" << d->m_label << value;
+ qtTrace() << "FrequencyMonitor::trace"
+ << "label" << d->m_label << value;
}
void FrequencyMonitor::setLabel(const QString &value)
diff --git a/examples/multimedia/video/qmlvideo/frequencymonitor.h b/examples/multimedia/video/qmlvideo/frequencymonitor.h
index 67c44d255..a1756dc88 100644
--- a/examples/multimedia/video/qmlvideo/frequencymonitor.h
+++ b/examples/multimedia/video/qmlvideo/frequencymonitor.h
@@ -22,13 +22,16 @@ class FrequencyMonitor : public QObject
Q_DECLARE_PRIVATE(FrequencyMonitor)
Q_PROPERTY(QString label READ label WRITE setLabel NOTIFY labelChanged)
Q_PROPERTY(bool active READ active WRITE setActive NOTIFY activeChanged)
- Q_PROPERTY(int samplingInterval READ samplingInterval WRITE setSamplingInterval NOTIFY samplingIntervalChanged)
- Q_PROPERTY(int traceInterval READ traceInterval WRITE setTraceInterval NOTIFY traceIntervalChanged)
- Q_PROPERTY(qreal instantaneousFrequency READ instantaneousFrequency NOTIFY instantaneousFrequencyChanged)
+ Q_PROPERTY(int samplingInterval READ samplingInterval WRITE setSamplingInterval NOTIFY
+ samplingIntervalChanged)
+ Q_PROPERTY(
+ int traceInterval READ traceInterval WRITE setTraceInterval NOTIFY traceIntervalChanged)
+ Q_PROPERTY(qreal instantaneousFrequency READ instantaneousFrequency NOTIFY
+ instantaneousFrequencyChanged)
Q_PROPERTY(qreal averageFrequency READ averageFrequency NOTIFY averageFrequencyChanged)
public:
- FrequencyMonitor(QObject *parent = 0);
+ FrequencyMonitor(QObject *parent = nullptr);
~FrequencyMonitor();
static void qmlRegisterType();
diff --git a/examples/multimedia/video/qmlvideo/frequencymonitordeclarative.cpp b/examples/multimedia/video/qmlvideo/frequencymonitordeclarative.cpp
index 2c30f03a9..6ed2019ff 100644
--- a/examples/multimedia/video/qmlvideo/frequencymonitordeclarative.cpp
+++ b/examples/multimedia/video/qmlvideo/frequencymonitordeclarative.cpp
@@ -2,7 +2,7 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "frequencymonitor.h"
-#include <QtQml/qqml.h>
+#include <qqml.h>
void FrequencyMonitor::qmlRegisterType()
{
diff --git a/examples/multimedia/video/qmlvideo/main.cpp b/examples/multimedia/video/qmlvideo/main.cpp
index 95fc2a1dd..a63146df0 100644
--- a/examples/multimedia/video/qmlvideo/main.cpp
+++ b/examples/multimedia/video/qmlvideo/main.cpp
@@ -1,20 +1,21 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <QtCore/QStandardPaths>
-#include <QtCore/QString>
-#include <QtCore/QStringList>
-#include <QtQml/QQmlContext>
-#include <QtQml/QQmlEngine>
-#include <QtGui/QGuiApplication>
-#include <QtQuick/QQuickItem>
-#include <QtQuick/QQuickView>
+#include "performancemonitor.h"
#include "trace.h"
-
#ifdef PERFORMANCEMONITOR_SUPPORT
-#include "performancemonitordeclarative.h"
+# include "performancemonitordeclarative.h"
#endif
+#include <QGuiApplication>
+#include <QQmlContext>
+#include <QQmlEngine>
+#include <QQuickItem>
+#include <QQuickView>
+#include <QStandardPaths>
+#include <QString>
+#include <QStringList>
+
static const QString DefaultFileName1 = "";
static const QString DefaultFileName2 = "";
@@ -37,7 +38,7 @@ int main(int argc, char *argv[])
const QByteArray arg = args.at(i).toUtf8();
if (arg.startsWith('-')) {
if ("-volume" == arg) {
- if (i+1 < args.count())
+ if (i + 1 < args.count())
volume = 0.01 * args.at(++i).toInt();
else
qtTrace() << "Option \"-volume\" takes a value";
@@ -87,15 +88,13 @@ int main(int argc, char *argv[])
rootObject->setProperty("perfMonitorsLogging", performanceMonitorState.logging);
rootObject->setProperty("perfMonitorsVisible", performanceMonitorState.visible);
}
- QObject::connect(&viewer, SIGNAL(afterRendering()),
- rootObject, SLOT(qmlFramePainted()));
+ QObject::connect(&viewer, SIGNAL(afterRendering()), rootObject, SLOT(qmlFramePainted()));
#endif
- const QStringList moviesLocation = QStandardPaths::standardLocations(QStandardPaths::MoviesLocation);
- const QUrl videoPath =
- QUrl::fromLocalFile(moviesLocation.isEmpty() ?
- app.applicationDirPath() :
- moviesLocation.front());
+ const QStringList moviesLocation =
+ QStandardPaths::standardLocations(QStandardPaths::MoviesLocation);
+ const QUrl videoPath = QUrl::fromLocalFile(moviesLocation.isEmpty() ? app.applicationDirPath()
+ : moviesLocation.front());
viewer.rootContext()->setContextProperty("videoPath", videoPath);
QMetaObject::invokeMethod(rootObject, "init");
@@ -105,4 +104,3 @@ int main(int argc, char *argv[])
return app.exec();
}
-
diff --git a/examples/multimedia/video/qmlvideo/performancemonitor.h b/examples/multimedia/video/qmlvideo/performancemonitor.h
index 1b09baf39..683468619 100644
--- a/examples/multimedia/video/qmlvideo/performancemonitor.h
+++ b/examples/multimedia/video/qmlvideo/performancemonitor.h
@@ -13,9 +13,13 @@ struct State
State() : valid(true), logging(false), visible(true) { }
State(bool l, bool v) : valid(true), logging(l), visible(v) { }
bool operator==(const State &other) const
- { return logging == other.logging && visible == other.visible; }
+ {
+ return logging == other.logging && visible == other.visible;
+ }
bool operator!=(const State &other) const
- { return logging != other.logging || visible != other.visible; }
+ {
+ return logging != other.logging || visible != other.visible;
+ }
bool parseArgument(const QByteArray &arg);
@@ -27,4 +31,3 @@ struct State
} // namespace PerformanceMonitor
#endif // PERFORMANCEMONITOR_H
-
diff --git a/examples/multimedia/video/qmlvideo/performancemonitordeclarative.cpp b/examples/multimedia/video/qmlvideo/performancemonitordeclarative.cpp
index 275c590f7..a2ad1ca82 100644
--- a/examples/multimedia/video/qmlvideo/performancemonitordeclarative.cpp
+++ b/examples/multimedia/video/qmlvideo/performancemonitordeclarative.cpp
@@ -2,12 +2,11 @@
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "frequencymonitor.h"
-#include "performancemonitor.h"
namespace PerformanceMonitor {
- void qmlRegisterTypes()
- {
- FrequencyMonitor::qmlRegisterType();
- }
+void qmlRegisterTypes()
+{
+ FrequencyMonitor::qmlRegisterType();
+}
}
diff --git a/examples/multimedia/video/qmlvideo/performancemonitordeclarative.h b/examples/multimedia/video/qmlvideo/performancemonitordeclarative.h
index b36f86b61..4514d5041 100644
--- a/examples/multimedia/video/qmlvideo/performancemonitordeclarative.h
+++ b/examples/multimedia/video/qmlvideo/performancemonitordeclarative.h
@@ -4,10 +4,8 @@
#ifndef PERFORMANCEMONITORDECLARATIVE_H
#define PERFORMANCEMONITORDECLARATIVE_H
-#include "performancemonitor.h"
-
namespace PerformanceMonitor {
- void qmlRegisterTypes();
+void qmlRegisterTypes();
}
#endif // PERFORMANCEMONITORDECLARATIVE_H
diff --git a/examples/multimedia/video/qmlvideo/trace.h b/examples/multimedia/video/qmlvideo/trace.h
index 263e3bb65..bd7f63b68 100644
--- a/examples/multimedia/video/qmlvideo/trace.h
+++ b/examples/multimedia/video/qmlvideo/trace.h
@@ -4,7 +4,7 @@
#ifndef TRACE_H
#define TRACE_H
-#include <QtCore/QDebug>
+#include <QDebug>
#define ENABLE_TRACE
//#define VERBOSE_TRACE
@@ -14,13 +14,19 @@ namespace Trace {
class NullDebug
{
public:
- template <typename T>
- NullDebug& operator<<(const T&) { return *this; }
+ template<typename T>
+ NullDebug &operator<<(const T &)
+ {
+ return *this;
+ }
};
-inline NullDebug nullDebug() { return NullDebug(); }
+inline NullDebug nullDebug()
+{
+ return NullDebug();
+}
-template <typename T>
+template<typename T>
struct PtrWrapper
{
PtrWrapper(const T *ptr) : m_ptr(ptr) { }
@@ -29,8 +35,8 @@ struct PtrWrapper
} // namespace Trace
-template <typename T>
-inline QDebug& operator<<(QDebug &debug, const Trace::PtrWrapper<T> &wrapper)
+template<typename T>
+inline QDebug &operator<<(QDebug &debug, const Trace::PtrWrapper<T> &wrapper)
{
QDebugStateSaver saver(debug);
debug.nospace() << '[' << static_cast<const void *>(wrapper.m_ptr) << ']';
@@ -39,20 +45,37 @@ inline QDebug& operator<<(QDebug &debug, const Trace::PtrWrapper<T> &wrapper)
template<typename T>
inline const void *qtVoidPtr(const T *ptr)
-{ return static_cast<const void *>(ptr); }
+{
+ return static_cast<const void *>(ptr);
+}
#define qtThisPtr() qtVoidPtr(this)
#ifdef ENABLE_TRACE
- inline QDebug qtTrace() { return qDebug() << "[qmlvideo]"; }
+inline QDebug qtTrace()
+{
+ return qDebug() << "[qmlvideo]";
+}
# ifdef VERBOSE_TRACE
- inline QDebug qtVerboseTrace() { return qtTrace(); }
+inline QDebug qtVerboseTrace()
+{
+ return qtTrace();
+}
# else
- inline Trace::NullDebug qtVerboseTrace() { return Trace::nullDebug(); }
+inline Trace::NullDebug qtVerboseTrace()
+{
+ return Trace::nullDebug();
+}
# endif
#else
- inline Trace::NullDebug qtTrace() { return Trace::nullDebug(); }
- inline Trace::NullDebug qtVerboseTrace() { return Trace::nullDebug(); }
+inline Trace::NullDebug qtTrace()
+{
+ return Trace::nullDebug();
+}
+inline Trace::NullDebug qtVerboseTrace()
+{
+ return Trace::nullDebug();
+}
#endif
#endif // TRACE_H
diff --git a/examples/multimedia/video/recorder/main.cpp b/examples/multimedia/video/recorder/main.cpp
index 7edc04ed8..195290319 100644
--- a/examples/multimedia/video/recorder/main.cpp
+++ b/examples/multimedia/video/recorder/main.cpp
@@ -10,11 +10,13 @@ int main(int argc, char *argv[])
QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/main.qml"));
- QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
- &app, [url](QObject *obj, const QUrl &objUrl) {
- if (!obj && url == objUrl)
- QCoreApplication::exit(-1);
- }, Qt::QueuedConnection);
+ QObject::connect(
+ &engine, &QQmlApplicationEngine::objectCreated, &app,
+ [url](QObject *obj, const QUrl &objUrl) {
+ if (!obj && url == objUrl)
+ QCoreApplication::exit(-1);
+ },
+ Qt::QueuedConnection);
engine.load(url);
return app.exec();
diff --git a/examples/multimedia/videographicsitem/main.cpp b/examples/multimedia/videographicsitem/main.cpp
index 85d1ec92b..725243ed9 100644
--- a/examples/multimedia/videographicsitem/main.cpp
+++ b/examples/multimedia/videographicsitem/main.cpp
@@ -4,8 +4,8 @@
#include "videoplayer.h"
#include <QApplication>
-#include <QCommandLineParser>
#include <QCommandLineOption>
+#include <QCommandLineParser>
#include <QDir>
#include <QUrl>
@@ -26,9 +26,8 @@ int main(int argc, char **argv)
VideoPlayer player;
if (!parser.positionalArguments().isEmpty() && player.isPlayerAvailable()) {
- const QUrl url =
- QUrl::fromUserInput(parser.positionalArguments().constFirst(),
- QDir::currentPath(), QUrl::AssumeLocalFile);
+ const QUrl url = QUrl::fromUserInput(parser.positionalArguments().constFirst(),
+ QDir::currentPath(), QUrl::AssumeLocalFile);
player.load(url);
}
@@ -36,4 +35,3 @@ int main(int argc, char **argv)
return app.exec();
}
-
diff --git a/examples/multimedia/videographicsitem/videoplayer.cpp b/examples/multimedia/videographicsitem/videoplayer.cpp
index 096fabd77..534391c66 100644
--- a/examples/multimedia/videographicsitem/videoplayer.cpp
+++ b/examples/multimedia/videographicsitem/videoplayer.cpp
@@ -3,11 +3,22 @@
#include "videoplayer.h"
-#include <QtWidgets>
+#include <QBoxLayout>
+#include <QDir>
+#include <QFileDialog>
+#include <QGraphicsScene>
#include <QGraphicsVideoItem>
-
-VideoPlayer::VideoPlayer(QWidget *parent)
- : QWidget(parent)
+#include <QGraphicsView>
+#include <QHBoxLayout>
+#include <QPushButton>
+#include <QScreen>
+#include <QSlider>
+#include <QStandardPaths>
+#include <QStyle>
+#include <QVBoxLayout>
+#include <QWidget>
+
+VideoPlayer::VideoPlayer(QWidget *parent) : QWidget(parent)
{
m_mediaPlayer = new QMediaPlayer(this);
const QSize screenGeometry = screen()->availableSize();
@@ -21,11 +32,10 @@ VideoPlayer::VideoPlayer(QWidget *parent)
QSlider *rotateSlider = new QSlider(Qt::Horizontal);
rotateSlider->setToolTip(tr("Rotate Video"));
- rotateSlider->setRange(-180, 180);
+ rotateSlider->setRange(-180, 180);
rotateSlider->setValue(0);
- connect(rotateSlider, &QAbstractSlider::valueChanged,
- this, &VideoPlayer::rotateVideo);
+ connect(rotateSlider, &QAbstractSlider::valueChanged, this, &VideoPlayer::rotateVideo);
QAbstractButton *openButton = new QPushButton(tr("Open..."));
connect(openButton, &QAbstractButton::clicked, this, &VideoPlayer::openFile);
@@ -39,8 +49,7 @@ VideoPlayer::VideoPlayer(QWidget *parent)
m_positionSlider = new QSlider(Qt::Horizontal);
m_positionSlider->setRange(0, 0);
- connect(m_positionSlider, &QAbstractSlider::sliderMoved,
- this, &VideoPlayer::setPosition);
+ connect(m_positionSlider, &QAbstractSlider::sliderMoved, this, &VideoPlayer::setPosition);
QBoxLayout *controlLayout = new QHBoxLayout;
controlLayout->setContentsMargins(0, 0, 0, 0);
@@ -54,15 +63,13 @@ VideoPlayer::VideoPlayer(QWidget *parent)
layout->addLayout(controlLayout);
m_mediaPlayer->setVideoOutput(m_videoItem);
- connect(m_mediaPlayer, &QMediaPlayer::playbackStateChanged,
- this, &VideoPlayer::mediaStateChanged);
+ connect(m_mediaPlayer, &QMediaPlayer::playbackStateChanged, this,
+ &VideoPlayer::mediaStateChanged);
connect(m_mediaPlayer, &QMediaPlayer::positionChanged, this, &VideoPlayer::positionChanged);
connect(m_mediaPlayer, &QMediaPlayer::durationChanged, this, &VideoPlayer::durationChanged);
}
-VideoPlayer::~VideoPlayer()
-{
-}
+VideoPlayer::~VideoPlayer() { }
QSize VideoPlayer::sizeHint() const
{
@@ -79,7 +86,8 @@ void VideoPlayer::openFile()
QFileDialog fileDialog(this);
fileDialog.setAcceptMode(QFileDialog::AcceptOpen);
fileDialog.setWindowTitle(tr("Open Movie"));
- fileDialog.setDirectory(QStandardPaths::standardLocations(QStandardPaths::MoviesLocation).value(0, QDir::homePath()));
+ fileDialog.setDirectory(QStandardPaths::standardLocations(QStandardPaths::MoviesLocation)
+ .value(0, QDir::homePath()));
if (fileDialog.exec() == QDialog::Accepted)
load(fileDialog.selectedUrls().constFirst());
}
@@ -104,7 +112,7 @@ void VideoPlayer::play()
void VideoPlayer::mediaStateChanged(QMediaPlayer::PlaybackState state)
{
- switch(state) {
+ switch (state) {
case QMediaPlayer::PlayingState:
m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause));
break;
@@ -129,10 +137,9 @@ void VideoPlayer::setPosition(int position)
m_mediaPlayer->setPosition(position);
}
-
void VideoPlayer::rotateVideo(int angle)
{
- //rotate around the center of video element
+ // rotate around the center of video element
qreal x = m_videoItem->boundingRect().width() / 2.0;
qreal y = m_videoItem->boundingRect().height() / 2.0;
m_videoItem->setTransform(QTransform().translate(x, y).rotate(angle).translate(-x, -y));
diff --git a/examples/multimedia/videographicsitem/videoplayer.h b/examples/multimedia/videographicsitem/videoplayer.h
index a5be31efc..5cd4d7434 100644
--- a/examples/multimedia/videographicsitem/videoplayer.h
+++ b/examples/multimedia/videographicsitem/videoplayer.h
@@ -45,4 +45,3 @@ private:
};
#endif
-
diff --git a/examples/multimedia/videowidget/main.cpp b/examples/multimedia/videowidget/main.cpp
index ccf5983dd..a4e2dc4aa 100644
--- a/examples/multimedia/videowidget/main.cpp
+++ b/examples/multimedia/videowidget/main.cpp
@@ -3,12 +3,12 @@
#include "videoplayer.h"
-#include <QtWidgets/QApplication>
-#include <QtCore/QCommandLineParser>
-#include <QtCore/QCommandLineOption>
-#include <QtCore/QDir>
-#include <QtCore/QUrl>
+#include <QApplication>
+#include <QCommandLineOption>
+#include <QCommandLineParser>
+#include <QDir>
#include <QScreen>
+#include <QUrl>
int main(int argc, char *argv[])
{
@@ -27,9 +27,8 @@ int main(int argc, char *argv[])
VideoPlayer player;
if (!parser.positionalArguments().isEmpty()) {
- const QUrl url =
- QUrl::fromUserInput(parser.positionalArguments().constFirst(),
- QDir::currentPath(), QUrl::AssumeLocalFile);
+ const QUrl url = QUrl::fromUserInput(parser.positionalArguments().constFirst(),
+ QDir::currentPath(), QUrl::AssumeLocalFile);
player.setUrl(url);
}
diff --git a/examples/multimedia/videowidget/videoplayer.cpp b/examples/multimedia/videowidget/videoplayer.cpp
index 4a34bfded..a87264834 100644
--- a/examples/multimedia/videowidget/videoplayer.cpp
+++ b/examples/multimedia/videowidget/videoplayer.cpp
@@ -3,11 +3,20 @@
#include "videoplayer.h"
-#include <QtWidgets>
+#include <QBoxLayout>
+#include <QFileDialog>
+#include <QHBoxLayout>
+#include <QLabel>
+#include <QMediaPlayer>
+#include <QPushButton>
+#include <QSizePolicy>
+#include <QSlider>
+#include <QStandardPaths>
+#include <QString>
+#include <QStyle>
#include <QVideoWidget>
-VideoPlayer::VideoPlayer(QWidget *parent)
- : QWidget(parent)
+VideoPlayer::VideoPlayer(QWidget *parent) : QWidget(parent)
{
m_mediaPlayer = new QMediaPlayer(this);
QVideoWidget *videoWidget = new QVideoWidget;
@@ -19,14 +28,12 @@ VideoPlayer::VideoPlayer(QWidget *parent)
m_playButton->setEnabled(false);
m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPlay));
- connect(m_playButton, &QAbstractButton::clicked,
- this, &VideoPlayer::play);
+ connect(m_playButton, &QAbstractButton::clicked, this, &VideoPlayer::play);
m_positionSlider = new QSlider(Qt::Horizontal);
m_positionSlider->setRange(0, 0);
- connect(m_positionSlider, &QAbstractSlider::sliderMoved,
- this, &VideoPlayer::setPosition);
+ connect(m_positionSlider, &QAbstractSlider::sliderMoved, this, &VideoPlayer::setPosition);
m_errorLabel = new QLabel;
m_errorLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Maximum);
@@ -45,24 +52,22 @@ VideoPlayer::VideoPlayer(QWidget *parent)
setLayout(layout);
m_mediaPlayer->setVideoOutput(videoWidget);
- connect(m_mediaPlayer, &QMediaPlayer::playbackStateChanged,
- this, &VideoPlayer::mediaStateChanged);
+ connect(m_mediaPlayer, &QMediaPlayer::playbackStateChanged, this,
+ &VideoPlayer::mediaStateChanged);
connect(m_mediaPlayer, &QMediaPlayer::positionChanged, this, &VideoPlayer::positionChanged);
connect(m_mediaPlayer, &QMediaPlayer::durationChanged, this, &VideoPlayer::durationChanged);
- connect(m_mediaPlayer, &QMediaPlayer::errorChanged,
- this, &VideoPlayer::handleError);
+ connect(m_mediaPlayer, &QMediaPlayer::errorChanged, this, &VideoPlayer::handleError);
}
-VideoPlayer::~VideoPlayer()
-{
-}
+VideoPlayer::~VideoPlayer() { }
void VideoPlayer::openFile()
{
QFileDialog fileDialog(this);
fileDialog.setAcceptMode(QFileDialog::AcceptOpen);
fileDialog.setWindowTitle(tr("Open Movie"));
- fileDialog.setDirectory(QStandardPaths::standardLocations(QStandardPaths::MoviesLocation).value(0, QDir::homePath()));
+ fileDialog.setDirectory(QStandardPaths::standardLocations(QStandardPaths::MoviesLocation)
+ .value(0, QDir::homePath()));
if (fileDialog.exec() == QDialog::Accepted)
setUrl(fileDialog.selectedUrls().constFirst());
}
@@ -89,7 +94,7 @@ void VideoPlayer::play()
void VideoPlayer::mediaStateChanged(QMediaPlayer::PlaybackState state)
{
- switch(state) {
+ switch (state) {
case QMediaPlayer::PlayingState:
m_playButton->setIcon(style()->standardIcon(QStyle::SP_MediaPause));
break;
diff --git a/examples/multimedia/videowidget/videoplayer.h b/examples/multimedia/videowidget/videoplayer.h
index b06df8280..3657a04de 100644
--- a/examples/multimedia/videowidget/videoplayer.h
+++ b/examples/multimedia/videowidget/videoplayer.h
@@ -35,7 +35,7 @@ private slots:
void handleError();
private:
- QMediaPlayer* m_mediaPlayer;
+ QMediaPlayer *m_mediaPlayer;
QAbstractButton *m_playButton;
QSlider *m_positionSlider;
QLabel *m_errorLabel;
diff --git a/examples/spatialaudio/audiopanning/main.cpp b/examples/spatialaudio/audiopanning/main.cpp
index 35ae9bc0f..84e5197bd 100644
--- a/examples/spatialaudio/audiopanning/main.cpp
+++ b/examples/spatialaudio/audiopanning/main.cpp
@@ -1,20 +1,23 @@
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <QtSpatialAudio/QtSpatialAudio>
-
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QComboBox>
-#include <QtWidgets/QFileDialog>
-#include <QtWidgets/QFormLayout>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QLineEdit>
-#include <QtWidgets/QPushButton>
-#include <QtWidgets/QSlider>
-
-#include <QtCore/QPropertyAnimation>
-#include <QtCore/QLibraryInfo>
+#include <QApplication>
+#include <QAudioEngine>
+#include <QAudioListener>
+#include <QAudioRoom>
+#include <QCheckBox>
+#include <QComboBox>
+#include <QCommandLineParser>
+#include <QFileDialog>
+#include <QFormLayout>
+#include <QHBoxLayout>
+#include <QLibraryInfo>
+#include <QLineEdit>
+#include <QPropertyAnimation>
+#include <QPushButton>
+#include <QSlider>
+#include <QSpatialSound>
+#include <QStandardPaths>
class AudioWidget : public QWidget
{