From abfec5c1f7bcab6b24e1765bbeb6581a0c7e3e9b Mon Sep 17 00:00:00 2001 From: Anders Nordby Date: Wed, 21 Nov 2001 23:08:20 +0000 Subject: [PATCH] Add xmms-xvs (X Visualization System) 0.1.0b1, a visualization plug-in for XMMS inspired by WinAmp's AVS. Approved by: will --- graphics/Makefile | 1 + graphics/xmms-xvs/Makefile | 38 +++++++++ graphics/xmms-xvs/distinfo | 1 + .../xmms-xvs/files/patch-src-calc-parser.h | 11 +++ .../xmms-xvs/files/patch-src-calc-parser.y | 78 +++++++++++++++++++ graphics/xmms-xvs/pkg-comment | 1 + graphics/xmms-xvs/pkg-descr | 17 ++++ graphics/xmms-xvs/pkg-plist | 15 ++++ 8 files changed, 162 insertions(+) create mode 100644 graphics/xmms-xvs/Makefile create mode 100644 graphics/xmms-xvs/distinfo create mode 100644 graphics/xmms-xvs/files/patch-src-calc-parser.h create mode 100644 graphics/xmms-xvs/files/patch-src-calc-parser.y create mode 100644 graphics/xmms-xvs/pkg-comment create mode 100644 graphics/xmms-xvs/pkg-descr create mode 100644 graphics/xmms-xvs/pkg-plist diff --git a/graphics/Makefile b/graphics/Makefile index 7fac646bfd28..5610f9bb60ff 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -327,6 +327,7 @@ SUBDIR += xmfract SUBDIR += xmms-avi SUBDIR += xmms-gforce + SUBDIR += xmms-xvs SUBDIR += xmorph SUBDIR += xmountains SUBDIR += xmovie diff --git a/graphics/xmms-xvs/Makefile b/graphics/xmms-xvs/Makefile new file mode 100644 index 000000000000..47f821c81c86 --- /dev/null +++ b/graphics/xmms-xvs/Makefile @@ -0,0 +1,38 @@ +# New ports collection makefile for: xmms-xvs +# Date created: 25 June 2001 +# Whom: Anders Nordby +# +# $FreeBSD$ +# + +PORTNAME= xmms-xvs +PORTVERSION= 0.1.0b1 +CATEGORIES= graphics +MASTER_SITES= http://godot.tuniv.szczecin.pl/~jgregor/xvs/download/ \ + ftp://ftp.nuug.no/pub/anders/distfiles/ +DISTNAME= xvs-${PORTVERSION} + +MAINTAINER= anders@FreeBSD.org + +BUILD_DEPENDS= xmms-config:${PORTSDIR}/audio/xmms +RUN_DEPENDS= xmms:${PORTSDIR}/audio/xmms +LIB_DEPENDS= xml2.5:${PORTSDIR}/textproc/libxml2 + +USE_GTK= yes +GNU_CONFIGURE= yes +CONFIGURE_ENV+= XML2_CONFIG="${LOCALBASE}/bin/xml2-config" \ + XMMS_CONFIG="${X11BASE}/bin/xmms-config" +USE_GMAKE= yes +USE_X_PREFIX= yes + +DOCS= AUTHORS ChangeLog NEWS README TODO + +.if !defined(NOPORTDOCS) +post-install: + ${INSTALL} -d -o root -g wheel -m 0755 ${DOCSDIR} +.for f in ${DOCS} + ${INSTALL_DATA} ${WRKSRC}/${f} ${DOCSDIR} +.endfor +.endif + +.include diff --git a/graphics/xmms-xvs/distinfo b/graphics/xmms-xvs/distinfo new file mode 100644 index 000000000000..b5051e198939 --- /dev/null +++ b/graphics/xmms-xvs/distinfo @@ -0,0 +1 @@ +MD5 (xvs-0.1.0b1.tar.gz) = fd39ebf61294dbc2cf23522a89b7af1a diff --git a/graphics/xmms-xvs/files/patch-src-calc-parser.h b/graphics/xmms-xvs/files/patch-src-calc-parser.h new file mode 100644 index 000000000000..6761261f9fef --- /dev/null +++ b/graphics/xmms-xvs/files/patch-src-calc-parser.h @@ -0,0 +1,11 @@ +--- src/calc/parser.h Thu May 31 18:54:07 2001 ++++ src/calc/parser.h Tue Jun 26 22:27:15 2001 +@@ -29,7 +29,7 @@ + + /* Structure passed do yyparse. */ + typedef struct { +- FILE *input; ++ const char *input; + expression_t *expr; + symbol_dict_t *dict; + } parser_control; diff --git a/graphics/xmms-xvs/files/patch-src-calc-parser.y b/graphics/xmms-xvs/files/patch-src-calc-parser.y new file mode 100644 index 000000000000..9ef0b8ccbbb6 --- /dev/null +++ b/graphics/xmms-xvs/files/patch-src-calc-parser.y @@ -0,0 +1,78 @@ +--- src/calc/parser.y.orig Thu Jun 21 11:34:14 2001 ++++ src/calc/parser.y Tue Jun 26 22:20:18 2001 +@@ -148,12 +148,20 @@ + return 0; + } + ++int strgetc (const char **str) { ++ char c; ++ if ((c = **str)) { (*str)++; return c; } ++ return EOF; ++} ++ ++void strungetc (int c, const char **str) { if (c != EOF) (*str)--; } ++ + int yylex (YYSTYPE *yylval, void *yyparam) { + int c; + parser_control *pc = (parser_control *) yyparam; + + /* Ignore whitespace, get first nonwhite character. */ +- while ((c = fgetc (pc->input)) == ' ' || c == '\t' || c == '\n'); ++ while ((c = strgetc (&pc->input)) == ' ' || c == '\t' || c == '\n'); + + /* End of input ? */ + if (c == EOF) +@@ -161,14 +169,16 @@ + + /* Char starts a number => parse the number. */ + if (isdigit (c)) { +- ungetc (c, pc->input);/* Put the char back. */ ++ strungetc (c, &pc->input); /* Put the char back. */ + { + char *old_locale, *saved_locale; ++ int n; + + old_locale = setlocale (LC_ALL, NULL); + saved_locale = g_strdup (old_locale); + setlocale (LC_ALL, "C"); +- fscanf (pc->input, "%lf", &yylval->d_value); ++ sscanf (pc->input, "%lf%n", &yylval->d_value, &n); ++ pc->input += n; + setlocale (LC_ALL, saved_locale); + g_free (saved_locale); + } +@@ -185,10 +195,10 @@ + sym_name = g_string_append_c (sym_name, c); + + /* Get another character. */ +- c = fgetc (pc->input); ++ c = strgetc (&pc->input); + } while (c != EOF && isalnum (c)); + +- ungetc (c, pc->input); ++ strungetc (c, &pc->input); + + yylval->s_value = sym_name->str; + +@@ -264,11 +274,8 @@ + + expression_t *expr_compile_string (const char* str, symbol_dict_t *dict) { + parser_control pc; +- FILE *stream; + +- stream = fmemopen (str, strlen (str), "r"); +- +- pc.input = stream; ++ pc.input = str; + pc.expr = expr_new (); + pc.dict = dict; + +@@ -277,8 +284,6 @@ + expr_free (pc.expr); + pc.expr = NULL; + } +- +- fclose (stream); + + return pc.expr; + } diff --git a/graphics/xmms-xvs/pkg-comment b/graphics/xmms-xvs/pkg-comment new file mode 100644 index 000000000000..1bacbf22cb03 --- /dev/null +++ b/graphics/xmms-xvs/pkg-comment @@ -0,0 +1 @@ +X Visualization System, a plugin for XMMS diff --git a/graphics/xmms-xvs/pkg-descr b/graphics/xmms-xvs/pkg-descr new file mode 100644 index 000000000000..686e4a51bcaa --- /dev/null +++ b/graphics/xmms-xvs/pkg-descr @@ -0,0 +1,17 @@ +X Visualization System is a visualization plug-in for XMMS inspired by +WinAmp's AVS. In xvs complex effects are built of many trivial ones put +together. Such an approach provides an extreme flexibility. Once designed +presets can be saved and later restored. + +Features: + +extreme customizability +fast, 32bit display (currently only in windowed mode) +semi-programmable blits & scopes +easy to use, powerful user interface +resizable window +save & restore + +WWW: http://godot.tuniv.szczecin.pl/~jgregor/xvs/ + +- Anders Nordby diff --git a/graphics/xmms-xvs/pkg-plist b/graphics/xmms-xvs/pkg-plist new file mode 100644 index 000000000000..c0d38c8004f2 --- /dev/null +++ b/graphics/xmms-xvs/pkg-plist @@ -0,0 +1,15 @@ +lib/xmms/Visualization/libxvs.la +lib/xmms/Visualization/libxvs.a +share/gnome/xmms/xvs_presets/Beam +share/gnome/xmms/xvs_presets/BlurScope +share/gnome/xmms/xvs_presets/DotCrazy +share/gnome/xmms/xvs_presets/Radar +share/gnome/xmms/xvs_presets/Spot +share/gnome/xmms/xvs_presets/Whirl +@dirrm share/gnome/xmms/xvs_presets +%%PORTDOCS%%share/doc/xvs/AUTHORS +%%PORTDOCS%%share/doc/xvs/ChangeLog +%%PORTDOCS%%share/doc/xvs/NEWS +%%PORTDOCS%%share/doc/xvs/README +%%PORTDOCS%%share/doc/xvs/TODO +%%PORTDOCS%%@dirrm share/doc/xvs