Bugzilla – Bug 1986
Problem with browsing whole-album flac files with embedded metadata cuesheets
Last modified: 2009-09-08 09:20:50 UTC
6.2 svn 3981 can't browse Genre->Artist->Album->Tracks if the tracks come from a whole-album flac file with embedded cuesheet metadata. Only the 1st track of the album shows up in the web ui. If you browse the music folder directly, you can browse to the album and see all the tracks. I�ll create an attachment with a test collection of flacs and mp3s along with the output results of an sql query showing the contents of the track, contributors and contributor_track tables
Created attachment 734 [details] test files showing the problem File contains test flacs, mp3s, a sql query, and the query output in csv.
The problem appeared in the transition from r3972 to 3973.
Fixed in subversion change 3985. You'll need a wipe & rescan.
Thanks, now browsing works for me again.
Well, after numberous wipe & rescans, I'm still seeing wierd behavior. If I delete slimserversql.db and start perl, after the initial scan, I can browse genere->artist->albums->tracks and see everything I should be seeing. However, if I "bounce around" between albums, artists and genre, soon the behavior goes back to what it was doing before (i.e. artists missing from genere, albums missing, etc.) If I browse by Artist, there doesn't seem to be any trouble. It seems as though there is trouble with this genre browsing code. Steps to replicate the error: Perform a wipe and scan. Browse by genere into an artist and into an album. Use the Web UI to jump back to the genere. Suddenly, no artists will be listed in the genere.
I should add that I'm seeing this behavior only with my "real" flac library, not with the test flacs I created. Worrisome.
Well that's no good. The genre browsing code is exactly the same as the album code - just a different query to the db. Run with --d_sql to see everything.
Just a quick aside while slimserver is rescanning... If a user changes their Music Folder setting, I assume that this triggers a rescan. Wouldn't it make sense to drop all the tables when that scan is triggered? I'm finding that I have to rescan twice when I switch between my test music folder and my real music folder in order to get the genre from the old folder out of the db.
Browsing to Genre G_German_Baroque, Artist Telemannn, G P, Album Quintetti d'archi e Partite per due liuti --works just fine. Here is the last of the sql output: -------------------------------------------------------------------------------- 2005-08-16 14:41:46.9808 Start and End node: [default:default] 2005-08-16 14:41:46.9846 Start and End node: [contributor:default] 2005-08-16 14:41:46.9849 Start and End node: [album:default] 2005-08-16 14:41:46.9852 Start and End node: [genre:default] 2005-08-16 14:41:46.9857 Running SQL query: [SELECT DISTINCT tracks.id AS id,tra cks.multialbumsortkey AS multialbumsortkey,tracks.thumb AS thumb,tracks.age AS a ge,tracks.remote AS remote,tracks.ct AS ct,tracks.audio AS audio,tracks.titlesor t AS titlesort,tracks.album AS album,tracks.tracknum AS tracknum,tracks.url AS u rl,tracks.tag AS tag,tracks.title AS title,tracks.disc AS disc,tracks.fs AS fs F ROM contributor_track, tracks, genre_track, contributors, albums, genres WHERE c ontributor_track.track = tracks.id AND genre_track.track = tracks.id AND contrib utors.id = contributor_track.contributor AND albums.id = tracks.album AND genres .id = genre_track.genre AND ( contributor_track.contributor = ? AND genre_track .genre = ? AND tracks.album = ? AND tracks.audio = ? ) ORDER BY tracks.disc, tra cks.tracknum, tracks.titlesort] 2005-08-16 14:41:46.9861 Bind arguments: [17, 3, 15, 1] -------------------------------------------------------------------------------- Now, use the WEB UI to jump back to Home / Browse Genres / G_German_Baroque: -------------------------------------------------------------------------------- 2005-08-16 14:42:06.3607 Start and End node: [genre:default] 2005-08-16 14:42:06.3612 Running SQL query: [SELECT COUNT(*) FROM (SELECT DISTIN CT tracks.id AS id,tracks.multialbumsortkey AS multialbumsortkey,tracks.thumb AS thumb,tracks.age AS age,tracks.remote AS remote,tracks.ct AS ct,tracks.audio AS audio,tracks.titlesort AS titlesort,tracks.album AS album,tracks.tracknum AS tr acknum,tracks.url AS url,tracks.tag AS tag,tracks.title AS title,tracks.disc AS disc,tracks.fs AS fs FROM tracks, genre_track, genres WHERE genre_track.track = tracks.id AND genres.id = genre_track.genre AND ( genre_track.genre = ? ))] 2005-08-16 14:42:06.3617 Bind arguments: [3] 2005-08-16 14:42:06.3693 Start and End node: [contributor:contributor] 2005-08-16 14:42:06.3696 Field query. Need additional join. start and End node: [contributor:contributor] 2005-08-16 14:42:06.3698 Start and End node: [genre:contributor] 2005-08-16 14:42:06.3703 Running SQL query: [SELECT COUNT(*) FROM (SELECT DISTIN CT contributors.id AS id,contributors.name AS name,contributors.namesort AS name sort,contributors.moodlogic_id AS moodlogic_id,contributors.moodlogic_mixable AS moodlogic_mixable,contributors.musicmagic_mixable AS musicmagic_mixable FROM co ntributor_track, genre_track, contributors WHERE contributors.id = contributor_t rack.contributor AND genre_track.track = contributor_track.track AND ( contribu tor_track.role IN ( ?, ? ) AND genre_track.genre = ? ))] 2005-08-16 14:42:06.3707 Bind arguments: [1, 5, 3] 2005-08-16 14:42:06.3829 Start and End node: [genre:album] 2005-08-16 14:42:06.4111 Running SQL query: [SELECT COUNT(*) FROM (SELECT DISTIN CT albums.id AS id,albums.title AS title,albums.titlesort AS titlesort,albums.co ntributor AS contributor,albums.compilation AS compilation,albums.year AS year,a lbums.artwork_path AS artwork_path,albums.disc AS disc,albums.discc AS discc,alb ums.musicmagic_mixable AS musicmagic_mixable FROM tracks, genre_track, albums WH ERE genre_track.track = tracks.id AND albums.id = tracks.album AND ( genre_trac k.genre = ? ))] 2005-08-16 14:42:06.4131 Bind arguments: [3] 2005-08-16 14:42:06.4270 Start and End node: [contributor:contributor] 2005-08-16 14:42:06.4273 Field query. Need additional join. start and End node: [contributor:contributor] 2005-08-16 14:42:06.4276 Start and End node: [genre:contributor] 2005-08-16 14:42:06.4281 Running SQL query: [SELECT DISTINCT contributors.id AS id,contributors.name AS name,contributors.namesort AS namesort,contributors.mood logic_id AS moodlogic_id,contributors.moodlogic_mixable AS moodlogic_mixable,con tributors.musicmagic_mixable AS musicmagic_mixable FROM contributor_track, genre _track, contributors WHERE contributors.id = contributor_track.contributor AND g enre_track.track = contributor_track.track AND ( contributor_track.role IN ( ?, ? ) AND genre_track.genre = ? ) ORDER BY contributors.namesort] 2005-08-16 14:42:06.4284 Bind arguments: [1, 5, 3] -------------------------------------------------------------------------------- At this point, I so NO ARTISTS listed in the genre. Web UI says: Home / Broswe Genres / 0 albums with 0 songs by 0 artists.
I should add: If I use the web UI for "Home" and then "Browse Genres" and then "G_German_Baroque", only one artist is listed where there should be many more. To get them back, I have to rescan the DB.
Gordon - a change in the 08-17-2005 nightly might help with this. Can you give that a go? Thanks.
This all appears to work fine for me as of the 2005-09-20 nightly. Please reopen if you see an issue. Thanks.