clementine-player / Clementine

:tangerine: Clementine Music Player
https://www.clementine-player.org/
GNU General Public License v3.0
3.73k stars 671 forks source link

CUE / cuesheet support #68

Closed Clementine-Issue-Importer closed 10 years ago

Clementine-Issue-Importer commented 10 years ago

From nickpolydor on March 08, 2010 16:12:04

Say we have a continuous DJ mix:

~/MUSIC/A_DJ/A_Mix/a_mix.m3u ~/MUSIC/A_DJ/A_Mix/a_mix.cue ~/MUSIC/A_DJ/A_Mix/a_mix.mp3/.flac/.wav

It would be good for Clementine to read the contents of the cuesheet whenever any of the above files are opened. It would then display the tracklisting in a context window with each track clickable, to seek to the appropriate part of the file.

However, the track navigation buttons should not go to the next track in the cuesheet but the next proper file in the playlist.

Original issue: http://code.google.com/p/clementine-player/issues/detail?id=68

Clementine-Issue-Importer commented 10 years ago

From davidsansome on March 08, 2010 07:46:08

Status: Accepted
Labels: Component-UI Milestone-0.3

Clementine-Issue-Importer commented 10 years ago

From john.maguire on March 23, 2010 04:56:36

Labels: -Type-Defect Type-Enhancement

Clementine-Issue-Importer commented 10 years ago

From davidsansome on April 21, 2010 13:17:09

Labels: -Milestone-0.3 Milestone-0.4

Clementine-Issue-Importer commented 10 years ago

From kadaimx on May 01, 2010 16:43:42

This component is not complete, right? I say this because, I tried to load an m3u file (generated on amarok) and Clementine got stuck on a endless loop, with the next output in console:

Failed to parse metadata: "#EXTINF:203,gravity"

Attached is the file I tried to load.

Attachment: Last.fm Loved Tracks.m3u

Clementine-Issue-Importer commented 10 years ago

From davidsansome on June 18, 2010 08:45:47

Labels: -Milestone-0.4

Clementine-Issue-Importer commented 10 years ago

From valenus on September 23, 2010 05:53:52

Please add support for the cue

Clementine-Issue-Importer commented 10 years ago

From himynameiszacHandiamapirate on September 23, 2010 10:25:47

The way I personally see it working would be similar to how Rockbox handles them. I think that ideally (for starters), if a cue file is detected, the flac file should not be added twice or anything. As far as I know cue files have to have the same name as their corresponding flac file, so no worries there... just make a check for a cue file, if it is found, then load it (perhaps similar to fetching local covers?).

After that, I'd say when a cue is playing, the playlist bar would be segmented (probably just subtle vertial lines, nothing super weird looking) into proportional track lengths. I actually do think the playlist buttons should allow navigation through these tracks, though the stop button might not work here for resuming play (which is fine, that's what pause is for).

I have some very basic ideas on how to display track titles? No idea how possible they are, so Please tell me if I'm dreaming. On track change within a flac (if possible) the popup indicator should definitely show. In addition, I would propose that, though it will take its main title (likely the album name) when added to the playlist, it would be pretty sweet if the title itself (on playlist and on the now playing widget) changed to whatever track was playing at the moment. Once the flac was all finished, the next track on the playlist would play, and the flac would revert to its main title.

Obviously this is all just brainstorming, but I think it would be really elegant if properly pulled off. Not expecting it to be done anytime soon (or even for .6), but Dave/John, do these seem possible to do, knowing what you already know about the player's capabilities? I make some assumptions here on what can and cannot be coded, so if I'm just spouting impossible ideas, it would be good to know. Thanks guys.

Clementine-Issue-Importer commented 10 years ago

From slay.main on September 24, 2010 04:45:19

Ok. Maybe I give some ideas as a further brainstorming.

I think it would be great if .mp3 or .flac file with appropriate .cue file will be splitted into separate tracks and clementine shows them in the playlist as usual tracks. Only difference that they will be "virtual tracks", mapped to the single real file. So we can use "stop", "pause" and other buttons with that tracks as usually.

For example, we want to listen .mp3 file with .cue file with the same name (as described in comment above). Then player parses .cue file and creates separate tracks according to their timings in the .cue file. These tracks will be mapped to real .mp3 file by their start and end time taken from .cue file. And, finally, after parsing and mapping tracks they'll appear in a playlist as usual tracks (maybe with some specific heading showing that they belongs to one particular file or something like that).

Clementine-Issue-Importer commented 10 years ago

From Kazu.sempai on October 08, 2010 12:37:20

