diff --git a/lib/libtags/id3v2.c b/lib/libtags/id3v2.c index f5784c20..e1529d4a 100644 --- a/lib/libtags/id3v2.c +++ b/lib/libtags/id3v2.c @@ -19,8 +19,10 @@ v2cb(Tagctx *ctx, char *k, char *v) k++; if(strcmp(k, "AL") == 0 || strcmp(k, "ALB") == 0) txtcb(ctx, Talbum, k-1, v); - else if(strcmp(k, "PE1") == 0 || strcmp(k, "PE2") == 0 || strcmp(k, "P1") == 0 || strcmp(k, "P2") == 0) + else if(strcmp(k, "PE1") == 0 || strcmp(k, "P1") == 0) txtcb(ctx, Tartist, k-1, v); + else if(strcmp(k, "PE2") == 0 || strcmp(k, "P2") == 0) + txtcb(ctx, Talbumartist, k-1, v); else if(strcmp(k, "IT2") == 0 || strcmp(k, "T2") == 0) txtcb(ctx, Ttitle, k-1, v); else if(strcmp(k, "YE") == 0 || strcmp(k, "YER") == 0 || strcmp(k, "DRC") == 0) diff --git a/lib/libtags/tags.h b/lib/libtags/tags.h index c53d239e..91045218 100644 --- a/lib/libtags/tags.h +++ b/lib/libtags/tags.h @@ -10,6 +10,7 @@ enum { Tunknown = -1, Tartist, + Talbumartist, Talbum, Ttitle, Tdate, /* "2014", "2015/02/01", but the year goes first */ diff --git a/lib/libtags/vorbis.c b/lib/libtags/vorbis.c index 0c659da5..c98a0e4e 100644 --- a/lib/libtags/vorbis.c +++ b/lib/libtags/vorbis.c @@ -14,6 +14,8 @@ cbvorbiscomment(Tagctx *ctx, char *k, char *v){ txtcb(ctx, Ttitle, k, v); else if(cistrcmp(k, "artist") == 0) txtcb(ctx, Tartist, k, v); + else if(cistrcmp(k, "albumartist") == 0) + txtcb(ctx, Talbumartist, k, v); else if(cistrcmp(k, "tracknumber") == 0) txtcb(ctx, Ttrack, k, v); else if(cistrcmp(k, "date") == 0) diff --git a/src/database/database.cpp b/src/database/database.cpp index 4bd9d2db..fa4f621e 100644 --- a/src/database/database.cpp +++ b/src/database/database.cpp @@ -55,7 +55,7 @@ static SingletonEnv sEnv; static const char kDbPath[] = "/.tangara-db"; static const char kKeyDbVersion[] = "schema_version"; -static const uint8_t kCurrentDbVersion = 4; +static const uint8_t kCurrentDbVersion = 5; static const char kKeyCustom[] = "U\0"; static const char kKeyCollator[] = "collator"; diff --git a/src/database/tag_parser.cpp b/src/database/tag_parser.cpp index a3a05a5c..293793f3 100644 --- a/src/database/tag_parser.cpp +++ b/src/database/tag_parser.cpp @@ -37,6 +37,8 @@ static auto convert_tag(int tag) -> std::optional { return Tag::kTitle; case Tartist: return Tag::kArtist; + case Talbumartist: + return Tag::kAlbumArtist; case Talbum: return Tag::kAlbum; case Ttrack: