tagparser/matroska/matroskatagid.h

390 lines
9.7 KiB
C
Raw Normal View History

#ifndef TAG_PARSER_MATROSKATAGIDS_H
#define TAG_PARSER_MATROSKATAGIDS_H
2015-04-22 19:22:01 +02:00
2016-05-26 01:59:22 +02:00
#include "../tagtarget.h"
2015-04-22 19:22:01 +02:00
namespace TagParser {
2015-04-22 19:22:01 +02:00
/*!
* \brief Encapsulates Matroska tag IDs.
*/
namespace MatroskaTagIds {
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *original() {
2015-04-22 19:22:01 +02:00
return "ORIGINAL";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *sample() {
2015-04-22 19:22:01 +02:00
return "SAMPLE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *country() {
2015-04-22 19:22:01 +02:00
return "COUNTRY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *totalParts() {
2015-04-22 19:22:01 +02:00
return "TOTAL_PARTS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *partNumber() {
2015-04-22 19:22:01 +02:00
return "PART_NUMBER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *partOffset() {
2015-04-22 19:22:01 +02:00
return "PART_OFFSET";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *title() {
2015-04-22 19:22:01 +02:00
return "TITLE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *subtitle() {
2015-04-22 19:22:01 +02:00
return "SUBTITLE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *url() {
2015-04-22 19:22:01 +02:00
return "URL";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *sortWith() {
2015-04-22 19:22:01 +02:00
return "SORT_WITH";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *instruments() {
2015-04-22 19:22:01 +02:00
return "INSTRUMENTS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *email() {
2015-04-22 19:22:01 +02:00
return "EMAIL";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *address() {
2015-04-22 19:22:01 +02:00
return "ADDRESS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *fax() {
2015-04-22 19:22:01 +02:00
return "FAX";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *phone() {
2015-04-22 19:22:01 +02:00
return "PHONE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *artist() {
2015-04-22 19:22:01 +02:00
return "ARTIST";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *album() {
2015-04-22 19:22:01 +02:00
return "ALBUM";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *leadPerformer() {
2015-04-22 19:22:01 +02:00
return "LEAD_PERFORMER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *accompaniment() {
2015-04-22 19:22:01 +02:00
return "ACCOMPANIMENT";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *composer() {
2015-04-22 19:22:01 +02:00
return "COMPOSER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *arranger() {
2015-04-22 19:22:01 +02:00
return "ARRANGER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *lyrics() {
2015-04-22 19:22:01 +02:00
return "LYRICS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *lyricist() {
2015-04-22 19:22:01 +02:00
return "LYRICIST";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *conductor() {
2015-04-22 19:22:01 +02:00
return "CONDUCTOR";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *director() {
2015-04-22 19:22:01 +02:00
return "DIRECTOR";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *assistantDirector() {
2015-04-22 19:22:01 +02:00
return "ASSISTANT_DIRECTOR";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *directorOfPhotography() {
2015-04-22 19:22:01 +02:00
return "DIRECTOR_OF_PHOTOGRAPHY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *soundEngineer() {
2015-04-22 19:22:01 +02:00
return "SOUND_ENGINEER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *artDirector() {
2015-04-22 19:22:01 +02:00
return "ART_DIRECTOR";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *productionDesigner() {
2015-04-22 19:22:01 +02:00
return "PRODUCTION_DESIGNER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *choregrapher() {
2015-04-22 19:22:01 +02:00
return "CHOREGRAPHER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *costumeDesigner() {
2015-04-22 19:22:01 +02:00
return "COSTUME_DESIGNER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *actor() {
2015-04-22 19:22:01 +02:00
return "ACTOR";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *character() {
2015-04-22 19:22:01 +02:00
return "CHARACTER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *writtenBy() {
2015-04-22 19:22:01 +02:00
return "WRITTEN_BY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *screenplayBy() {
2015-04-22 19:22:01 +02:00
return "SCREENPLAY_BY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *editedBy() {
2015-04-22 19:22:01 +02:00
return "EDITED_BY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *producer() {
2015-04-22 19:22:01 +02:00
return "PRODUCER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *coproducer() {
2015-04-22 19:22:01 +02:00
return "COPRODUCER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *executiveProducer() {
2015-04-22 19:22:01 +02:00
return "EXECUTIVE_PRODUCER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *distributedBy() {
2015-04-22 19:22:01 +02:00
return "DISTRIBUTED_BY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *masteredBy() {
2015-04-22 19:22:01 +02:00
return "MASTERED_BY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *encodedBy() {
2015-04-22 19:22:01 +02:00
return "ENCODED_BY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *mixedBy() {
2015-04-22 19:22:01 +02:00
return "MIXED_BY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *remixedBy() {
2015-04-22 19:22:01 +02:00
return "REMIXED_BY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *productionStudio() {
2015-04-22 19:22:01 +02:00
return "PRODUCTION_STUDIO";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *thanksTo() {
2015-04-22 19:22:01 +02:00
return "THANKS_TO";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *publisher() {
2015-04-22 19:22:01 +02:00
return "PUBLISHER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *label() {
2015-04-22 19:22:01 +02:00
return "LABEL";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *genre() {
2015-04-22 19:22:01 +02:00
return "GENRE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *mood() {
2015-04-22 19:22:01 +02:00
return "MOOD";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *originalMediaType() {
return "ORIGINAL_TAG_PARSER_TYPE";
2015-04-22 19:22:01 +02:00
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *contentType() {
2015-04-22 19:22:01 +02:00
return "CONTENT_TYPE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *subject() {
2015-04-22 19:22:01 +02:00
return "SUBJECT";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *description() {
2015-04-22 19:22:01 +02:00
return "DESCRIPTION";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *keywords() {
2015-04-22 19:22:01 +02:00
return "KEYWORDS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *summary() {
2015-04-22 19:22:01 +02:00
return "SUMMARY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *synopsis() {
2015-04-22 19:22:01 +02:00
return "SYNOPSIS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *initialKey() {
2015-04-22 19:22:01 +02:00
return "INITIAL_KEY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *period() {
2015-04-22 19:22:01 +02:00
return "PERIOD";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *lawRating() {
2015-04-22 19:22:01 +02:00
return "LAW_RATING";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *icra() {
2015-04-22 19:22:01 +02:00
return "ICRA";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *dateRelease() {
return "DATE_RELEASED";
2015-04-22 19:22:01 +02:00
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *dateRecorded() {
2015-04-22 19:22:01 +02:00
return "DATE_RECORDED";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *dateEncoded() {
2015-04-22 19:22:01 +02:00
return "DATE_ENCODED";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *dateTagged() {
2015-04-22 19:22:01 +02:00
return "DATE_TAGGED";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *dateDigitized() {
2015-04-22 19:22:01 +02:00
return "DATE_DIGITIZED";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *dateWritten() {
2015-04-22 19:22:01 +02:00
return "DATE_WRITTEN";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *datePurchased() {
2015-04-22 19:22:01 +02:00
return "DATE_PURCHASED";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *recordingLocation() {
2015-04-22 19:22:01 +02:00
return "RECORDING_LOCATION";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *compositionLocation() {
2015-04-22 19:22:01 +02:00
return "COMPOSITION_LOCATION";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *composerNationality() {
2015-04-22 19:22:01 +02:00
return "COMPOSER_NATIONALITY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *comment() {
2015-04-22 19:22:01 +02:00
return "COMMENT";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *playCounter() {
2015-04-22 19:22:01 +02:00
return "PLAY_COUNTER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *rating() {
2015-04-22 19:22:01 +02:00
return "RATING";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *encoder() {
2015-04-22 19:22:01 +02:00
return "ENCODER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *encoderSettings() {
2015-04-22 19:22:01 +02:00
return "ENCODER_SETTINGS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *bps() {
2015-04-22 19:22:01 +02:00
return "BPS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *fps() {
2015-04-22 19:22:01 +02:00
return "FPS";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *bpm() {
2015-04-22 19:22:01 +02:00
return "BPM";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *duration() {
2015-04-22 19:22:01 +02:00
return "DURATION";
}
2017-05-07 20:21:19 +02:00
inline TAG_PARSER_EXPORT const char *language() {
return "LANGUAGE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *numberOfFrames() {
2015-04-22 19:22:01 +02:00
return "NUMBER_OF_FRAMES";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *numberOfBytes() {
2015-04-22 19:22:01 +02:00
return "NUMBER_OF_BYTES";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *measure() {
2015-04-22 19:22:01 +02:00
return "MEASURE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *tuning() {
2015-04-22 19:22:01 +02:00
return "TUNING";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *replaygainGain() {
2015-04-22 19:22:01 +02:00
return "REPLAYGAIN_GAIN";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *replaygainPeak() {
2015-04-22 19:22:01 +02:00
return "REPLAYGAIN_PEAK";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *identifiers() {
2015-04-22 19:22:01 +02:00
return "Identifiers";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *isrc() {
2015-04-22 19:22:01 +02:00
return "ISRC";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *mcdi() {
2015-04-22 19:22:01 +02:00
return "MCDI";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *isbn() {
2015-04-22 19:22:01 +02:00
return "ISBN";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *barcode() {
2015-04-22 19:22:01 +02:00
return "BARCODE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *catalogNumber() {
2015-04-22 19:22:01 +02:00
return "CATALOG_NUMBER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *labelCode() {
2015-04-22 19:22:01 +02:00
return "LABEL_CODE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *lccn() {
2015-04-22 19:22:01 +02:00
return "LCCN";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *purchaseItem() {
2015-04-22 19:22:01 +02:00
return "PURCHASE_ITEM";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *purchaseInfo() {
2015-04-22 19:22:01 +02:00
return "PURCHASE_INFO";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *purchaseOwner() {
2015-04-22 19:22:01 +02:00
return "PURCHASE_OWNER";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *purchasePrice() {
2015-04-22 19:22:01 +02:00
return "PURCHASE_PRICE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *purchaseCurrency() {
2015-04-22 19:22:01 +02:00
return "PURCHASE_CURRENCY";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *copyright() {
2015-04-22 19:22:01 +02:00
return "COPYRIGHT";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *productionCopyright() {
2015-04-22 19:22:01 +02:00
return "PRODUCTION_COPYRIGHT";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *license() {
2015-04-22 19:22:01 +02:00
return "LICENSE";
}
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT const char *termsOfUse() {
2015-04-22 19:22:01 +02:00
return "TERMS_OF_USE";
}
/*!
* \brief Encapsulates track-specific Matroska tag IDs written by mkvmerge 7.0.0 or newer.
* \sa https://github.com/mbunkus/mkvtoolnix/wiki/Automatic-tag-generation
*/
namespace TrackSpecific {
inline TAG_PARSER_EXPORT const char *numberOfBytes() {
return "NUMBER_OF_BYTES";
}
inline TAG_PARSER_EXPORT const char *numberOfFrames() {
return "NUMBER_OF_FRAMES";
}
inline TAG_PARSER_EXPORT const char *duration() {
return "DURATION";
}
/// \brief The track's bit rate in bits per second.
inline TAG_PARSER_EXPORT const char *bitrate() {
return "BPS";
}
inline TAG_PARSER_EXPORT const char *writingApp() {
return "_STATISTICS_WRITING_APP";
}
inline TAG_PARSER_EXPORT const char *writingDate() {
return "_STATISTICS_WRITING_DATE_UTC";
}
inline TAG_PARSER_EXPORT const char *statisticsTags() {
return "_STATISTICS_TAGS";
}
}
2015-04-22 19:22:01 +02:00
}
2016-05-26 01:59:22 +02:00
/*!
* \brief Returns the general TagTargetLevel for the Matroska specific \a targetLevelValue.
*/
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT TagTargetLevel matroskaTagTargetLevel(uint64 targetLevelValue)
2016-05-26 01:59:22 +02:00
{
return targetLevelValue > 70 ? TagTargetLevel::Collection : static_cast<TagTargetLevel>(targetLevelValue / 10);
}
/*!
* \brief Returns the Matroska specific target level value for the specified general \a targetLevel.
*/
2016-08-29 15:43:05 +02:00
inline TAG_PARSER_EXPORT uint64 matroskaTagTargetLevelValue(TagTargetLevel targetLevel)
2016-05-26 01:59:22 +02:00
{
return static_cast<uint64>(targetLevel) * 10;
}
2015-04-22 19:22:01 +02:00
} // namespace Media
#endif // TAG_PARSER_MATROSKATAGIDS_H