--- herrie-2.2/configure +++ herrie-2.2/configure @@ -301,7 +301,7 @@ fi if [ "$CFG_XSPF" != "" ] then CFLAGS="$CFLAGS -DBUILD_XSPF" - LDFLAGS="$LDFLAGS -lspiff" + test_pkgconfig "libxspf" "xspf" "_vfs_xspf" SRCS="$SRCS util vfs_xspf" PLAYQ_DUMPFILE="autosave.xspf" else --- herrie-2.2/src/conftest.c +++ herrie-2.2/src/conftest.c @@ -56,16 +56,10 @@ #include #include #endif /* BUILD_VORBIS */ -#ifdef BUILD_XSPF -#include -#endif /* BUILD_XSPF */ int main(int argc, char *argv[]) { -#ifdef BUILD_XSPF - spiff_write(NULL, NULL, NULL); -#endif /* BUILD_XSPF */ return (0); } --- herrie-2.2/src/vfs_xspf.c +++ herrie-2.2/src/vfs_xspf.c @@ -30,7 +30,7 @@ #include "stdinc.h" -#include +#include #include "util.h" #include "vfs.h" @@ -50,22 +50,22 @@ vfs_xspf_match(struct vfsent *ve, int isdir) int vfs_xspf_populate(struct vfsent *ve) { - struct spiff_list *slist; - struct spiff_track *strack; - struct spiff_mvalue *sloc; + struct xspf_list *slist; + struct xspf_track *strack; + struct xspf_mvalue *sloc; char *dirname, *baseuri, *filename; struct vfsref *vr; baseuri = url_escape(ve->filename); - slist = spiff_parse(ve->filename, baseuri); + slist = xspf_parse(ve->filename, baseuri); g_free(baseuri); if (slist == NULL) return (-1); dirname = g_path_get_dirname(ve->filename); - SPIFF_LIST_FOREACH_TRACK(slist, strack) { - SPIFF_TRACK_FOREACH_LOCATION(strack, sloc) { + XSPF_LIST_FOREACH_TRACK(slist, strack) { + XSPF_TRACK_FOREACH_LOCATION(strack, sloc) { /* Skip file:// part */ filename = url_unescape(sloc->value); @@ -77,40 +77,40 @@ vfs_xspf_populate(struct vfsent *ve) } g_free(dirname); - spiff_free(slist); + xspf_free(slist); return (0); } int vfs_xspf_write(const struct vfslist *vl, const char *filename) { - struct spiff_list *list; - struct spiff_track *track; - struct spiff_mvalue *location; + struct xspf_list *list; + struct xspf_track *track; + struct xspf_mvalue *location; char *fn, *baseuri; struct vfsref *vr; int ret; - list = spiff_new(); + list = xspf_new(); VFS_LIST_FOREACH_REVERSE(vl, vr) { /* Add a new track to the beginning of the list */ - track = spiff_new_track_before(&list->tracks); + track = xspf_new_track_before(&list->tracks); /* Make sure we don't write non-UTF-8 titles to disk */ if (g_utf8_validate(vfs_name(vr), -1, NULL)) - spiff_setvalue(&track->title, vfs_name(vr)); + xspf_setvalue(&track->title, vfs_name(vr)); - location = spiff_new_mvalue_before(&track->locations); + location = xspf_new_mvalue_before(&track->locations); fn = url_escape(vfs_filename(vr)); - spiff_setvalue(&location->value, fn); + xspf_setvalue(&location->value, fn); g_free(fn); } baseuri = url_escape(filename); - ret = spiff_write(list, filename, baseuri); + ret = xspf_write(list, filename, baseuri); g_free(baseuri); - spiff_free(list); + xspf_free(list); return (ret); }