summaryrefslogtreecommitdiff
path: root/junklib.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-01-02 13:05:52 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-01-02 13:05:52 +0100
commit40d3a5c66105914c1113bc7ef0649e13b3db690f (patch)
treed5ea22458282e5b6c7b93214b902114478735e73 /junklib.c
parentd90852fcc0ce41ce30d39a7d50e8156863c4a7b9 (diff)
added junk_copy API to copy metadata from one track to a list of tracks
Diffstat (limited to 'junklib.c')
-rw-r--r--junklib.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/junklib.c b/junklib.c
index 53e07cc1..1983abee 100644
--- a/junklib.c
+++ b/junklib.c
@@ -1284,3 +1284,33 @@ junk_recode (const char *in, int inlen, char *out, int outlen, const char *cs) {
iconv_close (cd);
}
}
+
+void
+junk_copy (playItem_t *from, playItem_t *first, playItem_t *last) {
+ const char *year = pl_find_meta (from, "year");
+ const char *genre = pl_find_meta (from, "genre");
+ const char *copyright = pl_find_meta (from, "copyright");
+ const char *vendor = pl_find_meta (from, "vendor");
+ const char *comment = pl_find_meta (from, "comment");
+ playItem_t *i;
+ for (i = first; i; i = i->next[PL_MAIN]) {
+ if (year) {
+ pl_add_meta (i, "year", year);
+ }
+ if (genre) {
+ pl_add_meta (i, "genre", genre);
+ }
+ if (copyright) {
+ pl_add_meta (i, "copyright", copyright);
+ }
+ if (vendor) {
+ pl_add_meta (i, "vendor", vendor);
+ }
+ if (comment) {
+ pl_add_meta (i, "comment", comment);
+ }
+ if (i == last) {
+ break;
+ }
+ }
+}