summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2022-05-24 11:37:41 +0200
committerLars Knoll <lars.knoll@qt.io>2022-05-24 15:09:38 +0200
commit7fddbc1e811b3d4520008beeefdb20014d5a8ab9 (patch)
tree943e342c667cae17d82013e9c70c31ceffb9338a
parent196ea281d1843cfe62541001619a8517506af773 (diff)
API cleanups for spatial/3D audio
Naming changes for the spatial audio API after reviewing it. Most of the names are now both shorter and better reflect the function they serve. Change-Id: I07347826f2fadf3d1705c597f35c168b19afe137 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
-rw-r--r--examples/multimedia/spatialaudio/main.cpp28
-rw-r--r--src/multimedia/CMakeLists.txt11
-rw-r--r--src/multimedia/doc/src/multimedia-overview.qdoc4
-rw-r--r--src/multimedia/doc/src/spatialaudiooverview.qdoc18
-rw-r--r--src/multimedia/spatial/qambientsound.cpp (renamed from src/multimedia/spatial/qspatialaudiostereosource.cpp)63
-rw-r--r--src/multimedia/spatial/qambientsound.h (renamed from src/multimedia/spatial/qspatialaudiostereosource.h)25
-rw-r--r--src/multimedia/spatial/qaudioengine.cpp (renamed from src/multimedia/spatial/qspatialaudioengine.cpp)174
-rw-r--r--src/multimedia/spatial/qaudioengine.h (renamed from src/multimedia/spatial/qspatialaudioengine.h)18
-rw-r--r--src/multimedia/spatial/qaudioengine_p.h (renamed from src/multimedia/spatial/qspatialaudioengine_p.h)56
-rw-r--r--src/multimedia/spatial/qaudiolistener.cpp (renamed from src/multimedia/spatial/qspatialaudiolistener.cpp)46
-rw-r--r--src/multimedia/spatial/qaudiolistener.h (renamed from src/multimedia/spatial/qspatialaudiolistener.h)22
-rw-r--r--src/multimedia/spatial/qaudioroom.cpp (renamed from src/multimedia/spatial/qspatialaudioroom.cpp)92
-rw-r--r--src/multimedia/spatial/qaudioroom.h (renamed from src/multimedia/spatial/qspatialaudioroom.h)20
-rw-r--r--src/multimedia/spatial/qaudioroom_p.h (renamed from src/multimedia/spatial/qspatialaudioroom_p.h)20
-rw-r--r--src/multimedia/spatial/qspatialsound.cpp (renamed from src/multimedia/spatial/qspatialaudiosoundsource.cpp)179
-rw-r--r--src/multimedia/spatial/qspatialsound.h (renamed from src/multimedia/spatial/qspatialaudiosoundsource.h)28
-rw-r--r--src/multimedia/spatial/qspatialsound_p.h (renamed from src/multimedia/spatial/qspatialaudiosoundsource_p.h)18
-rw-r--r--src/multimediaquick3d/CMakeLists.txt26
-rw-r--r--src/multimediaquick3d/qquick3dambientsound.cpp (renamed from src/multimediaquick3d/qquick3dspatialaudiostereosource.cpp)68
-rw-r--r--src/multimediaquick3d/qquick3dambientsound_p.h (renamed from src/multimediaquick3d/qquick3dspatialaudiostereosource_p.h)18
-rw-r--r--src/multimediaquick3d/qquick3daudio-qml-types.qdoc (renamed from src/multimediaquick3d/qquick3dspatialaudio-qml-types.qdoc)6
-rw-r--r--src/multimediaquick3d/qquick3daudioengine.cpp (renamed from src/multimediaquick3d/qquick3dspatialaudioengine.cpp)64
-rw-r--r--src/multimediaquick3d/qquick3daudioengine_p.h (renamed from src/multimediaquick3d/qquick3dspatialaudioengine_p.h)22
-rw-r--r--src/multimediaquick3d/qquick3daudiolistener.cpp (renamed from src/multimediaquick3d/qquick3dspatialaudiolistener.cpp)34
-rw-r--r--src/multimediaquick3d/qquick3daudiolistener_p.h (renamed from src/multimediaquick3d/qquick3dspatialaudiolistener_p.h)18
-rw-r--r--src/multimediaquick3d/qquick3daudioroom.cpp (renamed from src/multimediaquick3d/qquick3dspatialaudioroom.cpp)136
-rw-r--r--src/multimediaquick3d/qquick3daudioroom_p.h (renamed from src/multimediaquick3d/qquick3dspatialaudioroom_p.h)58
-rw-r--r--src/multimediaquick3d/qquick3dspatialsound.cpp (renamed from src/multimediaquick3d/qquick3dspatialaudiosoundsource.cpp)146
-rw-r--r--src/multimediaquick3d/qquick3dspatialsound_p.h (renamed from src/multimediaquick3d/qquick3dspatialaudiosoundsource_p.h)18
-rw-r--r--src/multimediaquick3d/qtquick3daudioglobal_p.h (renamed from src/multimediaquick3d/qtquick3dsoundglobal_p.h)8
-rw-r--r--src/multimediaquick3d/qtquick3daudiotypes_p.h (renamed from src/multimediaquick3d/qtquick3dsoundtypes_p.h)8
-rw-r--r--src/multimediaquick3d/quick3daudio_plugin.cpp (renamed from src/multimediaquick3d/quick3dspatialaudio_plugin.cpp)14
-rw-r--r--src/resonance-audio/resonance_audio_api_extensions.cpp2
-rw-r--r--src/resonance-audio/resonance_audio_api_extensions.h2
-rw-r--r--sync.profile2
35 files changed, 730 insertions, 742 deletions
diff --git a/examples/multimedia/spatialaudio/main.cpp b/examples/multimedia/spatialaudio/main.cpp
index 4fcd5fe8f..5124be431 100644
--- a/examples/multimedia/spatialaudio/main.cpp
+++ b/examples/multimedia/spatialaudio/main.cpp
@@ -118,23 +118,23 @@ public:
connect(useHeadphone, &QCheckBox::stateChanged, this, &AudioWidget::useHeadphoneChanged);
- room = new QSpatialAudioRoom(&engine);
+ room = new QAudioRoom(&engine);
room->setDimensions(QVector3D(5, 5, 5));
- room->setWallMaterial(QSpatialAudioRoom::BackWall, QSpatialAudioRoom::BrickBare);
- room->setWallMaterial(QSpatialAudioRoom::FrontWall, QSpatialAudioRoom::BrickBare);
- room->setWallMaterial(QSpatialAudioRoom::LeftWall, QSpatialAudioRoom::BrickBare);
- room->setWallMaterial(QSpatialAudioRoom::RightWall, QSpatialAudioRoom::BrickBare);
- room->setWallMaterial(QSpatialAudioRoom::Floor, QSpatialAudioRoom::Marble);
- room->setWallMaterial(QSpatialAudioRoom::Ceiling, QSpatialAudioRoom::WoodCeiling);
+ room->setWallMaterial(QAudioRoom::BackWall, QAudioRoom::BrickBare);
+ room->setWallMaterial(QAudioRoom::FrontWall, QAudioRoom::BrickBare);
+ room->setWallMaterial(QAudioRoom::LeftWall, QAudioRoom::BrickBare);
+ room->setWallMaterial(QAudioRoom::RightWall, QAudioRoom::BrickBare);
+ room->setWallMaterial(QAudioRoom::Floor, QAudioRoom::Marble);
+ room->setWallMaterial(QAudioRoom::Ceiling, QAudioRoom::WoodCeiling);
room->setReverbGain(1);
room->setReflectionGain(1);
- listener = new QSpatialAudioListener(&engine);
+ listener = new QAudioListener(&engine);
listener->setPosition({});
listener->setRotation({});
engine.start();
- sound = new QSpatialAudioSoundSource(&engine);
+ sound = new QSpatialSound(&engine);
updatePosition();
}
void setFile(const QString &file) { fileEdit->setText(file); }
@@ -156,7 +156,7 @@ private slots:
}
void useHeadphoneChanged(int state)
{
- engine.setOutputMode(state ? QSpatialAudioEngine::Headphone : QSpatialAudioEngine::Normal);
+ engine.setOutputMode(state ? QAudioEngine::Headphone : QAudioEngine::Normal);
}
void fileChanged(const QString &file)
{
@@ -187,10 +187,10 @@ private slots:
QSlider *reflectionGain = nullptr;
QCheckBox *useHeadphone = nullptr;
- QSpatialAudioEngine engine;
- QSpatialAudioListener *listener = nullptr;
- QSpatialAudioSoundSource *sound = nullptr;
- QSpatialAudioRoom *room = nullptr;
+ QAudioEngine engine;
+ QAudioListener *listener = nullptr;
+ QSpatialSound *sound = nullptr;
+ QAudioRoom *room = nullptr;
};
int main(int argc, char **argv)
diff --git a/src/multimedia/CMakeLists.txt b/src/multimedia/CMakeLists.txt
index 4c295072c..210473575 100644
--- a/src/multimedia/CMakeLists.txt
+++ b/src/multimedia/CMakeLists.txt
@@ -93,12 +93,11 @@ qt_internal_add_module(Multimedia
qt_internal_extend_target(Multimedia CONDITION QT_FEATURE_spatialaudio
SOURCES
spatial/qambisonicdecoder.cpp spatial/qambisonicdecoder_p.h spatial/qambisonicdecoderdata_p.h
-# spatial/qacousticgeometry.cpp spatial/qacousticgeometry_p.h
- spatial/qspatialaudioengine.cpp spatial/qspatialaudioengine.h spatial/qspatialaudioengine_p.h
- spatial/qspatialaudiolistener.cpp spatial/qspatialaudiolistener.h
- spatial/qspatialaudioroom.cpp spatial/qspatialaudioroom.h spatial/qspatialaudioroom_p.h
- spatial/qspatialaudiosoundsource.cpp spatial/qspatialaudiosoundsource.h spatial/qspatialaudiosoundsource_p.h
- spatial/qspatialaudiostereosource.cpp spatial/qspatialaudiostereosource.h
+ spatial/qaudioengine.cpp spatial/qaudioengine.h spatial/qaudioengine_p.h
+ spatial/qaudiolistener.cpp spatial/qaudiolistener.h
+ spatial/qaudioroom.cpp spatial/qaudioroom.h spatial/qaudioroom_p.h
+ spatial/qspatialsound.cpp spatial/qspatialsound.h spatial/qspatialsound.h
+ spatial/qambientsound.cpp spatial/qambientsound.h
INCLUDE_DIRECTORIES
"../3rdparty/resonance-audio/resonance_audio"
"../3rdparty/resonance-audio"
diff --git a/src/multimedia/doc/src/multimedia-overview.qdoc b/src/multimedia/doc/src/multimedia-overview.qdoc
index 2d6cebaec..edd610340 100644
--- a/src/multimedia/doc/src/multimedia-overview.qdoc
+++ b/src/multimedia/doc/src/multimedia-overview.qdoc
@@ -143,8 +143,8 @@ For some quick recipes, see this table:
\row
\li Spatial Audio
\li \l {Spatial Audio example}{spatialaudio},
- \li \l SpatialAudioEngine, \l SpatialAudioListener, \l SpatialAudioSoundSource
- \li QSpatialAudioEngine, QSpatialAudioListener, QSpatialAudioSoundSource
+ \li \l AudioEngine, \l AudioListener, \l SpatialSound
+ \li QAudioEngine, QAudioListener, QSpatialSound
\endtable
\section1 Limitations
diff --git a/src/multimedia/doc/src/spatialaudiooverview.qdoc b/src/multimedia/doc/src/spatialaudiooverview.qdoc
index 1502829f2..5f7dae433 100644
--- a/src/multimedia/doc/src/spatialaudiooverview.qdoc
+++ b/src/multimedia/doc/src/spatialaudiooverview.qdoc
@@ -52,28 +52,28 @@ There are both C++ and QML APIs that can be used.
\section1 Creating a sound scene
-To create the sound scene, one first instantiates a \l QSpatialAudioEngine. This engine
+To create the sound scene, one first instantiates a \l QAudioEngine. This engine
processes input sound data and geometries to create a realistic
representation of the sound scene as it would be experienced by a person placed
at a specific location inside the scene.
-The \l QSpatialAudioEngine::OutputMode property can be used to optimize the output either
+The \l QAudioEngine::OutputMode property can be used to optimize the output either
for headphones using binaural (virtual 3D) rendering or for a stereo or surround speaker
configuration.
-The output device can be selected using \l QSpatialAudioEngine::outputDevice property.
+The output device can be selected using \l QAudioEngine::outputDevice property.
Once the engine is set up, we can place various sound objects into the scene by creating
-\l QSpatialAudioSoundSource objects and specifying a url to a sound file using the \l
-QSpatialAudioSoundSource::source property.
+\l QSpatialSound objects and specifying a url to a sound file using the \l
+QSpatialSound::source property.
-\l QSpatialAudioListener can be used to define the position and orientation of a person
+\l QAudioListener can be used to define the position and orientation of a person
listening to the sound scene. At max one listener per engine can be used. If no listener
is specified, the engine assumes that the listener is at the origin of the coordinate system
facing into a positive z direction, with positive y pointing upwards.
In addition to sound sources and a listener, you can define a geometry that influences how the
-sound is being experienced by the listener through a set of \l QSpatialAudioRoom objects. Rooms
+sound is being experienced by the listener through a set of \l QAudioRoom objects. Rooms
are rectangular and support a wide variety of materials for each wall giving a different experience
with different sound reflections and reverb. Room effects will get applied if the listener is
located inside one of the rooms. If he is inside multiple rooms, the room with the smallest
@@ -81,7 +81,7 @@ geometrical volume will take precedence.
If you need some stereo overlay that is independent of the position and orientation of
the listener (such as background music or a voice-over), you can use
-\l QSpatialAudioStereoSource to create the sound overlay.
+\l QAmbientSound to create the sound overlay.
\section1 Reference Documentation
@@ -91,6 +91,6 @@ the listener (such as background music or a voice-over), you can use
\section2 QML Types
-\annotatedlist quick3d_spatialaudio
+\annotatedlist quick3d_audio
*/
diff --git a/src/multimedia/spatial/qspatialaudiostereosource.cpp b/src/multimedia/spatial/qambientsound.cpp
index 61f3a47b2..410f699b2 100644
--- a/src/multimedia/spatial/qspatialaudiostereosource.cpp
+++ b/src/multimedia/spatial/qambientsound.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,9 +34,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "qspatialaudiostereosource.h"
-#include "qspatialaudiolistener.h"
-#include "qspatialaudioengine_p.h"
+#include "qambientsound.h"
+#include "qaudioengine_p.h"
#include "api/resonance_audio_api.h"
#include <qaudiosink.h>
#include <qurl.h>
@@ -46,13 +45,13 @@
QT_BEGIN_NAMESPACE
/*!
- \class QSpatialAudioStereoSource
+ \class QAmbientSound
\inmodule QtMultimedia
\ingroup multimedia_spatialaudio
\brief A stereo overlay sound.
- QSpatialAudioStereoSource represents a position and orientation independent sound.
+ QAmbientSound represents a position and orientation independent sound.
It's commonly used for background sounds (e.g. music) that is supposed to be independent
of the listeners position and orientation.
*/
@@ -60,43 +59,43 @@ QT_BEGIN_NAMESPACE
/*!
Creates a stereo sound source for \a engine.
*/
-QSpatialAudioStereoSource::QSpatialAudioStereoSource(QSpatialAudioEngine *engine)
- : d(new QSpatialAudioSound(this))
+QAmbientSound::QAmbientSound(QAudioEngine *engine)
+ : d(new QAmbientSoundPrivate(this))
{
setEngine(engine);
}
-QSpatialAudioStereoSource::~QSpatialAudioStereoSource()
+QAmbientSound::~QAmbientSound()
{
setEngine(nullptr);
delete d;
}
/*!
- \property QSpatialAudioStereoSource::volume
+ \property QAmbientSound::volume
Defines the volume of the sound.
Values between 0 and 1 will attenuate the sound, while values above 1
provide an additional gain boost.
*/
-void QSpatialAudioStereoSource::setVolume(float volume)
+void QAmbientSound::setVolume(float volume)
{
if (d->volume == volume)
return;
d->volume = volume;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->api->SetSourceVolume(d->sourceId, d->volume);
emit volumeChanged();
}
-float QSpatialAudioStereoSource::volume() const
+float QAmbientSound::volume() const
{
return d->volume;
}
-void QSpatialAudioStereoSource::setSource(const QUrl &url)
+void QAmbientSound::setSource(const QUrl &url)
{
if (d->url == url)
return;
@@ -107,30 +106,30 @@ void QSpatialAudioStereoSource::setSource(const QUrl &url)
}
/*!
- \property QSpatialAudioStereoSource::source
+ \property QAmbientSound::source
The source file for the sound to be played.
*/
-QUrl QSpatialAudioStereoSource::source() const
+QUrl QAmbientSound::source() const
{
return d->url;
}
/*!
- \property QSpatialAudioStereoSource::loops
+ \property QAmbientSound::loops
Determines how many times the sound is played before the player stops.
- Set to QSpatialAudioSoundSource::Infinite to play the current sound in
+ Set to QAmbientSound::Infinite to play the current sound in
a loop forever.
The default value is \c 1.
*/
-int QSpatialAudioStereoSource::loops() const
+int QAmbientSound::loops() const
{
return d->m_loops.loadRelaxed();
}
-void QSpatialAudioStereoSource::setLoops(int loops)
+void QAmbientSound::setLoops(int loops)
{
int oldLoops = d->m_loops.fetchAndStoreRelaxed(loops);
if (oldLoops != loops)
@@ -138,19 +137,19 @@ void QSpatialAudioStereoSource::setLoops(int loops)
}
/*!
- \property QSpatialAudioStereoSource::autoPlay
+ \property QAmbientSound::autoPlay
Determines whether the sound should automatically start playing when a source
gets specified.
The default value is \c true.
*/
-bool QSpatialAudioStereoSource::autoPlay() const
+bool QAmbientSound::autoPlay() const
{
return d->m_autoPlay.loadRelaxed();
}
-void QSpatialAudioStereoSource::setAutoPlay(bool autoPlay)
+void QAmbientSound::setAutoPlay(bool autoPlay)
{
bool old = d->m_autoPlay.fetchAndStoreRelaxed(autoPlay);
if (old != autoPlay)
@@ -160,7 +159,7 @@ void QSpatialAudioStereoSource::setAutoPlay(bool autoPlay)
/*!
Starts playing back the sound. Does nothing if the sound is already playing.
*/
-void QSpatialAudioStereoSource::play()
+void QAmbientSound::play()
{
d->play();
}
@@ -168,7 +167,7 @@ void QSpatialAudioStereoSource::play()
/*!
Pauses sound playback. Calling play() will continue playback.
*/
-void QSpatialAudioStereoSource::pause()
+void QAmbientSound::pause()
{
d->pause();
}
@@ -177,7 +176,7 @@ void QSpatialAudioStereoSource::pause()
Stops sound playback and resets the current position and current loop count to 0.
Calling play() will start playback at the beginning of the sound file.
*/
-void QSpatialAudioStereoSource::stop()
+void QAmbientSound::stop()
{
d->stop();
}
@@ -185,17 +184,17 @@ void QSpatialAudioStereoSource::stop()
/*!
\internal
*/
-void QSpatialAudioStereoSource::setEngine(QSpatialAudioEngine *engine)
+void QAmbientSound::setEngine(QAudioEngine *engine)
{
if (d->engine == engine)
return;
- auto *ep = QSpatialAudioEnginePrivate::get(engine);
+ auto *ep = QAudioEnginePrivate::get(engine);
if (ep)
ep->removeStereoSound(this);
d->engine = engine;
- ep = QSpatialAudioEnginePrivate::get(engine);
+ ep = QAudioEnginePrivate::get(engine);
if (ep) {
ep->addStereoSound(this);
ep->api->SetSourceVolume(d->sourceId, d->volume);
@@ -203,13 +202,13 @@ void QSpatialAudioStereoSource::setEngine(QSpatialAudioEngine *engine)
}
/*!
- Returns the engine associated with this listener.
+ Returns the engine associated with this sound.
*/
-QSpatialAudioEngine *QSpatialAudioStereoSource::engine() const
+QAudioEngine *QAmbientSound::engine() const
{
return d->engine;
}
QT_END_NAMESPACE
-#include "moc_qspatialaudiostereosource.cpp"
+#include "moc_qambientsound.cpp"
diff --git a/src/multimedia/spatial/qspatialaudiostereosource.h b/src/multimedia/spatial/qambientsound.h
index 402aee9f8..01402554c 100644
--- a/src/multimedia/spatial/qspatialaudiostereosource.h
+++ b/src/multimedia/spatial/qambientsound.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,8 +34,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QSPATIALAUDIOSTEREOSOURCE_H
-#define QSPATIALAUDIOSTEREOSOURCE_H
+#ifndef QAMBIENTSOUND_H
+#define QAMBIENTSOUND_H
#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/QUrl>
@@ -43,11 +43,10 @@
QT_BEGIN_NAMESPACE
-class QSpatialAudioEngine;
-class QSpatialAudioSound;
+class QAudioEngine;
+class QAmbientSoundPrivate;
-class QSpatialAudioStereoSourcePrivate;
-class Q_MULTIMEDIA_EXPORT QSpatialAudioStereoSource : public QObject
+class Q_MULTIMEDIA_EXPORT QAmbientSound : public QObject
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
@@ -56,8 +55,8 @@ class Q_MULTIMEDIA_EXPORT QSpatialAudioStereoSource : public QObject
Q_PROPERTY(bool autoPlay READ autoPlay WRITE setAutoPlay NOTIFY autoPlayChanged)
public:
- explicit QSpatialAudioStereoSource(QSpatialAudioEngine *engine);
- ~QSpatialAudioStereoSource();
+ explicit QAmbientSound(QAudioEngine *engine);
+ ~QAmbientSound();
void setSource(const QUrl &url);
QUrl source() const;
@@ -78,7 +77,7 @@ public:
void setVolume(float volume);
float volume() const;
- QSpatialAudioEngine *engine() const;
+ QAudioEngine *engine() const;
Q_SIGNALS:
void sourceChanged();
@@ -92,9 +91,9 @@ public Q_SLOTS:
void stop();
private:
- void setEngine(QSpatialAudioEngine *engine);
- friend class QSpatialAudioSound;
- QSpatialAudioSound *d = nullptr;
+ void setEngine(QAudioEngine *engine);
+ friend class QAmbientSoundPrivate;
+ QAmbientSoundPrivate *d = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/spatial/qspatialaudioengine.cpp b/src/multimedia/spatial/qaudioengine.cpp
index 7ab89c1fa..db3bfc80e 100644
--- a/src/multimedia/spatial/qspatialaudioengine.cpp
+++ b/src/multimedia/spatial/qaudioengine.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,11 +34,11 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <qspatialaudioengine_p.h>
-#include <qspatialaudiosoundsource_p.h>
-#include <qspatialaudiostereosource.h>
-#include <qspatialaudioroom_p.h>
-#include <qspatialaudiolistener.h>
+#include <qaudioengine_p.h>
+#include <qspatialsound_p.h>
+#include <qambientsound.h>
+#include <qaudioroom_p.h>
+#include <qaudiolistener.h>
#include <resonance_audio_api_extensions.h>
#include <qambisonicdecoder_p.h>
#include <qaudiodecoder.h>
@@ -54,7 +54,7 @@ class QAudioOutputStream : public QIODevice
{
Q_OBJECT
public:
- explicit QAudioOutputStream(QSpatialAudioEnginePrivate *d)
+ explicit QAudioOutputStream(QAudioEnginePrivate *d)
: d(d)
{
open(QIODevice::ReadOnly);
@@ -104,7 +104,7 @@ public:
private:
qint64 m_pos = 0;
- QSpatialAudioEnginePrivate *d = nullptr;
+ QAudioEnginePrivate *d = nullptr;
std::unique_ptr<QAudioSink> sink;
};
@@ -126,41 +126,41 @@ qint64 QAudioOutputStream::readData(char *data, qint64 len)
d->updateRooms();
int nChannels = d->ambisonicDecoder ? d->ambisonicDecoder->nOutputChannels() : 2;
- if (len < nChannels*int(sizeof(float))*QSpatialAudioEnginePrivate::bufferSize)
+ if (len < nChannels*int(sizeof(float))*QAudioEnginePrivate::bufferSize)
return 0;
short *fd = (short *)data;
qint64 frames = len / nChannels / sizeof(short);
bool ok = true;
- while (frames >= qint64(QSpatialAudioEnginePrivate::bufferSize)) {
+ while (frames >= qint64(QAudioEnginePrivate::bufferSize)) {
// Fill input buffers
for (auto *source : qAsConst(d->sources)) {
- auto *sp = QSpatialAudioSoundSourcePrivate::get(source);
- float buf[QSpatialAudioEnginePrivate::bufferSize];
- sp->getBuffer(buf, QSpatialAudioEnginePrivate::bufferSize, 1);
- d->api->SetInterleavedBuffer(sp->sourceId, buf, 1, QSpatialAudioEnginePrivate::bufferSize);
+ auto *sp = QSpatialSoundPrivate::get(source);
+ float buf[QAudioEnginePrivate::bufferSize];
+ sp->getBuffer(buf, QAudioEnginePrivate::bufferSize, 1);
+ d->api->SetInterleavedBuffer(sp->sourceId, buf, 1, QAudioEnginePrivate::bufferSize);
}
for (auto *source : qAsConst(d->stereoSources)) {
- auto *sp = QSpatialAudioSound::get(source);
- float buf[2*QSpatialAudioEnginePrivate::bufferSize];
- sp->getBuffer(buf, QSpatialAudioEnginePrivate::bufferSize, 2);
- d->api->SetInterleavedBuffer(sp->sourceId, buf, 2, QSpatialAudioEnginePrivate::bufferSize);
+ auto *sp = QAmbientSoundPrivate::get(source);
+ float buf[2*QAudioEnginePrivate::bufferSize];
+ sp->getBuffer(buf, QAudioEnginePrivate::bufferSize, 2);
+ d->api->SetInterleavedBuffer(sp->sourceId, buf, 2, QAudioEnginePrivate::bufferSize);
}
- if (d->ambisonicDecoder && d->outputMode == QSpatialAudioEngine::Normal && d->format.channelCount() != 2) {
+ if (d->ambisonicDecoder && d->outputMode == QAudioEngine::Normal && d->format.channelCount() != 2) {
const float *channels[QAmbisonicDecoder::maxAmbisonicChannels];
int nSamples = vraudio::getAmbisonicOutput(d->api, channels, d->ambisonicDecoder->nInputChannels());
Q_ASSERT(d->ambisonicDecoder->nOutputChannels() <= 8);
d->ambisonicDecoder->processBuffer(channels, fd, nSamples);
} else {
- ok = d->api->FillInterleavedOutputBuffer(2, QSpatialAudioEnginePrivate::bufferSize, fd);
+ ok = d->api->FillInterleavedOutputBuffer(2, QAudioEnginePrivate::bufferSize, fd);
if (!ok) {
qWarning() << " Reading failed!";
break;
}
}
- fd += nChannels*QSpatialAudioEnginePrivate::bufferSize;
- frames -= QSpatialAudioEnginePrivate::bufferSize;
+ fd += nChannels*QAudioEnginePrivate::bufferSize;
+ frames -= QAudioEnginePrivate::bufferSize;
}
const int bytesProcessed = ((char *)fd - data);
m_pos += bytesProcessed;
@@ -168,61 +168,61 @@ qint64 QAudioOutputStream::readData(char *data, qint64 len)
}
-QSpatialAudioEnginePrivate::QSpatialAudioEnginePrivate()
+QAudioEnginePrivate::QAudioEnginePrivate()
{
device = QMediaDevices::defaultAudioOutput();
}
-QSpatialAudioEnginePrivate::~QSpatialAudioEnginePrivate()
+QAudioEnginePrivate::~QAudioEnginePrivate()
{
delete api;
}
-void QSpatialAudioEnginePrivate::addSpatialSound(QSpatialAudioSoundSource *sound)
+void QAudioEnginePrivate::addSpatialSound(QSpatialSound *sound)
{
- QSpatialAudioSound *sd = QSpatialAudioSound::get(sound);
+ QAmbientSoundPrivate *sd = QAmbientSoundPrivate::get(sound);
sd->sourceId = api->CreateSoundObjectSource(vraudio::kBinauralHighQuality);
sources.append(sound);
}
-void QSpatialAudioEnginePrivate::removeSpatialSound(QSpatialAudioSoundSource *sound)
+void QAudioEnginePrivate::removeSpatialSound(QSpatialSound *sound)
{
- QSpatialAudioSound *sd = QSpatialAudioSound::get(sound);
+ QAmbientSoundPrivate *sd = QAmbientSoundPrivate::get(sound);
api->DestroySource(sd->sourceId);
sd->sourceId = vraudio::ResonanceAudioApi::kInvalidSourceId;
sources.removeOne(sound);
}
-void QSpatialAudioEnginePrivate::addStereoSound(QSpatialAudioStereoSource *sound)
+void QAudioEnginePrivate::addStereoSound(QAmbientSound *sound)
{
- QSpatialAudioSound *sd = QSpatialAudioSound::get(sound);
+ QAmbientSoundPrivate *sd = QAmbientSoundPrivate::get(sound);
sd->sourceId = api->CreateStereoSource(2);
stereoSources.append(sound);
}
-void QSpatialAudioEnginePrivate::removeStereoSound(QSpatialAudioStereoSource *sound)
+void QAudioEnginePrivate::removeStereoSound(QAmbientSound *sound)
{
- QSpatialAudioSound *sd = QSpatialAudioSound::get(sound);
+ QAmbientSoundPrivate *sd = QAmbientSoundPrivate::get(sound);
api->DestroySource(sd->sourceId);
sd->sourceId = vraudio::ResonanceAudioApi::kInvalidSourceId;
stereoSources.removeOne(sound);
}
-void QSpatialAudioEnginePrivate::addRoom(QSpatialAudioRoom *room)
+void QAudioEnginePrivate::addRoom(QAudioRoom *room)
{
rooms.append(room);
}
-void QSpatialAudioEnginePrivate::removeRoom(QSpatialAudioRoom *room)
+void QAudioEnginePrivate::removeRoom(QAudioRoom *room)
{
rooms.removeOne(room);
}
-void QSpatialAudioEnginePrivate::updateRooms()
+void QAudioEnginePrivate::updateRooms()
{
if (!roomEffectsEnabled)
return;
@@ -232,7 +232,7 @@ void QSpatialAudioEnginePrivate::updateRooms()
bool roomDirty = false;
for (const auto &room : rooms) {
- auto *rd = QSpatialAudioRoomPrivate::get(room);
+ auto *rd = QAudioRoomPrivate::get(room);
if (rd->dirty) {
roomDirty = true;
rd->update();
@@ -245,7 +245,7 @@ void QSpatialAudioEnginePrivate::updateRooms()
QVector3D listenerPos = listenerPosition();
float roomVolume = float(qInf());
- QSpatialAudioRoom *room = nullptr;
+ QAudioRoom *room = nullptr;
// Find the smallest room that contains the listener and apply it's room effects
for (auto *r : qAsConst(rooms)) {
QVector3D dim2 = r->dimensions()/2.;
@@ -274,41 +274,41 @@ void QSpatialAudioEnginePrivate::updateRooms()
api->EnableRoomEffects(false);
return;
}
- QSpatialAudioRoomPrivate *rp = QSpatialAudioRoomPrivate::get(room);
+ QAudioRoomPrivate *rp = QAudioRoomPrivate::get(room);
api->SetReflectionProperties(rp->reflections);
api->SetReverbProperties(rp->reverb);
// update room effects for all sound sources
for (auto *s : qAsConst(sources)) {
- auto *sp = QSpatialAudioSoundSourcePrivate::get(s);
+ auto *sp = QSpatialSoundPrivate::get(s);
sp->updateRoomEffects();
}
}
-QVector3D QSpatialAudioEnginePrivate::listenerPosition() const
+QVector3D QAudioEnginePrivate::listenerPosition() const
{
return listener ? listener->position() : QVector3D();
}
/*!
- \class QSpatialAudioEngine
+ \class QAudioEngine
\inmodule QtMultimedia
\ingroup multimedia_spatialaudio
- \brief QSpatialAudioEngine manages a three dimensional sound field.
+ \brief QAudioEngine manages a three dimensional sound field.
- You can use an instance of QSpatialAudioEngine to manage a sound field in
- three dimensions. A sound field is defined by several QSpatialAudioSoundSource
+ You can use an instance of QAudioEngine to manage a sound field in
+ three dimensions. A sound field is defined by several QSpatialSound
objects that define a sound at a specified location in 3D space. You can also
- add stereo overlays using QSpatialAudioStereoSource.
+ add stereo overlays using QAmbientSound.
- You can use QSpatialAudioListener to define the position of the person listening
+ You can use QAudioListener to define the position of the person listening
to the sound field relative to the sound sources. Sound sources will be less audible
if the listener is further away from source. They will also get mapped to the corresponding
loudspeakers depending on the direction between listener and source.
- QSpatialAudioEngine offers two output modes. The first mode renders the sound field to a set of
+ QAudioEngine offers two output modes. The first mode renders the sound field to a set of
speakers, either a stereo speaker pair or a surround configuration. The second mode provides
an immersive 3D sound experience when using headphones.
@@ -339,24 +339,24 @@ QVector3D QSpatialAudioEnginePrivate::listenerPosition() const
a different rate if most of your sound files are sampled with a different rate, and avoid some
CPU overhead for resampling.
*/
-QSpatialAudioEngine::QSpatialAudioEngine(QObject *parent, int sampleRate)
+QAudioEngine::QAudioEngine(QObject *parent, int sampleRate)
: QObject(parent)
- , d(new QSpatialAudioEnginePrivate)
+ , d(new QAudioEnginePrivate)
{
d->sampleRate = sampleRate;
- d->api = vraudio::CreateResonanceAudioApi(2, QSpatialAudioEnginePrivate::bufferSize, d->sampleRate);
+ d->api = vraudio::CreateResonanceAudioApi(2, QAudioEnginePrivate::bufferSize, d->sampleRate);
}
/*!
Destroys the spatial audio engine.
*/
-QSpatialAudioEngine::~QSpatialAudioEngine()
+QAudioEngine::~QAudioEngine()
{
stop();
delete d;
}
-/*! \enum QSpatialAudioEngine::OutputMode
+/*! \enum QAudioEngine::OutputMode
\value Normal Map the sounds to the loudspeaker configuration of the output device.
This is normally a stereo or surround speaker setup.
\value Headphone Use Headphone spatialization to create a 3D audio effect when listening
@@ -364,13 +364,13 @@ QSpatialAudioEngine::~QSpatialAudioEngine()
*/
/*!
- \property QSpatialAudioEngine::outputMode
+ \property QAudioEngine::outputMode
Sets or retrieves the current output mode of the engine.
- \sa QSpatialAudioEngine::OutputMode
+ \sa QAudioEngine::OutputMode
*/
-void QSpatialAudioEngine::setOutputMode(OutputMode mode)
+void QAudioEngine::setOutputMode(OutputMode mode)
{
if (d->outputMode == mode)
return;
@@ -381,7 +381,7 @@ void QSpatialAudioEngine::setOutputMode(OutputMode mode)
emit outputModeChanged();
}
-QSpatialAudioEngine::OutputMode QSpatialAudioEngine::outputMode() const
+QAudioEngine::OutputMode QAudioEngine::outputMode() const
{
return d->outputMode;
}
@@ -389,17 +389,17 @@ QSpatialAudioEngine::OutputMode QSpatialAudioEngine::outputMode() const
/*!
Returns the sample rate the engine has been configured with.
*/
-int QSpatialAudioEngine::sampleRate() const
+int QAudioEngine::sampleRate() const
{
return d->sampleRate;
}
/*!
- \property QSpatialAudioEngine::outputDevice
+ \property QAudioEngine::outputDevice
Sets or returns the device that is being used for playing the sound field.
*/
-void QSpatialAudioEngine::setOutputDevice(const QAudioDevice &device)
+void QAudioEngine::setOutputDevice(const QAudioDevice &device)
{
if (d->device == device)
return;
@@ -411,17 +411,17 @@ void QSpatialAudioEngine::setOutputDevice(const QAudioDevice &device)
emit outputDeviceChanged();
}
-QAudioDevice QSpatialAudioEngine::outputDevice() const
+QAudioDevice QAudioEngine::outputDevice() const
{
return d->device;
}
/*!
- \property QSpatialAudioEngine::masterVolume
+ \property QAudioEngine::masterVolume
Sets or returns volume being used to render the sound field.
*/
-void QSpatialAudioEngine::setMasterVolume(float volume)
+void QAudioEngine::setMasterVolume(float volume)
{
if (d->masterVolume == volume)
return;
@@ -430,7 +430,7 @@ void QSpatialAudioEngine::setMasterVolume(float volume)
emit masterVolumeChanged();
}
-float QSpatialAudioEngine::masterVolume() const
+float QAudioEngine::masterVolume() const
{
return d->masterVolume;
}
@@ -438,7 +438,7 @@ float QSpatialAudioEngine::masterVolume() const
/*!
Starts the engine.
*/
-void QSpatialAudioEngine::start()
+void QAudioEngine::start()
{
if (d->outputStream)
// already started
@@ -461,7 +461,7 @@ void QSpatialAudioEngine::start()
/*!
Stops the engine.
*/
-void QSpatialAudioEngine::stop()
+void QAudioEngine::stop()
{
QMetaObject::invokeMethod(d->outputStream.get(), "stopOutput", Qt::BlockingQueuedConnection);
d->outputStream.reset();
@@ -472,11 +472,11 @@ void QSpatialAudioEngine::stop()
}
/*!
- \property QSpatialAudioEngine::paused
+ \property QAudioEngine::paused
Pauses the spatial audio engine.
*/
-void QSpatialAudioEngine::setPaused(bool paused)
+void QAudioEngine::setPaused(bool paused)
{
bool old = d->paused.fetchAndStoreRelaxed(paused);
if (old != paused) {
@@ -486,7 +486,7 @@ void QSpatialAudioEngine::setPaused(bool paused)
}
}
-bool QSpatialAudioEngine::paused() const
+bool QAudioEngine::paused() const
{
return d->paused.loadRelaxed();
}
@@ -495,11 +495,11 @@ bool QSpatialAudioEngine::paused() const
Enables room effects such as echos and reverb.
Enables room effects if \a enabled is true.
- Room effects will only apply if you create one or more \l QSpatialAudioRoom objects
+ Room effects will only apply if you create one or more \l QAudioRoom objects
and the listener is inside at least one of the rooms. If the listener is inside
multiple rooms, the room with the smallest volume will be used.
*/
-void QSpatialAudioEngine::setRoomEffectsEnabled(bool enabled)
+void QAudioEngine::setRoomEffectsEnabled(bool enabled)
{
if (d->roomEffectsEnabled == enabled)
return;
@@ -509,26 +509,26 @@ void QSpatialAudioEngine::setRoomEffectsEnabled(bool enabled)
/*!
Returns true if room effects are enabled.
*/
-bool QSpatialAudioEngine::roomEffectsEnabled() const
+bool QAudioEngine::roomEffectsEnabled() const
{
return d->roomEffectsEnabled;
}
/*!
- \property QSpatialAudioEngine::distanceScale
+ \property QAudioEngine::distanceScale
Defines the scale of the coordinate system being used by the spatial audio engine.
By default, all units are in centimeters, in line with the default units being
used by Qt Quick 3D.
- Set the distance scale to QSpatialAudioEngine::DistanceScaleMeter to get units in meters.
+ Set the distance scale to QAudioEngine::DistanceScaleMeter to get units in meters.
*/
-void QSpatialAudioEngine::setDistanceScale(float scale)
+void QAudioEngine::setDistanceScale(float scale)
{
// multiply with 100, to get the conversion to meters that resonance audio uses
scale /= 100.f;
if (scale <= 0.0f) {
- qWarning() << "QSpatialAudioEngine: Invalid distance scale.";
+ qWarning() << "QAudioEngine: Invalid distance scale.";
return;
}
if (scale == d->distanceScale)
@@ -537,17 +537,13 @@ void QSpatialAudioEngine::setDistanceScale(float scale)
emit distanceScaleChanged();
}
-float QSpatialAudioEngine::distanceScale() const
+float QAudioEngine::distanceScale() const
{
return d->distanceScale*100.f;
}
-/*! \class QSpatialAudioSound
- \internal
- */
-
-void QSpatialAudioSound::load()
+void QAmbientSoundPrivate::load()
{
decoder.reset(new QAudioDecoder);
buffers.clear();
@@ -555,19 +551,19 @@ void QSpatialAudioSound::load()
bufPos = 0;
m_playing = false;
m_loading = true;
- auto *ep = QSpatialAudioEnginePrivate::get(engine);
+ auto *ep = QAudioEnginePrivate::get(engine);
QAudioFormat f = ep->format;
f.setSampleFormat(QAudioFormat::Float);
f.setChannelConfig(nchannels == 2 ? QAudioFormat::ChannelConfigStereo : QAudioFormat::ChannelConfigMono);
decoder->setAudioFormat(f);
decoder->setSource(url);
- connect(decoder.get(), &QAudioDecoder::bufferReady, this, &QSpatialAudioSound::bufferReady);
- connect(decoder.get(), &QAudioDecoder::finished, this, &QSpatialAudioSound::finished);
+ connect(decoder.get(), &QAudioDecoder::bufferReady, this, &QAmbientSoundPrivate::bufferReady);
+ connect(decoder.get(), &QAudioDecoder::finished, this, &QAmbientSoundPrivate::finished);
decoder->start();
}
-void QSpatialAudioSound::getBuffer(float *buf, int nframes, int channels)
+void QAmbientSoundPrivate::getBuffer(float *buf, int nframes, int channels)
{
Q_ASSERT(channels == nchannels);
QMutexLocker l(&mutex);
@@ -605,7 +601,7 @@ void QSpatialAudioSound::getBuffer(float *buf, int nframes, int channels)
}
}
-void QSpatialAudioSound::bufferReady()
+void QAmbientSoundPrivate::bufferReady()
{
QMutexLocker l(&mutex);
auto b = decoder->read();
@@ -615,7 +611,7 @@ void QSpatialAudioSound::bufferReady()
m_playing = true;
}
-void QSpatialAudioSound::finished()
+void QAmbientSoundPrivate::finished()
{
// qDebug() << "finished";
m_loading = false;
@@ -623,5 +619,5 @@ void QSpatialAudioSound::finished()
QT_END_NAMESPACE
-#include "moc_qspatialaudioengine.cpp"
-#include "qspatialaudioengine.moc"
+#include "moc_qaudioengine.cpp"
+#include "qaudioengine.moc"
diff --git a/src/multimedia/spatial/qspatialaudioengine.h b/src/multimedia/spatial/qaudioengine.h
index f67ce5726..dca0b1cc1 100644
--- a/src/multimedia/spatial/qspatialaudioengine.h
+++ b/src/multimedia/spatial/qaudioengine.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -35,18 +35,18 @@
**
****************************************************************************/
-#ifndef QSPATIALAUDIOENGINE_H
-#define QSPATIALAUDIOENGINE_H
+#ifndef QAUDIOENGINE_H
+#define QAUDIOENGINE_H
#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/qobject.h>
QT_BEGIN_NAMESPACE
-class QSpatialAudioEnginePrivate;
+class QAudioEnginePrivate;
class QAudioDevice;
-class Q_MULTIMEDIA_EXPORT QSpatialAudioEngine : public QObject
+class Q_MULTIMEDIA_EXPORT QAudioEngine : public QObject
{
Q_OBJECT
Q_PROPERTY(OutputMode outputMode READ outputMode WRITE setOutputMode NOTIFY outputModeChanged)
@@ -55,8 +55,8 @@ class Q_MULTIMEDIA_EXPORT QSpatialAudioEngine : public QObject
Q_PROPERTY(bool paused READ paused WRITE setPaused NOTIFY pausedChanged)
Q_PROPERTY(float distanceScale READ distanceScale WRITE setDistanceScale NOTIFY distanceScaleChanged)
public:
- explicit QSpatialAudioEngine(QObject *parent = nullptr, int sampleRate = 44100);
- ~QSpatialAudioEngine();
+ explicit QAudioEngine(QObject *parent = nullptr, int sampleRate = 44100);
+ ~QAudioEngine();
enum OutputMode {
Normal,
@@ -102,8 +102,8 @@ public Q_SLOTS:
void resume() { setPaused(false); }
private:
- friend class QSpatialAudioEnginePrivate;
- QSpatialAudioEnginePrivate *d;
+ friend class QAudioEnginePrivate;
+ QAudioEnginePrivate *d;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/spatial/qspatialaudioengine_p.h b/src/multimedia/spatial/qaudioengine_p.h
index 3163f0c86..36a26ec40 100644
--- a/src/multimedia/spatial/qspatialaudioengine_p.h
+++ b/src/multimedia/spatial/qaudioengine_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -35,8 +35,8 @@
**
****************************************************************************/
-#ifndef QSPATIALAUDIOENGINE_P_H
-#define QSPATIALAUDIOENGINE_P_H
+#ifndef QAUDIOENGINE_P_H
+#define QAUDIOENGINE_P_H
//
// W A R N I N G
@@ -49,7 +49,7 @@
// We mean it.
//
-#include <qspatialaudioengine.h>
+#include <qaudioengine.h>
#include <qaudiodevice.h>
#include <qaudiodecoder.h>
#include <qthread.h>
@@ -64,28 +64,28 @@ class ResonanceAudioApi;
QT_BEGIN_NAMESPACE
-class QSpatialAudioSoundSource;
-class QSpatialAudioStereoSource;
+class QSpatialSound;
+class QAmbientSound;
class QAudioSink;
class QAudioOutputStream;
class QAmbisonicDecoder;
class QAudioDecoder;
-class QSpatialAudioRoom;
-class QSpatialAudioListener;
+class QAudioRoom;
+class QAudioListener;
-class QSpatialAudioEnginePrivate
+class QAudioEnginePrivate
{
public:
- static QSpatialAudioEnginePrivate *get(QSpatialAudioEngine *engine) { return engine ? engine->d : nullptr; }
+ static QAudioEnginePrivate *get(QAudioEngine *engine) { return engine ? engine->d : nullptr; }
static constexpr int bufferSize = 128;
- QSpatialAudioEnginePrivate();
- ~QSpatialAudioEnginePrivate();
+ QAudioEnginePrivate();
+ ~QAudioEnginePrivate();
vraudio::ResonanceAudioApi *api = nullptr;
int sampleRate = 44100;
float masterVolume = 1.;
- QSpatialAudioEngine::OutputMode outputMode = QSpatialAudioEngine::Normal;
+ QAudioEngine::OutputMode outputMode = QAudioEngine::Normal;
bool roomEffectsEnabled = true;
// Resonance Audio uses meters internally, while Qt Quick 3D and our API uses cm by default.
@@ -102,42 +102,42 @@ public:
std::unique_ptr<QAudioOutputStream> outputStream;
std::unique_ptr<QAmbisonicDecoder> ambisonicDecoder;
- QSpatialAudioListener *listener = nullptr;
- QList<QSpatialAudioSoundSource *> sources;
- QList<QSpatialAudioStereoSource *> stereoSources;
- QList<QSpatialAudioRoom *> rooms;
+ QAudioListener *listener = nullptr;
+ QList<QSpatialSound *> sources;
+ QList<QAmbientSound *> stereoSources;
+ QList<QAudioRoom *> rooms;
mutable bool listenerPositionDirty = true;
- QSpatialAudioRoom *currentRoom = nullptr;
+ QAudioRoom *currentRoom = nullptr;
- void addSpatialSound(QSpatialAudioSoundSource *sound);
- void removeSpatialSound(QSpatialAudioSoundSource *sound);
- void addStereoSound(QSpatialAudioStereoSource *sound);
- void removeStereoSound(QSpatialAudioStereoSource *sound);
+ void addSpatialSound(QSpatialSound *sound);
+ void removeSpatialSound(QSpatialSound *sound);
+ void addStereoSound(QAmbientSound *sound);
+ void removeStereoSound(QAmbientSound *sound);
- void addRoom(QSpatialAudioRoom *room);
- void removeRoom(QSpatialAudioRoom *room);
+ void addRoom(QAudioRoom *room);
+ void removeRoom(QAudioRoom *room);
void updateRooms();
QVector3D listenerPosition() const;
};
-class QSpatialAudioSound : public QObject
+class QAmbientSoundPrivate : public QObject
{
public:
- QSpatialAudioSound(QObject *parent, int nchannels = 2)
+ QAmbientSoundPrivate(QObject *parent, int nchannels = 2)
: QObject(parent)
, nchannels(nchannels)
{}
template<typename T>
- static QSpatialAudioSound *get(T *soundSource) { return soundSource ? soundSource->d : nullptr; }
+ static QAmbientSoundPrivate *get(T *soundSource) { return soundSource ? soundSource->d : nullptr; }
QUrl url;
float volume = 1.;
int nchannels = 2;
std::unique_ptr<QAudioDecoder> decoder;
- QSpatialAudioEngine *engine = nullptr;
+ QAudioEngine *engine = nullptr;
QMutex mutex;
int currentBuffer = 0;
diff --git a/src/multimedia/spatial/qspatialaudiolistener.cpp b/src/multimedia/spatial/qaudiolistener.cpp
index c93e7a1e5..e968b6b11 100644
--- a/src/multimedia/spatial/qspatialaudiolistener.cpp
+++ b/src/multimedia/spatial/qaudiolistener.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,8 +34,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "qspatialaudiolistener.h"
-#include "qspatialaudioengine_p.h"
+#include "qaudiolistener.h"
+#include "qaudioengine_p.h"
#include "api/resonance_audio_api.h"
#include <qaudiosink.h>
#include <qurl.h>
@@ -44,31 +44,31 @@
QT_BEGIN_NAMESPACE
-class QSpatialAudioListenerPrivate
+class QAudioListenerPrivate
{
public:
- QSpatialAudioEngine *engine = nullptr;
+ QAudioEngine *engine = nullptr;
QVector3D pos;
QQuaternion rotation;
};
/*!
- \class QSpatialAudioListener
+ \class QAudioListener
\inmodule QtMultimedia
\ingroup multimedia_spatialaudio
\brief Defines the position and orientation of the person listening to a sound field
- defined by QSpatialAudioEngine.
+ defined by QAudioEngine.
- A QSpatialAudioEngine can have exactly one listener that defines the position and orientation
+ A QAudioEngine can have exactly one listener that defines the position and orientation
of the person listening to the sound field.
*/
/*!
Creates a listener for the spatial audio engine for \a engine.
*/
-QSpatialAudioListener::QSpatialAudioListener(QSpatialAudioEngine *engine)
- : d(new QSpatialAudioListenerPrivate)
+QAudioListener::QAudioListener(QAudioEngine *engine)
+ : d(new QAudioListenerPrivate)
{
setEngine(engine);
}
@@ -76,7 +76,7 @@ QSpatialAudioListener::QSpatialAudioListener(QSpatialAudioEngine *engine)
/*!
Destroys the listener.
*/
-QSpatialAudioListener::~QSpatialAudioListener()
+QAudioListener::~QAudioListener()
{
delete d;
}
@@ -85,11 +85,11 @@ QSpatialAudioListener::~QSpatialAudioListener()
Sets the listener's position in 3D space to \a pos. Units are in centimeters
by default.
- \sa QSpatialAudioEngine::distanceScale
+ \sa QAudioEngine::distanceScale
*/
-void QSpatialAudioListener::setPosition(QVector3D pos)
+void QAudioListener::setPosition(QVector3D pos)
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
pos *= ep->distanceScale;
if (d->pos == pos)
return;
@@ -104,19 +104,19 @@ void QSpatialAudioListener::setPosition(QVector3D pos)
/*!
Returns the current position of the listener.
*/
-QVector3D QSpatialAudioListener::position() const
+QVector3D QAudioListener::position() const
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
return d->pos/ep->distanceScale;
}
/*!
Sets the listener's orientation in 3D space to \a q.
*/
-void QSpatialAudioListener::setRotation(const QQuaternion &q)
+void QAudioListener::setRotation(const QQuaternion &q)
{
d->rotation = q;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep && ep->api)
ep->api->SetHeadRotation(d->rotation.x(), d->rotation.y(), d->rotation.z(), d->rotation.scalar());
}
@@ -124,7 +124,7 @@ void QSpatialAudioListener::setRotation(const QQuaternion &q)
/*!
Returns the listener's orientation in 3D space.
*/
-QQuaternion QSpatialAudioListener::rotation() const
+QQuaternion QAudioListener::rotation() const
{
return d->rotation;
}
@@ -132,15 +132,15 @@ QQuaternion QSpatialAudioListener::rotation() const
/*!
\internal
*/
-void QSpatialAudioListener::setEngine(QSpatialAudioEngine *engine)
+void QAudioListener::setEngine(QAudioEngine *engine)
{
if (d->engine) {
- auto *ed = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ed = QAudioEnginePrivate::get(d->engine);
ed->listener = nullptr;
}
d->engine = engine;
if (d->engine) {
- auto *ed = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ed = QAudioEnginePrivate::get(d->engine);
if (ed->listener) {
qWarning() << "Ignoring attempt to add a second listener to the spatial audio engine.";
d->engine = nullptr;
@@ -153,7 +153,7 @@ void QSpatialAudioListener::setEngine(QSpatialAudioEngine *engine)
/*!
Returns the engine associated with this listener.
*/
-QSpatialAudioEngine *QSpatialAudioListener::engine() const
+QAudioEngine *QAudioListener::engine() const
{
return d->engine;
}
diff --git a/src/multimedia/spatial/qspatialaudiolistener.h b/src/multimedia/spatial/qaudiolistener.h
index 715223521..f6beaf40d 100644
--- a/src/multimedia/spatial/qspatialaudiolistener.h
+++ b/src/multimedia/spatial/qaudiolistener.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,8 +34,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QSPATIALAUDIOLISTENER_H
-#define QSPATIALAUDIOLISTENER_H
+#ifndef QLISTENER_H
+#define QLISTENER_H
#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/QObject>
@@ -45,14 +45,14 @@
QT_BEGIN_NAMESPACE
-class QSpatialAudioEngine;
+class QAudioEngine;
-class QSpatialAudioListenerPrivate;
-class Q_MULTIMEDIA_EXPORT QSpatialAudioListener : public QObject
+class QAudioListenerPrivate;
+class Q_MULTIMEDIA_EXPORT QAudioListener : public QObject
{
public:
- explicit QSpatialAudioListener(QSpatialAudioEngine *engine);
- ~QSpatialAudioListener();
+ explicit QAudioListener(QAudioEngine *engine);
+ ~QAudioListener();
QAudioFormat format() const;
@@ -61,11 +61,11 @@ public:
void setRotation(const QQuaternion &q);
QQuaternion rotation() const;
- QSpatialAudioEngine *engine() const;
+ QAudioEngine *engine() const;
private:
- void setEngine(QSpatialAudioEngine *engine);
- QSpatialAudioListenerPrivate *d = nullptr;
+ void setEngine(QAudioEngine *engine);
+ QAudioListenerPrivate *d = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/spatial/qspatialaudioroom.cpp b/src/multimedia/spatial/qaudioroom.cpp
index 9e091c43f..0edbd2b97 100644
--- a/src/multimedia/spatial/qspatialaudioroom.cpp
+++ b/src/multimedia/spatial/qaudioroom.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,7 +34,7 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <qspatialaudioroom_p.h>
+#include <qaudioroom_p.h>
QT_BEGIN_NAMESPACE
@@ -103,17 +103,17 @@ struct {
}
-float QSpatialAudioRoomPrivate::wallOcclusion(QSpatialAudioRoom::Wall wall) const
+float QAudioRoomPrivate::wallOcclusion(QAudioRoom::Wall wall) const
{
return m_wallOcclusion[wall] < 0 ? occlusionAndDampening[roomProperties.material_names[wall]].occlusion : m_wallOcclusion[wall];
}
-float QSpatialAudioRoomPrivate::wallDampening(QSpatialAudioRoom::Wall wall) const
+float QAudioRoomPrivate::wallDampening(QAudioRoom::Wall wall) const
{
return m_wallDampening[wall] < 0 ? occlusionAndDampening[roomProperties.material_names[wall]].dampening : m_wallDampening[wall];
}
-void QSpatialAudioRoomPrivate::update()
+void QAudioRoomPrivate::update()
{
if (!dirty)
return;
@@ -124,7 +124,7 @@ void QSpatialAudioRoomPrivate::update()
/*!
- \class QSpatialAudioRoom
+ \class QAudioRoom
\inmodule QtMultimedia
\ingroup multimedia_spatialaudio
@@ -143,30 +143,30 @@ void QSpatialAudioRoomPrivate::update()
*/
/*!
- Constructs a QSpatialAudioRoom for \a engine.
+ Constructs a QAudioRoom for \a engine.
*/
-QSpatialAudioRoom::QSpatialAudioRoom(QSpatialAudioEngine *engine)
- : d(new QSpatialAudioRoomPrivate)
+QAudioRoom::QAudioRoom(QAudioEngine *engine)
+ : d(new QAudioRoomPrivate)
{
Q_ASSERT(engine);
d->engine = engine;
- auto *ep = QSpatialAudioEnginePrivate::get(engine);
+ auto *ep = QAudioEnginePrivate::get(engine);
ep->addRoom(this);
}
/*!
Destroys the room.
*/
-QSpatialAudioRoom::~QSpatialAudioRoom()
+QAudioRoom::~QAudioRoom()
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->removeRoom(this);
delete d;
}
/*!
- \enum QSpatialAudioRoom::Material
+ \enum QAudioRoom::Material
Defines different materials that can be applied to the different walls of the room.
@@ -197,7 +197,7 @@ QSpatialAudioRoom::~QSpatialAudioRoom()
*/
/*!
- \enum QSpatialAudioRoom::Wall
+ \enum QAudioRoom::Wall
An enum defining the 6 walls of the room
@@ -211,16 +211,16 @@ QSpatialAudioRoom::~QSpatialAudioRoom()
/*!
- \property QSpatialAudioRoom::position
+ \property QAudioRoom::position
Defines the position of the center of the room in 3D space. Units are in centimeters
by default.
- \sa dimensions, QSpatialAudioEngine::distanceScale
+ \sa dimensions, QAudioEngine::distanceScale
*/
-void QSpatialAudioRoom::setPosition(QVector3D pos)
+void QAudioRoom::setPosition(QVector3D pos)
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
pos *= ep->distanceScale;
if (toVector(d->roomProperties.position) == pos)
return;
@@ -229,25 +229,25 @@ void QSpatialAudioRoom::setPosition(QVector3D pos)
emit positionChanged();
}
-QVector3D QSpatialAudioRoom::position() const
+QVector3D QAudioRoom::position() const
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
auto pos = toVector(d->roomProperties.position);
pos /= ep->distanceScale;
return pos;
}
/*!
- \property QSpatialAudioRoom::dimensions
+ \property QAudioRoom::dimensions
Defines the dimensions of the room in 3D space. Units are in centimeters
by default.
- \sa position, QSpatialAudioEngine::distanceScale
+ \sa position, QAudioEngine::distanceScale
*/
-void QSpatialAudioRoom::setDimensions(QVector3D dim)
+void QAudioRoom::setDimensions(QVector3D dim)
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
dim *= ep->distanceScale;
if (toVector(d->roomProperties.dimensions) == dim)
return;
@@ -256,20 +256,20 @@ void QSpatialAudioRoom::setDimensions(QVector3D dim)
emit dimensionsChanged();
}
-QVector3D QSpatialAudioRoom::dimensions() const
+QVector3D QAudioRoom::dimensions() const
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
auto dim = toVector(d->roomProperties.dimensions);
dim /= ep->distanceScale;
return dim;
}
/*!
- \property QSpatialAudioRoom::rotation
+ \property QAudioRoom::rotation
Defines the orientation of the room in 3D space.
*/
-void QSpatialAudioRoom::setRotation(const QQuaternion &q)
+void QAudioRoom::setRotation(const QQuaternion &q)
{
if (toQuaternion(d->roomProperties.rotation) == q)
return;
@@ -278,7 +278,7 @@ void QSpatialAudioRoom::setRotation(const QQuaternion &q)
emit rotationChanged();
}
-QQuaternion QSpatialAudioRoom::rotation() const
+QQuaternion QAudioRoom::rotation() const
{
return toQuaternion(d->roomProperties.rotation);
}
@@ -289,9 +289,9 @@ QQuaternion QSpatialAudioRoom::rotation() const
Different wall materials have different reflection and reverb properties
that influence the sound of the room.
- \sa wallMaterial(), Material, QSpatialAudioRoom::Wall
+ \sa wallMaterial(), Material, QAudioRoom::Wall
*/
-void QSpatialAudioRoom::setWallMaterial(Wall wall, Material material)
+void QAudioRoom::setWallMaterial(Wall wall, Material material)
{
static_assert(vraudio::kUniform == int(UniformMaterial));
static_assert(vraudio::kTransparent == int(Transparent));
@@ -306,15 +306,15 @@ void QSpatialAudioRoom::setWallMaterial(Wall wall, Material material)
/*!
returns the material being used for \a wall.
- \sa setWallMaterial(), Material, QSpatialAudioRoom::Wall
+ \sa setWallMaterial(), Material, QAudioRoom::Wall
*/
-QSpatialAudioRoom::Material QSpatialAudioRoom::wallMaterial(Wall wall) const
+QAudioRoom::Material QAudioRoom::wallMaterial(Wall wall) const
{
return Material(d->roomProperties.material_names[int(wall)]);
}
/*!
- \property QSpatialAudioRoom::reflectionGain
+ \property QAudioRoom::reflectionGain
A gain factor for reflections generated in this room. A value
from 0 to 1 will dampen reflections, while a value larger than 1
@@ -323,7 +323,7 @@ QSpatialAudioRoom::Material QSpatialAudioRoom::wallMaterial(Wall wall) const
The default is 1, a factor of 0 disables reflections. Negative
values are mapped to 0.
*/
-void QSpatialAudioRoom::setReflectionGain(float factor)
+void QAudioRoom::setReflectionGain(float factor)
{
if (factor < 0.)
factor = 0.;
@@ -334,13 +334,13 @@ void QSpatialAudioRoom::setReflectionGain(float factor)
reflectionGainChanged();
}
-float QSpatialAudioRoom::reflectionGain() const
+float QAudioRoom::reflectionGain() const
{
return d->roomProperties.reflection_scalar;
}
/*!
- \property QSpatialAudioRoom::reverbGain
+ \property QAudioRoom::reverbGain
A gain factor for reverb generated in this room. A value
from 0 to 1 will dampen reverb, while a value larger than 1
@@ -349,7 +349,7 @@ float QSpatialAudioRoom::reflectionGain() const
The default is 1, a factor of 0 disables reverb. Negative
values are mapped to 0.
*/
-void QSpatialAudioRoom::setReverbGain(float factor)
+void QAudioRoom::setReverbGain(float factor)
{
if (factor < 0)
factor = 0;
@@ -360,13 +360,13 @@ void QSpatialAudioRoom::setReverbGain(float factor)
reverbGainChanged();
}
-float QSpatialAudioRoom::reverbGain() const
+float QAudioRoom::reverbGain() const
{
return d->roomProperties.reverb_gain;
}
/*!
- \property QSpatialAudioRoom::reverbTime
+ \property QAudioRoom::reverbTime
A factor to be applies to all reverb timings generated for this room.
Larger values will lead to longer reverb timings, making the room sound
@@ -374,7 +374,7 @@ float QSpatialAudioRoom::reverbGain() const
The default is 1. Negative values are mapped to 0.
*/
-void QSpatialAudioRoom::setReverbTime(float factor)
+void QAudioRoom::setReverbTime(float factor)
{
if (factor < 0)
factor = 0;
@@ -385,13 +385,13 @@ void QSpatialAudioRoom::setReverbTime(float factor)
reverbTimeChanged();
}
-float QSpatialAudioRoom::reverbTime() const
+float QAudioRoom::reverbTime() const
{
return d->roomProperties.reverb_time;
}
/*!
- \property QSpatialAudioRoom::reverbBrightness
+ \property QAudioRoom::reverbBrightness
A brightness factor to be applied to the generated reverb.
A positive value will increase reverb for higher frequencies and
@@ -399,7 +399,7 @@ float QSpatialAudioRoom::reverbTime() const
The default is 0.
*/
-void QSpatialAudioRoom::setReverbBrightness(float factor)
+void QAudioRoom::setReverbBrightness(float factor)
{
if (d->roomProperties.reverb_brightness == factor)
return;
@@ -408,11 +408,11 @@ void QSpatialAudioRoom::setReverbBrightness(float factor)
reverbBrightnessChanged();
}
-float QSpatialAudioRoom::reverbBrightness() const
+float QAudioRoom::reverbBrightness() const
{
return d->roomProperties.reverb_brightness;
}
QT_END_NAMESPACE
-#include "moc_qspatialaudioroom.cpp"
+#include "moc_qaudioroom.cpp"
diff --git a/src/multimedia/spatial/qspatialaudioroom.h b/src/multimedia/spatial/qaudioroom.h
index a3bba8930..6031ef714 100644
--- a/src/multimedia/spatial/qspatialaudioroom.h
+++ b/src/multimedia/spatial/qaudioroom.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -35,8 +35,8 @@
**
****************************************************************************/
-#ifndef QSPATIALAUDIOROOM_H
-#define QSPATIALAUDIOROOM_H
+#ifndef QAUDIOROOM_H
+#define QAUDIOROOM_H
#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/qobject.h>
@@ -44,10 +44,10 @@
QT_BEGIN_NAMESPACE
-class QSpatialAudioEngine;
-class QSpatialAudioRoomPrivate;
+class QAudioEngine;
+class QAudioRoomPrivate;
-class Q_MULTIMEDIA_EXPORT QSpatialAudioRoom : public QObject
+class Q_MULTIMEDIA_EXPORT QAudioRoom : public QObject
{
Q_OBJECT
Q_PROPERTY(QVector3D position READ position WRITE setPosition NOTIFY positionChanged)
@@ -58,8 +58,8 @@ class Q_MULTIMEDIA_EXPORT QSpatialAudioRoom : public QObject
Q_PROPERTY(float reverbTime READ reverbTime WRITE setReverbTime NOTIFY reverbTimeChanged)
Q_PROPERTY(float reverbBrightness READ reverbBrightness WRITE setReverbBrightness NOTIFY reverbBrightnessChanged)
public:
- QSpatialAudioRoom(QSpatialAudioEngine *engine);
- ~QSpatialAudioRoom();
+ QAudioRoom(QAudioEngine *engine);
+ ~QAudioRoom();
enum Material {
Transparent,
@@ -132,8 +132,8 @@ Q_SIGNALS:
void reverbBrightnessChanged();
private:
- friend class QSpatialAudioRoomPrivate;
- QSpatialAudioRoomPrivate *d;
+ friend class QAudioRoomPrivate;
+ QAudioRoomPrivate *d;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/spatial/qspatialaudioroom_p.h b/src/multimedia/spatial/qaudioroom_p.h
index 668570eef..b2cc7c2e3 100644
--- a/src/multimedia/spatial/qspatialaudioroom_p.h
+++ b/src/multimedia/spatial/qaudioroom_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,8 +34,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QSPATIALAUDIOROOM_P_H
-#define QSPATIALAUDIOROOM_P_H
+#ifndef QAUDIOROOM_P_H
+#define QAUDIOROOM_P_H
// W A R N I N G
// -------------
@@ -47,8 +47,8 @@
// We mean it.
//
-#include <qspatialaudioroom.h>
-#include <qspatialaudioengine_p.h>
+#include <qaudioroom.h>
+#include <qaudioengine_p.h>
#include <QtGui/qquaternion.h>
#include <resonance_audio_api_extensions.h>
@@ -57,12 +57,12 @@
QT_BEGIN_NAMESPACE
-class QSpatialAudioRoomPrivate
+class QAudioRoomPrivate
{
public:
- static QSpatialAudioRoomPrivate *get(const QSpatialAudioRoom *r) { return r->d; }
+ static QAudioRoomPrivate *get(const QAudioRoom *r) { return r->d; }
- QSpatialAudioEngine *engine = nullptr;
+ QAudioEngine *engine = nullptr;
vraudio::RoomProperties roomProperties;
bool dirty = true;
@@ -72,8 +72,8 @@ public:
float m_wallOcclusion[6] = { -1.f, -1.f, -1.f, -1.f, -1.f, -1.f };
float m_wallDampening[6] = { -1.f, -1.f, -1.f, -1.f, -1.f, -1.f };
- float wallOcclusion(QSpatialAudioRoom::Wall wall) const;
- float wallDampening(QSpatialAudioRoom::Wall wall) const;
+ float wallOcclusion(QAudioRoom::Wall wall) const;
+ float wallDampening(QAudioRoom::Wall wall) const;
void update();
};
diff --git a/src/multimedia/spatial/qspatialaudiosoundsource.cpp b/src/multimedia/spatial/qspatialsound.cpp
index c86e6351b..8614eaa3b 100644
--- a/src/multimedia/spatial/qspatialaudiosoundsource.cpp
+++ b/src/multimedia/spatial/qspatialsound.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,11 +34,10 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "qspatialaudioroom_p.h"
-#include "qspatialaudiosoundsource_p.h"
-#include "qspatialaudiolistener.h"
-#include "qspatialaudioengine_p.h"
-#include "qspatialaudioroom.h"
+#include "qaudioroom_p.h"
+#include "qspatialsound_p.h"
+#include "qaudiolistener.h"
+#include "qaudioengine_p.h"
#include "api/resonance_audio_api.h"
#include <qaudiosink.h>
#include <qurl.h>
@@ -48,13 +47,13 @@
QT_BEGIN_NAMESPACE
/*!
- \class QSpatialAudioSoundSource
+ \class QSpatialSound
\inmodule QtMultimedia
\ingroup multimedia_spatialaudio
\brief A sound object in 3D space.
- QSpatialAudioSoundSource represents an audible object in 3D space. You can define
+ QSpatialSound represents an audible object in 3D space. You can define
it's position and orientation in space, set the sound it is playing and define a
volume for the object.
@@ -66,8 +65,8 @@ QT_BEGIN_NAMESPACE
Creates a spatial sound source for \a engine. The object can be placed in
3D space and will be louder the closer to the listener it is.
*/
-QSpatialAudioSoundSource::QSpatialAudioSoundSource(QSpatialAudioEngine *engine)
- : d(new QSpatialAudioSoundSourcePrivate(this))
+QSpatialSound::QSpatialSound(QAudioEngine *engine)
+ : d(new QSpatialSoundPrivate(this))
{
setEngine(engine);
}
@@ -75,22 +74,22 @@ QSpatialAudioSoundSource::QSpatialAudioSoundSource(QSpatialAudioEngine *engine)
/*!
Destroys the sound source.
*/
-QSpatialAudioSoundSource::~QSpatialAudioSoundSource()
+QSpatialSound::~QSpatialSound()
{
setEngine(nullptr);
}
/*!
- \property QSpatialAudioSoundSource::position
+ \property QSpatialSound::position
Defines the position of the sound source in 3D space. Units are in centimeters
by default.
- \sa QSpatialAudioEngine::distanceScale
+ \sa QAudioEngine::distanceScale
*/
-void QSpatialAudioSoundSource::setPosition(QVector3D pos)
+void QSpatialSound::setPosition(QVector3D pos)
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
pos *= ep->distanceScale;
d->pos = pos;
if (ep)
@@ -99,57 +98,57 @@ void QSpatialAudioSoundSource::setPosition(QVector3D pos)
emit positionChanged();
}
-QVector3D QSpatialAudioSoundSource::position() const
+QVector3D QSpatialSound::position() const
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
return d->pos/ep->distanceScale;
}
/*!
- \property QSpatialAudioSoundSource::rotation
+ \property QSpatialSound::rotation
Defines the orientation of the sound source in 3D space.
*/
-void QSpatialAudioSoundSource::setRotation(const QQuaternion &q)
+void QSpatialSound::setRotation(const QQuaternion &q)
{
d->rotation = q;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->api->SetSourceRotation(d->sourceId, q.x(), q.y(), q.z(), q.scalar());
emit rotationChanged();
}
-QQuaternion QSpatialAudioSoundSource::rotation() const
+QQuaternion QSpatialSound::rotation() const
{
return d->rotation;
}
/*!
- \property QSpatialAudioSoundSource::volume
+ \property QSpatialSound::volume
Defines the volume of the sound.
Values between 0 and 1 will attenuate the sound, while values above 1
provide an additional gain boost.
*/
-void QSpatialAudioSoundSource::setVolume(float volume)
+void QSpatialSound::setVolume(float volume)
{
if (d->volume == volume)
return;
d->volume = volume;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->api->SetSourceVolume(d->sourceId, d->volume*d->wallDampening);
emit volumeChanged();
}
-float QSpatialAudioSoundSource::volume() const
+float QSpatialSound::volume() const
{
return d->volume;
}
/*!
- \enum QSpatialAudioSoundSource::DistanceModel
+ \enum QSpatialSound::DistanceModel
Defines how the volume of the sound scales with distance to the listener.
@@ -160,15 +159,15 @@ float QSpatialAudioSoundSource::volume() const
*/
/*!
- \property QSpatialAudioSoundSource::distanceModel
+ \property QSpatialSound::distanceModel
Defines distance model for this sound source. The volume starts scaling down
from \l size to \l distanceCutoff. The volume is constant for distances smaller
than size and zero for distances larger than the cutoff distance.
- \sa QSpatialAudioSoundSource::DistanceModel
+ \sa QSpatialSound::DistanceModel
*/
-void QSpatialAudioSoundSource::setDistanceModel(DistanceModel model)
+void QSpatialSound::setDistanceModel(DistanceModel model)
{
if (d->distanceModel == model)
return;
@@ -178,18 +177,18 @@ void QSpatialAudioSoundSource::setDistanceModel(DistanceModel model)
emit distanceModelChanged();
}
-void QSpatialAudioSoundSourcePrivate::updateDistanceModel()
+void QSpatialSoundPrivate::updateDistanceModel()
{
if (!engine || sourceId < 0)
return;
- auto *ep = QSpatialAudioEnginePrivate::get(engine);
+ auto *ep = QAudioEnginePrivate::get(engine);
vraudio::DistanceRolloffModel dm = vraudio::kLogarithmic;
switch (distanceModel) {
- case QSpatialAudioSoundSource::DistanceModel_Linear:
+ case QSpatialSound::DistanceModel_Linear:
dm = vraudio::kLinear;
break;
- case QSpatialAudioSoundSource::DistanceModel_ManualAttenutation:
+ case QSpatialSound::DistanceModel_ManualAttenutation:
dm = vraudio::kNone;
break;
default:
@@ -199,14 +198,14 @@ void QSpatialAudioSoundSourcePrivate::updateDistanceModel()
ep->api->SetSourceDistanceModel(sourceId, dm, size, distanceCutoff);
}
-void QSpatialAudioSoundSourcePrivate::updateRoomEffects()
+void QSpatialSoundPrivate::updateRoomEffects()
{
if (!engine || sourceId < 0)
return;
- auto *ep = QSpatialAudioEnginePrivate::get(engine);
+ auto *ep = QAudioEnginePrivate::get(engine);
if (!ep->currentRoom)
return;
- auto *rp = QSpatialAudioRoomPrivate::get(ep->currentRoom);
+ auto *rp = QAudioRoomPrivate::get(ep->currentRoom);
QVector3D roomDim2 = ep->currentRoom->dimensions()/2.;
QVector3D roomPos = ep->currentRoom->position();
@@ -237,10 +236,10 @@ void QSpatialAudioSoundSourcePrivate::updateRoomEffects()
// Very rough approximation, use the size of the source plus twice the size of our head.
// One could probably improve upon this.
const float transitionDistance = size + 0.4;
- QSpatialAudioRoom::Wall walls[3];
- walls[X] = direction.x() > 0 ? QSpatialAudioRoom::RightWall : QSpatialAudioRoom::LeftWall;
- walls[Y] = direction.y() > 0 ? QSpatialAudioRoom::FrontWall : QSpatialAudioRoom::BackWall;
- walls[Z] = direction.z() > 0 ? QSpatialAudioRoom::Ceiling : QSpatialAudioRoom::Floor;
+ QAudioRoom::Wall walls[3];
+ walls[X] = direction.x() > 0 ? QAudioRoom::RightWall : QAudioRoom::LeftWall;
+ walls[Y] = direction.y() > 0 ? QAudioRoom::FrontWall : QAudioRoom::BackWall;
+ walls[Z] = direction.z() > 0 ? QAudioRoom::Ceiling : QAudioRoom::Floor;
float factors[3] = { 0., 0., 0. };
bool foundWall = false;
if (direction.x() != 0) {
@@ -303,21 +302,21 @@ void QSpatialAudioSoundSourcePrivate::updateRoomEffects()
ep->api->SetSourceVolume(sourceId, volume*wallDampening);
}
-QSpatialAudioSoundSource::DistanceModel QSpatialAudioSoundSource::distanceModel() const
+QSpatialSound::DistanceModel QSpatialSound::distanceModel() const
{
return d->distanceModel;
}
/*!
- \property QSpatialAudioSoundSource::size
+ \property QSpatialSound::size
Defines the size of the sound source. If the listener is closer to the sound
object than the size, volume will stay constant. The size is also used to for
occlusion calculations, where large sources can be partially occluded by a wall.
*/
-void QSpatialAudioSoundSource::setSize(float size)
+void QSpatialSound::setSize(float size)
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
size *= ep->distanceScale;
if (d->size == size)
return;
@@ -327,22 +326,22 @@ void QSpatialAudioSoundSource::setSize(float size)
emit sizeChanged();
}
-float QSpatialAudioSoundSource::size() const
+float QSpatialSound::size() const
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
return d->size/ep->distanceScale;
}
/*!
- \property QSpatialAudioSoundSource::distanceCutoff
+ \property QSpatialSound::distanceCutoff
Defines a distance beyond which sound coming from the source will cutoff.
If the listener is further away from the sound object than the cutoff
distance it won't be audible anymore.
*/
-void QSpatialAudioSoundSource::setDistanceCutoff(float cutoff)
+void QSpatialSound::setDistanceCutoff(float cutoff)
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
cutoff *= ep->distanceScale;
if (d->distanceCutoff == cutoff)
return;
@@ -352,36 +351,36 @@ void QSpatialAudioSoundSource::setDistanceCutoff(float cutoff)
emit distanceCutoffChanged();
}
-float QSpatialAudioSoundSource::distanceCutoff() const
+float QSpatialSound::distanceCutoff() const
{
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
return d->distanceCutoff/ep->distanceScale;
}
/*!
- \property QSpatialAudioSoundSource::manualAttenuation
+ \property QSpatialSound::manualAttenuation
Defines a manual attenuation factor if \l distanceModel is set to
- QSpatialAudioSoundSource::DistanceModel_ManualAttenutation.
+ QSpatialSound::DistanceModel_ManualAttenutation.
*/
-void QSpatialAudioSoundSource::setManualAttenuation(float attenuation)
+void QSpatialSound::setManualAttenuation(float attenuation)
{
if (d->manualAttenuation == attenuation)
return;
d->manualAttenuation = attenuation;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->api->SetSourceDistanceAttenuation(d->sourceId, d->manualAttenuation);
emit manualAttenuationChanged();
}
-float QSpatialAudioSoundSource::manualAttenuation() const
+float QSpatialSound::manualAttenuation() const
{
return d->manualAttenuation;
}
/*!
- \property QSpatialAudioSoundSource::occlusionIntensity
+ \property QSpatialSound::occlusionIntensity
Defines how much the object is occluded. 0 implies the object is
not occluded at all, 1 implies the sound source is fully occluded by
@@ -396,24 +395,24 @@ float QSpatialAudioSoundSource::manualAttenuation() const
The default is 0.
*/
-void QSpatialAudioSoundSource::setOcclusionIntensity(float occlusion)
+void QSpatialSound::setOcclusionIntensity(float occlusion)
{
if (d->occlusionIntensity == occlusion)
return;
d->occlusionIntensity = occlusion;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->api->SetSoundObjectOcclusionIntensity(d->sourceId, d->occlusionIntensity + d->wallOcclusion);
emit occlusionIntensityChanged();
}
-float QSpatialAudioSoundSource::occlusionIntensity() const
+float QSpatialSound::occlusionIntensity() const
{
return d->occlusionIntensity;
}
/*!
- \property QSpatialAudioSoundSource::directivity
+ \property QSpatialSound::directivity
Defines the directivity of the sound source. A value of 0 implies that the sound is
emitted equally in all directions, while a value of 1 implies that the source mainly
@@ -421,67 +420,67 @@ float QSpatialAudioSoundSource::occlusionIntensity() const
Valid values are between 0 and 1, the default is 0.
*/
-void QSpatialAudioSoundSource::setDirectivity(float alpha)
+void QSpatialSound::setDirectivity(float alpha)
{
alpha = qBound(0., alpha, 1.);
if (alpha == d->directivity)
return;
d->directivity = alpha;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->api->SetSoundObjectDirectivity(d->sourceId, d->directivity, d->directivityOrder);
emit directivityChanged();
}
-float QSpatialAudioSoundSource::directivity() const
+float QSpatialSound::directivity() const
{
return d->directivity;
}
/*!
- \property QSpatialAudioSoundSource::directivityOrder
+ \property QSpatialSound::directivityOrder
Defines the order of the directivity of the sound source. A higher order
implies a sharper localization of the sound cone.
The minimum value and default for this property is 1.
*/
-void QSpatialAudioSoundSource::setDirectivityOrder(float order)
+void QSpatialSound::setDirectivityOrder(float order)
{
order = qMax(order, 1.);
if (order == d->directivityOrder)
return;
d->directivityOrder = order;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->api->SetSoundObjectDirectivity(d->sourceId, d->directivity, d->directivityOrder);
emit directivityChanged();
}
-float QSpatialAudioSoundSource::directivityOrder() const
+float QSpatialSound::directivityOrder() const
{
return d->directivityOrder;
}
/*!
- \property QSpatialAudioSoundSource::nearFieldGain
+ \property QSpatialSound::nearFieldGain
Defines the near field gain for the sound source. Valid values are between 0 and 1.
A near field gain of 1 will raise the volume of the sound signal by approx 20 dB for
distances very close to the listener.
*/
-void QSpatialAudioSoundSource::setNearFieldGain(float gain)
+void QSpatialSound::setNearFieldGain(float gain)
{
gain = qBound(0., gain, 1.);
if (gain == d->nearFieldGain)
return;
d->nearFieldGain = gain;
- auto *ep = QSpatialAudioEnginePrivate::get(d->engine);
+ auto *ep = QAudioEnginePrivate::get(d->engine);
if (ep)
ep->api->SetSoundObjectNearFieldEffectGain(d->sourceId, d->nearFieldGain/9.);
@@ -489,17 +488,17 @@ void QSpatialAudioSoundSource::setNearFieldGain(float gain)
}
-float QSpatialAudioSoundSource::nearFieldGain() const
+float QSpatialSound::nearFieldGain() const
{
return d->nearFieldGain;
}
/*!
- \property QSpatialAudioSoundSource::source
+ \property QSpatialSound::source
The source file for the sound to be played.
*/
-void QSpatialAudioSoundSource::setSource(const QUrl &url)
+void QSpatialSound::setSource(const QUrl &url)
{
if (d->url == url)
return;
@@ -509,25 +508,25 @@ void QSpatialAudioSoundSource::setSource(const QUrl &url)
emit sourceChanged();
}
-QUrl QSpatialAudioSoundSource::source() const
+QUrl QSpatialSound::source() const
{
return d->url;
}
/*!
- \property QSpatialAudioSoundSource::loops
+ \property QSpatialSound::loops
Determines how many times the sound is played before the player stops.
- Set to QSpatialAudioSoundSource::Infinite to play the current sound in a loop forever.
+ Set to QSpatialSound::Infinite to play the current sound in a loop forever.
The default value is \c 1.
*/
-int QSpatialAudioSoundSource::loops() const
+int QSpatialSound::loops() const
{
return d->m_loops.loadRelaxed();
}
-void QSpatialAudioSoundSource::setLoops(int loops)
+void QSpatialSound::setLoops(int loops)
{
int oldLoops = d->m_loops.fetchAndStoreRelaxed(loops);
if (oldLoops != loops)
@@ -535,19 +534,19 @@ void QSpatialAudioSoundSource::setLoops(int loops)
}
/*!
- \property QSpatialAudioSoundSource::autoPlay
+ \property QSpatialSound::autoPlay
Determines whether the sound should automatically start playing when a source
gets specified.
The default value is \c true.
*/
-bool QSpatialAudioSoundSource::autoPlay() const
+bool QSpatialSound::autoPlay() const
{
return d->m_autoPlay.loadRelaxed();
}
-void QSpatialAudioSoundSource::setAutoPlay(bool autoPlay)
+void QSpatialSound::setAutoPlay(bool autoPlay)
{
bool old = d->m_autoPlay.fetchAndStoreRelaxed(autoPlay);
if (old != autoPlay)
@@ -557,7 +556,7 @@ void QSpatialAudioSoundSource::setAutoPlay(bool autoPlay)
/*!
Starts playing back the sound. Does nothing if the sound is already playing.
*/
-void QSpatialAudioSoundSource::play()
+void QSpatialSound::play()
{
d->play();
}
@@ -565,7 +564,7 @@ void QSpatialAudioSoundSource::play()
/*!
Pauses sound playback. Calling play() will continue playback.
*/
-void QSpatialAudioSoundSource::pause()
+void QSpatialSound::pause()
{
d->pause();
}
@@ -574,7 +573,7 @@ void QSpatialAudioSoundSource::pause()
Stops sound playback and resets the current position and current loop count to 0.
Calling play() will start playback at the beginning of the sound file.
*/
-void QSpatialAudioSoundSource::stop()
+void QSpatialSound::stop()
{
d->stop();
}
@@ -582,17 +581,17 @@ void QSpatialAudioSoundSource::stop()
/*!
\internal
*/
-void QSpatialAudioSoundSource::setEngine(QSpatialAudioEngine *engine)
+void QSpatialSound::setEngine(QAudioEngine *engine)
{
if (d->engine == engine)
return;
- auto *ep = QSpatialAudioEnginePrivate::get(engine);
+ auto *ep = QAudioEnginePrivate::get(engine);
if (ep)
ep->removeSpatialSound(this);
d->engine = engine;
- ep = QSpatialAudioEnginePrivate::get(engine);
+ ep = QAudioEnginePrivate::get(engine);
if (ep) {
ep->addSpatialSound(this);
ep->api->SetSourcePosition(d->sourceId, d->pos.x(), d->pos.y(), d->pos.z());
@@ -607,11 +606,11 @@ void QSpatialAudioSoundSource::setEngine(QSpatialAudioEngine *engine)
/*!
Returns the engine associated with this listener.
*/
-QSpatialAudioEngine *QSpatialAudioSoundSource::engine() const
+QAudioEngine *QSpatialSound::engine() const
{
return d->engine;
}
QT_END_NAMESPACE
-#include "moc_qspatialaudiosoundsource.cpp"
+#include "moc_qspatialsound.cpp"
diff --git a/src/multimedia/spatial/qspatialaudiosoundsource.h b/src/multimedia/spatial/qspatialsound.h
index cd0d8fe75..43058fa18 100644
--- a/src/multimedia/spatial/qspatialaudiosoundsource.h
+++ b/src/multimedia/spatial/qspatialsound.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,8 +34,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QSPATIALAUDIOSOURCE_H
-#define QSPATIALAUDIOSOURCE_H
+#ifndef QSPATIALSOUND_H
+#define QSPATIALSOUND_H
#include <QtMultimedia/qtmultimediaglobal.h>
#include <QtCore/QObject>
@@ -44,11 +44,11 @@
QT_BEGIN_NAMESPACE
-class QSpatialAudioEngine;
-class QSpatialAudioSound;
+class QAudioEngine;
+class QAmbientSoundPrivate;
-class QSpatialAudioSoundSourcePrivate;
-class Q_MULTIMEDIA_EXPORT QSpatialAudioSoundSource : public QObject
+class QSpatialSoundPrivate;
+class Q_MULTIMEDIA_EXPORT QSpatialSound : public QObject
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
@@ -67,8 +67,8 @@ class Q_MULTIMEDIA_EXPORT QSpatialAudioSoundSource : public QObject
Q_PROPERTY(bool autoPlay READ autoPlay WRITE setAutoPlay NOTIFY autoPlayChanged)
public:
- explicit QSpatialAudioSoundSource(QSpatialAudioEngine *engine);
- ~QSpatialAudioSoundSource();
+ explicit QSpatialSound(QAudioEngine *engine);
+ ~QSpatialSound();
void setSource(const QUrl &url);
QUrl source() const;
@@ -126,7 +126,7 @@ public:
void setNearFieldGain(float gain);
float nearFieldGain() const;
- QSpatialAudioEngine *engine() const;
+ QAudioEngine *engine() const;
Q_SIGNALS:
void sourceChanged();
@@ -150,10 +150,10 @@ public Q_SLOTS:
void stop();
private:
- void setEngine(QSpatialAudioEngine *engine);
- friend class QSpatialAudioSound;
- friend class QSpatialAudioSoundSourcePrivate;
- QSpatialAudioSoundSourcePrivate *d = nullptr;
+ void setEngine(QAudioEngine *engine);
+ friend class QAmbientSoundPrivate;
+ friend class QSpatialSoundPrivate;
+ QSpatialSoundPrivate *d = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/spatial/qspatialaudiosoundsource_p.h b/src/multimedia/spatial/qspatialsound_p.h
index 83bd2d232..0ed8f5e66 100644
--- a/src/multimedia/spatial/qspatialaudiosoundsource_p.h
+++ b/src/multimedia/spatial/qspatialsound_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Multimedia module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -49,8 +49,8 @@
// We mean it.
//
-#include <qspatialaudiosoundsource.h>
-#include <qspatialaudioengine_p.h>
+#include <qspatialsound.h>
+#include <qaudioengine_p.h>
#include <qurl.h>
#include <qvector3d.h>
#include <qquaternion.h>
@@ -61,21 +61,21 @@
QT_BEGIN_NAMESPACE
class QAudioDecoder;
-class QSpatialAudioEnginePrivate;
+class QAudioEnginePrivate;
-class QSpatialAudioSoundSourcePrivate : public QSpatialAudioSound
+class QSpatialSoundPrivate : public QAmbientSoundPrivate
{
public:
- QSpatialAudioSoundSourcePrivate(QObject *parent)
- : QSpatialAudioSound(parent, 1)
+ QSpatialSoundPrivate(QObject *parent)
+ : QAmbientSoundPrivate(parent, 1)
{}
- static QSpatialAudioSoundSourcePrivate *get(QSpatialAudioSoundSource *soundSource)
+ static QSpatialSoundPrivate *get(QSpatialSound *soundSource)
{ return soundSource ? soundSource->d : nullptr; }
QVector3D pos;
QQuaternion rotation;
- QSpatialAudioSoundSource::DistanceModel distanceModel = QSpatialAudioSoundSource::DistanceModel_Logarithmic;
+ QSpatialSound::DistanceModel distanceModel = QSpatialSound::DistanceModel_Logarithmic;
float size = .1f;
float distanceCutoff = 50.f;
float manualAttenuation = 0.f;
diff --git a/src/multimediaquick3d/CMakeLists.txt b/src/multimediaquick3d/CMakeLists.txt
index af4639df8..a381adfdb 100644
--- a/src/multimediaquick3d/CMakeLists.txt
+++ b/src/multimediaquick3d/CMakeLists.txt
@@ -2,24 +2,24 @@
## Quick3D.Sound Module:
#####################################################################
-qt_internal_add_qml_module(Quick3DSpatialAudioPrivate
- URI "QtQuick3D.SpatialAudio"
+qt_internal_add_qml_module(Quick3DAudioPrivate
+ URI "QtQuick3D.Audio"
VERSION "${PROJECT_VERSION}"
- CLASS_NAME QQuick3DSpatialAudioModule
- PLUGIN_TARGET quick3dspatialaudio
+ CLASS_NAME QQuick3DAudioModule
+ PLUGIN_TARGET quick3daudio
NO_GENERATE_PLUGIN_SOURCE
NO_PLUGIN_OPTIONAL
DEPENDENCIES QtQuick QtQuick3DPrivate QtMultimedia
- CONFIG_MODULE_NAME quick3dspatialaudio
+ CONFIG_MODULE_NAME quick3daudio
INTERNAL_MODULE
SOURCES
- qquick3dspatialaudiolistener.cpp qquick3dspatialaudiolistener_p.h
- qquick3dspatialaudioroom.cpp qquick3dspatialaudioroom_p.h
- qquick3dspatialaudiosoundsource.cpp qquick3dspatialaudiosoundsource_p.h
- qquick3dspatialaudiostereosource.cpp qquick3dspatialaudiostereosource_p.h
- qquick3dspatialaudioengine.cpp qquick3dspatialaudioengine_p.h
- qtquick3dsoundglobal_p.h
- qtquick3dsoundtypes_p.h
+ qquick3daudiolistener.cpp qquick3daudiolistener_p.h
+ qquick3daudioroom.cpp qquick3daudioroom_p.h
+ qquick3dspatialsound.cpp qquick3dspatialsound_p.h
+ qquick3dambientsound.cpp qquick3dambientsound_p.h
+ qquick3daudioengine.cpp qquick3daudioengine_p.h
+ qtquick3daudioglobal_p.h
+ qtquick3daudiotypes_p.h
QML_FILES
PUBLIC_LIBRARIES
Qt::Quick3DPrivate
@@ -27,4 +27,4 @@ qt_internal_add_qml_module(Quick3DSpatialAudioPrivate
GENERATE_CPP_EXPORTS
)
-target_sources(quick3dspatialaudio PRIVATE quick3dspatialaudio_plugin.cpp)
+target_sources(quick3daudio PRIVATE quick3daudio_plugin.cpp)
diff --git a/src/multimediaquick3d/qquick3dspatialaudiostereosource.cpp b/src/multimediaquick3d/qquick3dambientsound.cpp
index 55efde12a..5de0c6aa2 100644
--- a/src/multimediaquick3d/qquick3dspatialaudiostereosource.cpp
+++ b/src/multimediaquick3d/qquick3dambientsound.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,52 +34,52 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "qquick3dspatialaudiostereosource_p.h"
-#include "qquick3dspatialaudioengine_p.h"
-#include "qspatialaudiostereosource.h"
+#include "qquick3dambientsound_p.h"
+#include "qquick3daudioengine_p.h"
+#include "qambientsound.h"
#include <QAudioFormat>
#include <qdir.h>
QT_BEGIN_NAMESPACE
/*!
- \qmltype SpatialAudioStereoSource
- \inqmlmodule QtQuick3D.SpatialAudio
- \ingroup quick3d_spatialaudio
+ \qmltype AmbientSound
+ \inqmlmodule QtQuick3D.Audio
+ \ingroup quick3d_audio
\brief A stereo overlay sound.
- A SpatialAudioStereoSource represents a position and orientation independent sound.
+ A AmbientSound represents a position and orientation independent sound.
It's commonly used for background sounds (e.g. music) that is supposed to be independent
of the listeners position and orientation.
*/
-QQuick3DSpatialAudioStereoSource::QQuick3DSpatialAudioStereoSource()
+QQuick3DAmbientSound::QQuick3DAmbientSound()
{
- m_sound = new QSpatialAudioStereoSource(QQuick3DSpatialAudioEngine::getEngine());
+ m_sound = new QAmbientSound(QQuick3DAudioEngine::getEngine());
- connect(m_sound, &QSpatialAudioStereoSource::sourceChanged, this, &QQuick3DSpatialAudioStereoSource::sourceChanged);
- connect(m_sound, &QSpatialAudioStereoSource::volumeChanged, this, &QQuick3DSpatialAudioStereoSource::volumeChanged);
- connect(m_sound, &QSpatialAudioStereoSource::loopsChanged, this, &QQuick3DSpatialAudioStereoSource::loopsChanged);
- connect(m_sound, &QSpatialAudioStereoSource::autoPlayChanged, this, &QQuick3DSpatialAudioStereoSource::autoPlayChanged);
+ connect(m_sound, &QAmbientSound::sourceChanged, this, &QQuick3DAmbientSound::sourceChanged);
+ connect(m_sound, &QAmbientSound::volumeChanged, this, &QQuick3DAmbientSound::volumeChanged);
+ connect(m_sound, &QAmbientSound::loopsChanged, this, &QQuick3DAmbientSound::loopsChanged);
+ connect(m_sound, &QAmbientSound::autoPlayChanged, this, &QQuick3DAmbientSound::autoPlayChanged);
}
-QQuick3DSpatialAudioStereoSource::~QQuick3DSpatialAudioStereoSource()
+QQuick3DAmbientSound::~QQuick3DAmbientSound()
{
delete m_sound;
}
/*!
- \qmlproperty url QSpatialAudioStereoSource::source
+ \qmlproperty url QAmbientSound::source
The source file for the sound to be played.
*/
-QUrl QQuick3DSpatialAudioStereoSource::source() const
+QUrl QQuick3DAmbientSound::source() const
{
return m_sound->source();
}
-void QQuick3DSpatialAudioStereoSource::setSource(QUrl source)
+void QQuick3DAmbientSound::setSource(QUrl source)
{
QUrl url = QUrl::fromLocalFile(QDir::currentPath() + u"/");
url = url.resolved(source);
@@ -88,83 +88,83 @@ void QQuick3DSpatialAudioStereoSource::setSource(QUrl source)
}
/*!
- \qmlproperty float QSpatialAudioStereoSource::volume
+ \qmlproperty float QAmbientSound::volume
Defines an overall volume for this sound source.
*/
-void QQuick3DSpatialAudioStereoSource::setVolume(float volume)
+void QQuick3DAmbientSound::setVolume(float volume)
{
m_sound->setVolume(volume);
}
-float QQuick3DSpatialAudioStereoSource::volume() const
+float QQuick3DAmbientSound::volume() const
{
return m_sound->volume();
}
/*!
- \qmlproperty int QSpatialAudioStereoSource::loops
+ \qmlproperty int QAmbientSound::loops
Determines how often the sound is played before the player stops.
- Set to SpatialAudioSoundSource::Infinite to loop the current sound forever.
+ Set to QAmbienSound::Infinite to loop the current sound forever.
The default value is \c 1.
*/
-int QQuick3DSpatialAudioStereoSource::loops() const
+int QQuick3DAmbientSound::loops() const
{
return m_sound->loops();
}
-void QQuick3DSpatialAudioStereoSource::setLoops(int loops)
+void QQuick3DAmbientSound::setLoops(int loops)
{
m_sound->setLoops(loops);
}
/*!
- \qmlproperty bool SpatialAudioStereoSource::autoPlay
+ \qmlproperty bool AmbientSound::autoPlay
Determines whether the sound should automatically start playing when a source
gets specified.
The default value is \c true.
*/
-bool QQuick3DSpatialAudioStereoSource::autoPlay() const
+bool QQuick3DAmbientSound::autoPlay() const
{
return m_sound->autoPlay();
}
-void QQuick3DSpatialAudioStereoSource::setAutoPlay(bool autoPlay)
+void QQuick3DAmbientSound::setAutoPlay(bool autoPlay)
{
m_sound->setAutoPlay(autoPlay);
}
/*!
- \qmlmethod SpatialAudioStereoSource::play()
+ \qmlmethod AmbientSound::play()
Starts playing back the sound. Does nothing if the sound is already playing.
*/
-void QQuick3DSpatialAudioStereoSource::play()
+void QQuick3DAmbientSound::play()
{
m_sound->play();
}
/*!
- \qmlmethod SpatialAudioStereoSource::pause()
+ \qmlmethod AmbientSound::pause()
Pauses sound playback at the current position. Calling play() will continue playback.
*/
-void QQuick3DSpatialAudioStereoSource::pause()
+void QQuick3DAmbientSound::pause()
{
m_sound->pause();
}
/*!
- \qmlmethod SpatialAudioStereoSource::stop()
+ \qmlmethod AmbientSound::stop()
Stops sound playback and resets the current position and loop count to 0. Calling play() will
begin playback at the beginning of the sound file.
*/
-void QQuick3DSpatialAudioStereoSource::stop()
+void QQuick3DAmbientSound::stop()
{
m_sound->stop();
}
diff --git a/src/multimediaquick3d/qquick3dspatialaudiostereosource_p.h b/src/multimediaquick3d/qquick3dambientsound_p.h
index 25df87732..179dada74 100644
--- a/src/multimediaquick3d/qquick3dspatialaudiostereosource_p.h
+++ b/src/multimediaquick3d/qquick3dambientsound_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,8 +34,8 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QQUICK3DSPATIALAUDIOSTEREOSOUND_H
-#define QQUICK3DSPATIALAUDIOSTEREOSOUND_H
+#ifndef QQUICK3DAMBIENTSOUND_H
+#define QQUICK3DAMBIENTSOUND_H
#include <private/qquick3dnode_p.h>
#include <QUrl>
@@ -43,20 +43,20 @@
QT_BEGIN_NAMESPACE
-class QSpatialAudioStereoSource;
+class QAmbientSound;
-class QQuick3DSpatialAudioStereoSource : public QObject
+class QQuick3DAmbientSound : public QObject
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(float volume READ volume WRITE setVolume NOTIFY volumeChanged)
Q_PROPERTY(int loops READ loops WRITE setLoops NOTIFY loopsChanged)
Q_PROPERTY(bool autoPlay READ autoPlay WRITE setAutoPlay NOTIFY autoPlayChanged)
- QML_NAMED_ELEMENT(SpatialAudioStereoSource)
+ QML_NAMED_ELEMENT(AmbientSound)
public:
- QQuick3DSpatialAudioStereoSource();
- ~QQuick3DSpatialAudioStereoSource();
+ QQuick3DAmbientSound();
+ ~QQuick3DAmbientSound();
void setSource(QUrl source);
QUrl source() const;
@@ -89,7 +89,7 @@ Q_SIGNALS:
void autoPlayChanged();
private:
- QSpatialAudioStereoSource *m_sound = nullptr;
+ QAmbientSound *m_sound = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/multimediaquick3d/qquick3dspatialaudio-qml-types.qdoc b/src/multimediaquick3d/qquick3daudio-qml-types.qdoc
index b09f5fb6b..55376bb99 100644
--- a/src/multimediaquick3d/qquick3dspatialaudio-qml-types.qdoc
+++ b/src/multimediaquick3d/qquick3daudio-qml-types.qdoc
@@ -26,7 +26,7 @@
****************************************************************************/
/*!
-\qmlmodule QtQuick3D.SpatialAudio
+\qmlmodule QtQuick3D.Audio
\title QtQuick3D.SpatialAudio QML Types
\ingroup qmlmodules
\brief Provides QML types for spatial audio in Qt Quick 3D.
@@ -47,10 +47,10 @@ Qt Quick3D Spatial Audio QML types can be imported into your application using t
following import statement in your .qml file:
\qml \QtMinorVersion
-import QtQuick3D.SpatialAudio
+import QtQuick3D.Audio
\endqml
-\generatelist qmltypesbymodule QtQuick3D.SpatialAudio
+\generatelist qmltypesbymodule QtQuick3D.Audio
\noautolist
*/
diff --git a/src/multimediaquick3d/qquick3dspatialaudioengine.cpp b/src/multimediaquick3d/qquick3daudioengine.cpp
index ebaff35cb..9a4770817 100644
--- a/src/multimediaquick3d/qquick3dspatialaudioengine.cpp
+++ b/src/multimediaquick3d/qquick3daudioengine.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,56 +34,56 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <qquick3dspatialaudioengine_p.h>
+#include <qquick3daudioengine_p.h>
#include <qaudiodevice.h>
QT_BEGIN_NAMESPACE
-static QSpatialAudioEngine *globalEngine = nullptr;
+static QAudioEngine *globalEngine = nullptr;
/*!
- \qmltype SpatialAudioEngine
- \inqmlmodule QtQuick3D.SpatialAudio
- \ingroup quick3d_spatialaudio
+ \qmltype AudioEngine
+ \inqmlmodule QtQuick3D.Audio
+ \ingroup quick3d_audio
- \brief SpatialAudioEngine manages sound objects inside a 3D scene.
+ \brief AudioEngine manages sound objects inside a 3D scene.
- SpatialAudioEngine manages sound objects inside a 3D scene. You can add
- SpatialAudioSoundSource objects to the scene to define sounds that happen
- at a specified location in 3D space. SpatialAudioStereoSource allows you to add
+ AudioEngine manages sound objects inside a 3D scene. You can add
+ SpatialSound objects to the scene to define sounds that happen
+ at a specified location in 3D space. AmbientSound allows you to add
a stereo overlay (for example voice over or a sound track).
- You can use SpatialAudioListener to define the position of the person listening
+ You can use AudioListener to define the position of the person listening
to the sound field relative to the sound sources. Sound sources will be less audible
if the listener is further away from source. They will also get mapped to the corresponding
loudspeakers depending on the direction between listener and source. In many cases, the
- SpatialAudioListener object can simply be instantiated as a child object of the QtQuick3D.Camera
+ AudioListener object can simply be instantiated as a child object of the QtQuick3D.Camera
object.
- Create SpatialAudioRoom objcects to simulate the sound (reflections and reverb) of a room with
+ Create AudioRoom objcects to simulate the sound (reflections and reverb) of a room with
certain dimensions and different types of walls.
- SpatialAudioEngine does offer a mode where Qt is using simulating the effects of the ear
+ AudioEngine does offer a mode where Qt is using simulating the effects of the ear
using head related impulse reponse functions (see also https://en.wikipedia.org/wiki/Sound_localization)
to localize the sound in 3D space when using headphones and create a spatial audio effect through
headphones.
*/
-QQuick3DSpatialAudioEngine::QQuick3DSpatialAudioEngine()
+QQuick3DAudioEngine::QQuick3DAudioEngine()
{
auto *e = getEngine();
- connect(e, &QSpatialAudioEngine::outputModeChanged, this, &QQuick3DSpatialAudioEngine::outputModeChanged);
- connect(e, &QSpatialAudioEngine::outputDeviceChanged, this, &QQuick3DSpatialAudioEngine::outputDeviceChanged);
- connect(e, &QSpatialAudioEngine::masterVolumeChanged, this, &QQuick3DSpatialAudioEngine::masterVolumeChanged);
+ connect(e, &QAudioEngine::outputModeChanged, this, &QQuick3DAudioEngine::outputModeChanged);
+ connect(e, &QAudioEngine::outputDeviceChanged, this, &QQuick3DAudioEngine::outputDeviceChanged);
+ connect(e, &QAudioEngine::masterVolumeChanged, this, &QQuick3DAudioEngine::masterVolumeChanged);
}
-QQuick3DSpatialAudioEngine::~QQuick3DSpatialAudioEngine()
+QQuick3DAudioEngine::~QQuick3DAudioEngine()
{
}
/*!
- \qmlproperty enumeration SpatialAudioEngine::outputMode
+ \qmlproperty enumeration AudioEngine::outputMode
Sets or retrieves the current output mode of the engine.
@@ -99,50 +99,50 @@ QQuick3DSpatialAudioEngine::~QQuick3DSpatialAudioEngine()
\endtable
*/
-void QQuick3DSpatialAudioEngine::setOutputMode(OutputMode mode)
+void QQuick3DAudioEngine::setOutputMode(OutputMode mode)
{
- globalEngine->setOutputMode(QSpatialAudioEngine::OutputMode(mode));
+ globalEngine->setOutputMode(QAudioEngine::OutputMode(mode));
}
-QQuick3DSpatialAudioEngine::OutputMode QQuick3DSpatialAudioEngine::outputMode() const
+QQuick3DAudioEngine::OutputMode QQuick3DAudioEngine::outputMode() const
{
return OutputMode(globalEngine->outputMode());
}
/*!
- \qmlproperty QtMultimedia.AudioDevice SpatialAudioEngine::outputDevice
+ \qmlproperty QtMultimedia.AudioDevice AudioEngine::outputDevice
Sets or returns the device that is being used for outputting the sound field.
*/
-void QQuick3DSpatialAudioEngine::setOutputDevice(const QAudioDevice &device)
+void QQuick3DAudioEngine::setOutputDevice(const QAudioDevice &device)
{
globalEngine->setOutputDevice(device);
}
-QAudioDevice QQuick3DSpatialAudioEngine::outputDevice() const
+QAudioDevice QQuick3DAudioEngine::outputDevice() const
{
return globalEngine->outputDevice();
}
/*!
- \qmlproperty float SpatialAudioEngine::masterVolume
+ \qmlproperty float AudioEngine::masterVolume
Sets or returns overall volume being used to render the sound field.
*/
-void QQuick3DSpatialAudioEngine::setMasterVolume(float volume)
+void QQuick3DAudioEngine::setMasterVolume(float volume)
{
globalEngine->setMasterVolume(volume);
}
-float QQuick3DSpatialAudioEngine::masterVolume() const
+float QQuick3DAudioEngine::masterVolume() const
{
return globalEngine->masterVolume();
}
-QSpatialAudioEngine *QQuick3DSpatialAudioEngine::getEngine()
+QAudioEngine *QQuick3DAudioEngine::getEngine()
{
if (!globalEngine) {
- globalEngine = new QSpatialAudioEngine;
+ globalEngine = new QAudioEngine;
globalEngine->start();
}
return globalEngine;
@@ -150,4 +150,4 @@ QSpatialAudioEngine *QQuick3DSpatialAudioEngine::getEngine()
QT_END_NAMESPACE
-#include "moc_qquick3dspatialaudioengine_p.cpp"
+#include "moc_qquick3daudioengine_p.cpp"
diff --git a/src/multimediaquick3d/qquick3dspatialaudioengine_p.h b/src/multimediaquick3d/qquick3daudioengine_p.h
index 9862b337a..ed01eedc0 100644
--- a/src/multimediaquick3d/qquick3dspatialaudioengine_p.h
+++ b/src/multimediaquick3d/qquick3daudioengine_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,35 +34,35 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QQUICK3DENGINE_H
-#define QQUICK3DENGINE_H
+#ifndef QQUICK3DAUDIOENGINE_H
+#define QQUICK3DAUDIOENGINE_H
#include <private/qquick3dnode_p.h>
#include <QtGui/qvector3d.h>
-#include <qspatialaudioengine.h>
+#include <qaudioengine.h>
QT_BEGIN_NAMESPACE
-class QQuick3DSpatialAudioSoundSource;
+class QQuick3DSpatialSound;
-class QQuick3DSpatialAudioEngine : public QObject
+class QQuick3DAudioEngine : public QObject
{
Q_OBJECT
- QML_NAMED_ELEMENT(SpatialAudioEngine)
+ QML_NAMED_ELEMENT(AudioEngine)
Q_PROPERTY(OutputMode outputMode READ outputMode WRITE setOutputMode NOTIFY outputModeChanged)
Q_PROPERTY(QAudioDevice outputDevice READ outputDevice WRITE setOutputDevice NOTIFY outputDeviceChanged)
Q_PROPERTY(float masterVolume READ masterVolume WRITE setMasterVolume NOTIFY masterVolumeChanged)
public:
- // Keep in sync with QSpatialAudioEngine::OutputMode
+ // Keep in sync with QAudioEngine::OutputMode
enum OutputMode {
Normal,
Headphone
};
Q_ENUM(OutputMode)
- QQuick3DSpatialAudioEngine();
- ~QQuick3DSpatialAudioEngine();
+ QQuick3DAudioEngine();
+ ~QQuick3DAudioEngine();
void setOutputMode(OutputMode mode);
OutputMode outputMode() const;
@@ -73,7 +73,7 @@ public:
void setMasterVolume(float volume);
float masterVolume() const;
- static QSpatialAudioEngine *getEngine();
+ static QAudioEngine *getEngine();
Q_SIGNALS:
void outputModeChanged();
diff --git a/src/multimediaquick3d/qquick3dspatialaudiolistener.cpp b/src/multimediaquick3d/qquick3daudiolistener.cpp
index 98dc0fd45..2953e1aee 100644
--- a/src/multimediaquick3d/qquick3dspatialaudiolistener.cpp
+++ b/src/multimediaquick3d/qquick3daudiolistener.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,47 +34,47 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <qquick3dspatialaudiolistener_p.h>
-#include <qquick3dspatialaudiosoundsource_p.h>
-#include <qquick3dspatialaudioengine_p.h>
+#include <qquick3daudiolistener_p.h>
+#include <qquick3dspatialsound_p.h>
+#include <qquick3daudioengine_p.h>
QT_BEGIN_NAMESPACE
/*!
- \qmltype SpatialAudioListener
- \inqmlmodule QtQuick3D.SpatialAudio
- \ingroup quick3d_spatialaudio
+ \qmltype AudioListener
+ \inqmlmodule QtQuick3D.Audio
+ \ingroup quick3d_audio
\brief defines the position and orientation of the person listening to a sound field
- defined by a SpatialAudioEngine.
+ defined by a AudioEngine.
- A SpatialAudioEngine can have exactly one listener, that defines the position and orientation
+ A AudioEngine can have exactly one listener, that defines the position and orientation
of the person listening to the sounds defined by the objects placed within the audio engine.
- In most cases, the SpatialAudioListener should simply be a child of the Camera element in QtQuick3D.
+ In most cases, the AudioListener should simply be a child of the Camera element in QtQuick3D.
This will ensure that the sound experience is aligned with the visual rendering of the scene.
*/
-QQuick3DSpatialAudioListener::QQuick3DSpatialAudioListener()
+QQuick3DAudioListener::QQuick3DAudioListener()
{
- m_listener = new QSpatialAudioListener(QQuick3DSpatialAudioEngine::getEngine());
- connect(this, &QQuick3DNode::scenePositionChanged, this, &QQuick3DSpatialAudioListener::updatePosition);
- connect(this, &QQuick3DNode::sceneRotationChanged, this, &QQuick3DSpatialAudioListener::updateRotation);
+ m_listener = new QAudioListener(QQuick3DAudioEngine::getEngine());
+ connect(this, &QQuick3DNode::scenePositionChanged, this, &QQuick3DAudioListener::updatePosition);
+ connect(this, &QQuick3DNode::sceneRotationChanged, this, &QQuick3DAudioListener::updateRotation);
updatePosition();
updateRotation();
}
-QQuick3DSpatialAudioListener::~QQuick3DSpatialAudioListener()
+QQuick3DAudioListener::~QQuick3DAudioListener()
{
delete m_listener;
}
-void QQuick3DSpatialAudioListener::updatePosition()
+void QQuick3DAudioListener::updatePosition()
{
m_listener->setPosition(scenePosition());
}
-void QQuick3DSpatialAudioListener::updateRotation()
+void QQuick3DAudioListener::updateRotation()
{
m_listener->setRotation(sceneRotation());
}
diff --git a/src/multimediaquick3d/qquick3dspatialaudiolistener_p.h b/src/multimediaquick3d/qquick3daudiolistener_p.h
index a6575a0bd..c7f68227e 100644
--- a/src/multimediaquick3d/qquick3dspatialaudiolistener_p.h
+++ b/src/multimediaquick3d/qquick3daudiolistener_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -40,22 +40,20 @@
#include <private/qquick3dnode_p.h>
#include <QtGui/qvector3d.h>
-#include <qspatialaudiolistener.h>
+#include <qaudiolistener.h>
QT_BEGIN_NAMESPACE
-class QQuick3DSpatialAudioSoundSource;
-
-class QQuick3DSpatialAudioListener : public QQuick3DNode
+class QQuick3DAudioListener : public QQuick3DNode
{
Q_OBJECT
- QML_NAMED_ELEMENT(SpatialAudioListener)
+ QML_NAMED_ELEMENT(AudioListener)
public:
- QQuick3DSpatialAudioListener();
- ~QQuick3DSpatialAudioListener();
+ QQuick3DAudioListener();
+ ~QQuick3DAudioListener();
- QSpatialAudioListener *listener() { return m_listener; }
+ QAudioListener *listener() { return m_listener; }
protected:
QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *) override { return nullptr; }
@@ -64,7 +62,7 @@ protected Q_SLOTS:
void updateRotation();
private:
- QSpatialAudioListener *m_listener;
+ QAudioListener *m_listener;
};
QT_END_NAMESPACE
diff --git a/src/multimediaquick3d/qquick3dspatialaudioroom.cpp b/src/multimediaquick3d/qquick3daudioroom.cpp
index 979ecc67d..9fa763199 100644
--- a/src/multimediaquick3d/qquick3dspatialaudioroom.cpp
+++ b/src/multimediaquick3d/qquick3daudioroom.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,16 +34,16 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include <qquick3dspatialaudioroom_p.h>
-#include <qquick3dspatialaudioengine_p.h>
-#include <qspatialaudioroom.h>
+#include <qquick3daudioroom_p.h>
+#include <qquick3daudioengine_p.h>
+#include <qaudioroom.h>
QT_BEGIN_NAMESPACE
/*!
- \qmltype SpatialAudioRoom
- \inqmlmodule QtQuick3D.SpatialAudio
- \ingroup quick3d_spatialaudio
+ \qmltype AudioRoom
+ \inqmlmodule QtQuick3D.Audio
+ \ingroup quick3d_audio
Defines a room for the spatial audio engine.
@@ -59,51 +59,51 @@ QT_BEGIN_NAMESPACE
volume.
*/
-QQuick3DSpatialAudioRoom::QQuick3DSpatialAudioRoom()
+QQuick3DAudioRoom::QQuick3DAudioRoom()
{
- m_room = new QSpatialAudioRoom(QQuick3DSpatialAudioEngine::getEngine());
-
- connect(this, &QQuick3DNode::scenePositionChanged, this, &QQuick3DSpatialAudioRoom::updatePosition);
- connect(this, &QQuick3DNode::sceneRotationChanged, this, &QQuick3DSpatialAudioRoom::updateRotation);
- connect(m_room, &QSpatialAudioRoom::dimensionsChanged, this, &QQuick3DSpatialAudioRoom::dimensionsChanged);
- connect(m_room, &QSpatialAudioRoom::rotationChanged, this, &QQuick3DSpatialAudioRoom::rotationChanged);
- connect(m_room, &QSpatialAudioRoom::wallsChanged, this, &QQuick3DSpatialAudioRoom::wallsChanged);
- connect(m_room, &QSpatialAudioRoom::reflectionGainChanged, this, &QQuick3DSpatialAudioRoom::reflectionGainChanged);
- connect(m_room, &QSpatialAudioRoom::reverbGainChanged, this, &QQuick3DSpatialAudioRoom::reverbGainChanged);
- connect(m_room, &QSpatialAudioRoom::reverbTimeChanged, this, &QQuick3DSpatialAudioRoom::reverbTimeChanged);
- connect(m_room, &QSpatialAudioRoom::reverbBrightnessChanged, this, &QQuick3DSpatialAudioRoom::reverbBrightnessChanged);
+ m_room = new QAudioRoom(QQuick3DAudioEngine::getEngine());
+
+ connect(this, &QQuick3DNode::scenePositionChanged, this, &QQuick3DAudioRoom::updatePosition);
+ connect(this, &QQuick3DNode::sceneRotationChanged, this, &QQuick3DAudioRoom::updateRotation);
+ connect(m_room, &QAudioRoom::dimensionsChanged, this, &QQuick3DAudioRoom::dimensionsChanged);
+ connect(m_room, &QAudioRoom::rotationChanged, this, &QQuick3DAudioRoom::rotationChanged);
+ connect(m_room, &QAudioRoom::wallsChanged, this, &QQuick3DAudioRoom::wallsChanged);
+ connect(m_room, &QAudioRoom::reflectionGainChanged, this, &QQuick3DAudioRoom::reflectionGainChanged);
+ connect(m_room, &QAudioRoom::reverbGainChanged, this, &QQuick3DAudioRoom::reverbGainChanged);
+ connect(m_room, &QAudioRoom::reverbTimeChanged, this, &QQuick3DAudioRoom::reverbTimeChanged);
+ connect(m_room, &QAudioRoom::reverbBrightnessChanged, this, &QQuick3DAudioRoom::reverbBrightnessChanged);
}
-QQuick3DSpatialAudioRoom::~QQuick3DSpatialAudioRoom()
+QQuick3DAudioRoom::~QQuick3DAudioRoom()
{
delete m_room;
}
/*!
- \qmlproperty vector3D SpatialAudioRoom::dimensions
+ \qmlproperty vector3D AudioRoom::dimensions
Defines the dimensions of the room in 3D space. Units are in centimeters
by default.
- \sa position, QSpatialAudioEngine::distanceScale
+ \sa position, QAudioEngine::distanceScale
*/
-void QQuick3DSpatialAudioRoom::setDimensions(QVector3D dim)
+void QQuick3DAudioRoom::setDimensions(QVector3D dim)
{
m_room->setDimensions(dim);
}
-QVector3D QQuick3DSpatialAudioRoom::dimensions() const
+QVector3D QQuick3DAudioRoom::dimensions() const
{
return m_room->dimensions();
}
/*!
- \qmlproperty SpatialAudioRoom::Material SpatialAudioRoom::left
- \qmlproperty SpatialAudioRoom::Material SpatialAudioRoom::right
- \qmlproperty SpatialAudioRoom::Material SpatialAudioRoom::front
- \qmlproperty SpatialAudioRoom::Material SpatialAudioRoom::back
- \qmlproperty SpatialAudioRoom::Material SpatialAudioRoom::floor
- \qmlproperty SpatialAudioRoom::Material SpatialAudioRoom::ceiling
+ \qmlproperty AudioRoom::Material AudioRoom::left
+ \qmlproperty AudioRoom::Material AudioRoom::right
+ \qmlproperty AudioRoom::Material AudioRoom::front
+ \qmlproperty AudioRoom::Material AudioRoom::back
+ \qmlproperty AudioRoom::Material AudioRoom::floor
+ \qmlproperty AudioRoom::Material AudioRoom::ceiling
Sets the material to use for the different sides of the room. Properties correlate to
coordinates as follows:
@@ -152,68 +152,68 @@ QVector3D QQuick3DSpatialAudioRoom::dimensions() const
\row \li Uniform \li Artificial material giving uniform reflections on all frequencies
\endtable
*/
-void QQuick3DSpatialAudioRoom::setLeft(Material material)
+void QQuick3DAudioRoom::setLeftMaterial(Material material)
{
- m_room->setWallMaterial(QSpatialAudioRoom::LeftWall, QSpatialAudioRoom::Material(material));
+ m_room->setWallMaterial(QAudioRoom::LeftWall, QAudioRoom::Material(material));
}
-QQuick3DSpatialAudioRoom::Material QQuick3DSpatialAudioRoom::left() const
+QQuick3DAudioRoom::Material QQuick3DAudioRoom::leftMaterial() const
{
- return Material(m_room->wallMaterial(QSpatialAudioRoom::LeftWall));
+ return Material(m_room->wallMaterial(QAudioRoom::LeftWall));
}
-void QQuick3DSpatialAudioRoom::setRight(Material material)
+void QQuick3DAudioRoom::setRightMaterial(Material material)
{
- m_room->setWallMaterial(QSpatialAudioRoom::RightWall, QSpatialAudioRoom::Material(material));
+ m_room->setWallMaterial(QAudioRoom::RightWall, QAudioRoom::Material(material));
}
-QQuick3DSpatialAudioRoom::Material QQuick3DSpatialAudioRoom::right() const
+QQuick3DAudioRoom::Material QQuick3DAudioRoom::rightMaterial() const
{
- return Material(m_room->wallMaterial(QSpatialAudioRoom::RightWall));
+ return Material(m_room->wallMaterial(QAudioRoom::RightWall));
}
-void QQuick3DSpatialAudioRoom::setFront(Material material)
+void QQuick3DAudioRoom::setFrontMaterial(Material material)
{
- m_room->setWallMaterial(QSpatialAudioRoom::FrontWall, QSpatialAudioRoom::Material(material));
+ m_room->setWallMaterial(QAudioRoom::FrontWall, QAudioRoom::Material(material));
}
-QQuick3DSpatialAudioRoom::Material QQuick3DSpatialAudioRoom::front() const
+QQuick3DAudioRoom::Material QQuick3DAudioRoom::frontMaterial() const
{
- return Material(m_room->wallMaterial(QSpatialAudioRoom::FrontWall));
+ return Material(m_room->wallMaterial(QAudioRoom::FrontWall));
}
-void QQuick3DSpatialAudioRoom::setBack(Material material)
+void QQuick3DAudioRoom::setBackMaterial(Material material)
{
- m_room->setWallMaterial(QSpatialAudioRoom::BackWall, QSpatialAudioRoom::Material(material));
+ m_room->setWallMaterial(QAudioRoom::BackWall, QAudioRoom::Material(material));
}
-QQuick3DSpatialAudioRoom::Material QQuick3DSpatialAudioRoom::back() const
+QQuick3DAudioRoom::Material QQuick3DAudioRoom::backMaterial() const
{
- return Material(m_room->wallMaterial(QSpatialAudioRoom::BackWall));
+ return Material(m_room->wallMaterial(QAudioRoom::BackWall));
}
-void QQuick3DSpatialAudioRoom::setFloor(Material material)
+void QQuick3DAudioRoom::setFloorMaterial(Material material)
{
- m_room->setWallMaterial(QSpatialAudioRoom::Floor, QSpatialAudioRoom::Material(material));
+ m_room->setWallMaterial(QAudioRoom::Floor, QAudioRoom::Material(material));
}
-QQuick3DSpatialAudioRoom::Material QQuick3DSpatialAudioRoom::floor() const
+QQuick3DAudioRoom::Material QQuick3DAudioRoom::floorMaterial() const
{
- return Material(m_room->wallMaterial(QSpatialAudioRoom::Floor));
+ return Material(m_room->wallMaterial(QAudioRoom::Floor));
}
-void QQuick3DSpatialAudioRoom::setCeiling(Material material)
+void QQuick3DAudioRoom::setCeilingMaterial(Material material)
{
- m_room->setWallMaterial(QSpatialAudioRoom::Ceiling, QSpatialAudioRoom::Material(material));
+ m_room->setWallMaterial(QAudioRoom::Ceiling, QAudioRoom::Material(material));
}
-QQuick3DSpatialAudioRoom::Material QQuick3DSpatialAudioRoom::ceiling() const
+QQuick3DAudioRoom::Material QQuick3DAudioRoom::ceilingMaterial() const
{
- return Material(m_room->wallMaterial(QSpatialAudioRoom::Ceiling));
+ return Material(m_room->wallMaterial(QAudioRoom::Ceiling));
}
/*!
- \qmlproperty float SpatialAudioRoom::reflectionGain
+ \qmlproperty float AudioRoom::reflectionGain
A gain factor for reflections generated in this room. A value
from 0 to 1 will dampen reflections, while a value larger than 1
@@ -222,18 +222,18 @@ QQuick3DSpatialAudioRoom::Material QQuick3DSpatialAudioRoom::ceiling() const
The default is 1, a factor of 0 disables reflections. Negative
values are mapped to 0.
*/
-void QQuick3DSpatialAudioRoom::setReflectionGain(float factor)
+void QQuick3DAudioRoom::setReflectionGain(float factor)
{
m_room->setReflectionGain(factor);
}
-float QQuick3DSpatialAudioRoom::reflectionGain() const
+float QQuick3DAudioRoom::reflectionGain() const
{
return m_room->reflectionGain();
}
/*!
- \qmlproperty float SpatialAudioRoom::reverbGain
+ \qmlproperty float AudioRoom::reverbGain
A gain factor for reverb generated in this room. A value
from 0 to 1 will dampen reverb, while a value larger than 1
@@ -242,18 +242,18 @@ float QQuick3DSpatialAudioRoom::reflectionGain() const
The default is 1, a factor of 0 disables reverb. Negative
values are mapped to 0.
*/
-void QQuick3DSpatialAudioRoom::setReverbGain(float factor)
+void QQuick3DAudioRoom::setReverbGain(float factor)
{
m_room->setReverbGain(factor);
}
-float QQuick3DSpatialAudioRoom::reverbGain() const
+float QQuick3DAudioRoom::reverbGain() const
{
return m_room->reverbGain();
}
/*!
- \qmlproperty float SpatialAudioRoom::reverbTime
+ \qmlproperty float AudioRoom::reverbTime
A factor to be applies to all reverb timings generated for this room.
Larger values will lead to longer reverb timings, making the room sound
@@ -261,18 +261,18 @@ float QQuick3DSpatialAudioRoom::reverbGain() const
The default is 1. Negative values are mapped to 0.
*/
-void QQuick3DSpatialAudioRoom::setReverbTime(float factor)
+void QQuick3DAudioRoom::setReverbTime(float factor)
{
m_room->setReverbTime(factor);
}
-float QQuick3DSpatialAudioRoom::reverbTime() const
+float QQuick3DAudioRoom::reverbTime() const
{
return m_room->reverbTime();
}
/*!
- \qmlproperty float SpatialAudioRoom::reverbBrightness
+ \qmlproperty float AudioRoom::reverbBrightness
A brightness factor to be applied to the generated reverb.
A positive value will increase reverb for higher frequencies and
@@ -280,22 +280,22 @@ float QQuick3DSpatialAudioRoom::reverbTime() const
The default is 0.
*/
-void QQuick3DSpatialAudioRoom::setReverbBrightness(float factor)
+void QQuick3DAudioRoom::setReverbBrightness(float factor)
{
m_room->setReverbBrightness(factor);
}
-float QQuick3DSpatialAudioRoom::reverbBrightness() const
+float QQuick3DAudioRoom::reverbBrightness() const
{
return m_room->reverbBrightness();
}
-void QQuick3DSpatialAudioRoom::updatePosition()
+void QQuick3DAudioRoom::updatePosition()
{
m_room->setPosition(scenePosition());
}
-void QQuick3DSpatialAudioRoom::updateRotation()
+void QQuick3DAudioRoom::updateRotation()
{
m_room->setRotation(sceneRotation());
}
diff --git a/src/multimediaquick3d/qquick3dspatialaudioroom_p.h b/src/multimediaquick3d/qquick3daudioroom_p.h
index 184365c29..2eb01bd00 100644
--- a/src/multimediaquick3d/qquick3dspatialaudioroom_p.h
+++ b/src/multimediaquick3d/qquick3daudioroom_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -35,38 +35,38 @@
**
****************************************************************************/
-#ifndef QQUICK3DSPATIALAUDIOROOM_H
-#define QQUICK3DSPATIALAUDIOROOM_H
+#ifndef QQUICK3DAUDIOROOM_H
+#define QQUICK3DAUDIOROOM_H
#include <private/qquick3dnode_p.h>
#include <QtGui/qvector3d.h>
-#include <qspatialaudioroom.h>
+#include <qaudioroom.h>
QT_BEGIN_NAMESPACE
-class QSpatialAudioEngine;
-class QSpatialAudioRoomPrivate;
+class QAudioEngine;
+class QAudioRoomPrivate;
-class QQuick3DSpatialAudioRoom : public QQuick3DNode
+class QQuick3DAudioRoom : public QQuick3DNode
{
Q_OBJECT
Q_PROPERTY(QVector3D position READ position WRITE setPosition NOTIFY positionChanged)
Q_PROPERTY(QVector3D dimensions READ dimensions WRITE setDimensions NOTIFY dimensionsChanged)
Q_PROPERTY(QQuaternion rotation READ rotation WRITE setRotation NOTIFY rotationChanged)
- Q_PROPERTY(Material left READ left WRITE setLeft NOTIFY wallsChanged)
- Q_PROPERTY(Material right READ right WRITE setRight NOTIFY wallsChanged)
- Q_PROPERTY(Material front READ front WRITE setFront NOTIFY wallsChanged)
- Q_PROPERTY(Material back READ back WRITE setBack NOTIFY wallsChanged)
- Q_PROPERTY(Material floor READ floor WRITE setFloor NOTIFY wallsChanged)
- Q_PROPERTY(Material ceiling READ ceiling WRITE setCeiling NOTIFY wallsChanged)
+ Q_PROPERTY(Material leftMaterial READ leftMaterial WRITE setLeftMaterial NOTIFY wallsChanged)
+ Q_PROPERTY(Material rightMaterial READ rightMaterial WRITE setRightMaterial NOTIFY wallsChanged)
+ Q_PROPERTY(Material frontMaterial READ frontMaterial WRITE setFrontMaterial NOTIFY wallsChanged)
+ Q_PROPERTY(Material backMaterial READ backMaterial WRITE setBackMaterial NOTIFY wallsChanged)
+ Q_PROPERTY(Material floorMaterial READ floorMaterial WRITE setFloorMaterial NOTIFY wallsChanged)
+ Q_PROPERTY(Material ceilingMaterial READ ceilingMaterial WRITE setCeilingMaterial NOTIFY wallsChanged)
Q_PROPERTY(float reflectionGain READ reflectionGain WRITE setReflectionGain NOTIFY reflectionGainChanged)
Q_PROPERTY(float reverbGain READ reverbGain WRITE setReverbGain NOTIFY reverbGainChanged)
Q_PROPERTY(float reverbTime READ reverbTime WRITE setReverbTime NOTIFY reverbTimeChanged)
Q_PROPERTY(float reverbBrightness READ reverbBrightness WRITE setReverbBrightness NOTIFY reverbBrightnessChanged)
- QML_NAMED_ELEMENT(SpatialAudioRoom)
+ QML_NAMED_ELEMENT(AudioRoom)
public:
- QQuick3DSpatialAudioRoom();
- ~QQuick3DSpatialAudioRoom();
+ QQuick3DAudioRoom();
+ ~QQuick3DAudioRoom();
enum Material {
Transparent,
@@ -99,23 +99,23 @@ public:
void setDimensions(QVector3D pos);
QVector3D dimensions() const;
- void setLeft(Material material);
- Material left() const;
+ void setLeftMaterial(Material material);
+ Material leftMaterial() const;
- void setRight(Material material);
- Material right() const;
+ void setRightMaterial(Material material);
+ Material rightMaterial() const;
- void setFront(Material material);
- Material front() const;
+ void setFrontMaterial(Material material);
+ Material frontMaterial() const;
- void setBack(Material material);
- Material back() const;
+ void setBackMaterial(Material material);
+ Material backMaterial() const;
- void setFloor(Material material);
- Material floor() const;
+ void setFloorMaterial(Material material);
+ Material floorMaterial() const;
- void setCeiling(Material material);
- Material ceiling() const;
+ void setCeilingMaterial(Material material);
+ Material ceilingMaterial() const;
void setReflectionGain(float factor);
float reflectionGain() const;
@@ -144,7 +144,7 @@ protected Q_SLOTS:
void updateRotation();
private:
- QSpatialAudioRoom *m_room;
+ QAudioRoom *m_room;
};
QT_END_NAMESPACE
diff --git a/src/multimediaquick3d/qquick3dspatialaudiosoundsource.cpp b/src/multimediaquick3d/qquick3dspatialsound.cpp
index 2409871dd..840e65050 100644
--- a/src/multimediaquick3d/qquick3dspatialaudiosoundsource.cpp
+++ b/src/multimediaquick3d/qquick3dspatialsound.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,22 +34,22 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#include "qquick3dspatialaudiosoundsource_p.h"
-#include "qquick3dspatialaudioengine_p.h"
-#include "qspatialaudiosoundsource.h"
+#include "qquick3dspatialsound_p.h"
+#include "qquick3daudioengine_p.h"
+#include "qspatialsound.h"
#include <QAudioFormat>
#include <qdir.h>
QT_BEGIN_NAMESPACE
/*!
- \qmltype SpatialAudioSoundSource
- \inqmlmodule QtQuick3D.SpatialAudio
- \ingroup quick3d_spatialaudio
+ \qmltype SpatialSound
+ \inqmlmodule QtQuick3D.Audio
+ \ingroup quick3d_audio
\brief A sound object in 3D space.
- A SpatialAudioSoundSource represents an audible object in 3D space. You can define
+ A SpatialSound represents an audible object in 3D space. You can define
it's position and orientation in space, set the sound it is playing and define a
volume for the object.
@@ -57,42 +57,42 @@ QT_BEGIN_NAMESPACE
or spherically, and behave as if occluded by some other object.
*/
-QQuick3DSpatialAudioSoundSource::QQuick3DSpatialAudioSoundSource()
+QQuick3DSpatialSound::QQuick3DSpatialSound()
{
- m_sound = new QSpatialAudioSoundSource(QQuick3DSpatialAudioEngine::getEngine());
-
- connect(this, &QQuick3DNode::scenePositionChanged, this, &QQuick3DSpatialAudioSoundSource::updatePosition);
- connect(this, &QQuick3DNode::sceneRotationChanged, this, &QQuick3DSpatialAudioSoundSource::updateRotation);
- connect(m_sound, &QSpatialAudioSoundSource::sourceChanged, this, &QQuick3DSpatialAudioSoundSource::sourceChanged);
- connect(m_sound, &QSpatialAudioSoundSource::volumeChanged, this, &QQuick3DSpatialAudioSoundSource::volumeChanged);
- connect(m_sound, &QSpatialAudioSoundSource::distanceModelChanged, this, &QQuick3DSpatialAudioSoundSource::distanceModelChanged);
- connect(m_sound, &QSpatialAudioSoundSource::sizeChanged, this, &QQuick3DSpatialAudioSoundSource::sizeChanged);
- connect(m_sound, &QSpatialAudioSoundSource::distanceCutoffChanged, this, &QQuick3DSpatialAudioSoundSource::distanceCutoffChanged);
- connect(m_sound, &QSpatialAudioSoundSource::manualAttenuationChanged, this, &QQuick3DSpatialAudioSoundSource::manualAttenuationChanged);
- connect(m_sound, &QSpatialAudioSoundSource::occlusionIntensityChanged, this, &QQuick3DSpatialAudioSoundSource::occlusionIntensityChanged);
- connect(m_sound, &QSpatialAudioSoundSource::directivityChanged, this, &QQuick3DSpatialAudioSoundSource::directivityChanged);
- connect(m_sound, &QSpatialAudioSoundSource::directivityOrderChanged, this, &QQuick3DSpatialAudioSoundSource::directivityOrderChanged);
- connect(m_sound, &QSpatialAudioSoundSource::nearFieldGainChanged, this, &QQuick3DSpatialAudioSoundSource::nearFieldGainChanged);
- connect(m_sound, &QSpatialAudioSoundSource::loopsChanged, this, &QQuick3DSpatialAudioSoundSource::loopsChanged);
- connect(m_sound, &QSpatialAudioSoundSource::autoPlayChanged, this, &QQuick3DSpatialAudioSoundSource::autoPlayChanged);
+ m_sound = new QSpatialSound(QQuick3DAudioEngine::getEngine());
+
+ connect(this, &QQuick3DNode::scenePositionChanged, this, &QQuick3DSpatialSound::updatePosition);
+ connect(this, &QQuick3DNode::sceneRotationChanged, this, &QQuick3DSpatialSound::updateRotation);
+ connect(m_sound, &QSpatialSound::sourceChanged, this, &QQuick3DSpatialSound::sourceChanged);
+ connect(m_sound, &QSpatialSound::volumeChanged, this, &QQuick3DSpatialSound::volumeChanged);
+ connect(m_sound, &QSpatialSound::distanceModelChanged, this, &QQuick3DSpatialSound::distanceModelChanged);
+ connect(m_sound, &QSpatialSound::sizeChanged, this, &QQuick3DSpatialSound::sizeChanged);
+ connect(m_sound, &QSpatialSound::distanceCutoffChanged, this, &QQuick3DSpatialSound::distanceCutoffChanged);
+ connect(m_sound, &QSpatialSound::manualAttenuationChanged, this, &QQuick3DSpatialSound::manualAttenuationChanged);
+ connect(m_sound, &QSpatialSound::occlusionIntensityChanged, this, &QQuick3DSpatialSound::occlusionIntensityChanged);
+ connect(m_sound, &QSpatialSound::directivityChanged, this, &QQuick3DSpatialSound::directivityChanged);
+ connect(m_sound, &QSpatialSound::directivityOrderChanged, this, &QQuick3DSpatialSound::directivityOrderChanged);
+ connect(m_sound, &QSpatialSound::nearFieldGainChanged, this, &QQuick3DSpatialSound::nearFieldGainChanged);
+ connect(m_sound, &QSpatialSound::loopsChanged, this, &QQuick3DSpatialSound::loopsChanged);
+ connect(m_sound, &QSpatialSound::autoPlayChanged, this, &QQuick3DSpatialSound::autoPlayChanged);
}
-QQuick3DSpatialAudioSoundSource::~QQuick3DSpatialAudioSoundSource()
+QQuick3DSpatialSound::~QQuick3DSpatialSound()
{
delete m_sound;
}
/*!
- \qmlproperty url QSpatialAudioSoundSource::source
+ \qmlproperty url QSpatialSound::source
The source file for the sound to be played.
*/
-QUrl QQuick3DSpatialAudioSoundSource::source() const
+QUrl QQuick3DSpatialSound::source() const
{
return m_sound->source();
}
-void QQuick3DSpatialAudioSoundSource::setSource(QUrl source)
+void QQuick3DSpatialSound::setSource(QUrl source)
{
QUrl url = QUrl::fromLocalFile(QDir::currentPath() + u"/");
url = url.resolved(source);
@@ -101,22 +101,22 @@ void QQuick3DSpatialAudioSoundSource::setSource(QUrl source)
}
/*!
- \qmlproperty float QSpatialAudioSoundSource::volume
+ \qmlproperty float QSpatialSound::volume
Defines an overall volume for this sound source.
*/
-void QQuick3DSpatialAudioSoundSource::setVolume(float volume)
+void QQuick3DSpatialSound::setVolume(float volume)
{
m_sound->setVolume(volume);
}
-float QQuick3DSpatialAudioSoundSource::volume() const
+float QQuick3DSpatialSound::volume() const
{
return m_sound->volume();
}
/*!
- \qmlproperty enumeration SpatialAudioSoundSource::distanceModel
+ \qmlproperty enumeration SpatialSound::distanceModel
Defines how the volume of the sound scales with distance to the listener.
The volume starts scaling down
@@ -134,86 +134,86 @@ float QQuick3DSpatialAudioSoundSource::volume() const
\li Attenuation is defined manually using the \l manualAttenuation property.
\endtable
*/
-void QQuick3DSpatialAudioSoundSource::setDistanceModel(DistanceModel model)
+void QQuick3DSpatialSound::setDistanceModel(DistanceModel model)
{
- m_sound->setDistanceModel(QSpatialAudioSoundSource::DistanceModel(model));
+ m_sound->setDistanceModel(QSpatialSound::DistanceModel(model));
}
-QQuick3DSpatialAudioSoundSource::DistanceModel QQuick3DSpatialAudioSoundSource::distanceModel() const
+QQuick3DSpatialSound::DistanceModel QQuick3DSpatialSound::distanceModel() const
{
return DistanceModel(m_sound->distanceModel());
}
/*!
- \qmlproperty float SpatialAudioSoundSource::size
+ \qmlproperty float SpatialSound::size
Defines the size of the sound source. If the listener is closer to the sound
object than the size, volume will stay constant. The size is also used to for
occlusion calculations, where large sources can be partially occluded by a wall.
*/
-void QQuick3DSpatialAudioSoundSource::setSize(float min)
+void QQuick3DSpatialSound::setSize(float min)
{
m_sound->setSize(min);
}
-float QQuick3DSpatialAudioSoundSource::size() const
+float QQuick3DSpatialSound::size() const
{
return m_sound->size();
}
/*!
- \qmlproperty float SpatialAudioSoundSource::distanceCutoff
+ \qmlproperty float SpatialSound::distanceCutoff
Defines a distance beyond which sound coming from the source will cutoff.
If the listener is further away from the sound object than the cutoff
distance it won't be audible anymore.
*/
-void QQuick3DSpatialAudioSoundSource::setDistanceCutoff(float max)
+void QQuick3DSpatialSound::setDistanceCutoff(float max)
{
m_sound->setDistanceCutoff(max);
}
-float QQuick3DSpatialAudioSoundSource::distanceCutoff() const
+float QQuick3DSpatialSound::distanceCutoff() const
{
return m_sound->distanceCutoff();
}
/*!
- \qmlproperty float SpatialAudioSoundSource::manualAttenuation
+ \qmlproperty float SpatialSound::manualAttenuation
Defines a manual attenuation factor if \l distanceModel is set to
- SpatialAudioSoundSource.ManualAttenutation.
+ SpatialSound.ManualAttenutation.
*/
-void QQuick3DSpatialAudioSoundSource::setManualAttenuation(float attenuation)
+void QQuick3DSpatialSound::setManualAttenuation(float attenuation)
{
m_sound->setManualAttenuation(attenuation);
}
-float QQuick3DSpatialAudioSoundSource::manualAttenuation() const
+float QQuick3DSpatialSound::manualAttenuation() const
{
return m_sound->manualAttenuation();
}
/*!
- \qmlproperty float SpatialAudioSoundSource::occlusionIntensity
+ \qmlproperty float SpatialSound::occlusionIntensity
Defines how much the object is occluded. 0 implies the object is
not occluded at all, while a large number implies a large occlusion.
The default is 0.
*/
-void QQuick3DSpatialAudioSoundSource::setOcclusionIntensity(float occlusion)
+void QQuick3DSpatialSound::setOcclusionIntensity(float occlusion)
{
m_sound->setOcclusionIntensity(occlusion);
}
-float QQuick3DSpatialAudioSoundSource::occlusionIntensity() const
+float QQuick3DSpatialSound::occlusionIntensity() const
{
return m_sound->occlusionIntensity();
}
/*!
- \qmlproperty float SpatialAudioSoundSource::directivity
+ \qmlproperty float SpatialSound::directivity
Defines the directivity of the sound source. A value of 0 implies that the sound is
emitted equally in all directions, while a value of 1 implies that the source mainly
@@ -221,124 +221,124 @@ float QQuick3DSpatialAudioSoundSource::occlusionIntensity() const
Valid values are between 0 and 1, the default is 0.
*/
-void QQuick3DSpatialAudioSoundSource::setDirectivity(float alpha)
+void QQuick3DSpatialSound::setDirectivity(float alpha)
{
m_sound->setDirectivity(alpha);
}
-float QQuick3DSpatialAudioSoundSource::directivity() const
+float QQuick3DSpatialSound::directivity() const
{
return m_sound->directivity();
}
/*!
- \qmlproperty float SpatialAudioSoundSource::directivityOrder
+ \qmlproperty float SpatialSound::directivityOrder
Defines the order of the directivity of the sound source. A higher order
implies a sharper localization of the sound cone.
The minimum value and default for this property is 1.
*/
-void QQuick3DSpatialAudioSoundSource::setDirectivityOrder(float alpha)
+void QQuick3DSpatialSound::setDirectivityOrder(float alpha)
{
m_sound->setDirectivityOrder(alpha);
}
-float QQuick3DSpatialAudioSoundSource::directivityOrder() const
+float QQuick3DSpatialSound::directivityOrder() const
{
return m_sound->directivityOrder();
}
/*!
- \qmlproperty float SpatialAudioSoundSource::nearFieldGain
+ \qmlproperty float SpatialSound::nearFieldGain
Defines the near field gain for the sound source. Valid values are between 0 and 1.
A near field gain of 1 will raise the volume of the sound signal by approx 20 dB for
distances very close to the listener.
*/
-void QQuick3DSpatialAudioSoundSource::setNearFieldGain(float gain)
+void QQuick3DSpatialSound::setNearFieldGain(float gain)
{
m_sound->setNearFieldGain(gain);
}
-float QQuick3DSpatialAudioSoundSource::nearFieldGain() const
+float QQuick3DSpatialSound::nearFieldGain() const
{
return m_sound->nearFieldGain();
}
-void QQuick3DSpatialAudioSoundSource::updatePosition()
+void QQuick3DSpatialSound::updatePosition()
{
m_sound->setPosition(scenePosition());
}
-void QQuick3DSpatialAudioSoundSource::updateRotation()
+void QQuick3DSpatialSound::updateRotation()
{
m_sound->setRotation(sceneRotation());
}
/*!
- \qmlproperty int QSpatialAudioSoundSource::loops
+ \qmlproperty int QSpatialSound::loops
Determines how often the sound is played before the player stops.
- Set to SpatialAudioSoundSource::Infinite to loop the current sound forever.
+ Set to SpatialSound::Infinite to loop the current sound forever.
The default value is \c 1.
*/
-int QQuick3DSpatialAudioSoundSource::loops() const
+int QQuick3DSpatialSound::loops() const
{
return m_sound->loops();
}
-void QQuick3DSpatialAudioSoundSource::setLoops(int loops)
+void QQuick3DSpatialSound::setLoops(int loops)
{
m_sound->setLoops(loops);
}
/*!
- \qmlproperty bool SpatialAudioSoundSource::autoPlay
+ \qmlproperty bool SpatialSound::autoPlay
Determines whether the sound should automatically start playing when a source
gets specified.
The default value is \c true.
*/
-bool QQuick3DSpatialAudioSoundSource::autoPlay() const
+bool QQuick3DSpatialSound::autoPlay() const
{
return m_sound->autoPlay();
}
-void QQuick3DSpatialAudioSoundSource::setAutoPlay(bool autoPlay)
+void QQuick3DSpatialSound::setAutoPlay(bool autoPlay)
{
m_sound->setAutoPlay(autoPlay);
}
/*!
- \qmlmethod SpatialAudioSoundSource::play()
+ \qmlmethod SpatialSound::play()
Starts playing back the sound. Does nothing if the sound is already playing.
*/
-void QQuick3DSpatialAudioSoundSource::play()
+void QQuick3DSpatialSound::play()
{
m_sound->play();
}
/*!
- \qmlmethod SpatialAudioSoundSource::pause()
+ \qmlmethod SpatialSound::pause()
Pauses sound playback at the current position. Calling play() will continue playback.
*/
-void QQuick3DSpatialAudioSoundSource::pause()
+void QQuick3DSpatialSound::pause()
{
m_sound->pause();
}
/*!
- \qmlmethod SpatialAudioSoundSource::stop()
+ \qmlmethod SpatialSound::stop()
Stops sound playback and resets the current position and loop count to 0. Calling play() will
begin playback at the beginning of the sound file.
*/
-void QQuick3DSpatialAudioSoundSource::stop()
+void QQuick3DSpatialSound::stop()
{
m_sound->stop();
}
diff --git a/src/multimediaquick3d/qquick3dspatialaudiosoundsource_p.h b/src/multimediaquick3d/qquick3dspatialsound_p.h
index 9cc835fe9..b347543f7 100644
--- a/src/multimediaquick3d/qquick3dspatialaudiosoundsource_p.h
+++ b/src/multimediaquick3d/qquick3dspatialsound_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -34,17 +34,17 @@
** $QT_END_LICENSE$
**
****************************************************************************/
-#ifndef QQUICK3DSOUND_H
-#define QQUICK3DSOUND_H
+#ifndef QQUICK3DSPATIALSOUND_H
+#define QQUICK3DSPATIALSOUND_H
#include <private/qquick3dnode_p.h>
#include <QUrl>
#include <qvector3d.h>
-#include <qspatialaudiosoundsource.h>
+#include <qspatialsound.h>
QT_BEGIN_NAMESPACE
-class QQuick3DSpatialAudioSoundSource : public QQuick3DNode
+class QQuick3DSpatialSound : public QQuick3DNode
{
Q_OBJECT
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
@@ -59,11 +59,11 @@ class QQuick3DSpatialAudioSoundSource : public QQuick3DNode
Q_PROPERTY(float nearFieldGain READ nearFieldGain WRITE setNearFieldGain NOTIFY nearFieldGainChanged)
Q_PROPERTY(int loops READ loops WRITE setLoops NOTIFY loopsChanged)
Q_PROPERTY(bool autoPlay READ autoPlay WRITE setAutoPlay NOTIFY autoPlayChanged)
- QML_NAMED_ELEMENT(SpatialAudioSoundSource)
+ QML_NAMED_ELEMENT(SpatialSound)
public:
- QQuick3DSpatialAudioSoundSource();
- ~QQuick3DSpatialAudioSoundSource();
+ QQuick3DSpatialSound();
+ ~QQuick3DSpatialSound();
void setSource(QUrl source);
QUrl source() const;
@@ -142,7 +142,7 @@ protected:
QSSGRenderGraphObject *updateSpatialNode(QSSGRenderGraphObject *) override { return nullptr; }
private:
- QSpatialAudioSoundSource *m_sound = nullptr;
+ QSpatialSound *m_sound = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/multimediaquick3d/qtquick3dsoundglobal_p.h b/src/multimediaquick3d/qtquick3daudioglobal_p.h
index de017039b..7318079a5 100644
--- a/src/multimediaquick3d/qtquick3dsoundglobal_p.h
+++ b/src/multimediaquick3d/qtquick3daudioglobal_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -46,15 +46,15 @@
// We mean it.
//
-#ifndef QMULTIMEDIAQUICKDEFS_P_H
-#define QMULTIMEDIAQUICKDEFS_P_H
+#ifndef QQUICK3DAUDIOGLOBAL_P_H
+#define QQUICK3DAUDIOGLOBAL_P_H
#include <QtCore/qglobal.h>
#include <QtMultimediaQuick/qtmultimediaquickexports.h>
QT_BEGIN_NAMESPACE
-void Q_MULTIMEDIAQUICK_EXPORT qml_register_types_QtQuick3D_SpatialAudio();
+void Q_MULTIMEDIAQUICK_EXPORT qml_register_types_QtQuick3D_Audio();
QT_END_NAMESPACE
diff --git a/src/multimediaquick3d/qtquick3dsoundtypes_p.h b/src/multimediaquick3d/qtquick3daudiotypes_p.h
index 7d5a75109..042aee3c2 100644
--- a/src/multimediaquick3d/qtquick3dsoundtypes_p.h
+++ b/src/multimediaquick3d/qtquick3daudiotypes_p.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -35,8 +35,8 @@
**
****************************************************************************/
-#ifndef QTMULTIMEDIAQUICKTYPES_H
-#define QTMULTIMEDIAQUICKTYPES_H
+#ifndef QQUICK3DAUDIOTYPES_H
+#define QQUICK3DAUDIOTYPES_H
//
// W A R N I N G
@@ -50,7 +50,7 @@
//
#include <QtQml/qqml.h>
-#include <private/qtquick3dsoundglobal_p.h>
+#include <private/qtquick3daudioglobal_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/multimediaquick3d/quick3dspatialaudio_plugin.cpp b/src/multimediaquick3d/quick3daudio_plugin.cpp
index 0a04f78bf..dbb8cb40a 100644
--- a/src/multimediaquick3d/quick3dspatialaudio_plugin.cpp
+++ b/src/multimediaquick3d/quick3daudio_plugin.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
@@ -39,22 +39,20 @@
#include <QtQml/qqml.h>
#include <QtQml/qqmlengine.h>
#include <QtQml/qqmlcomponent.h>
-#include "qtquick3dsoundglobal_p.h"
-#include "qquick3dspatialaudiolistener_p.h"
-#include "qquick3dspatialaudiosoundsource_p.h"
+#include "qtquick3daudioglobal_p.h"
QT_BEGIN_NAMESPACE
-class QSpatialAudioQuickModule : public QQmlEngineExtensionPlugin
+class QQuick3DAudioModule : public QQmlEngineExtensionPlugin
{
Q_OBJECT
Q_PLUGIN_METADATA(IID QQmlEngineExtensionInterface_iid)
public:
- QSpatialAudioQuickModule(QObject *parent = nullptr)
+ QQuick3DAudioModule(QObject *parent = nullptr)
: QQmlEngineExtensionPlugin(parent)
{
- volatile auto registration = qml_register_types_QtQuick3D_SpatialAudio;
+ volatile auto registration = qml_register_types_QtQuick3D_Audio;
Q_UNUSED(registration);
}
@@ -67,5 +65,5 @@ public:
QT_END_NAMESPACE
-#include "quick3dspatialaudio_plugin.moc"
+#include "quick3daudio_plugin.moc"
diff --git a/src/resonance-audio/resonance_audio_api_extensions.cpp b/src/resonance-audio/resonance_audio_api_extensions.cpp
index 46009f64b..2f5beb07d 100644
--- a/src/resonance-audio/resonance_audio_api_extensions.cpp
+++ b/src/resonance-audio/resonance_audio_api_extensions.cpp
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
diff --git a/src/resonance-audio/resonance_audio_api_extensions.h b/src/resonance-audio/resonance_audio_api_extensions.h
index 2c26c0911..7e186c655 100644
--- a/src/resonance-audio/resonance_audio_api_extensions.h
+++ b/src/resonance-audio/resonance_audio_api_extensions.h
@@ -3,7 +3,7 @@
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
-** This file is part of the Spatial Audio module of the Qt Toolkit.
+** This file is part of the Quick3D Audio module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL-NOGPL2$
** Commercial License Usage
diff --git a/sync.profile b/sync.profile
index d5bb0671d..1b63cb009 100644
--- a/sync.profile
+++ b/sync.profile
@@ -2,7 +2,7 @@
"QtMultimedia" => "$basedir/src/multimedia",
"QtMultimediaWidgets" => "$basedir/src/multimediawidgets",
"QtMultimediaQuick" => "$basedir/src/multimediaquick",
- "QtQuick3DSpatialAudio" => "$basedir/src/multimediaquick3d",
+ "QtQuick3DAudio" => "$basedir/src/multimediaquick3d",
);
%moduleheaders = ( # restrict the module headers to those found in relative path