1 | /**************************************************************************** |
---|---|
2 | ** |
3 | ** Copyright (C) 2016 The Qt Company Ltd. |
4 | ** Contact: https://www.qt.io/licensing/ |
5 | ** |
6 | ** This file is part of the Qt Toolkit. |
7 | ** |
8 | ** $QT_BEGIN_LICENSE:LGPL$ |
9 | ** Commercial License Usage |
10 | ** Licensees holding valid commercial Qt licenses may use this file in |
11 | ** accordance with the commercial license agreement provided with the |
12 | ** Software or, alternatively, in accordance with the terms contained in |
13 | ** a written agreement between you and The Qt Company. For licensing terms |
14 | ** and conditions see https://www.qt.io/terms-conditions. For further |
15 | ** information use the contact form at https://www.qt.io/contact-us. |
16 | ** |
17 | ** GNU Lesser General Public License Usage |
18 | ** Alternatively, this file may be used under the terms of the GNU Lesser |
19 | ** General Public License version 3 as published by the Free Software |
20 | ** Foundation and appearing in the file LICENSE.LGPL3 included in the |
21 | ** packaging of this file. Please review the following information to |
22 | ** ensure the GNU Lesser General Public License version 3 requirements |
23 | ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. |
24 | ** |
25 | ** GNU General Public License Usage |
26 | ** Alternatively, this file may be used under the terms of the GNU |
27 | ** General Public License version 2.0 or (at your option) the GNU General |
28 | ** Public license version 3 or any later version approved by the KDE Free |
29 | ** Qt Foundation. The licenses are as published by the Free Software |
30 | ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 |
31 | ** included in the packaging of this file. Please review the following |
32 | ** information to ensure the GNU General Public License requirements will |
33 | ** be met: https://www.gnu.org/licenses/gpl-2.0.html and |
34 | ** https://www.gnu.org/licenses/gpl-3.0.html. |
35 | ** |
36 | ** $QT_END_LICENSE$ |
37 | ** |
38 | ****************************************************************************/ |
39 | |
40 | #ifndef QMEDIAMETADATA_H |
41 | #define QMEDIAMETADATA_H |
42 | |
43 | #include <QtCore/qpair.h> |
44 | #include <QtCore/qmetatype.h> |
45 | #include <QtCore/qstring.h> |
46 | |
47 | #include <QtMultimedia/qtmultimediaglobal.h> |
48 | |
49 | QT_BEGIN_NAMESPACE |
50 | |
51 | // Class forward declaration required for QDoc bug |
52 | class QString; |
53 | |
54 | #define Q_DECLARE_METADATA(key) Q_MULTIMEDIA_EXPORT extern const QString key |
55 | |
56 | namespace QMediaMetaData { |
57 | #ifdef Q_QDOC |
58 | // QDoc does not like macros, so try to keep this in sync :) |
59 | QString Title; |
60 | QString SubTitle; |
61 | QString Author; |
62 | QString Comment; |
63 | QString Description; |
64 | QString Category; |
65 | QString Genre; |
66 | QString Year; |
67 | QString Date; |
68 | QString UserRating; |
69 | QString Keywords; |
70 | QString Language; |
71 | QString Publisher; |
72 | QString Copyright; |
73 | QString ParentalRating; |
74 | QString RatingOrganization; |
75 | |
76 | // Media |
77 | QString Size; |
78 | QString MediaType; |
79 | QString Duration; |
80 | |
81 | // Audio |
82 | QString AudioBitRate; |
83 | QString AudioCodec; |
84 | QString AverageLevel; |
85 | QString ChannelCount; |
86 | QString PeakValue; |
87 | QString SampleRate; |
88 | |
89 | // Music |
90 | QString AlbumTitle; |
91 | QString AlbumArtist; |
92 | QString ContributingArtist; |
93 | QString Composer; |
94 | QString Conductor; |
95 | QString Lyrics; |
96 | QString Mood; |
97 | QString TrackNumber; |
98 | QString TrackCount; |
99 | |
100 | QString CoverArtUrlSmall; |
101 | QString CoverArtUrlLarge; |
102 | |
103 | // Image/Video |
104 | QString Resolution; |
105 | QString PixelAspectRatio; |
106 | |
107 | // Video |
108 | QString VideoFrameRate; |
109 | QString VideoBitRate; |
110 | QString VideoCodec; |
111 | |
112 | QString PosterUrl; |
113 | |
114 | // Movie |
115 | QString ChapterNumber; |
116 | QString Director; |
117 | QString LeadPerformer; |
118 | QString Writer; |
119 | |
120 | // Photos |
121 | QString CameraManufacturer; |
122 | QString CameraModel; |
123 | QString Event; |
124 | QString Subject; |
125 | QString Orientation; |
126 | QString ExposureTime; |
127 | QString FNumber; |
128 | QString ExposureProgram; |
129 | QString ISOSpeedRatings; |
130 | QString ExposureBiasValue; |
131 | QString DateTimeOriginal; |
132 | QString DateTimeDigitized; |
133 | QString SubjectDistance; |
134 | QString MeteringMode; |
135 | QString LightSource; |
136 | QString Flash; |
137 | QString FocalLength; |
138 | QString ExposureMode; |
139 | QString WhiteBalance; |
140 | QString DigitalZoomRatio; |
141 | QString FocalLengthIn35mmFilm; |
142 | QString SceneCaptureType; |
143 | QString GainControl; |
144 | QString Contrast; |
145 | QString Saturation; |
146 | QString Sharpness; |
147 | QString DeviceSettingDescription; |
148 | |
149 | // Location |
150 | QString GPSLatitude; |
151 | QString GPSLongitude; |
152 | QString GPSAltitude; |
153 | QString GPSTimeStamp; |
154 | QString GPSSatellites; |
155 | QString GPSStatus; |
156 | QString GPSDOP; |
157 | QString GPSSpeed; |
158 | QString GPSTrack; |
159 | QString GPSTrackRef; |
160 | QString GPSImgDirection; |
161 | QString GPSImgDirectionRef; |
162 | QString GPSMapDatum; |
163 | QString GPSProcessingMethod; |
164 | QString GPSAreaInformation; |
165 | |
166 | QString PosterImage; |
167 | QString CoverArtImage; |
168 | QString ThumbnailImage; |
169 | #else |
170 | // Common |
171 | Q_DECLARE_METADATA(Title); |
172 | Q_DECLARE_METADATA(SubTitle); |
173 | Q_DECLARE_METADATA(Author); |
174 | Q_DECLARE_METADATA(Comment); |
175 | Q_DECLARE_METADATA(Description); |
176 | Q_DECLARE_METADATA(Category); |
177 | Q_DECLARE_METADATA(Genre); |
178 | Q_DECLARE_METADATA(Year); |
179 | Q_DECLARE_METADATA(Date); |
180 | Q_DECLARE_METADATA(UserRating); |
181 | Q_DECLARE_METADATA(Keywords); |
182 | Q_DECLARE_METADATA(Language); |
183 | Q_DECLARE_METADATA(Publisher); |
184 | Q_DECLARE_METADATA(Copyright); |
185 | Q_DECLARE_METADATA(ParentalRating); |
186 | Q_DECLARE_METADATA(RatingOrganization); |
187 | |
188 | // Media |
189 | Q_DECLARE_METADATA(Size); |
190 | Q_DECLARE_METADATA(MediaType); |
191 | Q_DECLARE_METADATA(Duration); |
192 | |
193 | // Audio |
194 | Q_DECLARE_METADATA(AudioBitRate); |
195 | Q_DECLARE_METADATA(AudioCodec); |
196 | Q_DECLARE_METADATA(AverageLevel); |
197 | Q_DECLARE_METADATA(ChannelCount); |
198 | Q_DECLARE_METADATA(PeakValue); |
199 | Q_DECLARE_METADATA(SampleRate); |
200 | |
201 | // Music |
202 | Q_DECLARE_METADATA(AlbumTitle); |
203 | Q_DECLARE_METADATA(AlbumArtist); |
204 | Q_DECLARE_METADATA(ContributingArtist); |
205 | Q_DECLARE_METADATA(Composer); |
206 | Q_DECLARE_METADATA(Conductor); |
207 | Q_DECLARE_METADATA(Lyrics); |
208 | Q_DECLARE_METADATA(Mood); |
209 | Q_DECLARE_METADATA(TrackNumber); |
210 | Q_DECLARE_METADATA(TrackCount); |
211 | |
212 | Q_DECLARE_METADATA(CoverArtUrlSmall); |
213 | Q_DECLARE_METADATA(CoverArtUrlLarge); |
214 | |
215 | // Image/Video |
216 | Q_DECLARE_METADATA(Resolution); |
217 | Q_DECLARE_METADATA(PixelAspectRatio); |
218 | |
219 | // Video |
220 | Q_DECLARE_METADATA(VideoFrameRate); |
221 | Q_DECLARE_METADATA(VideoBitRate); |
222 | Q_DECLARE_METADATA(VideoCodec); |
223 | |
224 | Q_DECLARE_METADATA(PosterUrl); |
225 | |
226 | // Movie |
227 | Q_DECLARE_METADATA(ChapterNumber); |
228 | Q_DECLARE_METADATA(Director); |
229 | Q_DECLARE_METADATA(LeadPerformer); |
230 | Q_DECLARE_METADATA(Writer); |
231 | |
232 | // Photos |
233 | Q_DECLARE_METADATA(CameraManufacturer); |
234 | Q_DECLARE_METADATA(CameraModel); |
235 | Q_DECLARE_METADATA(Event); |
236 | Q_DECLARE_METADATA(Subject); |
237 | Q_DECLARE_METADATA(Orientation); |
238 | Q_DECLARE_METADATA(ExposureTime); |
239 | Q_DECLARE_METADATA(FNumber); |
240 | Q_DECLARE_METADATA(ExposureProgram); |
241 | Q_DECLARE_METADATA(ISOSpeedRatings); |
242 | Q_DECLARE_METADATA(ExposureBiasValue); |
243 | Q_DECLARE_METADATA(DateTimeOriginal); |
244 | Q_DECLARE_METADATA(DateTimeDigitized); |
245 | Q_DECLARE_METADATA(SubjectDistance); |
246 | Q_DECLARE_METADATA(MeteringMode); |
247 | Q_DECLARE_METADATA(LightSource); |
248 | Q_DECLARE_METADATA(Flash); |
249 | Q_DECLARE_METADATA(FocalLength); |
250 | Q_DECLARE_METADATA(ExposureMode); |
251 | Q_DECLARE_METADATA(WhiteBalance); |
252 | Q_DECLARE_METADATA(DigitalZoomRatio); |
253 | Q_DECLARE_METADATA(FocalLengthIn35mmFilm); |
254 | Q_DECLARE_METADATA(SceneCaptureType); |
255 | Q_DECLARE_METADATA(GainControl); |
256 | Q_DECLARE_METADATA(Contrast); |
257 | Q_DECLARE_METADATA(Saturation); |
258 | Q_DECLARE_METADATA(Sharpness); |
259 | Q_DECLARE_METADATA(DeviceSettingDescription); |
260 | |
261 | // Location |
262 | Q_DECLARE_METADATA(GPSLatitude); |
263 | Q_DECLARE_METADATA(GPSLongitude); |
264 | Q_DECLARE_METADATA(GPSAltitude); |
265 | Q_DECLARE_METADATA(GPSTimeStamp); |
266 | Q_DECLARE_METADATA(GPSSatellites); |
267 | Q_DECLARE_METADATA(GPSStatus); |
268 | Q_DECLARE_METADATA(GPSDOP); |
269 | Q_DECLARE_METADATA(GPSSpeed); |
270 | Q_DECLARE_METADATA(GPSTrack); |
271 | Q_DECLARE_METADATA(GPSTrackRef); |
272 | Q_DECLARE_METADATA(GPSImgDirection); |
273 | Q_DECLARE_METADATA(GPSImgDirectionRef); |
274 | Q_DECLARE_METADATA(GPSMapDatum); |
275 | Q_DECLARE_METADATA(GPSProcessingMethod); |
276 | Q_DECLARE_METADATA(GPSAreaInformation); |
277 | |
278 | Q_DECLARE_METADATA(PosterImage); |
279 | Q_DECLARE_METADATA(CoverArtImage); |
280 | Q_DECLARE_METADATA(ThumbnailImage); |
281 | #endif |
282 | } |
283 | |
284 | #undef Q_DECLARE_METADATA |
285 | |
286 | QT_END_NAMESPACE |
287 | |
288 | #endif // QMEDIAMETADATA_H |
289 |