From a7389a1405e6c160989e3d7097813b55e08e0f8d Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Sat, 16 Apr 2005 21:35:06 +0000 Subject: updated templates changed template parameter of TableMap fixes for OSX fixed problems with symbol binding svn path=/trunk/; revision=2771 --- externals/grill/flext/buildsys/bmake.mak | 3 ++- externals/grill/flext/buildsys/gnumake.mak | 4 +++- externals/grill/flext/buildsys/mac/max/config-gcc.def | 12 +++++------- externals/grill/flext/buildsys/mac/pd/config-gcc.def | 2 +- externals/grill/flext/buildsys/nmake.mak | 3 ++- externals/grill/flext/source/flattr.cpp | 4 ++-- externals/grill/flext/source/flbind.cpp | 9 ++++++++- externals/grill/flext/source/flclass.h | 4 ++-- externals/grill/flext/source/flitem.cpp | 18 +++++------------- externals/grill/flext/source/fllib.cpp | 2 +- externals/grill/flext/source/flmap.h | 10 +++++----- externals/grill/flext/source/flmeth.cpp | 4 ++-- 12 files changed, 38 insertions(+), 37 deletions(-) (limited to 'externals') diff --git a/externals/grill/flext/buildsys/bmake.mak b/externals/grill/flext/buildsys/bmake.mak index 5b5ea10a..05628785 100644 --- a/externals/grill/flext/buildsys/bmake.mak +++ b/externals/grill/flext/buildsys/bmake.mak @@ -56,7 +56,8 @@ SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) + BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) \ + NAME=$(NAME) SRCS=$(SRCS) ############################################### diff --git a/externals/grill/flext/buildsys/gnumake.mak b/externals/grill/flext/buildsys/gnumake.mak index efa0c273..8091974f 100644 --- a/externals/grill/flext/buildsys/gnumake.mak +++ b/externals/grill/flext/buildsys/gnumake.mak @@ -65,7 +65,9 @@ SYSDEFAULT=$(UBUILDPATH)$(PLATFORM)/$(RTSYS)/config-$(COMPILER).def OPTIONS=-f $(UBUILDPATH)gnumake-sub.mak \ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(UBUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) + BUILDPATH=$(UBUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) \ + NAME=$(NAME) SRCS=$(SRCS) + ############################################### diff --git a/externals/grill/flext/buildsys/mac/max/config-gcc.def b/externals/grill/flext/buildsys/mac/max/config-gcc.def index f54e38aa..5ce580af 100644 --- a/externals/grill/flext/buildsys/mac/max/config-gcc.def +++ b/externals/grill/flext/buildsys/mac/max/config-gcc.def @@ -4,14 +4,12 @@ MAXSDKPATH=/Applications/MaxMSP\ 4.5/MaxMSP-SDK/4.5\ headers/c74support ############################################################### -# where do/should the flext headers reside/be built? -FLEXTINC=/usr/local/include/flext +# prefix for flext installation +# headers are in $(FLEXTPREFIX)/include/flext +# libraries are in $(FLEXTPREFIX)/lib +# build system is in $(FLEXTPREFIX)/lib/flext -# where do/should the flext static libraries reside/be built? -FLEXTLIB=/usr/local/lib - -# where do/should the flext shared libraries reside/be built? -FLEXTSHLIB=$(FLEXTLIB) +FLEXTPREFIX=/usr/local ############################################################### diff --git a/externals/grill/flext/buildsys/mac/pd/config-gcc.def b/externals/grill/flext/buildsys/mac/pd/config-gcc.def index 2095518b..69112b92 100644 --- a/externals/grill/flext/buildsys/mac/pd/config-gcc.def +++ b/externals/grill/flext/buildsys/mac/pd/config-gcc.def @@ -1,6 +1,6 @@ # where is the PD installation including source code? # (this should point to the main folder, which has a "src" subfolder) -PDPATH=/Applications/Pd-0.38-0.app/Contents/Resources +PDPATH=/Applications/Pd-0.38-3.app/Contents/Resources # where is the PD executable? PDBIN=$(PDPATH)/bin/pd diff --git a/externals/grill/flext/buildsys/nmake.mak b/externals/grill/flext/buildsys/nmake.mak index 3e946de0..fc5dc09a 100644 --- a/externals/grill/flext/buildsys/nmake.mak +++ b/externals/grill/flext/buildsys/nmake.mak @@ -56,7 +56,8 @@ SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def OPTIONS=/NOLOGO /f $(BUILDPATH)nmake-sub.mak \ PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \ - BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) + BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS) \ + NAME=$(NAME) SRCS=$(SRCS) ############################################### diff --git a/externals/grill/flext/source/flattr.cpp b/externals/grill/flext/source/flattr.cpp index d0c33ebb..79a63ab3 100644 --- a/externals/grill/flext/source/flattr.cpp +++ b/externals/grill/flext/source/flattr.cpp @@ -103,7 +103,7 @@ void flext_base::AddAttrib(t_classid c,const t_symbol *attr,metharg tp,methfun g void flext_base::ListAttrib(AtomList &la) const { - typedef TablePtrMap AttrList; + typedef TablePtrMap AttrList; AttrList list[2]; int i; @@ -114,7 +114,7 @@ void flext_base::ListAttrib(AtomList &la) const for(ItemSet::iterator as(ai); as; ++as) { for(Item *al = as.data(); al; al = al->nxt) { AttrItem *aa = (AttrItem *)al; - list[i].insert(aa->index,const_cast(as.key())); + list[i].insert(aa->index,as.key()); break; } } diff --git a/externals/grill/flext/source/flbind.cpp b/externals/grill/flext/source/flbind.cpp index ff84e4ea..7611fc59 100644 --- a/externals/grill/flext/source/flbind.cpp +++ b/externals/grill/flext/source/flbind.cpp @@ -62,12 +62,17 @@ flext_base::BindItem::BindItem(bool (*f)(flext_base *,t_symbol *s,int,t_atom *,v flext_base::BindItem::~BindItem() { - if(px) object_free(&px->obj); + if(px) { + FLEXT_ASSERT(!fun); // check if already unbound + object_free(&px->obj); + } } void flext_base::BindItem::Unbind(const t_symbol *tag) { if(px) { + FLEXT_ASSERT(fun); + #if FLEXT_SYS == FLEXT_SYS_PD pd_unbind(&px->obj.ob_pd,const_cast(tag)); #elif FLEXT_SYS == FLEXT_SYS_MAX @@ -78,6 +83,8 @@ void flext_base::BindItem::Unbind(const t_symbol *tag) #else # pragma warning("Not implemented") #endif + + fun = NULL; } } diff --git a/externals/grill/flext/source/flclass.h b/externals/grill/flext/source/flclass.h index d15ae09d..cf11bdb8 100644 --- a/externals/grill/flext/source/flclass.h +++ b/externals/grill/flext/source/flclass.h @@ -659,7 +659,7 @@ protected: ~ItemSet(); }; */ - typedef TablePtrMapOwned ItemSet; + typedef TablePtrMapOwned ItemSet; /*! This class holds hashed item entries \note not thread-safe! @@ -775,7 +775,7 @@ protected: ~AttrDataCont(); }; */ - typedef TablePtrMapOwned AttrDataCont; + typedef TablePtrMapOwned AttrDataCont; // these outlet functions don't check for thread but send directly to the real-time system #if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX diff --git a/externals/grill/flext/source/flitem.cpp b/externals/grill/flext/source/flitem.cpp index c73ee91a..4cab1481 100755 --- a/externals/grill/flext/source/flitem.cpp +++ b/externals/grill/flext/source/flitem.cpp @@ -21,16 +21,6 @@ flext_base::Item::~Item() if(nxt) delete nxt; } -/* -flext_base::ItemSet::ItemSet() {} - -flext_base::ItemSet::~ItemSet() -{ - for(iterator it = begin(); it != end(); ++it) - if(it.data()) delete it.data(); -} -*/ - flext_base::ItemCont::ItemCont(): members(0),memsize(0),size(0),cont(NULL) {} @@ -88,8 +78,10 @@ bool flext_base::ItemCont::Remove(Item *item,const t_symbol *tag,int inlet,bool if(prv) prv->nxt = lit->nxt; else if(lit->nxt) set.insert(tag,lit->nxt); - else - set.erase(tag); + else { + Item *l = set.remove(tag); + FLEXT_ASSERT(l == lit); + } lit->nxt = NULL; if(free) delete lit; @@ -108,7 +100,7 @@ flext_base::Item *flext_base::ItemCont::FindList(const t_symbol *tag,int inlet) // --- class item lists (methods and attributes) ---------------- -typedef TablePtrMap ClassMap; +typedef TablePtrMap ClassMap; static ClassMap classarr[2]; diff --git a/externals/grill/flext/source/fllib.cpp b/externals/grill/flext/source/fllib.cpp index e98a4137..6b1ccb92 100755 --- a/externals/grill/flext/source/fllib.cpp +++ b/externals/grill/flext/source/fllib.cpp @@ -126,7 +126,7 @@ libclass::libclass(t_class *&cl,flext_obj *(*newf)(int,t_atom *),void (*freef)(f {} -typedef TablePtrMap LibMap; +typedef TablePtrMap LibMap; static LibMap libnames; diff --git a/externals/grill/flext/source/flmap.h b/externals/grill/flext/source/flmap.h index 4c3a1c9e..57e806e1 100644 --- a/externals/grill/flext/source/flmap.h +++ b/externals/grill/flext/source/flmap.h @@ -248,12 +248,12 @@ public: inline int size() const { return TableAnyMap::size(); } - inline void insert(K k,T *t) { TableAnyMap::insert(*(size_t *)&k,t); } + inline void insert(K k,T t) { TableAnyMap::insert(*(size_t *)&k,(void *)t); } - inline T *find(K k) const { return (T *)TableAnyMap::find(*(size_t *)&k); } + inline T find(K k) const { return (T)TableAnyMap::find(*(size_t *)&k); } inline void erase(K k) { TableAnyMap::erase(*(size_t *)&k); } - inline T *remove(K k) { return (T *)TableAnyMap::remove(*(size_t *)&k); } + inline T remove(K k) { return (T)TableAnyMap::remove(*(size_t *)&k); } class iterator : TableAnyMap::iterator @@ -266,7 +266,7 @@ public: inline iterator &operator =(const iterator &it) { TableAnyMap::operator =(it); return *this; } inline operator bool() const {return TableAnyMap::iterator::operator bool(); } - inline T *data() const { return (T *)TableAnyMap::iterator::data(); } + inline T data() const { return (T)TableAnyMap::iterator::data(); } inline K key() const { return (K)TableAnyMap::iterator::key(); } inline iterator &operator ++() { TableAnyMap::iterator::operator ++(); return *this; } @@ -294,7 +294,7 @@ protected: virtual void Free(void *ptr) { // FLEXT_ASSERT(ptr); - delete (T *)ptr; + delete (T)ptr; } }; diff --git a/externals/grill/flext/source/flmeth.cpp b/externals/grill/flext/source/flmeth.cpp index 11b6d42d..df9a6ca6 100755 --- a/externals/grill/flext/source/flmeth.cpp +++ b/externals/grill/flext/source/flmeth.cpp @@ -89,7 +89,7 @@ void flext_base::AddMethod(ItemCont *ma,int inlet,const t_symbol *tag,methfun fu void flext_base::ListMethods(AtomList &la,int inlet) const { - typedef TablePtrMap MethList; + typedef TablePtrMap MethList; MethList list[2]; int i; @@ -102,7 +102,7 @@ void flext_base::ListMethods(AtomList &la,int inlet) const MethItem *aa = (MethItem *)al; // check it's not related to an attribute if(!aa->IsAttr()) { - list[i].insert(aa->index,const_cast(as.key())); + list[i].insert(aa->index,as.key()); break; } } -- cgit v1.2.1