00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef QGST_TAGLIST_H
00019 #define QGST_TAGLIST_H
00020
00021 #include "global.h"
00022 #include "../QGlib/type.h"
00023 #include "../QGlib/value.h"
00024 #include <QtCore/QString>
00025
00026 class QDate;
00027 class QDateTime;
00028
00029 namespace QGst {
00030
00070 class QTGSTREAMER_EXPORT TagList
00071 {
00072 public:
00073 TagList();
00074 TagList(const GstTagList *taglist);
00075 TagList(const TagList & other);
00076 virtual ~TagList();
00077
00078 TagList & operator=(const TagList & other);
00079
00080 bool isEmpty() const;
00081
00082 void insert(const TagList & other, TagMergeMode mode = TagMergeAppend);
00083 static TagList merge(const TagList & firstList, const TagList & secondList,
00084 TagMergeMode mode = TagMergeAppend);
00085
00086 QGlib::Value tagValue(const char *tag, int index = 0) const;
00087 void setTagValue(const char *tag, const QGlib::Value & value,
00088 TagMergeMode mode = TagMergeReplaceAll);
00089 int tagValueCount(const char *tag) const;
00090
00091 void clear();
00092 void removeTag(const char *tag);
00093
00094 operator GstTagList*();
00095 operator const GstTagList*() const;
00096
00097
00098
00099 QString title(int index = 0) const;
00100 void setTitle(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00101 int titleCount() const;
00102
00103 QString titleSortName() const;
00104 void setTitleSortName(const QString & value);
00105
00106 QString artist(int index = 0) const;
00107 void setArtist(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00108 int artistCount() const;
00109
00110 QString artistSortName() const;
00111 void setArtistSortName(const QString & value);
00112
00113 QString composer(int index = 0) const;
00114 void setComposer(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00115 int composerCount() const;
00116
00117 QDate date() const;
00118 void setDate(const QDate & value);
00119
00120 QString genre(int index = 0) const;
00121 void setGenre(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00122 int genreCount() const;
00123
00124 QString comment(int index = 0) const;
00125 void setComment(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00126 int commentCount() const;
00127
00128 QString extendedComment(int index = 0) const;
00129 void setExtendedComment(const QString & value, TagMergeMode mode = TagMergeReplaceAll);;
00130 int extendedCommentCount() const;
00131
00132 quint32 trackNumber() const;
00133 void setTrackNumber(quint32 value);
00134
00135 quint32 trackCount() const;
00136 void setTrackCount(quint32 value);
00137
00138 quint32 albumVolumeNumber() const;
00139 void setAlbumVolumeNumber(quint32 value);
00140
00141 quint32 albumVolumeCount() const;
00142 void setAlbumVolumeCount(quint32 value);
00143
00144 QString location(int index = 0) const;
00145 void setLocation(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00146 int locationCount() const;
00147
00148 QString homepage(int index = 0) const;
00149 void setHomepage(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00150 int homepageCount() const;
00151
00152 QString description(int index = 0) const;
00153 void setDescription(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00154 int descriptionCount() const;
00155
00156 QString version() const;
00157 void setVersion(const QString & value);
00158
00159 QString isrc() const;
00160 void setIsrc(const QString & value);
00161
00162 QString organization(int index = 0) const;
00163 void setOrganization(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00164 int organizationCount() const;
00165
00166 QString copyright() const;
00167 void setCopyright(const QString & value);
00168
00169 QString copyrightUri() const;
00170 void setCopyrightUri(const QString & value);
00171
00172 QString contact(int index = 0) const;
00173 void setContact(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00174 int contactCount() const;
00175
00176 QString license() const;
00177 void setLicense(const QString & value);
00178
00179 QString licenseUri() const;
00180 void setLicenseUri(const QString & value);
00181
00182 QString performer(int index = 0) const;
00183 void setPerformer(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00184 int performerCount() const;
00185
00186 quint64 duration() const;
00187 void setDuration(quint64 value);
00188
00189 QString codec() const;
00190 void setCodec(const QString & value);
00191
00192 QString videoCodec() const;
00193 void setVideoCodec(const QString & value);
00194
00195 QString audioCodec() const;
00196 void setAudioCodec(const QString & value);
00197
00198 QString subtitleCodec() const;
00199 void setSubtitleCodec(const QString & value);
00200
00201 QString containerFormat() const;
00202 void setContainerFormat(const QString & value);
00203
00204 quint32 bitrate() const;
00205 void setBitrate(quint32 value);
00206
00207 quint32 nominalBitrate() const;
00208 void setNominalBitrate(quint32 value);
00209
00210 quint32 minimumBitrate() const;
00211 void setMinimumBitrate(quint32 value);
00212
00213 quint32 maximumBitrate() const;
00214 void setMaximumBitrate(quint32 value);
00215
00216 quint32 serial() const;
00217 void setSerial(quint32 value);
00218
00219 QString encoder() const;
00220 void setEncoder(const QString & value);
00221
00222 quint32 encoderVersion() const;
00223 void setEncoderVersion(quint32 value);
00224
00225 double trackGain() const;
00226 void setTrackGain(double value);
00227
00228 double trackPeak() const;
00229 void setTrackPeak(double value);
00230
00231 double albumGain() const;
00232 void setAlbumGain(double value);
00233
00234 double albumPeak() const;
00235 void setAlbumPeak(double value);
00236
00237 double referenceLevel() const;
00238 void setReferenceLevel(double value);
00239
00240 QString languageCode() const;
00241 void setLanguageCode(const QString & value);
00242
00243 BufferPtr image(int index = 0) const;
00244 void setImage(const BufferPtr & value, TagMergeMode mode = TagMergeReplaceAll);
00245 int imageCount() const;
00246
00247 BufferPtr previewImage() const;
00248 void setPreviewImage(const BufferPtr & value);
00249
00250 BufferPtr attachment(int index = 0) const;
00251 void setAttachment(const BufferPtr & value, TagMergeMode mode = TagMergeReplaceAll);
00252 int attachmentCount() const;
00253
00254 double beatsPerMinute() const;
00255 void setBeatsPerMinute(double value);
00256
00257 QString keywords(int index = 0) const;
00258 void setKeywords(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00259 int keywordsCount() const;
00260
00261 QString geoLocationName() const;
00262 void seGeoLocationName(const QString & value);
00263
00264 double geoLocationLatitude() const;
00265 void setGeoLocationLatitude(double value);
00266
00267 double geoLocationLongitude() const;
00268 void setGeoLocationLongitude(double value);
00269
00270 double geoLocationElevation() const;
00271 void setGeoLocationElevation(double value);
00272
00273 QString geoLocationCountry() const;
00274 void setGeoLocationCountry(const QString & value);
00275
00276 QString geoLocationCity() const;
00277 void setGeoLocationCity(const QString & value);
00278
00279 QString geoLocationSublocation() const;
00280 void setGeoLocationSublocation(const QString & value);
00281
00282 double geoLocationMovementSpeed() const;
00283 void setGeoLocationMovementSpeed(double value);
00284
00285 double geoLocationMovementDirection() const;
00286 void setGeoLocationMovementDirection(double value);
00287
00288 double geoLocationCaptureDirection() const;
00289 void setGeoLocationCaptureDirector(double value);
00290
00291 QString showName(int index = 0) const;
00292 void setShowName(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00293 int showNameCount() const;
00294
00295 QString showSortName() const;
00296 void setShowSortName(const QString & value);
00297
00298 quint32 showEpisodeNumber() const;
00299 void setShowEpisodeNumber(quint32 value);
00300
00301 quint32 showSeasonNumber() const;
00302 void setShowSeasonNumber(quint32 value);
00303
00304 QString lyrics(int index = 0) const;
00305 void setLyrics(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
00306 int lyricsCount() const;
00307
00308 QString composerSortName() const;
00309 void setComposerSortName(const QString & value);
00310
00311 QString grouping() const;
00312 void setGrouping(const QString & value);
00313
00314 quint32 userRating() const;
00315 void setUserRating(quint32 value);
00316
00317 QString deviceManufacturer() const;
00318 void setDeviceManufacturer(const QString & value);
00319
00320 QString deviceModel() const;
00321 void setDeviceModel(const QString & value);
00322
00323 QString imageOrientation() const;
00324 void setImageOrientation(const QString & value);
00325
00326 QString applicationName() const;
00327 void setApplicationName(const QString & value);
00328
00329 BufferPtr applicationData() const;
00330 void setApplicationData(const BufferPtr & value);
00331
00332 QDateTime dateTime() const;
00333 void setDateTime(const QDateTime & value);
00334
00335 double geoLocationHorizontalError() const;
00336 void setGeoLocationHorizontalError(double value);
00337
00338 private:
00339 struct Data;
00340 QSharedDataPointer<Data> d;
00341 };
00342
00344 QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug, const TagList & taglist);
00345
00346 }
00347
00348 QGST_REGISTER_TYPE(QGst::TagList)
00349
00350 #endif