blob: 8d874449014f19f50aedd77005614b3a62d79572 [file] [log] [blame]
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 3 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL3 included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 3 requirements
** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 2.0 or (at your option) the GNU General
** Public license version 3 or any later version approved by the KDE Free
** Qt Foundation. The licenses are as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-2.0.html and
** https://www.gnu.org/licenses/gpl-3.0.html.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef QMEDIAMETADATA_H
#define QMEDIAMETADATA_H
#include <QtCore/qpair.h>
#include <QtCore/qmetatype.h>
#include <QtCore/qstring.h>
#include <QtMultimedia/qtmultimediaglobal.h>
QT_BEGIN_NAMESPACE
// Class forward declaration required for QDoc bug
class QString;
#define Q_DECLARE_METADATA(key) Q_MULTIMEDIA_EXPORT extern const QString key
namespace QMediaMetaData {
#ifdef Q_QDOC
// QDoc does not like macros, so try to keep this in sync :)
QString Title;
QString SubTitle;
QString Author;
QString Comment;
QString Description;
QString Category;
QString Genre;
QString Year;
QString Date;
QString UserRating;
QString Keywords;
QString Language;
QString Publisher;
QString Copyright;
QString ParentalRating;
QString RatingOrganization;
// Media
QString Size;
QString MediaType;
QString Duration;
// Audio
QString AudioBitRate;
QString AudioCodec;
QString AverageLevel;
QString ChannelCount;
QString PeakValue;
QString SampleRate;
// Music
QString AlbumTitle;
QString AlbumArtist;
QString ContributingArtist;
QString Composer;
QString Conductor;
QString Lyrics;
QString Mood;
QString TrackNumber;
QString TrackCount;
QString CoverArtUrlSmall;
QString CoverArtUrlLarge;
// Image/Video
QString Resolution;
QString PixelAspectRatio;
// Video
QString VideoFrameRate;
QString VideoBitRate;
QString VideoCodec;
QString PosterUrl;
// Movie
QString ChapterNumber;
QString Director;
QString LeadPerformer;
QString Writer;
// Photos
QString CameraManufacturer;
QString CameraModel;
QString Event;
QString Subject;
QString Orientation;
QString ExposureTime;
QString FNumber;
QString ExposureProgram;
QString ISOSpeedRatings;
QString ExposureBiasValue;
QString DateTimeOriginal;
QString DateTimeDigitized;
QString SubjectDistance;
QString MeteringMode;
QString LightSource;
QString Flash;
QString FocalLength;
QString ExposureMode;
QString WhiteBalance;
QString DigitalZoomRatio;
QString FocalLengthIn35mmFilm;
QString SceneCaptureType;
QString GainControl;
QString Contrast;
QString Saturation;
QString Sharpness;
QString DeviceSettingDescription;
// Location
QString GPSLatitude;
QString GPSLongitude;
QString GPSAltitude;
QString GPSTimeStamp;
QString GPSSatellites;
QString GPSStatus;
QString GPSDOP;
QString GPSSpeed;
QString GPSTrack;
QString GPSTrackRef;
QString GPSImgDirection;
QString GPSImgDirectionRef;
QString GPSMapDatum;
QString GPSProcessingMethod;
QString GPSAreaInformation;
QString PosterImage;
QString CoverArtImage;
QString ThumbnailImage;
#else
// Common
Q_DECLARE_METADATA(Title);
Q_DECLARE_METADATA(SubTitle);
Q_DECLARE_METADATA(Author);
Q_DECLARE_METADATA(Comment);
Q_DECLARE_METADATA(Description);
Q_DECLARE_METADATA(Category);
Q_DECLARE_METADATA(Genre);
Q_DECLARE_METADATA(Year);
Q_DECLARE_METADATA(Date);
Q_DECLARE_METADATA(UserRating);
Q_DECLARE_METADATA(Keywords);
Q_DECLARE_METADATA(Language);
Q_DECLARE_METADATA(Publisher);
Q_DECLARE_METADATA(Copyright);
Q_DECLARE_METADATA(ParentalRating);
Q_DECLARE_METADATA(RatingOrganization);
// Media
Q_DECLARE_METADATA(Size);
Q_DECLARE_METADATA(MediaType);
Q_DECLARE_METADATA(Duration);
// Audio
Q_DECLARE_METADATA(AudioBitRate);
Q_DECLARE_METADATA(AudioCodec);
Q_DECLARE_METADATA(AverageLevel);
Q_DECLARE_METADATA(ChannelCount);
Q_DECLARE_METADATA(PeakValue);
Q_DECLARE_METADATA(SampleRate);
// Music
Q_DECLARE_METADATA(AlbumTitle);
Q_DECLARE_METADATA(AlbumArtist);
Q_DECLARE_METADATA(ContributingArtist);
Q_DECLARE_METADATA(Composer);
Q_DECLARE_METADATA(Conductor);
Q_DECLARE_METADATA(Lyrics);
Q_DECLARE_METADATA(Mood);
Q_DECLARE_METADATA(TrackNumber);
Q_DECLARE_METADATA(TrackCount);
Q_DECLARE_METADATA(CoverArtUrlSmall);
Q_DECLARE_METADATA(CoverArtUrlLarge);
// Image/Video
Q_DECLARE_METADATA(Resolution);
Q_DECLARE_METADATA(PixelAspectRatio);
// Video
Q_DECLARE_METADATA(VideoFrameRate);
Q_DECLARE_METADATA(VideoBitRate);
Q_DECLARE_METADATA(VideoCodec);
Q_DECLARE_METADATA(PosterUrl);
// Movie
Q_DECLARE_METADATA(ChapterNumber);
Q_DECLARE_METADATA(Director);
Q_DECLARE_METADATA(LeadPerformer);
Q_DECLARE_METADATA(Writer);
// Photos
Q_DECLARE_METADATA(CameraManufacturer);
Q_DECLARE_METADATA(CameraModel);
Q_DECLARE_METADATA(Event);
Q_DECLARE_METADATA(Subject);
Q_DECLARE_METADATA(Orientation);
Q_DECLARE_METADATA(ExposureTime);
Q_DECLARE_METADATA(FNumber);
Q_DECLARE_METADATA(ExposureProgram);
Q_DECLARE_METADATA(ISOSpeedRatings);
Q_DECLARE_METADATA(ExposureBiasValue);
Q_DECLARE_METADATA(DateTimeOriginal);
Q_DECLARE_METADATA(DateTimeDigitized);
Q_DECLARE_METADATA(SubjectDistance);
Q_DECLARE_METADATA(MeteringMode);
Q_DECLARE_METADATA(LightSource);
Q_DECLARE_METADATA(Flash);
Q_DECLARE_METADATA(FocalLength);
Q_DECLARE_METADATA(ExposureMode);
Q_DECLARE_METADATA(WhiteBalance);
Q_DECLARE_METADATA(DigitalZoomRatio);
Q_DECLARE_METADATA(FocalLengthIn35mmFilm);
Q_DECLARE_METADATA(SceneCaptureType);
Q_DECLARE_METADATA(GainControl);
Q_DECLARE_METADATA(Contrast);
Q_DECLARE_METADATA(Saturation);
Q_DECLARE_METADATA(Sharpness);
Q_DECLARE_METADATA(DeviceSettingDescription);
// Location
Q_DECLARE_METADATA(GPSLatitude);
Q_DECLARE_METADATA(GPSLongitude);
Q_DECLARE_METADATA(GPSAltitude);
Q_DECLARE_METADATA(GPSTimeStamp);
Q_DECLARE_METADATA(GPSSatellites);
Q_DECLARE_METADATA(GPSStatus);
Q_DECLARE_METADATA(GPSDOP);
Q_DECLARE_METADATA(GPSSpeed);
Q_DECLARE_METADATA(GPSTrack);
Q_DECLARE_METADATA(GPSTrackRef);
Q_DECLARE_METADATA(GPSImgDirection);
Q_DECLARE_METADATA(GPSImgDirectionRef);
Q_DECLARE_METADATA(GPSMapDatum);
Q_DECLARE_METADATA(GPSProcessingMethod);
Q_DECLARE_METADATA(GPSAreaInformation);
Q_DECLARE_METADATA(PosterImage);
Q_DECLARE_METADATA(CoverArtImage);
Q_DECLARE_METADATA(ThumbnailImage);
#endif
}
#undef Q_DECLARE_METADATA
QT_END_NAMESPACE
#endif // QMEDIAMETADATA_H