summaryrefslogtreecommitdiffstats
path: root/src/imports/multimedia/qdeclarativemediametadata_p.h
blob: c082c11e5eaee7b6149e7e1390a448848f3627bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part 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 QDECLARATIVEMEDIAMETADATA_P_H
#define QDECLARATIVEMEDIAMETADATA_P_H

//
//  W A R N I N G
//  -------------
//
// This file is not part of the Qt API.  It exists for the convenience
// of other Qt classes.  This header file may change from version to
// version without notice, or even be removed.
//
// We mean it.
//

#include <qmetadatareadercontrol.h>

#include <qdeclarative.h>

QT_BEGIN_HEADER

QT_BEGIN_NAMESPACE

class QDeclarativeMediaMetaData : public QObject
{
    Q_OBJECT
    Q_PROPERTY(QVariant title READ title NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant subTitle READ subTitle NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant author READ author NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant comment READ comment NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant description READ description NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant category READ category NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant genre READ genre NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant year READ year NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant date READ date NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant userRating READ userRating NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant keywords READ keywords NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant language READ language NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant publisher READ publisher NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant copyright READ copyright NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant parentalRating READ parentalRating NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant ratingOrganisation READ ratingOrganisation NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant size READ size NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant mediaType READ mediaType NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant duration READ duration NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant audioBitRate READ audioBitRate NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant audioCodec READ audioCodec NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant averageLevel READ averageLevel NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant channelCount READ channelCount NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant peakValue READ peakValue NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant sampleRate READ sampleRate NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant albumTitle READ albumTitle NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant albumArtist READ albumArtist NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant contributingArtist READ contributingArtist NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant composer READ composer NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant conductor READ conductor NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant lyrics READ lyrics NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant mood READ mood NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant trackNumber READ trackNumber NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant trackCount READ trackCount NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant coverArtUrlSmall READ coverArtUrlSmall NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant coverArtUrlLarge READ coverArtUrlLarge NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant resolution READ resolution NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant pixelAspectRatio READ pixelAspectRatio NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant videoFrameRate READ videoFrameRate NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant videoBitRate READ videoBitRate NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant videoCodec READ videoCodec NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant posterUrl READ posterUrl NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant chapterNumber READ chapterNumber NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant director READ director NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant leadPerformer READ leadPerformer NOTIFY metaDataChanged)
    Q_PROPERTY(QVariant writer READ writer NOTIFY metaDataChanged)
public:
    QDeclarativeMediaMetaData(QMetaDataReaderControl *control, QObject *parent = 0)
        : QObject(parent)
        , m_control(control)
    {
    }

    QVariant title() const { return m_control->metaData(QtMultimedia::Title); }
    QVariant subTitle() const { return m_control->metaData(QtMultimedia::SubTitle); }
    QVariant author() const { return m_control->metaData(QtMultimedia::Author); }
    QVariant comment() const { return m_control->metaData(QtMultimedia::Comment); }
    QVariant description() const { return m_control->metaData(QtMultimedia::Description); }
    QVariant category() const { return m_control->metaData(QtMultimedia::Category); }
    QVariant genre() const { return m_control->metaData(QtMultimedia::Genre); }
    QVariant year() const { return m_control->metaData(QtMultimedia::Year); }
    QVariant date() const { return m_control->metaData(QtMultimedia::Date); }
    QVariant userRating() const { return m_control->metaData(QtMultimedia::UserRating); }
    QVariant keywords() const { return m_control->metaData(QtMultimedia::Keywords); }
    QVariant language() const { return m_control->metaData(QtMultimedia::Language); }
    QVariant publisher() const { return m_control->metaData(QtMultimedia::Publisher); }
    QVariant copyright() const { return m_control->metaData(QtMultimedia::Copyright); }
    QVariant parentalRating() const { return m_control->metaData(QtMultimedia::ParentalRating); }
    QVariant ratingOrganisation() const {
        return m_control->metaData(QtMultimedia::RatingOrganisation); }
    QVariant size() const { return m_control->metaData(QtMultimedia::Size); }
    QVariant mediaType() const { return m_control->metaData(QtMultimedia::MediaType); }
    QVariant duration() const { return m_control->metaData(QtMultimedia::Duration); }
    QVariant audioBitRate() const { return m_control->metaData(QtMultimedia::AudioBitRate); }
    QVariant audioCodec() const { return m_control->metaData(QtMultimedia::AudioCodec); }
    QVariant averageLevel() const { return m_control->metaData(QtMultimedia::AverageLevel); }
    QVariant channelCount() const { return m_control->metaData(QtMultimedia::ChannelCount); }
    QVariant peakValue() const { return m_control->metaData(QtMultimedia::PeakValue); }
    QVariant sampleRate() const { return m_control->metaData(QtMultimedia::SampleRate); }
    QVariant albumTitle() const { return m_control->metaData(QtMultimedia::AlbumTitle); }
    QVariant albumArtist() const { return m_control->metaData(QtMultimedia::AlbumArtist); }
    QVariant contributingArtist() const {
        return m_control->metaData(QtMultimedia::ContributingArtist); }
    QVariant composer() const { return m_control->metaData(QtMultimedia::Composer); }
    QVariant conductor() const { return m_control->metaData(QtMultimedia::Conductor); }
    QVariant lyrics() const { return m_control->metaData(QtMultimedia::Lyrics); }
    QVariant mood() const { return m_control->metaData(QtMultimedia::Mood); }
    QVariant trackNumber() const { return m_control->metaData(QtMultimedia::TrackNumber); }
    QVariant trackCount() const { return m_control->metaData(QtMultimedia::TrackCount); }
    QVariant coverArtUrlSmall() const {
        return m_control->metaData(QtMultimedia::CoverArtUrlSmall); }
    QVariant coverArtUrlLarge() const {
        return m_control->metaData(QtMultimedia::CoverArtUrlLarge); }
    QVariant resolution() const { return m_control->metaData(QtMultimedia::Resolution); }
    QVariant pixelAspectRatio() const {
        return m_control->metaData(QtMultimedia::PixelAspectRatio); }
    QVariant videoFrameRate() const { return m_control->metaData(QtMultimedia::VideoFrameRate); }
    QVariant videoBitRate() const { return m_control->metaData(QtMultimedia::VideoBitRate); }
    QVariant videoCodec() const { return m_control->metaData(QtMultimedia::VideoCodec); }
    QVariant posterUrl() const { return m_control->metaData(QtMultimedia::PosterUrl); }
    QVariant chapterNumber() const { return m_control->metaData(QtMultimedia::ChapterNumber); }
    QVariant director() const { return m_control->metaData(QtMultimedia::Director); }
    QVariant leadPerformer() const { return m_control->metaData(QtMultimedia::LeadPerformer); }
    QVariant writer() const { return m_control->metaData(QtMultimedia::Writer); }

Q_SIGNALS:
    void metaDataChanged();

private:
    QMetaDataReaderControl *m_control;
};

QT_END_NAMESPACE

QML_DECLARE_TYPE(QT_PREPEND_NAMESPACE(QDeclarativeMediaMetaData))

QT_END_HEADER

#endif