# HG changeset patch # User chainsaw # Date 1163872944 28800 # Node ID ab24cfe495e09ab541abd91392250b399764a62d # Parent eef1490ef371211aab3e862bc5dae51e3984a01a [svn] Port to NewVFS file probe & add explicit cast to silence warning, thanks to spb. diff -r eef1490ef371 -r ab24cfe495e0 ChangeLog --- a/ChangeLog Sat Nov 18 10:01:53 2006 -0800 +++ b/ChangeLog Sat Nov 18 10:02:24 2006 -0800 @@ -1,3 +1,10 @@ +2006-11-18 18:01:53 +0000 Tony Vroon + revision [522] + Port to NewVFS file probe. + trunk/src/sexypsf/xmms.c | 23 ++++++++++------------- + 1 file changed, 10 insertions(+), 13 deletions(-) + + 2006-11-18 04:18:21 +0000 William Pitcock revision [520] - make pause do something. closes #636 diff -r eef1490ef371 -r ab24cfe495e0 src/wavpack/Makefile --- a/src/wavpack/Makefile Sat Nov 18 10:01:53 2006 -0800 +++ b/src/wavpack/Makefile Sat Nov 18 10:02:24 2006 -0800 @@ -11,6 +11,8 @@ CXXFLAGS += $(PICFLAGS) $(GTK_CFLAGS) $(WAVPACK_CFLAGS) -I../../intl -I../.. +LDFLAGS += -lstdc++ + OBJECTS = ${SOURCES:.cxx=.o} include ../../mk/objective.mk diff -r eef1490ef371 -r ab24cfe495e0 src/wavpack/libwavpack.cxx --- a/src/wavpack/libwavpack.cxx Sat Nov 18 10:01:53 2006 -0800 +++ b/src/wavpack/libwavpack.cxx Sat Nov 18 10:02:24 2006 -0800 @@ -31,7 +31,7 @@ extern "C" InputPlugin * get_iplugin_info(void); static void wv_load_config(); -static int wv_is_our_file(char *); +static int wv_is_our_fd(gchar *filename, VFSFile *file); static void wv_play(char *); static void wv_stop(void); static void wv_pause(short); @@ -63,7 +63,7 @@ wv_load_config, wv_about_box, wv_configure, - wv_is_our_file, + NULL, //old style is_our_file NULL, //no use wv_play, wv_stop, @@ -82,6 +82,9 @@ wv_file_info_box, //info box NULL, //output wv_get_song_tuple, + NULL, + NULL, + wv_is_our_fd, }; int32_t read_bytes (void *id, void *data, int32_t bcount) @@ -250,16 +253,12 @@ } static int -wv_is_our_file(char *filename) +wv_is_our_fd(gchar *filename, VFSFile *file) { - char *ext; - - ext = strrchr(filename, '.'); - if (ext) { - if (!strcasecmp(ext, ".wv")) { - return TRUE; - } - } + gchar magic[4]; + vfs_fread(magic,1,4,file); + if (!memcmp(magic,"wvpk",4)) + return TRUE; return FALSE; } @@ -317,7 +316,7 @@ while (!killDecodeThread) { if (isSeek != -1) { DBG("seeking to position %d\n", isSeek); - WavpackSeekSample(d.ctx, isSeek * d.sample_rate); + WavpackSeekSample(d.ctx, (int)(isSeek * d.sample_rate)); isSeek = -1; } if (paused == 0