diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2010-08-19 05:04:28 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2010-08-19 05:04:28 +0000 |
commit | 79096fd626b946efd6947fa94ab15d30bf003ba0 (patch) | |
tree | 9a10305d0ade28bb3f5139c37ab8fa76f4e603d4 /valve | |
parent | 633eaa4b2350c00ddc1b338c357096a441944784 (diff) |
converted to new library template and debianized
svn path=/trunk/externals/ekext/; revision=13835
Diffstat (limited to 'valve')
-rw-r--r-- | valve/makefile | 105 | ||||
-rw-r--r-- | valve/valve-help.pd | 34 | ||||
-rw-r--r-- | valve/valve.c | 123 |
3 files changed, 0 insertions, 262 deletions
diff --git a/valve/makefile b/valve/makefile deleted file mode 100644 index 65ef6af..0000000 --- a/valve/makefile +++ /dev/null @@ -1,105 +0,0 @@ -current: - echo make pd_linux, pd_nt, pd_irix5, pd_irix6 or pd_darwin, then make install - -clean: ; rm -f *.pd_* *.o - -# ----------------------- NT ----------------------- - -pd_nt: valve.dll - -INSTALL_PREFIX="C:\pd\extra" -EXT=dll -.SUFFIXES: .obj .dll - -PDNTCFLAGS = /W3 /WX /DNT /DPD /nologo -VC="D:\Program Files\Microsoft Visual Studio\Vc98" - -PDNTINCLUDE = /I. /I\tcl\include /I..\..\src /I$(VC)\include - -PDNTLDIR = $(VC)\lib -PDNTLIB = $(PDNTLDIR)\libc.lib \ - $(PDNTLDIR)\oldnames.lib \ - $(PDNTLDIR)\kernel32.lib \ - ..\..\bin\pd.lib - -.c.dll: - cl $(PDNTCFLAGS) $(PDNTINCLUDE) /c $*.c - link /dll /export:$*_setup $*.obj $(PDNTLIB) - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix5: valve.pd_irix5 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix5 -.SUFFIXES: .pd_irix5 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix5: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix5 $*.o - rm $*.o - -# ----------------------- IRIX 5.x ----------------------- - -pd_irix6: valve.pd_irix6 - -INSTALL_PREFIX=/usr/local -EXT=pd_irix6 -.SUFFIXES: .pd_irix6 - -SGICFLAGS5 = -o32 -DPD -DUNIX -DIRIX -O2 - -SGIINCLUDE = -I/usr/local/include - -.c.pd_irix6: - cc $(SGICFLAGS5) $(SGIINCLUDE) -o $*.o -c $*.c - ld -elf -shared -rdata_shared -o $*.pd_irix6 $*.o - rm $*.o - -# ----------------------- LINUX i386 ----------------------- - -pd_linux: valve.pd_linux - -INSTALL_PREFIX=/usr/local -EXT=pd_linux -.SUFFIXES: .pd_linux - -LINUXCFLAGS = -DPD -O2 -funroll-loops -fomit-frame-pointer \ - -Wall -W -Wshadow -Wstrict-prototypes -Werror \ - -Wno-unused -Wno-parentheses -Wno-switch - -LINUXINCLUDE = -I/usr/local/include - -.c.pd_linux: - cc $(LINUXCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - ld --export-dynamic -shared -o $*.pd_linux $*.o -lc -lm - strip --strip-unneeded $*.pd_linux - rm $*.o - -# ----------------------- Mac OSX ----------------------- - -pd_darwin: valve.pd_darwin - -INSTALL_PREFIX=/usr/local -EXT=pd_darwin -.SUFFIXES: .pd_darwin - -DARWINCFLAGS = -DPD -O2 -Wall -W -Wshadow -Wstrict-prototypes \ - -Wno-unused -Wno-parentheses -Wno-switch - -.c.pd_darwin: - cc $(DARWINCFLAGS) $(LINUXINCLUDE) -o $*.o -c $*.c - cc -bundle -undefined suppress -flat_namespace -o $*.pd_darwin $*.o - rm -f $*.o - -# ---------------------------------------------- - -install:: - install -d $(INSTALL_PREFIX)/lib/pd/extra -# install -m 644 *.$(EXT) $(INSTALL_PREFIX)/lib/pd/externs - -install -m 644 valve.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra - install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference diff --git a/valve/valve-help.pd b/valve/valve-help.pd deleted file mode 100644 index d5c7cef..0000000 --- a/valve/valve-help.pd +++ /dev/null @@ -1,34 +0,0 @@ -#N canvas 0 0 450 300 10; -#X obj 126 189 valve; -#X msg 60 46 map 0 0 1 1 1 1 0 0; -#X obj 21 82 loadbang; -#X text 116 66 ^; -#X text 116 68 |; -#X text 116 78 |; -#X text 116 88 |; -#X text 116 98 |; -#X msg 115 114 2; -#X floatatom 103 233 5 0 0 0 - - -; -#X floatatom 166 233 5 0 0 0 - - -; -#X msg 194 104 4; -#X text 145 66 ^; -#X text 145 68 |; -#X text 145 78 |; -#X text 145 88 |; -#X text 145 98 |; -#X text 171 66 ^; -#X text 171 68 |; -#X text 171 68 |; -#X text 171 78 |; -#X text 171 78 |; -#X text 175 78 _________; -#X msg 240 82 6; -#X text 149 98 ______; -#X connect 0 0 9 0; -#X connect 0 1 10 0; -#X connect 1 0 0 0; -#X connect 2 0 1 0; -#X connect 2 0 8 0; -#X connect 8 0 0 1; -#X connect 11 0 0 0; -#X connect 23 0 0 0; diff --git a/valve/valve.c b/valve/valve.c deleted file mode 100644 index a83808c..0000000 --- a/valve/valve.c +++ /dev/null @@ -1,123 +0,0 @@ -/* takes a map like 0 1 3 4 7 and a route. if the route and the input are */ -/* non-zero in the map, then the route is output from the object */ -#include "m_pd.h" -#include <math.h> -#include <string.h> -#define MAXENTRIES 512 -#define LASTENTRY 511 - -static t_class *valve_class; - -typedef struct _valve -{ - t_object x_obj; - - t_atom *map; - int bufsize; - - t_float input, router, max; - t_outlet *routed, *notrouted; - - int flush; -} t_valve; - -static void valve_map(t_valve *x, t_symbol *s, int n, t_atom *map) -{ - if (x->map) { - freebytes(x->map, x->bufsize * sizeof(t_atom)); - x->map = 0; - x->bufsize = 0; - } - - x->map = copybytes(map, n * sizeof(t_atom)); - x->bufsize = n; -} - -void valve_float(t_valve *x, t_floatarg fin) -{ - if (x->map) { - int arg, arga, argb; - arga = argb = 0; - float testa, testb; - testa = testb = 0; - x->input = fin; - arg = (int)x->input; - testa = fin < 0 ? 0 : atom_getfloatarg(arg, x->bufsize, x->map); - testb = x->router < 0 ? 0 : atom_getfloatarg(x->router, x->bufsize, x->map); - arga = (int)testa; - argb = (int)testb; - if(arga && argb) - { - outlet_float(x->routed, x->router); - } - else if (!argb) - { - outlet_float(x->notrouted, argb); - } - else if (!arga && argb) - { - outlet_float(x->notrouted, arga); - } - } -} - -void valve_set(t_valve *x, t_floatarg fmap, t_floatarg fval) -{ - if(fmap < x->bufsize && fmap >= 0) - { - int imap = (int)fmap; - SETFLOAT(&x->map[imap], fval); - x->max = fmap > x->max ? fmap : x->max; - } -} - -void valve_clear(t_valve *x) -{ - if (x->map) { - freebytes(x->map, x->bufsize * sizeof(t_atom)); - x->map = 0; - x->bufsize = 0; - } -} - -void valve_debug(t_valve *x) -{ - int i; - for(i=0;i<x->bufsize;i++) { - float element = atom_getfloatarg(i, x->bufsize, x->map); - post("element %d = %d", i, element); - } - post("max = %d", x->max); -} - -void *valve_new(t_floatarg f) -{ - t_valve *x = (t_valve *)pd_new(valve_class); - x->max = 0; - int i; - x->map = 0; - x->bufsize = 0; - - floatinlet_new(&x->x_obj, &x->router); - - x->routed = outlet_new(&x->x_obj, &s_float); - x->notrouted = outlet_new(&x->x_obj, &s_float); - return (void *)x; -} - -void valve_setup(void) -{ - valve_class = class_new(gensym("valve"), - (t_newmethod)valve_new, - 0, sizeof(t_valve), - 0, A_DEFFLOAT, 0); - post("|¬~¬~¬~¬~¬~¬valve~¬~¬~¬~¬~¬~¬|"); - post("|~>^^^integer map router^^^<¬|"); - post("|¬~¬~¬Edward Kelly 2007~¬~¬~¬|"); - - class_addfloat(valve_class, valve_float); - class_addmethod(valve_class, (t_method)valve_set, gensym("set"), A_DEFFLOAT, A_DEFFLOAT, 0); - class_addmethod(valve_class, (t_method)valve_map, gensym("map"), A_GIMME, 0); - class_addmethod(valve_class, (t_method)valve_clear, gensym("clear"), A_DEFFLOAT, 0); - class_addmethod(valve_class, (t_method)valve_debug, gensym("debug"), A_DEFFLOAT, 0); -} |