Ticket #13592: 0001-metaioflacvorbis-handle-DISCNUMBER-and-TOTAL-TRACKS-.patch

File 0001-metaioflacvorbis-handle-DISCNUMBER-and-TOTAL-TRACKS-.patch, 1.5 KB (added by ijc, 4 years ago)
  • mythtv/libs/libmythmetadata/metaioflacvorbis.cpp

    From 84424b9738ccef9bf34bf300cfe970282eac8e6b Mon Sep 17 00:00:00 2001
    From: Ian Campbell <ijc@hellion.org.uk>
    Date: Wed, 19 Feb 2020 20:04:48 +0800
    Subject: [PATCH 1/2] metaioflacvorbis: handle DISCNUMBER and
     TOTAL{TRACKS,DISCS} tags
    
    Referencing https://picard.musicbrainz.org/docs/mappings/ for the tag names.
    ---
     .../libs/libmythmetadata/metaioflacvorbis.cpp | 24 +++++++++++++++++++
     1 file changed, 24 insertions(+)
    
    diff --git a/mythtv/libs/libmythmetadata/metaioflacvorbis.cpp b/mythtv/libs/libmythmetadata/metaioflacvorbis.cpp
    index 142894835f..5b838a9c11 100644
    a b MusicMetadata* MetaIOFLACVorbis::read(const QString &filename) 
    139139    if (metadata->Length() <= 0)
    140140        metadata->setLength(getTrackLength(flacfile));
    141141
     142    if (tag->contains("DISCNUMBER"))
     143    {
     144        bool valid = false;
     145        int n = tag->fieldListMap()["DISCNUMBER"].toString().toInt(&valid);
     146        if (valid)
     147            metadata->setDiscNumber(n);
     148    }
     149
     150    if (tag->contains("TOTALTRACKS"))
     151    {
     152        bool valid = false;
     153        int n = tag->fieldListMap()["TOTALTRACKS"].toString().toInt(&valid);
     154        if (valid)
     155            metadata->setTrackCount(n);
     156    }
     157
     158    if (tag->contains("TOTALDISCS"))
     159    {
     160        bool valid = false;
     161        int n = tag->fieldListMap()["TOTALDISCS"].toString().toInt(&valid);
     162        if (valid)
     163            metadata->setDiscCount(n);
     164    }
     165
    142166    delete flacfile;
    143167
    144168    return metadata;