tagparser/matroska/matroskatagid.h

540 lines
11 KiB
C
Raw Permalink 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
#include <string_view>
namespace TagParser {
2015-04-22 19:22:01 +02:00
namespace MatroskaTagIds {
// nesting information
constexpr TAG_PARSER_EXPORT std::string_view original()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ORIGINAL";
}
constexpr TAG_PARSER_EXPORT std::string_view sample()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "SAMPLE";
}
constexpr TAG_PARSER_EXPORT std::string_view country()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "COUNTRY";
}
// organization information
constexpr TAG_PARSER_EXPORT std::string_view totalParts()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "TOTAL_PARTS";
}
constexpr TAG_PARSER_EXPORT std::string_view partNumber()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PART_NUMBER";
}
constexpr TAG_PARSER_EXPORT std::string_view partOffset()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PART_OFFSET";
}
// titles
constexpr TAG_PARSER_EXPORT std::string_view title()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "TITLE";
}
constexpr TAG_PARSER_EXPORT std::string_view subtitle()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "SUBTITLE";
}
// nested information
constexpr TAG_PARSER_EXPORT std::string_view url()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "URL";
}
constexpr TAG_PARSER_EXPORT std::string_view sortWith()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "SORT_WITH";
}
constexpr TAG_PARSER_EXPORT std::string_view instruments()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "INSTRUMENTS";
}
constexpr TAG_PARSER_EXPORT std::string_view email()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "EMAIL";
}
constexpr TAG_PARSER_EXPORT std::string_view address()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ADDRESS";
}
constexpr TAG_PARSER_EXPORT std::string_view fax()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "FAX";
}
constexpr TAG_PARSER_EXPORT std::string_view phone()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PHONE";
}
// entities
constexpr TAG_PARSER_EXPORT std::string_view artist()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ARTIST";
}
constexpr TAG_PARSER_EXPORT std::string_view album()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ALBUM";
}
constexpr TAG_PARSER_EXPORT std::string_view leadPerformer()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "LEAD_PERFORMER";
}
constexpr TAG_PARSER_EXPORT std::string_view accompaniment()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ACCOMPANIMENT";
}
constexpr TAG_PARSER_EXPORT std::string_view composer()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "COMPOSER";
}
constexpr TAG_PARSER_EXPORT std::string_view arranger()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ARRANGER";
}
constexpr TAG_PARSER_EXPORT std::string_view lyrics()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "LYRICS";
}
constexpr TAG_PARSER_EXPORT std::string_view lyricist()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "LYRICIST";
}
constexpr TAG_PARSER_EXPORT std::string_view conductor()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "CONDUCTOR";
}
constexpr TAG_PARSER_EXPORT std::string_view director()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DIRECTOR";
}
constexpr TAG_PARSER_EXPORT std::string_view assistantDirector()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ASSISTANT_DIRECTOR";
}
constexpr TAG_PARSER_EXPORT std::string_view directorOfPhotography()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DIRECTOR_OF_PHOTOGRAPHY";
}
constexpr TAG_PARSER_EXPORT std::string_view soundEngineer()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "SOUND_ENGINEER";
}
constexpr TAG_PARSER_EXPORT std::string_view artDirector()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ART_DIRECTOR";
}
constexpr TAG_PARSER_EXPORT std::string_view productionDesigner()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PRODUCTION_DESIGNER";
}
constexpr TAG_PARSER_EXPORT std::string_view choregrapher()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "CHOREGRAPHER";
}
constexpr TAG_PARSER_EXPORT std::string_view costumeDesigner()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "COSTUME_DESIGNER";
}
constexpr TAG_PARSER_EXPORT std::string_view actor()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ACTOR";
}
constexpr TAG_PARSER_EXPORT std::string_view character()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "CHARACTER";
}
constexpr TAG_PARSER_EXPORT std::string_view writtenBy()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "WRITTEN_BY";
}
constexpr TAG_PARSER_EXPORT std::string_view screenplayBy()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "SCREENPLAY_BY";
}
constexpr TAG_PARSER_EXPORT std::string_view editedBy()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "EDITED_BY";
}
constexpr TAG_PARSER_EXPORT std::string_view producer()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PRODUCER";
}
constexpr TAG_PARSER_EXPORT std::string_view coproducer()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "COPRODUCER";
}
constexpr TAG_PARSER_EXPORT std::string_view executiveProducer()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "EXECUTIVE_PRODUCER";
}
constexpr TAG_PARSER_EXPORT std::string_view distributedBy()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DISTRIBUTED_BY";
}
constexpr TAG_PARSER_EXPORT std::string_view masteredBy()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "MASTERED_BY";
}
constexpr TAG_PARSER_EXPORT std::string_view encodedBy()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ENCODED_BY";
}
constexpr TAG_PARSER_EXPORT std::string_view mixedBy()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "MIXED_BY";
}
constexpr TAG_PARSER_EXPORT std::string_view remixedBy()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "REMIXED_BY";
}
constexpr TAG_PARSER_EXPORT std::string_view productionStudio()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PRODUCTION_STUDIO";
}
constexpr TAG_PARSER_EXPORT std::string_view thanksTo()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "THANKS_TO";
}
constexpr TAG_PARSER_EXPORT std::string_view publisher()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PUBLISHER";
}
constexpr TAG_PARSER_EXPORT std::string_view label()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "LABEL";
}
// search and classification
constexpr TAG_PARSER_EXPORT std::string_view genre()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "GENRE";
}
constexpr TAG_PARSER_EXPORT std::string_view mood()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "MOOD";
}
constexpr TAG_PARSER_EXPORT std::string_view originalMediaType()
2018-03-07 01:17:50 +01:00
{
2022-04-05 21:48:02 +02:00
return "ORIGINAL_MEDIA_TYPE";
2015-04-22 19:22:01 +02:00
}
constexpr TAG_PARSER_EXPORT std::string_view contentType()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "CONTENT_TYPE";
}
constexpr TAG_PARSER_EXPORT std::string_view subject()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "SUBJECT";
}
constexpr TAG_PARSER_EXPORT std::string_view description()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DESCRIPTION";
}
constexpr TAG_PARSER_EXPORT std::string_view keywords()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "KEYWORDS";
}
constexpr TAG_PARSER_EXPORT std::string_view summary()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "SUMMARY";
}
constexpr TAG_PARSER_EXPORT std::string_view synopsis()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "SYNOPSIS";
}
constexpr TAG_PARSER_EXPORT std::string_view initialKey()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "INITIAL_KEY";
}
constexpr TAG_PARSER_EXPORT std::string_view period()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PERIOD";
}
constexpr TAG_PARSER_EXPORT std::string_view lawRating()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "LAW_RATING";
}
/// \deprecated Not sure what this is or should have been. Remove in v12.
constexpr TAG_PARSER_EXPORT std::string_view icra()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ICRA";
}
// temporal information
constexpr TAG_PARSER_EXPORT std::string_view dateRelease()
2018-03-07 01:17:50 +01:00
{
return "DATE_RELEASED";
2015-04-22 19:22:01 +02:00
}
constexpr TAG_PARSER_EXPORT std::string_view dateRecorded()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DATE_RECORDED";
}
constexpr TAG_PARSER_EXPORT std::string_view dateEncoded()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DATE_ENCODED";
}
constexpr TAG_PARSER_EXPORT std::string_view dateTagged()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DATE_TAGGED";
}
constexpr TAG_PARSER_EXPORT std::string_view dateDigitized()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DATE_DIGITIZED";
}
constexpr TAG_PARSER_EXPORT std::string_view dateWritten()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DATE_WRITTEN";
}
constexpr TAG_PARSER_EXPORT std::string_view datePurchased()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "DATE_PURCHASED";
}
// spatial information
constexpr TAG_PARSER_EXPORT std::string_view recordingLocation()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "RECORDING_LOCATION";
}
constexpr TAG_PARSER_EXPORT std::string_view compositionLocation()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "COMPOSITION_LOCATION";
}
constexpr TAG_PARSER_EXPORT std::string_view composerNationality()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "COMPOSER_NATIONALITY";
}
// personal
constexpr TAG_PARSER_EXPORT std::string_view comment()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "COMMENT";
}
constexpr TAG_PARSER_EXPORT std::string_view playCounter()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PLAY_COUNTER";
}
constexpr TAG_PARSER_EXPORT std::string_view rating()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "RATING";
}
// technical information
constexpr TAG_PARSER_EXPORT std::string_view encoder()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ENCODER";
}
constexpr TAG_PARSER_EXPORT std::string_view encoderSettings()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ENCODER_SETTINGS";
}
constexpr TAG_PARSER_EXPORT std::string_view bps()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "BPS";
}
constexpr TAG_PARSER_EXPORT std::string_view fps()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "FPS";
}
constexpr TAG_PARSER_EXPORT std::string_view bpm()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "BPM";
}
constexpr TAG_PARSER_EXPORT std::string_view measure()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "MEASURE";
}
constexpr TAG_PARSER_EXPORT std::string_view tuning()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "TUNING";
}
constexpr TAG_PARSER_EXPORT std::string_view replaygainGain()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "REPLAYGAIN_GAIN";
}
constexpr TAG_PARSER_EXPORT std::string_view replaygainPeak()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "REPLAYGAIN_PEAK";
}
constexpr TAG_PARSER_EXPORT std::string_view duration()
{
return "DURATION";
}
constexpr TAG_PARSER_EXPORT std::string_view numberOfFrames()
{
return "NUMBER_OF_FRAMES";
}
constexpr TAG_PARSER_EXPORT std::string_view numberOfBytes()
{
return "NUMBER_OF_BYTES";
}
// identifiers
constexpr TAG_PARSER_EXPORT std::string_view identifiers()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "Identifiers";
}
constexpr TAG_PARSER_EXPORT std::string_view isrc()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ISRC";
}
constexpr TAG_PARSER_EXPORT std::string_view mcdi()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "MCDI";
}
constexpr TAG_PARSER_EXPORT std::string_view isbn()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "ISBN";
}
constexpr TAG_PARSER_EXPORT std::string_view barcode()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "BARCODE";
}
constexpr TAG_PARSER_EXPORT std::string_view catalogNumber()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "CATALOG_NUMBER";
}
constexpr TAG_PARSER_EXPORT std::string_view labelCode()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "LABEL_CODE";
}
constexpr TAG_PARSER_EXPORT std::string_view lccn()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "LCCN";
}
constexpr TAG_PARSER_EXPORT std::string_view imdb()
{
return "IMDB";
}
constexpr TAG_PARSER_EXPORT std::string_view tmdb()
{
return "TMDB";
}
constexpr TAG_PARSER_EXPORT std::string_view tvdb()
{
return "TVDB";
}
2015-04-22 19:22:01 +02:00
// commercial
constexpr TAG_PARSER_EXPORT std::string_view purchaseItem()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PURCHASE_ITEM";
}
constexpr TAG_PARSER_EXPORT std::string_view purchaseInfo()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PURCHASE_INFO";
}
constexpr TAG_PARSER_EXPORT std::string_view purchaseOwner()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PURCHASE_OWNER";
}
constexpr TAG_PARSER_EXPORT std::string_view purchasePrice()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PURCHASE_PRICE";
}
constexpr TAG_PARSER_EXPORT std::string_view purchaseCurrency()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PURCHASE_CURRENCY";
}
// legal
constexpr TAG_PARSER_EXPORT std::string_view copyright()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "COPYRIGHT";
}
constexpr TAG_PARSER_EXPORT std::string_view productionCopyright()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "PRODUCTION_COPYRIGHT";
}
constexpr TAG_PARSER_EXPORT std::string_view license()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "LICENSE";
}
constexpr TAG_PARSER_EXPORT std::string_view termsOfUse()
2018-03-07 01:17:50 +01:00
{
2015-04-22 19:22:01 +02:00
return "TERMS_OF_USE";
}
// other
constexpr TAG_PARSER_EXPORT std::string_view language()
{
return "LANGUAGE";
}
namespace TrackSpecific {
constexpr TAG_PARSER_EXPORT std::string_view numberOfBytes()
2018-03-07 01:17:50 +01:00
{
return "NUMBER_OF_BYTES";
}
constexpr TAG_PARSER_EXPORT std::string_view numberOfFrames()
2018-03-07 01:17:50 +01:00
{
return "NUMBER_OF_FRAMES";
}
constexpr TAG_PARSER_EXPORT std::string_view duration()
2018-03-07 01:17:50 +01:00
{
return "DURATION";
}
/// \brief The track's bit rate in bits per second.
constexpr TAG_PARSER_EXPORT std::string_view bitrate()
2018-03-07 01:17:50 +01:00
{
return "BPS";
}
constexpr TAG_PARSER_EXPORT std::string_view writingApp()
2018-03-07 01:17:50 +01:00
{
return "_STATISTICS_WRITING_APP";
}
constexpr TAG_PARSER_EXPORT std::string_view writingDate()
2018-03-07 01:17:50 +01:00
{
return "_STATISTICS_WRITING_DATE_UTC";
}
constexpr TAG_PARSER_EXPORT std::string_view statisticsTags()
2018-03-07 01:17:50 +01:00
{
return "_STATISTICS_TAGS";
}
2018-03-07 01:17:50 +01:00
} // namespace TrackSpecific
2018-03-07 01:17:50 +01:00
} // namespace MatroskaTagIds
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.
*/
2019-03-13 19:06:42 +01:00
constexpr TAG_PARSER_EXPORT TagTargetLevel matroskaTagTargetLevel(std::uint64_t 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.
*/
2019-03-13 19:06:42 +01:00
constexpr TAG_PARSER_EXPORT std::uint64_t matroskaTagTargetLevelValue(TagTargetLevel targetLevel)
2016-05-26 01:59:22 +02:00
{
2019-03-13 19:06:42 +01:00
return static_cast<std::uint64_t>(targetLevel) * 10;
2016-05-26 01:59:22 +02:00
}
2015-04-22 19:22:01 +02:00
2018-03-07 01:17:50 +01:00
} // namespace TagParser
2015-04-22 19:22:01 +02:00
#endif // TAG_PARSER_MATROSKATAGIDS_H