From 62f2a55bbaf2724375c0c1455329c7b4d0fe4ecd Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Tue, 10 Aug 2004 03:37:21 +0000 Subject: "" svn path=/trunk/; revision=1935 --- externals/grill/pool/build-max-msvc.bat | 4 ++ externals/grill/pool/config-max-msvc.txt | 28 ++++++++++++ externals/grill/pool/help-pool.pd | 72 +++++++++++++++--------------- externals/grill/pool/makefile.max-msvc | 76 ++++++++++++++++++++++++++++++++ externals/grill/pool/readme.txt | 8 ++-- externals/grill/pool/source/main.cpp | 2 +- externals/grill/pool/source/pool.cpp | 12 ++++- 7 files changed, 161 insertions(+), 41 deletions(-) create mode 100644 externals/grill/pool/build-max-msvc.bat create mode 100644 externals/grill/pool/config-max-msvc.txt create mode 100644 externals/grill/pool/makefile.max-msvc (limited to 'externals') diff --git a/externals/grill/pool/build-max-msvc.bat b/externals/grill/pool/build-max-msvc.bat new file mode 100644 index 00000000..130a3bc0 --- /dev/null +++ b/externals/grill/pool/build-max-msvc.bat @@ -0,0 +1,4 @@ +@echo --- Building with MS Visual C++ --- + +nmake -f makefile.max-msvc clean +nmake -f makefile.max-msvc diff --git a/externals/grill/pool/config-max-msvc.txt b/externals/grill/pool/config-max-msvc.txt new file mode 100644 index 00000000..bb47b9ec --- /dev/null +++ b/externals/grill/pool/config-max-msvc.txt @@ -0,0 +1,28 @@ +# pool - hierarchical storage object for PD and Max/MSP +# Copyright (c) 2002-2004 Thomas Grill (xovo@gmx.net) +# + +# where is the Max SDK? +# you should have the latest version! +MAXSDKPATH="F:\prog\audio\MaxWinSDK\c74support" + +# where do the flext libraries reside? +FLEXTPATH="%CommonProgramFiles%\Cycling '74\flext" + +# where is MS VC++? +# (need not be defined if the build is started with the compiler environment set) +# MSVCPATH="c:\programme\prog\microsoft visual studio\VC98" + + +# where should the external be built? +# (path for temporary files) +OUTPATH=max-msvc + +# where should the external be installed? +# (leave blank to omit installation) +INSTPATH="%CommonProgramFiles%\Cycling '74\externals\flext" + + +# some user-definable flags +# (check if they match your system!) +UFLAGS=/G6 /arch:SSE diff --git a/externals/grill/pool/help-pool.pd b/externals/grill/pool/help-pool.pd index c7ef0a63..fe8c0dd5 100644 --- a/externals/grill/pool/help-pool.pd +++ b/externals/grill/pool/help-pool.pd @@ -1,4 +1,4 @@ -#N canvas 12 3 950 706 12; +#N canvas 12 3 954 710 12; #X msg 296 105 set 1 2 3; #X obj 308 619 print K; #X msg 607 211 getall; @@ -202,8 +202,6 @@ the folder containing the current patcher will be used.; #X msg 136 132 getechodir; #X msg 132 232 getabsdir; #X msg 146 313 getpool; -#X text 272 13 a hierarchical storage object \, (C)2002-2003 Thomas -Grill; #X msg 297 279 add 2 14; #X obj 260 478 pool @valcnt 10 @dircnt 5; #X text 330 437 expected value and directory counts; @@ -229,38 +227,40 @@ Grill; #X connect 2 0 0 0; #X connect 8 0 0 0; #X restore 717 659 pd print; -#X connect 0 0 72 0; -#X connect 2 0 72 0; -#X connect 3 0 72 0; -#X connect 6 0 72 0; -#X connect 7 0 72 0; -#X connect 8 0 72 0; -#X connect 9 0 72 0; -#X connect 10 0 72 0; -#X connect 11 0 72 0; +#X text 272 13 a hierarchical storage object \, (C)2002-2004 Thomas +Grill; +#X connect 0 0 71 0; +#X connect 2 0 71 0; +#X connect 3 0 71 0; +#X connect 6 0 71 0; +#X connect 7 0 71 0; +#X connect 8 0 71 0; +#X connect 9 0 71 0; +#X connect 10 0 71 0; +#X connect 11 0 71 0; #X connect 12 0 11 0; #X connect 13 0 14 0; -#X connect 14 0 72 0; -#X connect 22 0 72 0; -#X connect 23 0 72 0; -#X connect 25 0 72 0; -#X connect 27 0 72 0; -#X connect 32 0 72 0; -#X connect 33 0 72 0; -#X connect 44 0 72 0; -#X connect 47 0 72 0; -#X connect 49 0 72 0; -#X connect 60 0 72 0; -#X connect 66 0 72 0; -#X connect 67 0 72 0; -#X connect 68 0 72 0; -#X connect 69 0 72 0; -#X connect 71 0 72 0; -#X connect 72 0 4 0; -#X connect 72 1 1 0; -#X connect 72 2 5 0; -#X connect 72 3 17 0; -#X connect 72 4 64 0; -#X connect 75 0 72 0; -#X connect 76 0 72 0; -#X connect 77 0 72 0; +#X connect 14 0 71 0; +#X connect 22 0 71 0; +#X connect 23 0 71 0; +#X connect 25 0 71 0; +#X connect 27 0 71 0; +#X connect 32 0 71 0; +#X connect 33 0 71 0; +#X connect 44 0 71 0; +#X connect 47 0 71 0; +#X connect 49 0 71 0; +#X connect 60 0 71 0; +#X connect 66 0 71 0; +#X connect 67 0 71 0; +#X connect 68 0 71 0; +#X connect 69 0 71 0; +#X connect 70 0 71 0; +#X connect 71 0 4 0; +#X connect 71 1 1 0; +#X connect 71 2 5 0; +#X connect 71 3 17 0; +#X connect 71 4 64 0; +#X connect 74 0 71 0; +#X connect 75 0 71 0; +#X connect 76 0 71 0; diff --git a/externals/grill/pool/makefile.max-msvc b/externals/grill/pool/makefile.max-msvc new file mode 100644 index 00000000..1bd26c6d --- /dev/null +++ b/externals/grill/pool/makefile.max-msvc @@ -0,0 +1,76 @@ +# pool - hierarchical storage object for PD and Max/MSP +# Copyright (c) 2002-2004 Thomas Grill (xovo@gmx.net) +# +# Makefile for MSVC++ 6 and .NET +# +# usage: +# to build run "make -f makefile.max-msvc" +# + +!include config-max-msvc.txt + +# includes +INCPATH=/I$(MAXSDKPATH)\max-includes /I$(MAXSDKPATH)\msp-includes /I$(FLEXTPATH) +LDFLAGS=/LIBPATH:$(FLEXTPATH) + +!ifdef MSVCPATH +INCPATH=$(INCPATH) /I$(MSVCPATH)\include +LDFLAGS=$(LDFLAGS) /LIBPATH:$(MSVCPATH)\lib +!endif + +!ifdef _DEBUG +LIBS=flext_d-maxwin.lib +!else +LIBS=flext-maxwin.lib +!endif + +LDFLAGS=$(LDFLAGS) /LIBPATH:$(MAXSDKPATH)\max-includes /LIBPATH:$(MAXSDKPATH)\msp-includes + +LIBS=$(LIBS) maxapi.lib maxaudio.lib + +# compiler definitions and flags +DEFS=/DFLEXT_SYS=1 $(UFLAGS) + +CFLAGS=/ML /GR- /GD /Ox /GX /Zp2 + +# the rest can stay untouched +# ---------------------------------------------- + +# all the source files from the package +!include make-files.txt + +# ----------------------------------------------- + +EXT=mxe + +all: $(OUTPATH) $(OUTPATH)\$(NAME).$(EXT) + +# remove build +clean: + -del /q $(OUTPATH) > nul + -rmdir $(OUTPATH) > nul + +OBJS= $(SRCS:.c=.obj) +OBJS= $(OBJS:.objpp=.obj) + + +$(OUTPATH): + -mkdir $(OUTPATH) > nul + +{$(SRCDIR)}.cpp{}.obj: + cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(OUTPATH)/$@ + +{$(SRCDIR)}.c{}.obj: + cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(OUTPATH)/$@ + + +$(OUTPATH)\$(NAME).$(EXT): $(OBJS) + cd $(OUTPATH) + link /DLL $(LDFLAGS) /out:$(NAME).$(EXT) /INCREMENTAL:NO $** $(LIBS) $(LIBPATH) + @-del *.exp + @-del *.lib + cd .. +!ifdef INSTPATH + @-if not exist $(INSTPATH) mkdir $(INSTPATH) + copy $@ $(INSTPATH) > nul +!endif diff --git a/externals/grill/pool/readme.txt b/externals/grill/pool/readme.txt index 5a9de853..978d0dd7 100644 --- a/externals/grill/pool/readme.txt +++ b/externals/grill/pool/readme.txt @@ -1,6 +1,6 @@ pool - a hierarchical storage object for PD and Max/MSP -Copyright (c) 2002-2004 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002-2004 Thomas Grill (gr@grrrr.org) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. @@ -10,7 +10,7 @@ Visit https://www.paypal.com/xclick/business=t.grill%40gmx.net&item_name=pool&no ---------------------------------------------------------------------------- You will need the flext C++ layer for PD and Max/MSP externals to compile this. -see http://www.parasitaere-kapazitaeten.net/ext +see http://grrrr.org/ext Package files: @@ -39,6 +39,8 @@ o Borland C++ 5.5 (free): edit "config-pd-bcc.txt" & run "build-pd-bcc.bat" o Microsoft Visual C++ 6/7: edit "config-pd-msvc.txt" & run "build-pd-msvc.bat" +o GCC (MinGW): edit "config-pd-mingw.txt" & run "build-pd-mingw.bat" + pd - linux: ----------- o GCC: edit "config-pd-linux.txt" & run "sh build-pd-linux.sh" @@ -53,7 +55,7 @@ o CodeWarrior: edit "pool.cw" and build Max/MSP - Windows: ------------------- -o Microsoft Visual C++ 7: edit "config-max-msvc.txt" & run "build-max-msvc.bat" +o Microsoft Visual C++ 6/7: edit "config-max-msvc.txt" & run "build-max-msvc.bat" ---------------------------------------------------------------------------- diff --git a/externals/grill/pool/source/main.cpp b/externals/grill/pool/source/main.cpp index 3e74360d..e6fb1273 100644 --- a/externals/grill/pool/source/main.cpp +++ b/externals/grill/pool/source/main.cpp @@ -1024,7 +1024,7 @@ V pool::ldrec(I argc,const A *argv,BL xml) else { string fl(MakeFilename(flnm)); if(!(xml?pl->LdDirXML(curdir,fl.c_str(),depth,mkdir):pl->LdDir(curdir,fl.c_str(),depth,mkdir))) - post("%s - %s: directory couldn't be saved",thisName(),sym); + post("%s - %s: directory couldn't be saved",thisName(),sym); } echodir(); diff --git a/externals/grill/pool/source/pool.cpp b/externals/grill/pool/source/pool.cpp index fd4b4a83..1e3f26c2 100644 --- a/externals/grill/pool/source/pool.cpp +++ b/externals/grill/pool/source/pool.cpp @@ -590,7 +590,17 @@ public: string tag,attr; bool Ok() const { return tag.length() > 0; } bool operator ==(const C *t) const { return !tag.compare(t); } - void Clear() { tag.clear(); attr.clear(); } + + void Clear() + { +#if defined(_MSC_VER) && (_MSC_VER < 0x1200) + // incomplete STL implementation + tag = ""; attr = ""; +#else + tag.clear(); attr.clear(); +#endif + } + enum { t_start,t_end,t_empty } type; }; -- cgit v1.2.1