5 #include <c++utilities/conversion/stringconversion.h> 19 switch(tagTargetLevel) {
20 case TagTargetLevel::Shot:
22 case TagTargetLevel::Subtrack:
23 return "subtrack, part, movement, scene";
25 return "track, song, chapter";
26 case TagTargetLevel::Part:
27 return "part, session";
29 return "album, opera, concert, movie, episode";
30 case TagTargetLevel::Edition:
31 return "edition, issue, volume, opus, season, sequel";
32 case TagTargetLevel::Collection:
64 levelString +=
"level ";
65 levelString += numberToString(level());
67 const char *defaultLevelName;
69 if(!levelString.empty()) {
73 if(!levelName().empty()) {
74 levelString += levelName();
76 levelString += defaultLevelName;
81 if(levelString.empty()) {
82 parts.emplace_back(
"undefined target");
84 parts.emplace_back(move(levelString));
86 for(
auto v : tracks()) {
87 parts.emplace_back(
"track " + numberToString(v));
89 for(
auto v : chapters()) {
90 parts.emplace_back(
"chapter " + numberToString(v));
92 for(
auto v : editions()) {
93 parts.emplace_back(
"edition " + numberToString(v));
95 for(
auto v : attachments()) {
96 parts.emplace_back(
"attachment " + numberToString(v));
98 return joinStrings(parts,
", ");