/usr/include/QtGStreamer/QGst/taglist.h is in libqtgstreamer-dev 1.2.0-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 | /*
Copyright (C) 2010 Collabora Multimedia.
@author Mauricio Piacentini <mauricio.piacentini@collabora.co.uk>
This library is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef QGST_TAGLIST_H
#define QGST_TAGLIST_H
#include "global.h"
#include "../QGlib/type.h"
#include "../QGlib/value.h"
#include <QtCore/QString>
class QDate;
class QDateTime;
namespace QGst {
/*! \headerfile taglist.h <QGst/TagList>
* \brief Wrapper class for GstTagList
*
* TagList is a collection of tags and values that is associated with TagMessages and TagEvents. used to describe
* metadata in media files.
*
* Tags are usually set with the helper functions:
* \code
* TagList tl();
* tl.setTitle("12th Symphony");
* tl.setAuthor("Beethoven");
* tl.setTrackNumber(1);
* \endcode
*
* And retrieved as native Qt types in a similar way:
* \code
* qDebug() << tl.title();
* int track = tl.trackNumber();
* \endcode
*
* Some tags accept multiple values. By default only the first value is returned, but it is possible to determine
* the number of values available and retrieve a specific one using its index:
* \code
* int authors = tl.authorCount();
* for (int i=0; i<authors; i++) {
* myAuthorList << tl.author(i);
* }
* \endcode
*
* It is also possible to use the optional TagMerge parameters when setting tags that accept multiple values:
* \code
* tl.setAuthor("John");
* tl.setAuthor("Mary", QGst::TagMergeAppend); //now tl.authorCount() equals 2
* tl.setAuthor("George", QGst::TagMergeReplaceAll); //now there is only one author, "George"
* \endcode
*
* \note This class is implicitly shared.
*/
class QTGSTREAMER_EXPORT TagList
{
public:
TagList();
TagList(const GstTagList *taglist);
TagList(const TagList & other);
virtual ~TagList();
TagList & operator=(const TagList & other);
bool isEmpty() const;
void insert(const TagList & other, TagMergeMode mode = TagMergeAppend);
static TagList merge(const TagList & firstList, const TagList & secondList,
TagMergeMode mode = TagMergeAppend);
QGlib::Value tagValue(const char *tag, int index = 0) const;
void setTagValue(const char *tag, const QGlib::Value & value,
TagMergeMode mode = TagMergeReplaceAll);
int tagValueCount(const char *tag) const;
void clear();
void removeTag(const char *tag);
operator GstTagList*();
operator const GstTagList*() const;
//Begin helpers
QString title(int index = 0) const;
void setTitle(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int titleCount() const;
QString titleSortName() const;
void setTitleSortName(const QString & value);
QString artist(int index = 0) const;
void setArtist(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int artistCount() const;
QString artistSortName() const;
void setArtistSortName(const QString & value);
QString composer(int index = 0) const;
void setComposer(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int composerCount() const;
QDate date() const;
void setDate(const QDate & value);
QString genre(int index = 0) const;
void setGenre(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int genreCount() const;
QString comment(int index = 0) const;
void setComment(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int commentCount() const;
QString extendedComment(int index = 0) const;
void setExtendedComment(const QString & value, TagMergeMode mode = TagMergeReplaceAll);;
int extendedCommentCount() const;
quint32 trackNumber() const;
void setTrackNumber(quint32 value);
quint32 trackCount() const;
void setTrackCount(quint32 value);
quint32 albumVolumeNumber() const;
void setAlbumVolumeNumber(quint32 value);
quint32 albumVolumeCount() const;
void setAlbumVolumeCount(quint32 value);
QString location(int index = 0) const;
void setLocation(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int locationCount() const;
QString homepage(int index = 0) const;
void setHomepage(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int homepageCount() const;
QString description(int index = 0) const;
void setDescription(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int descriptionCount() const;
QString version() const;
void setVersion(const QString & value);
QString isrc() const;
void setIsrc(const QString & value);
QString organization(int index = 0) const;
void setOrganization(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int organizationCount() const;
QString copyright() const;
void setCopyright(const QString & value);
QString copyrightUri() const;
void setCopyrightUri(const QString & value);
QString contact(int index = 0) const;
void setContact(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int contactCount() const;
QString license() const;
void setLicense(const QString & value);
QString licenseUri() const;
void setLicenseUri(const QString & value);
QString performer(int index = 0) const;
void setPerformer(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int performerCount() const;
quint64 duration() const;
void setDuration(quint64 value);
QString codec() const;
void setCodec(const QString & value);
QString videoCodec() const;
void setVideoCodec(const QString & value);
QString audioCodec() const;
void setAudioCodec(const QString & value);
QString subtitleCodec() const;
void setSubtitleCodec(const QString & value);
QString containerFormat() const;
void setContainerFormat(const QString & value);
quint32 bitrate() const;
void setBitrate(quint32 value);
quint32 nominalBitrate() const;
void setNominalBitrate(quint32 value);
quint32 minimumBitrate() const;
void setMinimumBitrate(quint32 value);
quint32 maximumBitrate() const;
void setMaximumBitrate(quint32 value);
quint32 serial() const;
void setSerial(quint32 value);
QString encoder() const;
void setEncoder(const QString & value);
quint32 encoderVersion() const;
void setEncoderVersion(quint32 value);
double trackGain() const;
void setTrackGain(double value);
double trackPeak() const;
void setTrackPeak(double value);
double albumGain() const;
void setAlbumGain(double value);
double albumPeak() const;
void setAlbumPeak(double value);
double referenceLevel() const;
void setReferenceLevel(double value);
QString languageCode() const;
void setLanguageCode(const QString & value);
SamplePtr image(int index = 0) const;
void setImage(const SamplePtr & value, TagMergeMode mode = TagMergeReplaceAll);
int imageCount() const;
SamplePtr previewImage() const;
void setPreviewImage(const SamplePtr & value);
SamplePtr attachment(int index = 0) const;
void setAttachment(const SamplePtr & value, TagMergeMode mode = TagMergeReplaceAll);
int attachmentCount() const;
double beatsPerMinute() const;
void setBeatsPerMinute(double value);
QString keywords(int index = 0) const;
void setKeywords(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int keywordsCount() const;
QString geoLocationName() const;
void seGeoLocationName(const QString & value);
double geoLocationLatitude() const;
void setGeoLocationLatitude(double value);
double geoLocationLongitude() const;
void setGeoLocationLongitude(double value);
double geoLocationElevation() const;
void setGeoLocationElevation(double value);
QString geoLocationCountry() const;
void setGeoLocationCountry(const QString & value);
QString geoLocationCity() const;
void setGeoLocationCity(const QString & value);
QString geoLocationSublocation() const;
void setGeoLocationSublocation(const QString & value);
double geoLocationMovementSpeed() const;
void setGeoLocationMovementSpeed(double value);
double geoLocationMovementDirection() const;
void setGeoLocationMovementDirection(double value);
double geoLocationCaptureDirection() const;
void setGeoLocationCaptureDirector(double value);
QString showName(int index = 0) const;
void setShowName(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int showNameCount() const;
QString showSortName() const;
void setShowSortName(const QString & value);
quint32 showEpisodeNumber() const;
void setShowEpisodeNumber(quint32 value);
quint32 showSeasonNumber() const;
void setShowSeasonNumber(quint32 value);
QString lyrics(int index = 0) const;
void setLyrics(const QString & value, TagMergeMode mode = TagMergeReplaceAll);
int lyricsCount() const;
QString composerSortName() const;
void setComposerSortName(const QString & value);
QString grouping() const;
void setGrouping(const QString & value);
quint32 userRating() const;
void setUserRating(quint32 value);
QString deviceManufacturer() const;
void setDeviceManufacturer(const QString & value);
QString deviceModel() const;
void setDeviceModel(const QString & value);
QString imageOrientation() const;
void setImageOrientation(const QString & value);
QString applicationName() const;
void setApplicationName(const QString & value);
SamplePtr applicationData() const;
void setApplicationData(const SamplePtr & value);
QDateTime dateTime() const;
void setDateTime(const QDateTime & value);
double geoLocationHorizontalError() const;
void setGeoLocationHorizontalError(double value);
private:
struct Data;
QSharedDataPointer<Data> d;
};
/*! \relates QGst::TagList */
QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug, const TagList & taglist);
} //namespace QGst
QGST_REGISTER_TYPE(QGst::TagList)
#endif
|