diff options
author | Ed Kelly <edkelly@users.sourceforge.net> | 2005-11-18 16:18:17 +0000 |
---|---|---|
committer | Ed Kelly <edkelly@users.sourceforge.net> | 2005-11-18 16:18:17 +0000 |
commit | 5827cb9bc8ac1b09812521a95d8c495a319d316e (patch) | |
tree | 89aac687b40021a53efa7687e2fc51258e06d383 /cup | |
parent | 94c8ac7a5d633a8d7d94a6b9c85f7423c2da6f13 (diff) |
This commit was generated by cvs2svn to compensate for changes in r3962,
which included commits to RCS files with non-trunk default branches.
svn path=/trunk/externals/ekext/; revision=3963
Diffstat (limited to 'cup')
-rw-r--r-- | cup/cup.c | 42 | ||||
-rw-r--r-- | cup/help-cup.pd | 21 | ||||
-rw-r--r-- | cup/makefile | 105 |
3 files changed, 168 insertions, 0 deletions
diff --git a/cup/cup.c b/cup/cup.c new file mode 100644 index 0000000..6aca214 --- /dev/null +++ b/cup/cup.c @@ -0,0 +1,42 @@ +#include "m_pd.h" + +t_class *cup_class; + +typedef struct _cup +{ + t_object x_obj; + t_int f_count, fa; + t_outlet *count; +} t_cup; + +void cup_float(t_cup *y, t_floatarg f) +{ + y->f_count = f; +} + +void cup_bang(t_cup *y) +{ + outlet_float(y->count, y->f_count); + y->f_count += 1; +} + +void *cup_new(t_floatarg f) +{ + t_cup *y = (t_cup *)pd_new(cup_class); + y->fa = f; + y->f_count = 0; + y->count = outlet_new(&y->x_obj, gensym("float")); + return(void *)y; +} + +void cup_setup(void) +{ + cup_class = class_new(gensym("cup"), + (t_newmethod)cup_new, + 0, sizeof(t_cup), + 0, A_DEFFLOAT, 0); + post("cup counts up ^_^"); + class_sethelpsymbol(cup_class, gensym("help-cup")); + class_addbang(cup_class, cup_bang); + class_addfloat(cup_class, cup_float); +} diff --git a/cup/help-cup.pd b/cup/help-cup.pd new file mode 100644 index 0000000..eae2603 --- /dev/null +++ b/cup/help-cup.pd @@ -0,0 +1,21 @@ +#N canvas 0 22 433 272 10; +#X obj 71 134 cup; +#X msg 133 118 0; +#X msg 177 118 25; +#X msg 220 118 -67; +#X text 153 89 set to float; +#X text 130 100 (but do not output); +#X obj 71 81 metro 500; +#X obj 71 62 loadbang; +#X floatatom 71 156 5 0 0 0 - - -; +#X text 196 24 cup counts up ^_^; +#X text 165 46 it's the simplest counter there is; +#X text 184 70 why waste cpu power on counting?; +#X text 106 236 Ed; +#X text 71 198 someday I may write a haiku poem about it; +#X connect 0 0 8 0; +#X connect 1 0 0 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 6 0 0 0; +#X connect 7 0 6 0; diff --git a/cup/makefile b/cup/makefile new file mode 100644 index 0000000..dda30bf --- /dev/null +++ b/cup/makefile @@ -0,0 +1,105 @@ +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: cup.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: cup.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: cup.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: cup.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: cup.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 cup.$(EXT) $(INSTALL_PREFIX)/lib/pd/extra + install -m 644 *.pd $(INSTALL_PREFIX)/lib/pd/doc/5.reference |