Bug 112477 - wish: better support for .cue files
Summary: wish: better support for .cue files
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: 2.0-SVN
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Casey Link
URL:
Keywords:
: 112805 117464 118580 132564 137918 144469 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-09-12 15:05 UTC by Ian P. Christian
Modified: 2009-09-21 10:23 UTC (History)
14 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
!!Incomplete!! Patch for proper cue sheet support (23.21 KB, patch)
2006-04-15 19:08 UTC, Nick Shaforostoff
Details
Patch for adding length of the last track in CUESHEET in a flac file. (1.24 KB, patch)
2006-04-17 23:58 UTC, Jonas Ådahl
Details
Shows the length of the CUE track in Context Browser (617 bytes, patch)
2007-01-07 03:10 UTC, Dawid Wróbel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ian P. Christian 2005-09-12 15:05:17 UTC
Version:           1.3-SVN (using KDE 3.4.90 (alpha1, >= 20050806), Gentoo)
Compiler:          gcc version 3.3.5-20050130 (Gentoo Linux 3.3.5.20050130-r1, ssp-3.3.5.20050130-1, pie-8.7.7.1)
OS:                Linux (i686) release 2.6.11-gentoo-r11

CUE support was added (bug #83557) in SVN, fantastic. It would be great if the contents of CUE files were parsed and the data added to the collection database. So I can search within mixes for tracks. Also, whilst playing a mp3 with a .CUE, the tract list appears in the context sidebar - it would be great if this list could be shown in the playlist, shown under the mp3 containing the CUE information, indented slightly with the duration of all the sections defined by the CUE.

This way the search filter in the play list could filter tracks stored within a CUE file mp3 thing.

Kind Regards,

Ian
Comment 1 Filip Papadopoulos 2005-09-14 15:33:33 UTC
Yes i would also like this feature to be implemented :)
Comment 2 Alexandre Oliveira 2006-01-07 05:50:09 UTC
*** Bug 117464 has been marked as a duplicate of this bug. ***
Comment 3 Alexander Zayats 2006-02-20 16:00:36 UTC
*** This bug has been confirmed by popular vote. ***
Comment 4 Nick Shaforostoff 2006-02-20 16:36:16 UTC
does anyone works on implementation?
unfortunately i have not much time - all i got at the moment is inserting mulptiple items to playlist when .flac file with embedded cuesheet is dropped.

if anyone has more time, i can email the diff to reduce effort
Comment 5 simon 2006-02-20 17:09:41 UTC
also have a look at #121519 where i posted a cuefile track-change bugfix.
Comment 6 Nick Shaforostoff 2006-03-04 22:52:46 UTC
fyi: got some progress, but i implemented it in engine controller class, while it is better to do this in enginebase (for session resume etc), so i'll be movin my code to enginebase class. i hope i'll finish patch soon after 1.4 :)
Comment 7 Seb Ruiz 2006-03-26 13:15:24 UTC
*** Bug 118580 has been marked as a duplicate of this bug. ***
Comment 8 Jonas Ådahl 2006-04-15 18:27:33 UTC
Does there exist a diff or branch somewhere?
Comment 9 Nick Shaforostoff 2006-04-15 19:08:08 UTC
Created attachment 15639 [details]
!!Incomplete!! Patch for proper cue sheet support

