summaryrefslogtreecommitdiffstats
path: root/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp
diff options
context:
space:
mode:
authorSiteshwar Vashisht <siteshwar@gmail.com>2015-03-25 19:43:19 +0530
committerKonstantin Ritt <ritt.ks@gmail.com>2015-04-23 11:56:18 +0000
commit176d52bb28b425f697ad8df001ba2c7c52fda766 (patch)
treeffc4740404f9537bcef939acddb25c2cce4f7203 /src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp
parent227c8aa723d9e82c2826a1d2823cd73236f18bbb (diff)
Refactored code for audio engine to allow dynamic object creation
QDeclarativeSound, QDeclarativeAudioSample, QDeclarativeAudioCategory and QDeclarativeAttenuationModel can now be dynamically added to AudioEngine instance or declared inside AudioEngine object definition. QDeclarativePlayVariation can now be dynamically added to Sound instance or declared inside Sound object definition. Change-Id: If4c2e16895a71eb71ded1998c107360698f8ac7f Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Diffstat (limited to 'src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp')
-rw-r--r--src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp48
1 files changed, 20 insertions, 28 deletions
diff --git a/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp b/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp
index 0814e9d62..7ecdb41ae 100644
--- a/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp
+++ b/src/imports/audioengine/qdeclarative_attenuationmodel_p.cpp
@@ -32,6 +32,7 @@
****************************************************************************/
#include "qdeclarative_attenuationmodel_p.h"
+#include "qdeclarative_audioengine_p.h"
#include "qdebug.h"
#define DEBUG_AUDIOENGINE
@@ -40,7 +41,7 @@ QT_USE_NAMESPACE
QDeclarativeAttenuationModel::QDeclarativeAttenuationModel(QObject *parent)
: QObject(parent)
- , m_complete(false)
+ , m_engine(0)
{
}
@@ -48,22 +49,9 @@ QDeclarativeAttenuationModel::~QDeclarativeAttenuationModel()
{
}
-void QDeclarativeAttenuationModel::classBegin()
+void QDeclarativeAttenuationModel::setEngine(QDeclarativeAudioEngine *engine)
{
- if (!parent() || !parent()->inherits("QDeclarativeAudioEngine")) {
- qWarning("AttenuationModel must be defined inside AudioEngine!");
- //TODO: COMPILE_EXCEPTION ?
- return;
- }
-}
-
-void QDeclarativeAttenuationModel::componentComplete()
-{
- if (m_name.isEmpty()) {
- qWarning("AttenuationModel must have a name!");
- return;
- }
- m_complete = true;
+ m_engine = engine;
}
QString QDeclarativeAttenuationModel::name() const
@@ -73,7 +61,7 @@ QString QDeclarativeAttenuationModel::name() const
void QDeclarativeAttenuationModel::setName(const QString& name)
{
- if (m_complete) {
+ if (m_engine) {
qWarning("AttenuationModel: you can not change name after initialization.");
return;
}
@@ -93,7 +81,9 @@ void QDeclarativeAttenuationModel::setName(const QString& name)
This type is part of the \b{QtAudioEngine 1.0} module.
- AttenuationModelLinear must be defined inside \l AudioEngine.
+ AttenuationModelLinear must be defined inside \l AudioEngine or be added to it using
+ \l{QtAudioEngine::AudioEngine::addAttenuationModel()}{AudioEngine.addAttenuationModel()}
+ if AttenuationModelLinear is created dynamically.
\qml
import QtQuick 2.0
@@ -144,13 +134,13 @@ QDeclarativeAttenuationModelLinear::QDeclarativeAttenuationModelLinear(QObject *
{
}
-void QDeclarativeAttenuationModelLinear::componentComplete()
+void QDeclarativeAttenuationModelLinear::setEngine(QDeclarativeAudioEngine *engine)
{
if (m_start > m_end) {
qSwap(m_start, m_end);
qWarning() << "AttenuationModelLinear[" << m_name << "]: start must be less or equal than end.";
}
- QDeclarativeAttenuationModel::componentComplete();
+ QDeclarativeAttenuationModel::setEngine(engine);
}
/*!
@@ -167,7 +157,7 @@ qreal QDeclarativeAttenuationModelLinear::startDistance() const
void QDeclarativeAttenuationModelLinear::setStartDistance(qreal startDist)
{
- if (m_complete) {
+ if (m_engine) {
qWarning() << "AttenuationModelLinear[" << m_name << "]: you can not change properties after initialization.";
return;
}
@@ -192,7 +182,7 @@ qreal QDeclarativeAttenuationModelLinear::endDistance() const
void QDeclarativeAttenuationModelLinear::setEndDistance(qreal endDist)
{
- if (m_complete) {
+ if (m_engine) {
qWarning() << "AttenuationModelLinear[" << m_name << "]: you can not change properties after initialization.";
return;
}
@@ -226,7 +216,9 @@ qreal QDeclarativeAttenuationModelLinear::calculateGain(const QVector3D &listene
This type is part of the \b{QtAudioEngine 1.0} module.
- AttenuationModelInverse must be defined inside AudioEngine.
+ AttenuationModelInverse must be defined inside \l AudioEngine or be added to it using
+ \l{QtAudioEngine::AudioEngine::addAttenuationModel()}{AudioEngine.addAttenuationModel()}
+ if AttenuationModelInverse is created dynamically.
\qml
import QtQuick 2.0
@@ -309,13 +301,13 @@ QDeclarativeAttenuationModelInverse::QDeclarativeAttenuationModelInverse(QObject
{
}
-void QDeclarativeAttenuationModelInverse::componentComplete()
+void QDeclarativeAttenuationModelInverse::setEngine(QDeclarativeAudioEngine *engine)
{
if (m_ref > m_max) {
qSwap(m_ref, m_max);
qWarning() << "AttenuationModelInverse[" << m_name << "]: referenceDistance must be less or equal than maxDistance.";
}
- QDeclarativeAttenuationModel::componentComplete();
+ QDeclarativeAttenuationModel::setEngine(engine);
}
qreal QDeclarativeAttenuationModelInverse::referenceDistance() const
@@ -325,7 +317,7 @@ qreal QDeclarativeAttenuationModelInverse::referenceDistance() const
void QDeclarativeAttenuationModelInverse::setReferenceDistance(qreal referenceDistance)
{
- if (m_complete) {
+ if (m_engine) {
qWarning() << "AttenuationModelInverse[" << m_name << "]: you can not change properties after initialization.";
return;
}
@@ -343,7 +335,7 @@ qreal QDeclarativeAttenuationModelInverse::maxDistance() const
void QDeclarativeAttenuationModelInverse::setMaxDistance(qreal maxDistance)
{
- if (m_complete) {
+ if (m_engine) {
qWarning() << "AttenuationModelInverse[" << m_name << "]: you can not change properties after initialization.";
return;
}
@@ -361,7 +353,7 @@ qreal QDeclarativeAttenuationModelInverse::rolloffFactor() const
void QDeclarativeAttenuationModelInverse::setRolloffFactor(qreal rolloffFactor)
{
- if (m_complete) {
+ if (m_engine) {
qWarning() << "AttenuationModelInverse[" << m_name << "]: you can not change properties after initialization.";
return;
}