summaryrefslogtreecommitdiff
path: root/cflac.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2009-08-30 16:25:34 +0200
committerGravatar waker <wakeroid@gmail.com>2009-08-30 16:25:34 +0200
commit37b0ce345c9a7fbc383ef69df4e8600e37216ea0 (patch)
tree4f5543cfacd23792ffda8d5967ea025a48f3fc48 /cflac.c
parent17953a07524b17d98ad881efdb307fd8a81588ee (diff)
added reading of cuesheets from flac vorbiscomments
Diffstat (limited to 'cflac.c')
-rw-r--r--cflac.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/cflac.c b/cflac.c
index 67fdba98..8f309f8f 100644
--- a/cflac.c
+++ b/cflac.c
@@ -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