~ubuntu-branches/ubuntu/quantal/qtmobility/quantal

« back to all changes in this revision

Viewing changes to src/multimedia/effects/qsoundeffect_p.h

  • Committer: Bazaar Package Importer
  • Author(s): Jonathan Riddell
  • Date: 2010-11-16 16:18:07 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20101116161807-k2dzt2nyse975r3l
Tags: 1.1.0-0ubuntu1
* New upstream release
* Syncronise with Debian, no remaining changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 
4
** All rights reserved.
 
5
** Contact: Nokia Corporation (qt-info@nokia.com)
 
6
**
 
7
** This file is part of the Qt Mobility Components.
 
8
**
 
9
** $QT_BEGIN_LICENSE:LGPL$
 
10
** Commercial Usage
 
11
** Licensees holding valid Qt Commercial licenses may use this file in 
 
12
** accordance with the Qt Commercial License Agreement provided with
 
13
** the Software or, alternatively, in accordance with the terms
 
14
** contained in a written agreement between you and Nokia.
 
15
**
 
16
** GNU Lesser General Public License Usage
 
17
** Alternatively, this file may be used under the terms of the GNU Lesser
 
18
** General Public License version 2.1 as published by the Free Software
 
19
** Foundation and appearing in the file LICENSE.LGPL included in the
 
20
** packaging of this file.  Please review the following information to
 
21
** ensure the GNU Lesser General Public License version 2.1 requirements
 
22
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
23
**
 
24
** In addition, as a special exception, Nokia gives you certain additional
 
25
** rights.  These rights are described in the Nokia Qt LGPL Exception
 
26
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
27
**
 
28
** GNU General Public License Usage
 
29
** Alternatively, this file may be used under the terms of the GNU
 
30
** General Public License version 3.0 as published by the Free Software
 
31
** Foundation and appearing in the file LICENSE.GPL included in the
 
32
** packaging of this file.  Please review the following information to
 
33
** ensure the GNU General Public License version 3.0 requirements will be
 
34
** met: http://www.gnu.org/copyleft/gpl.html.
 
35
**
 
36
** If you are unsure which license is appropriate for your use, please
 
37
** contact the sales department at qt-sales@nokia.com.
 
38
** $QT_END_LICENSE$
 
39
**
 
40
****************************************************************************/
 
41
 
 
42
#ifndef QSOUNDEFFECT_P_H
 
43
#define QSOUNDEFFECT_P_H
 
44
 
 
45
//
 
46
//  W A R N I N G
 
47
//  -------------
 
48
//
 
49
// This file is not part of the Qt API. It exists purely as an
 
50
// implementation detail. This header file may change from version to
 
51
// version without notice, or even be removed.
 
52
//
 
53
// We mean it.
 
54
//
 
55
 
 
56
#include <qmobilityglobal.h>
 
57
#include <QtCore/qobject.h>
 
58
#include <QtCore/qurl.h>
 
59
#include <QtCore/qstringlist.h>
 
60
 
 
61
 
 
62
QT_BEGIN_HEADER
 
63
 
 
64
QT_BEGIN_NAMESPACE
 
65
 
 
66
class QSoundEffectPrivate;
 
67
 
 
68
class Q_MULTIMEDIA_EXPORT QSoundEffect : public QObject
 
69
{
 
70
    Q_OBJECT
 
71
    Q_CLASSINFO("DefaultMethod", "play()")
 
72
    Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged)
 
73
    Q_PROPERTY(int loops READ loopCount WRITE setLoopCount NOTIFY loopCountChanged)
 
74
    Q_PROPERTY(qreal volume READ volume WRITE setVolume NOTIFY volumeChanged)
 
75
    Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged)
 
76
    Q_PROPERTY(bool playing READ isPlaying NOTIFY playingChanged)
 
77
    Q_PROPERTY(Status status READ status NOTIFY statusChanged)
 
78
    Q_ENUMS(Loop)
 
79
    Q_ENUMS(Status)
 
80
 
 
81
public:
 
82
    enum Loop
 
83
    {
 
84
        Infinite = -2,
 
85
    };
 
86
 
 
87
    enum Status
 
88
    {
 
89
        Null,
 
90
        Loading,
 
91
        Ready,
 
92
        Error
 
93
    };
 
94
 
 
95
    explicit QSoundEffect(QObject *parent = 0);
 
96
    ~QSoundEffect();
 
97
 
 
98
    static QStringList supportedMimeTypes();
 
99
 
 
100
    QUrl source() const;
 
101
    void setSource(const QUrl &url);
 
102
 
 
103
    int loopCount() const;
 
104
    void setLoopCount(int loopCount);
 
105
 
 
106
    qreal volume() const;
 
107
    void setVolume(qreal volume);
 
108
 
 
109
    bool isMuted() const;
 
110
    void setMuted(bool muted);
 
111
 
 
112
    bool isLoaded() const;
 
113
    bool isPlaying() const;
 
114
    Status status() const;
 
115
 
 
116
Q_SIGNALS:
 
117
    void sourceChanged();
 
118
    void loopCountChanged();
 
119
    void volumeChanged();
 
120
    void mutedChanged();
 
121
    void loadedChanged();
 
122
    void playingChanged();
 
123
    void statusChanged();
 
124
 
 
125
public Q_SLOTS:
 
126
    void play();
 
127
    void stop();
 
128
 
 
129
private:
 
130
    Q_DISABLE_COPY(QSoundEffect)
 
131
    QSoundEffectPrivate* d;
 
132
};
 
133
 
 
134
QT_END_NAMESPACE
 
135
 
 
136
QT_END_HEADER
 
137
 
 
138
 
 
139
#endif // QSOUNDEFFECT_H