I don't see how there is even a discussion on how to deal with cue files. Has anyone ever seen it done wrong (apart from amarok pre 2.2)? Just take it and do what is expected, display every track like a physical track in the playlist/library and done. Well i know it isn't as easy as it sounds, but any other method and it would be half-assed. To give head ups, look at how qmmp handles them, excellent. This is how i would like it to be.

Clementine-Issue-Importer commented 10 years ago

From ptaag@ukr.net on November 28, 2010 06:22:48

The only feature I miss is .cue support. Otherwise this is the best player ever.

Clementine-Issue-Importer commented 10 years ago

From bru.fer on December 09, 2010 16:20:59

yep, i say the same, best player ever. We just need the cue support! thanks

Clementine-Issue-Importer commented 10 years ago

From g.gumicsizma on December 11, 2010 04:28:01

.cue support is would be great. :)

Clementine-Issue-Importer commented 10 years ago

From ivanovnegro on December 11, 2010 04:44:10

Yes, definitely, that would make this awesome player even better and more awesome.

Clementine-Issue-Importer commented 10 years ago

From chbjung on December 16, 2010 20:13:53

.cue-support for one-track-files would be great!

It would be even better if .cue-sheets which are embedded in a file would also be recognized... :)

Clementine-Issue-Importer commented 10 years ago

From maxim@kroutikhin.ru on December 19, 2010 00:38:05

Clementine is the best music player ever. Only one thing missing - .cue support ....

Clementine-Issue-Importer commented 10 years ago

From sergeyn on December 19, 2010 11:41:13

cue sheets support would be nice

Clementine-Issue-Importer commented 10 years ago

From akrusmobile on December 20, 2010 23:01:39

Huh! I thought this is already supported. Come on guys, it's really nice feature Clementine is still missing :(

Clementine-Issue-Importer commented 10 years ago

From keirangtp on December 21, 2010 10:04:05

Owner: keirangtp

Clementine-Issue-Importer commented 10 years ago

From keirangtp on December 22, 2010 02:30:37

Labels: -Component-UI Component-MusicLibrary

Clementine-Issue-Importer commented 10 years ago

From keirangtp on December 23, 2010 15:51:17

Status: Started

Clementine-Issue-Importer commented 10 years ago

From hws47a on December 28, 2010 07:46:27

Oh... Thanks for starting develop this!

Clementine-Issue-Importer commented 10 years ago

From lain.halfbit on December 28, 2010 08:24:10

Oh... Don't tell me everyone who asked above for support for cue will tell "thanks" now for starting development to keirangtp. Of course it's great and everyone happy now but why not to use issue tracking system for something more constructive like new ideas and proposals?

BTW, I hope support for cue will handle situation when we have multiple files and cue-file which have links to all of them (like playlist with additional metadata).

Clementine-Issue-Importer commented 10 years ago

From keirangtp on December 28, 2010 08:57:15

Oh, thanks for letting me know that a cuesheet can be linked to multiple files! :P Seriously, I didn't know.

I'll let you all know when we are ready for some serious testing and then you'll be able to submit all kinds of issues. Right now, it's too early so please don't submit any.

Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 09, 2011 11:40:19

OK, guys - we are like 75% percent done. After I commit the next portion of code (today probably) the most important things will be completed.

Please, check this out: http://code.google.com/p/clementine-player/wiki/CueSheetSupport and let me know if it's comprehensible. Also, let me know is the support working for you - are all your .cues getting parsed properly? Did you experience any weird bugs?

Labels: Milestone-0.7

Clementine-Issue-Importer commented 10 years ago

From xsektorx on January 09, 2011 14:35:07

support for defferent encoding would be great. also i often see cue with *.wav files in FILE section however there are only flac in directory. sorry for my english

Clementine-Issue-Importer commented 10 years ago

From lain.halfbit on January 10, 2011 03:09:01

xsektorx: Yep, it's common mistake of those, who makes CD-rips. It will be a good idea to search for files with flac/ape/mp3/ogg/other? extensions if file with specified extension is not there.

Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 10, 2011 04:54:09

About encoding - how do other players handle this? Do 'weirdly' encoded cue sheets get properly recognized in any player?

And about the second, *.wav error thing... Please correct your cues, it's simple enough. I personally consider this kind of error to be a 'critical' error and we're already trying to fix too many CUE problems (mostly by ignoring them).

Clementine-Issue-Importer commented 10 years ago

From lain.halfbit on January 10, 2011 05:03:36

keirangtp:

  1. Manual fixing of cue-files isn't trivial for those who have no idea what cue-files are.
  2. It isn't simple in case when such cue-file is part of torrent-share - user need to make a copy of cue-file and fix this copy to be able to keep seeding wrong version of file.
Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 10, 2011 05:10:03

