summaryrefslogtreecommitdiffstats
path: root/src/multimediaquick3d
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2022-05-11 15:28:47 +0200
committerLars Knoll <lars.knoll@qt.io>2022-05-16 19:11:46 +0200
commit9660a393aa038fe69472543ff15c2694f671bb28 (patch)
tree313e962f5695724cfb1c887a41c8fa7d3322f0ec /src/multimediaquick3d
parentc2b5a17851f7f240c39ab0305e91fa7c77612fae (diff)
Some smaller API fixes to QSpatialAudioSoundSource
Try to improve/clarify naming of properties. Change-Id: Idd610a95a196c127bfa0922f5a711ab2e483dcbf Reviewed-by: Piotr Srebrny <piotr.srebrny@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/multimediaquick3d')
-rw-r--r--src/multimediaquick3d/qquick3dspatialaudiosoundsource.cpp38
-rw-r--r--src/multimediaquick3d/qquick3dspatialaudiosoundsource_p.h16
2 files changed, 29 insertions, 25 deletions
diff --git a/src/multimediaquick3d/qquick3dspatialaudiosoundsource.cpp b/src/multimediaquick3d/qquick3dspatialaudiosoundsource.cpp
index ff2fdebf4..2409871dd 100644
--- a/src/multimediaquick3d/qquick3dspatialaudiosoundsource.cpp
+++ b/src/multimediaquick3d/qquick3dspatialaudiosoundsource.cpp
@@ -66,8 +66,8 @@ QQuick3DSpatialAudioSoundSource::QQuick3DSpatialAudioSoundSource()
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::minimumDistanceChanged, this, &QQuick3DSpatialAudioSoundSource::minimumDistanceChanged);
- connect(m_sound, &QSpatialAudioSoundSource::maximumDistanceChanged, this, &QQuick3DSpatialAudioSoundSource::maximumDistanceChanged);
+ 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);
@@ -119,6 +119,9 @@ float QQuick3DSpatialAudioSoundSource::volume() const
\qmlproperty enumeration SpatialAudioSoundSource::distanceModel
Defines how the volume of the sound scales with distance to the listener.
+ 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.
\table
\header \li Property value
@@ -142,36 +145,37 @@ QQuick3DSpatialAudioSoundSource::DistanceModel QQuick3DSpatialAudioSoundSource::
}
/*!
- \qmlproperty float SpatialAudioSoundSource::minimumDistance
+ \qmlproperty float SpatialAudioSoundSource::size
- Defines a minimum distance for the sound source. If the listener is closer to the sound
- object than the minimum distance, volume will stay constant and the sound source won't
- be localized in space.
+ 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::setMinimumDistance(float min)
+void QQuick3DSpatialAudioSoundSource::setSize(float min)
{
- m_sound->setMinimumDistance(min);
+ m_sound->setSize(min);
}
-float QQuick3DSpatialAudioSoundSource::minimumDistance() const
+float QQuick3DSpatialAudioSoundSource::size() const
{
- return m_sound->minimumDistance();
+ return m_sound->size();
}
/*!
- \qmlproperty float SpatialAudioSoundSource::maximumDistance
+ \qmlproperty float SpatialAudioSoundSource::distanceCutoff
- Defines a maximum distance for the sound source. If the listener is further away from
- the sound object than the maximum distance it won't be audible anymore.
+ 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::setMaximumDistance(float max)
+void QQuick3DSpatialAudioSoundSource::setDistanceCutoff(float max)
{
- m_sound->setMaximumDistance(max);
+ m_sound->setDistanceCutoff(max);
}
-float QQuick3DSpatialAudioSoundSource::maximumDistance() const
+float QQuick3DSpatialAudioSoundSource::distanceCutoff() const
{
- return m_sound->maximumDistance();
+ return m_sound->distanceCutoff();
}
/*!
diff --git a/src/multimediaquick3d/qquick3dspatialaudiosoundsource_p.h b/src/multimediaquick3d/qquick3dspatialaudiosoundsource_p.h
index 29c74d21e..9cc835fe9 100644
--- a/src/multimediaquick3d/qquick3dspatialaudiosoundsource_p.h
+++ b/src/multimediaquick3d/qquick3dspatialaudiosoundsource_p.h
@@ -50,8 +50,8 @@ class QQuick3DSpatialAudioSoundSource : public QQuick3DNode
Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
Q_PROPERTY(float volume READ volume WRITE setVolume NOTIFY volumeChanged)
Q_PROPERTY(DistanceModel distanceModel READ distanceModel WRITE setDistanceModel NOTIFY distanceModelChanged)
- Q_PROPERTY(float minimumDistance READ minimumDistance WRITE setMinimumDistance NOTIFY minimumDistanceChanged)
- Q_PROPERTY(float maximumDistance READ maximumDistance WRITE setMaximumDistance NOTIFY maximumDistanceChanged)
+ Q_PROPERTY(float size READ size WRITE setSize NOTIFY sizeChanged)
+ Q_PROPERTY(float distanceCutoff READ distanceCutoff WRITE setDistanceCutoff NOTIFY distanceCutoffChanged)
Q_PROPERTY(float manualAttenuation READ manualAttenuation WRITE setManualAttenuation NOTIFY manualAttenuationChanged)
Q_PROPERTY(float occlusionIntensity READ occlusionIntensity WRITE setOcclusionIntensity NOTIFY occlusionIntensityChanged)
Q_PROPERTY(float directivity READ directivity WRITE setDirectivity NOTIFY directivityChanged)
@@ -81,11 +81,11 @@ public:
void setDistanceModel(DistanceModel model);
DistanceModel distanceModel() const;
- void setMinimumDistance(float min);
- float minimumDistance() const;
+ void setSize(float min);
+ float size() const;
- void setMaximumDistance(float max);
- float maximumDistance() const;
+ void setDistanceCutoff(float max);
+ float distanceCutoff() const;
void setManualAttenuation(float attenuation);
float manualAttenuation() const;
@@ -124,8 +124,8 @@ Q_SIGNALS:
void sourceChanged();
void volumeChanged();
void distanceModelChanged();
- void minimumDistanceChanged();
- void maximumDistanceChanged();
+ void sizeChanged();
+ void distanceCutoffChanged();
void manualAttenuationChanged();
void occlusionIntensityChanged();
void directivityChanged();