here it is, i'm stuck with non-immediate reaction to stop call.
it stops after playing 0.3-1 second of the next track :(

maybe the reaction will be better if we call pause first?
Comment 10 Jonas Ådahl 2006-04-17 17:23:58 UTC
Hmm, I applyed your patch, added a .flac file with cue sheet inside and it resulted only in one element in the playlist.
Comment 11 Nick Shaforostoff 2006-04-17 20:19:23 UTC
$ metaflac --list *.flac
...
METADATA block #1
  type: 4 (VORBIS_COMMENT)
  is last: false
  length: 950
  vendor string: reference libFLAC 1.1.1-beta1 20040731
  comments: 1
    comment[0]: CUESHEET=
...

insertion of several items works for me on current svn, but with xine it hangs (so i kill it), and gstreamer has stopped working even on usual mp3 after update
Comment 12 Jonas Ådahl 2006-04-17 20:58:30 UTC
metaflac --list *flac gives
METADATA block #2
  type: 5 (CUESHEET)
..
  number of tracks: 4
...
METADATA block #3
  type: 4 (VORBIS_COMMENT)
...
  comments: 1
    comment[0]: CUESHEET=
...

It adds only one item :/ in CueFile::loadFromTag the sheet string list is empty. Also, I'm unable to find the specifications how to add title and author data tags. According to http://flac.sourceforge.net/faq.html#general__no_cuesheet_tags there isn't one really.
Comment 13 Nick Shaforostoff 2006-04-17 21:53:53 UTC
maybe the problem is w/ taglib?
i have 1.4-3 (debian)
Comment 14 Jonas Ådahl 2006-04-17 22:16:03 UTC
Version 1.4 (gentoo) here.
Comment 15 Jonas Ådahl 2006-04-17 22:37:47 UTC
Got it to work by manually adding the whole content of a .cue-file into the CUESHEET comment. Is this really a correct way of doing this? There is something called CUESHEET METABLOCK in flac files which I generated when encoding to flac (flac --cuesheet=cdda.cue cdda.wav)
Comment 16 Nick Shaforostoff 2006-04-17 23:39:55 UTC
>Is this really a correct way of doing this?
Oh yes! other formats, like ape or wavpack, dont have such metablock.

anyways, the cue handling should be done as in foobar2000.org
Comment 17 Jonas Ådahl 2006-04-17 23:58:14 UTC
Created attachment 15666 [details]
Patch for adding length of the last track in CUESHEET in a flac file.
Comment 18 Jonas Ådahl 2006-04-17 23:58:45 UTC
About the non-immediate; it stops immediate for me (using gst10 engine).

btw, attaching patch that'll add the length of the last track (might not be the best way).
Comment 19 Nick Shaforostoff 2006-04-18 00:49:29 UTC
did you try mixed cds?
(i use 'Moving Shadow 04.1 - Mixed by Timecode':)
Comment 20 Jonas Ådahl 2006-04-18 20:19:26 UTC
What do you mean with mixed cds? I tried with just ripping a song from a CD i had and added:
PERFORMER "My CD"
TITLE "My Title"
FILE "cdda.wav" WAVE
  TRACK 01 AUDIO
    TITLE "Track 1"
    PERFORMER "My TiTle"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "Track 2"
    PERFORMER "My TITLE"
    INDEX 01 02:37:12
  TRACK 03 AUDIO
    TITLE "Track 3"
    PERFORMER "Title is mine"
    INDEX 01 03:10:04
as cuesheet.
Comment 21 Nick Shaforostoff 2006-04-18 20:39:41 UTC
i mean how can you be sure that it stops immediately.
eg, play it with foobar2000 (under wine) and compare
Comment 22 Jonas Ådahl 2006-04-18 21:08:48 UTC
I play the song. Press stop. The music stops immediately.
amarok: END__: void GstEngine::destroyPipeline() - Took 0.0095s
Comment 23 Nick Shaforostoff 2006-04-20 18:16:59 UTC
i'll try to implement proper stopping for gst this weekend - i was pointed to http://bugzilla.gnome.org/show_bug.cgi?id=338290
Comment 24 simon 2006-06-10 17:09:49 UTC
when trying to skip to the next song the whole cuesheet is skipped and the next _file_ gets played ... 
Comment 25 simon 2006-07-26 20:51:21 UTC
hi, 
there is still an issue when a cuesheet ends and a radiostream/lastfm stream is the next item in the playlist - the title(metadata) isn't updated properly:

for a second or so the correct title of the stream is displayed but then a metarefresh reverts the metadata to the first item of the (previous) cuesheet.

btw. what about making it configurable if a "skip" command skips to the next item in the cuesheet or the next item in the playlist?
Comment 26 Nick Shaforostoff 2006-07-26 21:07:00 UTC
_imho_ this part is loosely broken: i just got started to implement ending track at exact position when they excluded gstreamer from distro.

the foobar2000 is develped by 1 person from scratch, and amarok uses 3rd party libs like xine with poor interface.

i'd rather begin looking into kbabel code then trying to work on such mess

i converted all ape.cue images to mp3 (usin foobar), burned images to dvd and deleted them from hd
Comment 27 Ted Percival 2006-11-11 14:40:50 UTC
Replying to comment #25 from Simon Bühler:
The cue sheet metadata problem is reported in bug #127683.
Comment 28 simon 2006-11-23 20:11:25 UTC
A nice little improvement would be the display of the starttime of each track next to it's title in the display of a cue file. Nothing important or necessary but i could see the rest time of the current track.
It is know anyway to seek to the corresponding position. 
Comment 29 Dawid Wróbel 2007-01-07 03:10:47 UTC
Created attachment 19146 [details]
Shows the length of the CUE track in Context Browser

@Simon's request, this patch makes the Cue File table in Conext Browser showing
the length of each track. This is pretty useful and simple hack, although not
even close to what was asked originally by Ian P. Christian. Please note that
this will only work with http://bugs.kde.org/show_bug.cgi?id=139707 applied.
Comment 30 Alexandre Oliveira 2007-01-07 04:16:11 UTC
SVN commit 620706 by aoliveira:

Show the length of the CUE tracks in Context Browser.
Patch by Dawid Wróbel <dawid@klej.net>
CCBUG: 112477


 M  +1 -0      contextbrowser.cpp  


--- trunk/extragear/multimedia/amarok/src/contextbrowser.cpp #620705:620706
@@ -2339,6 +2339,7 @@
                     + i18n("&#xa0;&#8211; ") +
                     "</span>\n"
                     "<span class='album-song-title'>\n" + escapeHTML( it.data().getArtist() ) + "</span>\n"
+                    "<span class='album-song-time'>&nbsp(" + MetaBundle::prettyTime( it.data().getLength()/1000, false ) + ")</span>\n"
                     "</a>\n"
                     "</td>\n"
                     ""
Comment 31 Ted Percival 2007-01-07 08:24:25 UTC
Looks like there's a semi-colon missing at the end of the &nbsp; entity in that patch.
Comment 32 Mark Kretschmann 2007-01-07 10:33:22 UTC
SVN commit 620771 by markey:

Fix missing semi colon after nbsp entity. Thanks Ted Percival.

CCBUG: 112477


 M  +1 -1      contextbrowser.cpp  


--- trunk/extragear/multimedia/amarok/src/contextbrowser.cpp #620770:620771
@@ -2339,7 +2339,7 @@
                     + i18n("&#xa0;&#8211; ") +
                     "</span>\n"
                     "<span class='album-song-title'>\n" + escapeHTML( it.data().getArtist() ) + "</span>\n"
-                    "<span class='album-song-time'>&nbsp(" + MetaBundle::prettyTime( it.data().getLength()/1000, false ) + ")</span>\n"
+                    "<span class='album-song-time'>&nbsp;(" + MetaBundle::prettyTime( it.data().getLength()/1000, false ) + ")</span>\n"
                     "</a>\n"
                     "</td>\n"
                     ""
Comment 33 Andrew Ash 2007-04-17 22:14:27 UTC
Is there any progress being made on Ian's original request: to have tracks of a .cue file individually added to the collection for searching, etc?
Comment 34 Mark Kretschmann 2007-04-17 22:25:40 UTC
Nope. At this point we're *really* busy with getting the foundations of Amarok2 right. No time for new features :)
Comment 35 Mark Kretschmann 2007-04-21 08:05:25 UTC
*** Bug 144469 has been marked as a duplicate of this bug. ***
Comment 36 Mark Kretschmann 2007-04-21 08:07:27 UTC
*** Bug 112805 has been marked as a duplicate of this bug. ***
Comment 37 Richard Hartmann 2007-04-21 12:05:08 UTC
To save a request i made in http://bugs.kde.org/show_bug.cgi?id=144469 I just wanted to add that when you play the whole CD, the preaudio gaps should be played normally, while they should be ignored when jumping to a single track or when continuing to play with a different song than the one that would normally be on the CD. Think those intermissions you have on mix CDs. Also, crossfading and any gaps should be switched off when playing tracks that follow each other on the original CD.
Comment 38 Seb Ruiz 2007-05-31 02:04:53 UTC
*** Bug 137918 has been marked as a duplicate of this bug. ***
Comment 39 Harald Sitter 2007-11-14 19:23:15 UTC
*** Bug 132564 has been marked as a duplicate of this bug. ***
Comment 40 Richard Hartmann 2007-12-18 19:31:44 UTC
In light of the impeding KDE4 (and thus Amarok2) release, I am going through all bug reports I am involved in. To the best of my knowledge, this issue is still open.
Comment 41 Nick Shaforostoff 2007-12-18 19:39:08 UTC
yeah, i hope that with the new multimedia subsystem design (phonon) we'll be able to implement cue support in a nice way...
Comment 42 Richard Hartmann 2007-12-18 19:44:39 UTC
Oh, will Phonon take care of this, in the future? If yes, please reassign this bug. And thanks :)
Comment 43 Ian Monroe 2007-12-18 21:37:12 UTC
Phonon has nothing to do with this.
Comment 44 Richard Hartmann 2007-12-28 11:02:31 UTC
Setting this to 2.0-SVN for house-keeping.
Comment 45 Casey Link 2008-12-14 05:42:24 UTC
Taking this one over. I plan to complete this for Amarok 2.1.
Comment 46 simon 2009-06-08 13:19:29 UTC
as it doesn't work in 2.1 (check bug 187587), a chance that cue sheets support will be done in 2.1.1 ?
Comment 47 Casey Link 2009-09-21 10:23:34 UTC
This bug is old and all the patches are based on Amarok 1.4

See the bug 187587 which is up to date.