diff options
author | 2009-08-30 16:25:34 +0200 | |
---|---|---|
committer | 2009-08-30 16:25:34 +0200 | |
commit | 37b0ce345c9a7fbc383ef69df4e8600e37216ea0 (patch) | |
tree | 4f5543cfacd23792ffda8d5967ea025a48f3fc48 /cflac.c | |
parent | 17953a07524b17d98ad881efdb307fd8a81588ee (diff) |
added reading of cuesheets from flac vorbiscomments
Diffstat (limited to 'cflac.c')
-rw-r--r-- | cflac.c | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -288,6 +288,20 @@ cflac_init_cue_metadata_callback(const FLAC__StreamDecoder *decoder, const FLAC_ } #endif // }}} + else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) { + const FLAC__StreamMetadata_VorbisComment *vc = &metadata->data.vorbis_comment; + for (int i = 0; i < vc->num_comments; i++) { + const FLAC__StreamMetadata_VorbisComment_Entry *c = &vc->comments[i]; + if (c->length > 0) { + char s[c->length+1]; + s[c->length] = 0; + memcpy (s, c->entry, c->length); + if (!strncasecmp (s, "cuesheet=", 9)) { + cb->last = deadbeef->pl_insert_cue_from_buffer (cb->after, cb->fname, s+9, c->length-9, &plugin, "FLAC"); + } + } + } + } } static void |