Add 'Tdisc' to libtags

Uses 'TPOS' for id3v2 tags, and 'DISCNUMBER' for vorbis comments (mostly
just relevant to flacs for our use case).

Fixes #181.
custom
jacqueline 3 months ago
parent f9011839cd
commit ddcd06dbca
  1. 2
      lib/libtags/id3v2.c
  2. 1
      lib/libtags/tags.h
  3. 1
      lib/libtags/vorbis.c
  4. 2
      src/tangara/database/tag_parser.cpp

@ -68,6 +68,8 @@ v2cb(Tagctx *ctx, char *k, char *v)
return 0;
}else if(strcmp(k-1, "COM") == 0 || strcmp(k-1, "COMM") == 0){
txtcb(ctx, Tcomment, k-1, v);
}else if(strcmp(k, "POS") == 0){
txtcb(ctx, Tdisc, k-1, v);
}else if(strcmp(k, "XXX") == 0){
k = v;
v += strlen(v) + 1;

@ -16,6 +16,7 @@ enum
Ttitle,
Tdate, /* "2014", "2015/02/01", but the year goes first */
Ttrack, /* "1", "01", "1/4", but the track number goes first */
Tdisc,
Talbumgain,
Talbumpeak,
Ttrackgain,

@ -14,6 +14,7 @@ static const struct {
{"artists", Tmultiartists},
{"albumartist", Talbumartist},
{"tracknumber", Ttrack},
{"discnumber", Tdisc},
{"date", Tdate},
{"replaygain_track_peak", Ttrackpeak},
{"replaygain_track_gain", Ttrackgain},

@ -41,6 +41,8 @@ static auto convert_tag(int tag) -> std::optional<Tag> {
return Tag::kAlbum;
case Ttrack:
return Tag::kTrack;
case Tdisc:
return Tag::kDisc;
case Tgenre:
return Tag::kGenres;
default:

Loading…
Cancel
Save