From 41086e91d04b3c5f10fdf054260e90c0970e5ac6 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Wed, 11 Dec 2002 04:35:59 +0000 Subject: "" svn path=/trunk/; revision=297 --- externals/grill/flext/flext.cw | Bin 202097 -> 202097 bytes externals/grill/flext/flext.pbproj/project.pbxproj | 96 +++++++++++---------- externals/grill/flext/source/flatom_pr.cpp | 2 +- externals/grill/pool/data.cpp | 12 +++ externals/grill/pool/main.cpp | 38 ++++++-- externals/grill/pool/pool.cpp | 9 ++ externals/grill/pool/pool.cw | Bin 131746 -> 131746 bytes externals/grill/pool/pool.h | 3 + externals/grill/pool/pool.help | Bin 5887 -> 5952 bytes externals/grill/pool/readme.txt | 1 + externals/grill/xsample/xsample.cw | Bin 106655 -> 106655 bytes 11 files changed, 107 insertions(+), 54 deletions(-) diff --git a/externals/grill/flext/flext.cw b/externals/grill/flext/flext.cw index 18917ad9..e6e05add 100644 Binary files a/externals/grill/flext/flext.cw and b/externals/grill/flext/flext.cw differ diff --git a/externals/grill/flext/flext.pbproj/project.pbxproj b/externals/grill/flext/flext.pbproj/project.pbxproj index 8ce0d4c9..05157eac 100755 --- a/externals/grill/flext/flext.pbproj/project.pbxproj +++ b/externals/grill/flext/flext.pbproj/project.pbxproj @@ -115,7 +115,8 @@ ); isa = PBXGroup; name = Source; - refType = 4; + path = ""; + refType = 2; }; //080 //081 @@ -147,152 +148,152 @@ }; F55CED7B0383E50201A80AC9 = { isa = PBXFileReference; - name = "flatom-pr.cpp"; - path = "../source/flatom-pr.cpp"; + name = flatom_pr.cpp; + path = source/flatom_pr.cpp; refType = 2; }; F55CED7C0383E50201A80AC9 = { isa = PBXFileReference; name = flatom.cpp; - path = ../source/flatom.cpp; + path = source/flatom.cpp; refType = 2; }; F55CED7D0383E50201A80AC9 = { isa = PBXFileReference; name = flattr.cpp; - path = ../source/flattr.cpp; + path = source/flattr.cpp; refType = 2; }; F55CED7E0383E50201A80AC9 = { isa = PBXFileReference; name = flbase.cpp; - path = ../source/flbase.cpp; + path = source/flbase.cpp; refType = 2; }; F55CED7F0383E50201A80AC9 = { isa = PBXFileReference; name = flbase.h; - path = /Volumes/Daten/Prog/max/flext/source/flbase.h; - refType = 0; + path = source/flbase.h; + refType = 2; }; F55CED800383E50201A80AC9 = { isa = PBXFileReference; name = flbuf.cpp; - path = ../source/flbuf.cpp; + path = source/flbuf.cpp; refType = 2; }; F55CED810383E50201A80AC9 = { isa = PBXFileReference; name = flclass.h; - path = /Volumes/Daten/Prog/max/flext/source/flclass.h; - refType = 0; + path = source/flclass.h; + refType = 2; }; F55CED860383E50201A80AC9 = { isa = PBXFileReference; name = fldefs.h; - path = /Volumes/Daten/Prog/max/flext/source/fldefs.h; - refType = 0; + path = source/fldefs.h; + refType = 2; }; F55CED870383E50201A80AC9 = { isa = PBXFileReference; name = fldoxygen.h; - path = /Volumes/Daten/Prog/max/flext/source/fldoxygen.h; - refType = 0; + path = source/fldoxygen.h; + refType = 2; }; F55CED880383E50201A80AC9 = { isa = PBXFileReference; name = fldsp.cpp; - path = ../source/fldsp.cpp; + path = source/fldsp.cpp; refType = 2; }; F55CED890383E50201A80AC9 = { isa = PBXFileReference; name = fldsp.h; - path = /Volumes/Daten/Prog/max/flext/source/fldsp.h; - refType = 0; + path = source/fldsp.h; + refType = 2; }; F55CED8A0383E50201A80AC9 = { isa = PBXFileReference; name = flext.cpp; - path = ../source/flext.cpp; + path = source/flext.cpp; refType = 2; }; F55CED8B0383E50201A80AC9 = { isa = PBXFileReference; name = flext.h; - path = /Volumes/Daten/Prog/max/flext/source/flext.h; - refType = 0; + path = source/flext.h; + refType = 2; }; F55CED8C0383E50201A80AC9 = { isa = PBXFileReference; name = flinternal.h; - path = /Volumes/Daten/Prog/max/flext/source/flinternal.h; - refType = 0; + path = source/flinternal.h; + refType = 2; }; F55CED8D0383E50201A80AC9 = { isa = PBXFileReference; name = fllib.cpp; - path = ../source/fllib.cpp; + path = source/fllib.cpp; refType = 2; }; F55CED8E0383E50201A80AC9 = { isa = PBXFileReference; name = flmspbuffer.h; - path = /Volumes/Daten/Prog/max/flext/source/flmspbuffer.h; - refType = 0; + path = source/flmspbuffer.h; + refType = 2; }; F55CED8F0383E50201A80AC9 = { isa = PBXFileReference; name = flout.cpp; - path = ../source/flout.cpp; + path = source/flout.cpp; refType = 2; }; F55CED900383E50201A80AC9 = { isa = PBXFileReference; name = flsndobj.cpp; - path = ../source/flsndobj.cpp; + path = source/flsndobj.cpp; refType = 2; }; F55CED910383E50201A80AC9 = { isa = PBXFileReference; name = flsndobj.h; - path = /Volumes/Daten/Prog/max/flext/source/flsndobj.h; - refType = 0; + path = source/flsndobj.h; + refType = 2; }; F55CED920383E50201A80AC9 = { isa = PBXFileReference; name = flstdc.h; - path = /Volumes/Daten/Prog/max/flext/source/flstdc.h; - refType = 0; + path = source/flstdc.h; + refType = 2; }; F55CED930383E50201A80AC9 = { isa = PBXFileReference; name = flsupport.cpp; - path = ../source/flsupport.cpp; + path = source/flsupport.cpp; refType = 2; }; F55CED940383E50201A80AC9 = { isa = PBXFileReference; name = flsupport.h; - path = /Volumes/Daten/Prog/max/flext/source/flsupport.h; - refType = 0; + path = source/flsupport.h; + refType = 2; }; F55CED950383E50201A80AC9 = { isa = PBXFileReference; name = flthr.cpp; - path = ../source/flthr.cpp; + path = source/flthr.cpp; refType = 2; }; F55CED960383E50201A80AC9 = { isa = PBXFileReference; name = flutil.cpp; - path = ../source/flutil.cpp; + path = source/flutil.cpp; refType = 2; }; F55CED970383E50201A80AC9 = { isa = PBXFileReference; name = flxlet.cpp; - path = ../source/flxlet.cpp; + path = source/flxlet.cpp; refType = 2; }; F55CEDB50383E50D01A80AC9 = { @@ -311,7 +312,8 @@ ); isa = PBXGroup; name = Headers; - refType = 4; + path = ""; + refType = 2; }; F55CEDBD0383E6E401A80AC9 = { buildActionMask = 2147483647; @@ -379,7 +381,7 @@ INSTALL_PATH = /usr/local/pd/flext; LIBRARY_STYLE = STATIC; OPTIMIZATION_CFLAGS = "-O3"; - OTHER_CFLAGS = "-D PD -D unix"; + OTHER_CFLAGS = "-D FLEXT_SYS=2 -Wno-reorder -Wno-switch"; OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; @@ -556,7 +558,7 @@ INSTALL_PATH = /usr/local/pd/flext; LIBRARY_STYLE = STATIC; OPTIMIZATION_CFLAGS = "-O3"; - OTHER_CFLAGS = "-D PD -D unix -D FLEXT_THREADS"; + OTHER_CFLAGS = "-D FLEXT_SYS=2 -D FLEXT_THREADS -Wno-reorder -Wno-switch"; OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; @@ -783,7 +785,7 @@ INSTALL_PATH = /usr/local/pd/flext; LIBRARY_STYLE = STATIC; OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = "-D PD -D unix -D _DEBUG"; + OTHER_CFLAGS = "-D FLEXT_SYS=2 -D FLEXT_DEBUG -Wno-reorder -Wno-switch"; OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; @@ -1010,7 +1012,7 @@ INSTALL_PATH = /usr/local/pd/flext; LIBRARY_STYLE = STATIC; OPTIMIZATION_CFLAGS = "-O0"; - OTHER_CFLAGS = "-D PD -D unix -D FLEXT_THREADS -D _DEBUG"; + OTHER_CFLAGS = "-D FLEXT_SYS=2 -D FLEXT_THREADS -D FLEXT_DEBUG -Wno-reorder -Wno-switch"; OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; @@ -1275,7 +1277,7 @@ HEADER_SEARCH_PATHS = "\"$(SYSTEM_DEVELOPER_DIR)/Headers/FlatCarbon\" /Volumes/Daten/Prog/sdk-beta-osx/c74support/msp-includes /Volumes/Daten/Prog/sdk-beta-osx/c74support/max-includes"; LIBRARY_STYLE = STATIC; OPTIMIZATION_CFLAGS = "-O3"; - OTHER_CFLAGS = "-D MAXMSP -D unix -D FLEXT_THREADS -Wno-reorder -Wno-switch"; + OTHER_CFLAGS = "-D FLEXT_SYS=1 -D FLEXT_THREADS -Wno-reorder -Wno-switch"; OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; @@ -1284,7 +1286,7 @@ SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; }; - comments = "flext for PD running on OS X (darwin)\nsingle threaded performance version"; + comments = "flext for Max/MSP running on OS X (darwin)\nsingle threaded performance version\n\n-- NOTE -- MAX/MSP does NOT yet support Mach-o externals"; dependencies = ( ); isa = PBXLibraryTarget; @@ -1501,7 +1503,7 @@ HEADER_SEARCH_PATHS = "\"$(SYSTEM_DEVELOPER_DIR)/Headers/FlatCarbon\" /Volumes/Daten/Prog/sdk-beta-osx/c74support/msp-includes /Volumes/Daten/Prog/sdk-beta-osx/c74support/max-includes"; LIBRARY_STYLE = STATIC; OPTIMIZATION_CFLAGS = "-O3"; - OTHER_CFLAGS = "-D MAXMSP -D unix"; + OTHER_CFLAGS = "-D FLEXT_SYS=1 -Wno-reorder -Wno-switch"; OTHER_LDFLAGS = ""; OTHER_LIBTOOL_FLAGS = ""; OTHER_REZFLAGS = ""; @@ -1510,7 +1512,7 @@ SECTORDER_FLAGS = ""; WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; }; - comments = "flext for PD running on OS X (darwin)\nsingle threaded performance version"; + comments = "flext for Max/MSP running on OS X (darwin)\nsingle threaded performance version\n\n-- NOTE -- MAX/MSP does NOT yet support Mach-o externals"; dependencies = ( ); isa = PBXLibraryTarget; diff --git a/externals/grill/flext/source/flatom_pr.cpp b/externals/grill/flext/source/flatom_pr.cpp index 44b43bbf..854ae379 100644 --- a/externals/grill/flext/source/flatom_pr.cpp +++ b/externals/grill/flext/source/flatom_pr.cpp @@ -44,7 +44,7 @@ void flext::PrintAtom(const t_atom &a,char *buf) #endif #if FLEXT_SYS == FLEXT_SYS_PD case A_POINTER: - STD::sprintf(buf,"%x",GetPointer(a)); + STD::sprintf(buf,"%p",GetPointer(a)); break; #endif case A_SYMBOL: diff --git a/externals/grill/pool/data.cpp b/externals/grill/pool/data.cpp index eb5c5bd8..38c13bd5 100644 --- a/externals/grill/pool/data.cpp +++ b/externals/grill/pool/data.cpp @@ -82,6 +82,18 @@ flext::AtomList *pooldata::Peek(const AtomList &d,const A &key) return pd?pd->PeekVal(key):NULL; } +poolval *pooldata::Ref(const AtomList &d,const A &key) +{ + pooldir *pd = root.GetDir(d); + return pd?pd->RefVal(key):NULL; +} + +poolval *pooldata::Refi(const AtomList &d,I ix) +{ + pooldir *pd = root.GetDir(d); + return pd?pd->RefVali(ix):NULL; +} + flext::AtomList *pooldata::Get(const AtomList &d,const A &key) { pooldir *pd = root.GetDir(d); diff --git a/externals/grill/pool/main.cpp b/externals/grill/pool/main.cpp index ad1da05a..57773742 100644 --- a/externals/grill/pool/main.cpp +++ b/externals/grill/pool/main.cpp @@ -10,7 +10,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include "pool.h" -#define POOL_VERSION "0.1.1" +#define POOL_VERSION "0.1.1pre" class pool: public flext_base @@ -54,6 +54,7 @@ protected: V m_clrrec(); // also subdirectories V m_clrsub(); // only subdirectories V m_get(I argc,const A *argv); + V m_geti(I ix); // get value at index V m_getall(); // only values V m_getrec(I argc,const A *argv); // also subdirectories V m_getsub(I argc,const A *argv); // only subdirectories @@ -139,6 +140,7 @@ private: FLEXT_CALLBACK(m_clrrec) FLEXT_CALLBACK(m_clrsub) FLEXT_CALLBACK_V(m_get) + FLEXT_CALLBACK_I(m_geti) FLEXT_CALLBACK(m_getall) FLEXT_CALLBACK_V(m_getrec) FLEXT_CALLBACK_V(m_getsub) @@ -214,6 +216,7 @@ pool::pool(I argc,const A *argv): FLEXT_ADDMETHOD_(0,"clrrec",m_clrrec); FLEXT_ADDMETHOD_(0,"clrsub",m_clrsub); FLEXT_ADDMETHOD_(0,"get",m_get); + FLEXT_ADDMETHOD_(0,"geti",m_geti); FLEXT_ADDMETHOD_(0,"getall",m_getall); FLEXT_ADDMETHOD_(0,"getrec",m_getrec); FLEXT_ADDMETHOD_(0,"getsub",m_getsub); @@ -443,20 +446,43 @@ V pool::m_get(I argc,const A *argv) if(argc > 1) post("%s - get: superfluous arguments ignored",thisName()); - AtomList *r = pl->Get(curdir,argv[0]); + poolval *r = pl->Ref(curdir,argv[0]); ToOutAnything(3,MakeSymbol("get"),0,NULL); if(absdir) ToOutList(2,curdir); else ToOutList(2,0,NULL); - ToOutAtom(1,argv[0]); + ToOutAtom(1,r->key); + if(r) + ToOutList(0,*r->data); + else + ToOutBang(0); + } + + echodir(); +} + +V pool::m_geti(I ix) +{ + if(ix < 0) + post("%s - geti: invalid index",thisName()); + else { + poolval *r = pl->Refi(curdir,ix); + + ToOutAnything(3,MakeSymbol("geti"),0,NULL); + if(absdir) + ToOutList(2,curdir); + else + ToOutList(2,0,NULL); if(r) { - ToOutList(0,*r); - delete r; + ToOutAtom(1,r->key); + ToOutList(0,*r->data); } - else + else { + ToOutBang(1); ToOutBang(0); + } } echodir(); diff --git a/externals/grill/pool/pool.cpp b/externals/grill/pool/pool.cpp index 21eaf279..9c30603c 100644 --- a/externals/grill/pool/pool.cpp +++ b/externals/grill/pool/pool.cpp @@ -205,6 +205,15 @@ poolval *pooldir::RefVal(const A &key) return c || !ix?NULL:ix; } +poolval *pooldir::RefVali(I rix) +{ + I c = 0; + poolval *ix = vals; + for(; ix && c < rix; ix = ix->nxt,++c) {} + + return c == rix?ix:NULL; +} + flext::AtomList *pooldir::PeekVal(const A &key) { poolval *ix = RefVal(key); diff --git a/externals/grill/pool/pool.cw b/externals/grill/pool/pool.cw index fabf0ff1..18d5f42f 100755 Binary files a/externals/grill/pool/pool.cw and b/externals/grill/pool/pool.cw differ diff --git a/externals/grill/pool/pool.h b/externals/grill/pool/pool.h index af73341d..5e1c0cc1 100644 --- a/externals/grill/pool/pool.h +++ b/externals/grill/pool/pool.h @@ -73,6 +73,7 @@ public: I GetSub(const A **&dirs); poolval *RefVal(const A &key); + poolval *RefVali(I ix); BL Paste(const pooldir *p,I depth,BL repl,BL mkdir); BL Copy(pooldir *p,I depth,BL cur); @@ -107,6 +108,8 @@ public: BL ClrAll(const AtomList &d,BL rec,BL dironly = false); AtomList *Peek(const AtomList &d,const A &key); AtomList *Get(const AtomList &d,const A &key); + poolval *Ref(const AtomList &d,const A &key); + poolval *Refi(const AtomList &d,I ix); I CntAll(const AtomList &d); I GetAll(const AtomList &d,A *&keys,AtomList *&lst); I GetSub(const AtomList &d,const t_atom **&dirs); diff --git a/externals/grill/pool/pool.help b/externals/grill/pool/pool.help index 20f96ffa..dfef05f1 100755 Binary files a/externals/grill/pool/pool.help and b/externals/grill/pool/pool.help differ diff --git a/externals/grill/pool/readme.txt b/externals/grill/pool/readme.txt index 0fc0f7f3..6bf4c969 100644 --- a/externals/grill/pool/readme.txt +++ b/externals/grill/pool/readme.txt @@ -54,6 +54,7 @@ Version history: 0.1.1: - attributes (pool,private,echodir,absdir) +- added "geti" message for retrieval of a value at an index 0.1.0: - first public release diff --git a/externals/grill/xsample/xsample.cw b/externals/grill/xsample/xsample.cw index d36f4698..83938005 100755 Binary files a/externals/grill/xsample/xsample.cw and b/externals/grill/xsample/xsample.cw differ -- cgit v1.2.1