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