Bug 18112 - Tracks with double DATE tags get the wrong year assigned by the scanner
: Tracks with double DATE tags get the wrong year assigned by the scanner
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Database
: 7.9.x
: All All
: -- minor (vote)
: 7.9.x
Assigned To: Michael Herger
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-08-07 16:51 UTC by Mikael Nyberg
Modified: 2014-08-09 01:38 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mikael Nyberg 2014-08-07 16:51:16 UTC
Tracks with double DATE tags get the wrong year assigned by the scanner .

This is ofcourse an user error , but Mherger wished for a more gracefull fallback in this case hence the bug report

Details : its not all the tracks it often only one of the tracks ?

for example if you have two DATE "2008"

View tags show it as DATE [2008, 2008] .

But the year view in LMS or any other interface show one track under 1820 .

I have provided an example album its track 36 .

"36 Ghosts IV - Nine Inch Nails - Ghosts I-IV "

https://www.dropbox.com/s/ok5ievgpqwkjmio/nin%20-%20ghosts%20I-IV.zip

Michael ,its same password as the last time ive sent stuff
Comment 1 frontdesk 2014-08-08 01:48:41 UTC
Ok Ive done a little digging on this. Multiple tags of the same type is not a user error as it was common practice for various tag editors, especially for ARTIST (as opposed to a delimitered list in a single tag). I can see how some rage editors might have (perhaps erroneously) done the same with date tags (original release date, reissue release date).

The scanner already caters for multiple tags of the same type. If there is more than one tag it makes an array of the values against that tag name. Nothing is broken here it works perfectly.

The bug is with the listing code for dates.  The listing code works perfectly for multiple name tags, and lists an entry for each name in the array. And shows a comma delimited list of names in the record summary.

However the listing code doesn't work for multiple date tags.  They scan perfectly and are stored as an array of dates under that tag entry. However when they are shown in a date listing it appears as though the array is read as byte values converting it as assuming it is an integer.

eg.
Date value 1: 1961, Date value 2: 1961 - Date listed: 2584
Date value 1: 1989, Date value 2: 1989 - Date listed: 4938
Date value 1: 1992, Date value 2: 2012-08-12 - Date listed: 5260

As per the Name tags, the date a record is listed under should be both 1992 and 2012, if two values are present, or a single year of both values are the same.  If listing under two dates is not acceptable then probably by the first value in the array.
Comment 2 Michael Herger 2014-08-08 15:23:11 UTC
Dealing with multiple dates would require a lot of work on the database schema, scanner and UI code. This is not going to happen.

Did anyone see this issue with file types other than FLAC?

Commit 9928660a6a2777853f977c49717e66076da5e627 - When there is more than one DATE/YEAR value, we need to pick one of them. We can't handle multiple date values.
Comment 3 Mikael Nyberg 2014-08-09 01:38:37 UTC
That's ok just pick one .

Btw how does LMS handle it if you have DATE and YEAR ?