But really, how often do you see those? And what if there are other extensions possible ( http://www.fileinfo.com/filetypes/audio ), what if there are a few media files in the folder (like song.mp3 and song.wav) etc.?

Also, since you're obviously using CUEs, which players will fix those kinds of error for you?

Clementine-Issue-Importer commented 10 years ago

From lain.halfbit on January 10, 2011 06:16:21

But really, how often do you see those? From time to time. It isn't problem for me but it's annoying and common mistake. I seen a lot of such problematic cue-files and usually it's wav/flac/ape problem when wav-file mentioned in cue-file and flac/ape-file we have in folder.

what if there are a few media files in the folder (like song.mp3 and song.wav) etc.? Just pick any audio-file with same file-name or prefer wav/ape/flac over anything else. This case is very rare and content should be the same. I guess only those who makes rips of CDs and vinyls may encounter such situation and even in their case one of these files will have 'proper' extension mentioned in cue-file and there will be no problem at all. Anyway such folder with multiple files with same name and different formats will be equal to trashcan and we shouldn't care about those who keeps their collection in such horrible state. It's hand-made ultra-rare situation.

Also, since you're obviously using CUEs, which players will fix those kinds of error for you? I never seen such players before and usually I fix cue-files by myself. Actually I never searched for player with such feature but it will be nice to have.

I guess it will be better if xsektorx will make separate feature request for this fool-proof feature. It's common mistake but it shouldn't slowing down development of support for 'proper' cue-files.

Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 10, 2011 07:01:57

Yep, I thought no player does it because it's a stupid error. Why should 'C:\song.flac' be any better than 'C:\s0ngH.wav' is when we're really talking about 'C:\song.wav'?

At this point I'm gonna' say Won'tFix to this.

Clementine-Issue-Importer commented 10 years ago

From lain.halfbit on January 10, 2011 08:20:17

Actually we talked about difference only in file extension. File-name must be equal to mentioned in cue-file. 'song.flac' just can't be any better then 's0ngH.wav' 'cause filenames are different. Requested functionality is simple - if there is no file with provided extension then chose any file with equal name and audio-file extension (wav,mp3,flac,ape,...). That's all. If there is no file with equal name then give up.

Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 10, 2011 10:58:45

I know, I understood you but apparently you didn't understand me. Which is ok because of my English and all. :P Anyway let's finish this discussion - Won'tFix and correct your .cues people.

Are there any other suggestions?

Clementine-Issue-Importer commented 10 years ago

From slay.main on January 10, 2011 22:53:13

I'll put my 5 cents :)

In general .cue support works great. That's really nice, though there are some noticed issues:

  1. Switching between tracks isn't always precise. That means there are few last seconds from the previous track playing again while player switching to the next track in a .cue. I've checked my crossfading settings - in my case crossfade appliable only when track is stopping and when I switch them manually, so there is no crossfading for automatically track switching.
  2. I confirm the previously reported issue (comment #34) with LibraryBackend. Console message is: "QSqlError(19, "Unable to fetch row", "constraint failed"" repeated many times in a row. It happens only once so far (while listening about 20 tracks). Clementine error dialog shows the message: "LibraryBackend: constraint failed Unable to fetch row"
  3. Analyzer doesn't work at all (please pay attention I don't mean visualization - only analyzer).
Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 11, 2011 00:45:11

slay.main:

  1. We're aware of that and we'll fix it - at some point... ;)
  2. I'm not sure I understand. Are you able to reproduce the error at any given moment or when playing a specific song / album?
  3. Really a few seconds? A few like 1.5 or more like 5?

g.gumicsizma: is this happenning only for this one song? If so, can you attach here it's .cue file?

Clementine-Issue-Importer commented 10 years ago

From slay.main on January 11, 2011 02:18:25

  1. Well, for instance, you're listening to some track and it's about to the end. When player switch to the next track in a playlist a few seconds from the previous track are played (a few like 1.5) and after that the next track begin to play. So, in this case, you listen to the last ~1.5 seconds twice. Hope, I clarified the problem :)
  2. No, I can't reproduce that. I tried to switch between tracks, loaded another .cue file and so on, but without any results. It seems happen occasionally. If I get more information about this problem, I'll report it.
Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 11, 2011 03:17:39

  1. Could you by any chance send me the media file with it's cue? Maybe the beginning / end markers are somehow broken there.
Clementine-Issue-Importer commented 10 years ago

From g.gumicsizma on January 11, 2011 03:26:25

Yes of course! :) But I can't do this now, becouse I'm working, 4-5 hour later I send for you the file.

best, Attila

Clementine-Issue-Importer commented 10 years ago

From slay.main on January 11, 2011 09:19:48

keirangtp:

Sure, here is mine - http://www.metahyper.com/53ti2n7frycl/clementine_cue_issue_sample.tar it's about 140Mb

Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 11, 2011 10:35:47

