Bug 415330

Summary: Songs aren't shown if id3v1 is used
Product: [Applications] Elisa Reporter: Squeaky Pancakes <squeakypancakes>
Component: generalAssignee: Matthieu Gallien <matthieu_gallien>
Status: REPORTED ---    
Severity: normal CC: jackhill3103, matthieu_gallien, rodrigo.pedra, stefan.bruens
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: Screenshot

Description Squeaky Pancakes 2019-12-18 18:13:29 UTC
Created attachment 124574 [details]
Screenshot

SUMMARY
Songs that only have id3v1 tags do not show up in the songs lists.

STEPS TO REPRODUCE
1. Have a song without tag2 metadata infomation filled out
2. open the album in elisa
3. 

OBSERVED RESULT
Album browser will not show songs with older tag formats.

EXPECTED RESULT
Songs should show up regardless of id3 spec as it's still possible to get songs using v1 spec.

Operating System: Artix Linux 
KDE Plasma Version: 5.17.4
KDE Frameworks Version: 5.64.0
Qt Version: 5.13.2
Kernel Version: 4.19.88-1-lts
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-3320M CPU @ 2.60GHz
Memory: 7.6 GiB of RAM

ADDITIONAL INFORMATION
Comment 1 Matthieu Gallien 2019-12-18 18:21:40 UTC
Thanks for your report.
It is not an Elisa bug given all metadata reading is done by KF5 KFileMetaData framework.
Reassigning it.
Comment 2 Stefan Brüns 2023-11-12 19:59:22 UTC
KFileMetaData has no problem with file having only an ID3v1 tag, and extracts all the available information.
Comment 3 Jack Hill 2024-04-16 12:13:54 UTC
It looks like the issue is that you have both an ID3v1.1 tag and an empty ID3v2.3.0 tag. Please can you confirm if this is true? And then remove the empty 2.3.0 tag and try again.

It seems to me that KFileMetadata does not read anything from ID3v1.1 even though the 2.3.0 tag gives empty information.

    FAIL!  : TagLibExtractorTest::testCommonData(mp3 id3v1 shadowed by id3v2) Compared values are not the same
       Actual   (result.properties().value(Property::Title)): QVariant(QString,)
       Expected (QVariant(QStringLiteral("Title")))         : QVariant(QString,Title)
       Loc: [/home/jack/Dev/KDE6/src/kfilemetadata/autotests/taglibextractortest.cpp(164)]

To make the test file I just opened "test.id3v1.mp3" in Kid3, created a Tag 2 using the button "From Tag 1", set the Title tag to be empty, then deleted all other tags using the Delete button.