Rockbox

This is the bug/patch tracker for Rockbox. Click here for more information.

Quick links: Bugs · Patches · Rockbox frontpage

Tasklist

FS#12419 - Support for embedded cuesheets.

Attached to Project: Rockbox
Opened by Nick Peskett (nickp) - Thursday, 01 December 2011, 11:47 GMT+2
Last edited by Nick Peskett (nickp) - Friday, 16 December 2011, 11:50 GMT+2
Task Type Patches
Category ID3 / meta data
Status Closed
Assigned To No-one
Player Type All players
Severity Low
Priority Normal
Reported Version Release 3.9
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Private No

Details

This patch adds the ability for a cuesheet to be embedded within a tag of an audio file, and to be read directly from there.

Currently only the ID3v2 TXXX:CUESHEET tag is supported, but I plan to look into FLAC next.
   embedded_cuesheets_31089.patch (10.8 KiB)
 ../apps/misc.h             |    3 +
 ../apps/cuesheet.c         |   79 +++++++++++++++++++++++++++++++--------------
 ../apps/cuesheet.h         |   12 +++++-
 ../apps/metadata/id3tags.c |   15 ++++++--
 ../apps/metadata.c         |    4 ++
 ../apps/metadata.h         |    7 +++
 ../apps/mpeg.c             |    6 +--
 ../apps/playback.c         |    6 +--
 ../apps/misc.c             |    3 -
 9 files changed, 96 insertions(+), 39 deletions(-)

This task depends upon

Closed by  Nick Peskett (nickp)
Friday, 16 December 2011, 11:50 GMT+2
Reason for closing:  Accepted
Additional comments about closing:  Submitted with r31321 and r31322.
Comment by Nick Peskett (nickp) - Thursday, 01 December 2011, 11:48 GMT+2
I've attached a perl script to generate a little test mp3 to demonstrate the patch. You'll need the CPAN MP3::Tag module installed to run it (Debian package libmp3-tag-perl).

Alternatively, you can use eyeD3 (package eyed3 or http://eyed3.nicfit.net/) to attach an existing cuesheet to a corresponding mp3 file;

eyeD3 --set-user-text-frame="CUESHEET:`cat example.cue`" example.mp3
Comment by Nick Peskett (nickp) - Saturday, 03 December 2011, 02:55 GMT+2
Added support for FLAC with cuesheet embedded using --tag-from-file, e.g.;

flac --tag-from-file="CUESHEET=example.cue" example.wav -o example.flac
   embedded_cuesheets_31113.patch (11.6 KiB)
 apps/misc.h             |    3 +
 apps/cuesheet.c         |   79 +++++++++++++++++++++++++++++++++---------------
 apps/cuesheet.h         |   12 +++++--
 apps/metadata/vorbis.c  |   17 ++++++++--
 apps/metadata/id3tags.c |   13 ++++++-
 apps/metadata.c         |    4 ++
 apps/metadata.h         |    7 ++++
 apps/mpeg.c             |    6 +--
 apps/playback.c         |    6 +--
 apps/misc.c             |    3 -
 10 files changed, 109 insertions(+), 41 deletions(-)

Comment by Nick Peskett (nickp) - Tuesday, 13 December 2011, 10:27 GMT+2
Added a manual entry.
   embedded_cuesheets_31228.patch (12.7 KiB)
 apps/misc.h                                   |    3 
 apps/cuesheet.c                               |   80 ++++++++++++++++++--------
 apps/cuesheet.h                               |   12 ++-
 apps/metadata/vorbis.c                        |   17 ++++-
 apps/metadata/id3tags.c                       |   13 +++-
 apps/metadata.c                               |    4 +
 apps/metadata.h                               |    7 ++
 apps/mpeg.c                                   |    6 -
 apps/playback.c                               |    6 -
 apps/misc.c                                   |    3 
 manual/configure_rockbox/playback_options.tex |    8 +-
 11 files changed, 116 insertions(+), 43 deletions(-)

Comment by Nick Peskett (nickp) - Tuesday, 13 December 2011, 10:31 GMT+2
To encode Ogg Vorbis or Speex;

oggenc -c "CUESHEET=`cat example.cue`" example.wav -o example.ogg

speexenc --comment "CUESHEET=`cat example.cue`" example.wav example.spx
Comment by Nick Peskett (nickp) - Tuesday, 13 December 2011, 11:55 GMT+2
Vorbis comments now default to utf8 encoding.
   embedded_cuesheets_31228_utf8.patch (12.9 KiB)
 apps/misc.h                                   |    3 
 apps/cuesheet.c                               |   82 ++++++++++++++++++--------
 apps/cuesheet.h                               |   13 +++-
 apps/metadata/vorbis.c                        |   18 ++++-
 apps/metadata/id3tags.c                       |   14 +++-
 apps/metadata.c                               |    4 +
 apps/metadata.h                               |    8 ++
 apps/mpeg.c                                   |    6 -
 apps/playback.c                               |    6 -
 apps/misc.c                                   |    3 
 manual/configure_rockbox/playback_options.tex |    8 +-
 11 files changed, 122 insertions(+), 43 deletions(-)

Comment by Nick Peskett (nickp) - Wednesday, 14 December 2011, 16:13 GMT+2
Support for character encoded ID3 tags and UTF-16
   embedded_cuesheets_31247.patch (14.9 KiB)
 apps/cuesheet.c                               |  126 ++++++++++++++++++++------
 apps/cuesheet.h                               |   13 ++
 apps/metadata/vorbis.c                        |   18 +++
 apps/metadata/id3tags.c                       |   38 +++++++
 apps/metadata.c                               |    4 
 apps/metadata.h                               |   15 +++
 apps/mpeg.c                                   |    6 -
 apps/playback.c                               |    6 -
 manual/configure_rockbox/playback_options.tex |    8 +
 9 files changed, 190 insertions(+), 44 deletions(-)

Comment by Nick Peskett (nickp) - Friday, 16 December 2011, 10:18 GMT+2
Tidied and now doing more secure BOM checking.
   embedded_cuesheets_31320.patch (14.8 KiB)
 apps/cuesheet.c                               |  127 ++++++++++++++++++++------
 apps/cuesheet.h                               |   15 ++-
 apps/metadata/vorbis.c                        |   20 +++-
 apps/metadata/id3tags.c                       |   34 ++++++
 apps/metadata.c                               |    4 
 apps/metadata.h                               |   16 +++
 apps/mpeg.c                                   |    6 -
 apps/playback.c                               |    6 -
 manual/configure_rockbox/playback_options.tex |    8 +
 9 files changed, 192 insertions(+), 44 deletions(-)

Loading...