Project

General

Profile

Bug #878

Simple playlists w/cuesheet as FIRST entry not handled correctly (patch included)

Added by Jim Turner 2 months ago. Updated 2 months ago.

Status:
Closed
Priority:
Minor
Assignee:
-
Category:
libaudcore
Target version:
Start date:
March 07, 2019
Due date:
% Done:

100%

Estimated time:
Affects version:

Description

Audacious will fail to play and may show incorrect title for a cuesheet if it is the FIRST entry in a "simple" playlist (ie. .m3u, .pls, etc. that do not contain detailed info.), however as long as the first entry is NOT a cuesheet, all entries are handled properly. Bug can also be avoided by starting audacious with "-e" (so that the first item does not immediately start playing), leading me to believe that it's a threading/scanning issue.

I was able to fix the issue by forcing a partial rescan of cuesheet entries (but without replacing the actual tuple data, as that replaces the tuple info. (ie. title, artist) from the cuesheet with that of the tags contained in the actual song). The patches included show the changes I found needed to address this issue. Please review, as you may be able to better address the issue.

Steps to reproduce:

1) Create simple .m3u playlist with valid cuesheet reference (xxx.cue?#) as first entry followed by one or more entries (cuesheet or otherwise).

2) Run audacious ($>audacious myplaylist.m3u)

3) First entry (the cuesheet entry) may/may not start playing and may/may not have correct title shown.

4) Advance to next/another entry, which will play correctly.

5) Try to play the first entry again, should fail ("Error reading metadata") and start playing next entry.

6) [Playlist].[Refresh] playlist, and all then seems to be well.

playlist-data.cc.diff (3.01 KB) playlist-data.cc.diff playlist-data.cc patch Jim Turner, March 07, 2019 16:37
scanner.cc.diff (1.4 KB) scanner.cc.diff scanner.cc patch Jim Turner, March 07, 2019 16:37
scanner.h.diff (361 Bytes) scanner.h.diff scanner.h patch Jim Turner, March 07, 2019 16:37
DarkSideOfTheMoon_PinkFloyd.cue (219 Bytes) DarkSideOfTheMoon_PinkFloyd.cue Sample Cuesheet file Jim Turner, March 15, 2019 04:48
xbug.m3u (141 Bytes) xbug.m3u Sample M3U Playlist file that calls it. Jim Turner, March 15, 2019 04:48

History

#1 Updated by John Lindgren 2 months ago

I will look at this eventually, but it would save some time if you can upload the .m3u + .cue from your test case.

#2 Updated by Jim Turner 2 months ago

You will need to change the names and paths of the songs to some music files on your system. I tested several cases, but here's one attached:

Regards,

Jim

#3 Updated by John Lindgren 2 months ago

  • % Done changed from 0 to 100
  • Target version set to 3.11
  • Status changed from New to Closed
  • Category set to libaudcore
  • Affects version 3.10.1 added
  • Affects version deleted (3.11)

Thanks for the test case. The scanner.cc patch was somewhat along the right lines. I simplified it a bit:
https://github.com/audacious-media-player/audacious/commit/1b6093af2ec01a8dddc3ffc59d4d739b88622ee6

Also available in: Atom PDF