Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000210 [XMMS2] medialib feature N/A 05-06-14 16:08 07-02-16 19:27
Reporter optical View Status public  
Assigned To tru
Priority normal Resolution fixed  
Status resolved   Product Version
Summary 0000210: Support for CUE-files
Description Support for adding mp3s with CUE-files and treating them as multiple songs in the mlib.
Additional Information
Tags No tags attached.
GIT commit id 0b27a7255736980deececea456c6e4681e64c603
Has patch
Attached Files ? file icon 00cue-xmms_medialib.h.patch [^] (580 bytes) 05-09-25 05:22
? file icon 01cue-transport.c.patch [^] (1,390 bytes) 05-09-25 05:22
gz file icon xmms2-devel-cue.tar.gz [^] (3,547 bytes) 05-09-25 05:24

- Relationships Relation Graph ] Dependency Graph ]
parent of 0000373resolvednano Gapless playback of LAME encoded MP3 files 
has duplicate 0000303new Cuesheet support 
related to 0001637closed decoder xforms doesn't honor startms/stopms set by addarg 
related to 0001311resolvedandersg use startms and stopms arguments 

-  Notes
(0000225)
SuperMMX (developer)
05-07-10 05:08

I have implemented this CUE plugin, and I will submit when fully finished and tested.

In my implementation, there are some assumptions. In the CUE plugin,
some extra properties are added to the entry. and in the decoder plugin,
by checking these properties, the decoder would know whether current entry
is from a CUE or not, and seek to the correct position.

There are some minor modifications of the transport and medialib without
affecting the interface.
(0000234)
tru (administrator)
05-07-10 20:16

I think we should use some kind of url entry parsing in the decoder.

like myfile.mp3+3000 or something like that so that we can add myfile.mp3+<offset> many times in the playlist. this can also be used for diffrent mediainfo in different offsets in the file (since it will be different entries in the medialib).

so the cue plugin could just add the files with different offsets, offsets should be in ms.
(0000240)
SuperMMX (developer)
05-07-11 03:26

I don't think file+offset is a good idea, a file name such as a.mp3+c.mp3,
how the parser know which one, a.mp3 or c.mp3 is the user wanted. And another
thing need to consider, a.mp3+xxxx, the parser will parse it first to find out
the extension (MIME) to get the right decoder plugin, then when opening the file, need to parse it again, and when seeking to the right place, need to
parse it the 3rd time.

in my current implementation,
the URL is file#(subsong index), with some extra properties:
"subsong_index" equals to the actrual subsong_index in the CUE
"ref_url" equals to the FILE(aka, the actrual music file) in the CUE,
and "start_time" equals to the start time of the current track.

And in the transport, when openning the URL, it first check the ref_url
property, then the url. In the decoder plugin, only check 2 properties
to make sure that current entry is a subsong from a CUE, then seek to
the right place using "start_time" property.

Currently, i don't have CUE with MP3 files , so I tested with
Monkey's Audio Codec as the decoder plugin(also implemented by me),
it works as expected.
(0000241)
SuperMMX (developer)
05-07-11 03:31

I have upload the cue plugin with some patches of other related files.
Please take a look :), Good Luck.

The implementation is not complete, but enough to test it.

and there will be some slightly modifications to the MP3 decoding to
test it. If possible, i can make it, but firstly, i have to
write a cue for a small MP3 :)
(0000387)
SuperMMX (developer)
05-08-31 03:47

hi, tru, at most time, users just listen to TRACKs, so IMO, file.ext#track_number is enough in most circumstance. Normally track_number is greater than 1 and less than 99, and with file.ext#start_time, the start_time(ms) is 0 or something greater than 99.. So these two ways can be combined.

what do you think?
(0000401)
SuperMMX (developer)
05-09-09 15:23

Another clean patch against xmms2-stable.

Please delete the first xmms2-cue.tar.gz.
(0000406)
juhovh (developer)
05-09-09 23:33

xmms2-cue.tar.gz file deleted because requested.
(0000407)
nano (manager)
05-09-10 02:41

magic.c changes should be replaced with the corresponding magic check xmms_plugin_magic_add, check for example ogg or mad for examples.
(0000408)
SuperMMX (developer)
05-09-10 07:18

This is against the xmms2-stable git,

And also, I have resynced the latest xmms2-devel. but CUE files have
no magic with them.
(0000425)
SuperMMX (developer)
05-09-25 05:25

please delete the old ones.

the new patch is against the latest xmms2-devel branch.

Thank you.
(0001576)
tru (administrator)
06-12-14 22:33

I have added a cue sheet parser / plugin to my tree. it needs testing and before this is fully functional xmms2d needs to make use of startms and stopms arguments.

- Issue History
Date Modified Username Field Change
05-06-14 16:08 optical New Issue
05-07-10 05:08 SuperMMX Note Added: 0000225
05-07-10 20:16 tru Note Added: 0000234
05-07-11 03:26 SuperMMX Note Added: 0000240
05-07-11 03:27 SuperMMX File Added: xmms2-cue.tar.gz
05-07-11 03:31 SuperMMX Note Added: 0000241
05-08-09 09:42 tru Relationship added has duplicate 0000303
05-08-31 03:47 SuperMMX Note Added: 0000387
05-09-04 19:55 puzzles Issue Monitored: puzzles
05-09-09 15:16 SuperMMX File Added: xmms_medialib.h.patch
05-09-09 15:17 SuperMMX File Added: transport.c.patch
05-09-09 15:18 SuperMMX File Added: magic.c.patch
05-09-09 15:22 SuperMMX File Added: xmms2-cue-new.tar.gz
05-09-09 15:23 SuperMMX Note Added: 0000401
05-09-09 23:28 juhovh File Deleted: xmms2-cue.tar.gz
05-09-09 23:33 juhovh Note Added: 0000406
05-09-10 02:41 nano Note Added: 0000407
05-09-10 07:18 SuperMMX Note Added: 0000408
05-09-25 05:22 SuperMMX File Added: 00cue-xmms_medialib.h.patch
05-09-25 05:22 SuperMMX File Added: 01cue-transport.c.patch
05-09-25 05:24 SuperMMX File Added: xmms2-devel-cue.tar.gz
05-09-25 05:25 SuperMMX Note Added: 0000425
05-09-25 17:18 tru File Deleted: xmms_medialib.h.patch
05-09-25 17:18 tru File Deleted: transport.c.patch
05-09-25 17:18 tru File Deleted: magic.c.patch
05-09-25 17:18 tru File Deleted: xmms2-cue-new.tar.gz
05-09-26 22:50 tru Relationship added parent of 0000373
05-09-26 23:00 tru Status new => confirmed
05-12-22 22:10 andersg Relationship added child of 0000520
06-12-14 22:33 tru Note Added: 0001576
06-12-14 22:33 tru Assigned To => tru
06-12-14 22:33 tru Status confirmed => feedback
07-02-16 19:27 andersg GIT commit id => 0b27a7255736980deececea456c6e4681e64c603
07-02-16 19:27 andersg Status feedback => resolved
07-02-16 19:27 andersg Resolution open => fixed
07-03-11 16:37 nano Relationship deleted child of 0000520
07-11-09 13:30 puzzles Relationship added related to 0001637
07-11-09 13:30 puzzles Relationship added related to 0001311


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker