/* This file is part of KFileMetaData SPDX-FileCopyrightText: 2014 Vishesh Handa SPDX-License-Identifier: LGPL-2.1-or-later */ #ifndef KFILEMETADATA_PROPERTIES #define KFILEMETADATA_PROPERTIES #include "kfilemetadata_export.h" #include #include namespace KFileMetaData { /*! * \namespace KFileMetaData::Property * \inmodule KFileMetaData * \brief The Property namespace. */ namespace Property { /*! * The Property enum contains all files property types that KFileMetaData manipulates * * \value Empty * \value BitRate The Bit Rate of the Audio in the file. Represented as an integer in kbit/sec * \value Channels The number of channels of the Audio in the file. Represented as an integer * \value Duration The duration of the media in the file. Represented as an integer in seconds * \value Genre The Genre of an Audio file. This is represented as a string of genres and not integers. The IDv1 standard provides a list of commonly excepted genres. * \value SampleRate The sample rate or frequency of the Audio in the file. This is represented as an integer in Hz. So a file with "44.1KHz" will have a frequency of 44100 * \value TrackNumber Represents the track number in a set. Typically maps to the "TRCK" tag in IDv3 * \value ReleaseYear Indicates the year a track was released. Represented as an integer. Typically mapped to the "TYE (Year)" tag in IDv1 * \value Comment Represents a comment stored in the file. This can map to e.g. the "COMM" field from IDv3 * \value Artist Represents the artist of a media file. This generally corresponds to the IDv1 ARTIST tag. Many extractors often split this string into a number of artists. * \value Album Represents the album of a media file. This generally corresponds to the IDv1 ALBUM tag. * \value AlbumArtist Represents the album artist of a media file. This generally corresponds to the IDv3 TPE2 ("Band/Orchestra/Accompaniment") tag. * \value Composer Represents the Composer of a media file. This generally corresponds to the IDv2 COMPOSER tag * \value Lyricist Represents the Lyricist of a media file. This generally corresponds to the IDv2 "Lyricist/text writer" tag * \value Author The Author field indicated the primary creator of a document. This often corresponds directly to dc:creator * \value Title Refers to the Title of the content of the file. This can represented by the IDv1 tag TT2 (Title/songname/content description) or the TITLE in a PDF file or the 'dc:title' tag in DublinCore * \value Subject Refers to the subject of the file. This directly corresponds to the 'dc:subject' tag from DublinCore. * \value Generator Refers to the Application used to create this file. In the ODF standard this maps to the 'meta:generator' tag. In PDFs its mapped to the "Producer" tag. * \value PageCount The number of pages in a document * \value WordCount The number of words in a document. This is often only provided for documents where the word count is available in the metadata * \value LineCount The number of lines in a document. This is often only provided for documents where the line count is available in the metadata * \value[since 5.50] Language The language the document is written in. This directly maps to the 'dc:language' tag from DublinCore. We do NOT employ any language detection schemes on the text * \value Copyright The copyright of the file. Represented as a string * \value Publisher The publisher of the content. Represented as a string * \value CreationDate The date the content of the file was created. This is extracted from the file metadata and not from the file system. In ODF, it corresponds to "meta:creation-date", in PDF to the "CreationDate" tag, and otherwise the "dcterms:created" tag * \value Keywords The keywords used to represent the document. This is mostly a string list of all the keywords * \value Width Represents the width of the Media in pixels. This is generally only applicable for Images and Videos * \value Height Represents the height of the Media in pixels. This is generally only applicable for Images and Videos * \value AspectRatio The Aspect Ratio of the visual image or video. It is the width of a pixel divided by the height of the pixel * \value FrameRate Number of frames per second * \value[since 5.60] Manufacturer The manufacturer of the equipment used for generating the file and metadata. Typically maps to the 'Exif.Image.Make' tag * \value[since 5.60] Model The model name of the equipment used for generating the file and metadata. Typically maps to the 'Exif.Image.Model' tag * \value ImageDateTime * \value ImageOrientation * \value PhotoFlash * \value PhotoPixelXDimension * \value PhotoPixelYDimension * \value PhotoDateTimeOriginal * \value PhotoFocalLength * \value PhotoFocalLengthIn35mmFilm * \value PhotoExposureTime * \value PhotoFNumber * \value PhotoApertureValue * \value PhotoExposureBiasValue * \value PhotoWhiteBalance * \value PhotoMeteringMode * \value PhotoISOSpeedRatings * \value PhotoSaturation * \value PhotoSharpness * \value PhotoGpsLatitude * \value PhotoGpsLongitude * \value PhotoGpsAltitude * \value TranslationUnitsTotal * \value TranslationUnitsWithTranslation * \value TranslationUnitsWithDraftTranslation * \value TranslationLastAuthor * \value TranslationLastUpDate * \value TranslationTemplateDate * \value OriginUrl The URL this file has originally been downloaded from * \value OriginEmailSubject The subject of the email this file was originally attached to * \value OriginEmailSender The sender of the email this file was originally attached to * \value OriginEmailMessageId The message ID of the email this file was originally attached to * \value DiscNumber Represents the disc number in a multi-disc set. Typically maps to the "TPOS" tag for mp3 * \value Location Represents the location where an audio file was recorded * \value Performer Represents the (lead) performer of an audio file * \value Ensemble Represents the ensemble of an audio file * \value Arranger Represents the arranger of an audio file * \value Conductor Represents the conductor of an audio file * \value Opus Represents the opus of an audio file mostly used for classical music * \value Label Represents the label of the content * \value Compilation Contains the name of the compilation of an audio file * \value License Contains the license information of the file * \value Rating For ratings stored in Metadata tags * \value Lyrics Contains the lyrics of a song embedded in the file * \value ReplayGainAlbumPeak Contains ReplayGain information for audio files * \value ReplayGainAlbumGain Contains ReplayGain information for audio files. The album gain is given in "dB" * \value ReplayGainTrackPeak Contains ReplayGain information for audio files * \value ReplayGainTrackGain Contains ReplayGain information for audio files. The track gain is given in "dB" * \value Description Represents the description stored in the file. This maps to the 'dc:description' tag from DublinCore * \value[since 6.13] VideoCodec A string description of the codec used * \value[since 6.13] AudioCodec A string description of the codec used * \value[since 6.13] PixelFormat The Pixel format used by the media (image or video) * \value[since 6.13] ColorSpace The Color space used by the media (image or video) * \value[since 6.16] AssistiveAlternateDescription A brief textual description of the purpose and meaning of an image. The text can be used by assistive technology. */ enum Property { Empty = 0, BitRate, Channels, Duration, Genre, SampleRate, TrackNumber, ReleaseYear, Comment, Artist, Album, AlbumArtist, Composer, Lyricist, Author, Title, Subject, Generator, PageCount, WordCount, LineCount, Language, Copyright, Publisher, CreationDate, Keywords, Width, Height, AspectRatio, FrameRate, Manufacturer, Model, ImageDateTime, ImageOrientation, PhotoFlash, PhotoPixelXDimension, PhotoPixelYDimension, PhotoDateTimeOriginal, PhotoFocalLength, PhotoFocalLengthIn35mmFilm, PhotoExposureTime, PhotoFNumber, PhotoApertureValue, PhotoExposureBiasValue, PhotoWhiteBalance, PhotoMeteringMode, PhotoISOSpeedRatings, PhotoSaturation, PhotoSharpness, PhotoGpsLatitude, PhotoGpsLongitude, PhotoGpsAltitude, TranslationUnitsTotal, TranslationUnitsWithTranslation, TranslationUnitsWithDraftTranslation, TranslationLastAuthor, TranslationLastUpDate, TranslationTemplateDate, OriginUrl, OriginEmailSubject, OriginEmailSender, OriginEmailMessageId, DiscNumber, Location, Performer, Ensemble, Arranger, Conductor, Opus, Label, Compilation, License, Rating, Lyrics, ReplayGainAlbumPeak, ReplayGainAlbumGain, ReplayGainTrackPeak, ReplayGainTrackGain, Description, VideoCodec, AudioCodec, PixelFormat, ColorSpace, AssistiveAlternateDescription, }; } // namespace Property using PropertyMultiMap = QMultiMap; } // namespace KFileMetaData Q_DECLARE_METATYPE(KFileMetaData::Property::Property) Q_DECLARE_METATYPE(KFileMetaData::PropertyMultiMap) #endif