Add xmms-xvs (X Visualization System) 0.1.0b1, a visualization plug-in

for XMMS inspired by WinAmp's AVS.

Approved by:	will
This commit is contained in:
Anders Nordby 2001-11-21 23:08:20 +00:00
parent 43e73b2ccb
commit abfec5c1f7
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=50346
8 changed files with 162 additions and 0 deletions

View File

@ -327,6 +327,7 @@
SUBDIR += xmfract
SUBDIR += xmms-avi
SUBDIR += xmms-gforce
SUBDIR += xmms-xvs
SUBDIR += xmorph
SUBDIR += xmountains
SUBDIR += xmovie

View File

@ -0,0 +1,38 @@
# New ports collection makefile for: xmms-xvs
# Date created: 25 June 2001
# Whom: Anders Nordby <anders@fix.no>
#
# $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 <bsd.port.mk>

View File

@ -0,0 +1 @@
MD5 (xvs-0.1.0b1.tar.gz) = fd39ebf61294dbc2cf23522a89b7af1a

View File

@ -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;

View File

@ -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;
}

View File

@ -0,0 +1 @@
X Visualization System, a plugin for XMMS

View File

@ -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 <anders@FreeBSD.org>

View File

@ -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