summaryrefslogtreecommitdiffstats
path: root/src/imports/audioengine/qaudioengine_p.h
diff options
context:
space:
mode:
authorLing Hu <ling.hu@nokia.com>2012-01-18 17:17:54 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-06 05:35:28 +0100
commit809bbc35c67f085e91db9202795cccab0a5ae548 (patch)
tree2449887bd384208bd4e354a95156909444ef93c7 /src/imports/audioengine/qaudioengine_p.h
parent262f397e3ed6a10ee99518535cdc3ee20ee52688 (diff)
Add AudioEngine with new implementation
Change-Id: I5eebe662ecbce9814ed3e763db56df9be737d11f Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'src/imports/audioengine/qaudioengine_p.h')
-rw-r--r--src/imports/audioengine/qaudioengine_p.h110
1 files changed, 110 insertions, 0 deletions
diff --git a/src/imports/audioengine/qaudioengine_p.h b/src/imports/audioengine/qaudioengine_p.h
new file mode 100644
index 000000000..12b5bbd30
--- /dev/null
+++ b/src/imports/audioengine/qaudioengine_p.h
@@ -0,0 +1,110 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
+**
+** This file is part of the plugins of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** GNU Lesser General Public License Usage
+** This file may be used under the terms of the GNU Lesser General Public
+** License version 2.1 as published by the Free Software Foundation and
+** appearing in the file LICENSE.LGPL included in the packaging of this
+** file. Please review the following information to ensure the GNU Lesser
+** General Public License version 2.1 requirements will be met:
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU General
+** Public License version 3.0 as published by the Free Software Foundation
+** and appearing in the file LICENSE.GPL included in the packaging of this
+** file. Please review the following information to ensure the GNU General
+** Public License version 3.0 requirements will be met:
+** http://www.gnu.org/copyleft/gpl.html.
+**
+** Other Usage
+** Alternatively, this file may be used in accordance with the terms and
+** conditions contained in a signed written agreement between you and Nokia.
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QAUDIOENGINE_P_H
+#define QAUDIOENGINE_P_H
+
+#include <QtCore/QObject>
+#include <QtCore/QMap>
+#include <QtCore/QUrl>
+#include <QtGui/qvector3d.h>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class QSoundSource;
+class QSoundBuffer;
+class QAudioEnginePrivate;
+
+class QAudioEngine : public QObject
+{
+ Q_OBJECT
+public:
+ ~QAudioEngine();
+
+ virtual QSoundSource* createSoundSource();
+ virtual void releaseSoundSource(QSoundSource *soundInstance);
+
+ virtual QSoundBuffer* getStaticSoundBuffer(const QUrl& url);
+ virtual void releaseSoundBuffer(QSoundBuffer *buffer);
+
+ virtual bool isLoading() const;
+
+ virtual QVector3D listenerPosition() const;
+ virtual QVector3D listenerDirection() const;
+ virtual QVector3D listenerVelocity() const;
+ virtual QVector3D listenerUp() const;
+ virtual qreal listenerGain() const;
+ virtual void setListenerPosition(const QVector3D& position);
+ virtual void setListenerDirection(const QVector3D& direction);
+ virtual void setListenerVelocity(const QVector3D& velocity);
+ virtual void setListenerUp(const QVector3D& up);
+ virtual void setListenerGain(qreal gain);
+
+ virtual qreal dopplerFactor() const;
+ virtual void setDopplerFactor(qreal dopplerFactor);
+
+ virtual qreal speedOfSound() const;
+ virtual void setSpeedOfSound(qreal speedOfSound);
+
+ static QAudioEngine* create(QObject *parent);
+
+Q_SIGNALS:
+ void isLoadingChanged();
+
+private:
+ QAudioEngine(QObject *parent);
+ QAudioEnginePrivate *d;
+
+ void updateListenerOrientation();
+
+ qreal m_dopplerFactor;
+ qreal m_speedOfSound;
+ QVector3D m_listenerUp;
+ QVector3D m_listenerDirection;
+};
+
+QT_END_NAMESPACE
+
+QT_END_HEADER
+
+#endif