slay.main: it's very hard to say how good the mechanism is in this case since every songs becomes the next one in a very smooth fashion. But as far as I can see, this is not a bug.

Nevertheless... The cue implementation can be AT MOST one second off when cutting the media file into sections (one second for each section and the error is not cumulative). This is because the time in cue sheet is in milliseconds and in Clementine interally it's seconds so I'm losing part of the information. If you'd like to see this corrected, vote for this: http://code.google.com/p/clementine-player/issues/detail?id=1166

Clementine-Issue-Importer commented 10 years ago

From slay.main on January 11, 2011 10:59:34

keirangtp,

Ok, I see you point. I'm agree it's not a bug. Voted for #1166 issue

Clementine-Issue-Importer commented 10 years ago

From g.gumicsizma on January 12, 2011 11:18:51

This is my wrong file http://www.2shared.com/file/K6Kt1YdT/NYLtar.html I can play the cue with you send.

2011-01-11 12:18 keltezéssel, clementine-player@googlecode.com írta:

Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 12, 2011 12:43:03

g.gumicsizma: if you're on Linux (for example), the problem is that your file system is case sensitive. CUE sheet says your FILE's name ends with "-0MNi.mp3" while it really ends with "-0mni.mp3". The easiest way to correct this is to rename your file to end with "...-0MNi.mp3".

Also, if you want your CUEs to appear in the library, you need to name them just like their corresponding media files are named. So you should for example rename:

"100-new_yorklounge-cd1-_new_york_by_day_1200pm-0MNi.cue" to "101-new_yorklounge-cd1-_new_york_by_day_1200pm-0MNi.cue"

Clementine-Issue-Importer commented 10 years ago

From g.gumicsizma on January 12, 2011 12:52:30

.tar.gz.... Yes it's Linux! :) And I can't see it! Oh' my god! Thaks a lot!

2011-01-12 21:44 keltezéssel, clementine-player@googlecode.com írta:

Clementine-Issue-Importer commented 10 years ago

From g.gumicsizma on January 14, 2011 05:56:59

If you close and reopen Clementine, forget the .cue titles and artist. Ubuntu 10.10 and Win XP the same. Version something new 1-2 days old releases. (I've got the Clementine repository on Ubuntu, on Windows I use manually download sometime)

Second problem, sometime after the restart, the first track of the .cue is the full lenght of the song and play it the end after then play next song (The 2nd of the cue file). So I listen twice the album in the 2 to the end.

Clementine-Issue-Importer commented 10 years ago

From Kazu.sempai on January 14, 2011 06:14:53

Thank you very much keirangtp, it works. There are only a few things to note

  1. The millisecond issue but that will hopefully be resolved with # Issue 1166 2. The analyzer and visualizer don't work
  2. Sometimes it plays the beginning of the audio file instead of the desired track when switching songs. reproducible by fast switching between songs e.g play track 2, switch to track 3 and now switch fast to track 4 and you would sometimes hear track 1 instead of 4, even through all information says it is track 4 note only sometimes. The console only says "Seek failed". The files i used were in TTA (True Audio) and flac format on Windows 7 x64 and clementine r2614 .

Aside from that, thumbs up. You have made me and a "few" others really happy with this.

Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 14, 2011 07:59:03

g.gumicsizma: I'm aware of the first issue - it will be corrected soon.

g.gumicsizma: The second issue - are you able to consistently reproduce this? This may be one of the errors that will get repaired with the next commit but I'm not really sure.

Kazu.sem... - 2: i've opened a new issue for this to not forget: issue #1291 . I think this will get resolved before 0.7 is released.

Kazu.sem... - 3: i can't reproduce this but I know where it's coming from. I've opened a issue (#1292) for it too.

Clementine-Issue-Importer commented 10 years ago

From g.gumicsizma on January 14, 2011 09:08:21

  1. I'm sorry, I cant see it. It is a known problem, ok. :)
  2. Yes I can consistently reproduce this.
Clementine-Issue-Importer commented 10 years ago

From keirangtp on January 15, 2011 10:57:57

I've just commited some code which finalizes the support for library reacting to CUE song changes!

When you start using the revision ( r2629 ), I strongly advice you all to READD folders containing all your CUEs to library. Otherwise, even though you're using the new code, the CUE songs won't react to changes as expected!

Also, g.gumicsizma - when you reach r2629 , could you READD the problematic CUE (from your second problem) and see if the problem persists?

Clementine-Issue-Importer commented 10 years ago

From g.gumicsizma on January 16, 2011 03:06:52

Clementine 0.6 r2635 it's working. :) My problem solved.

2011-01-15 20:04 keltezéssel, clementine-player@googlecode.com írta: