aboutsummaryrefslogtreecommitdiff
path: root/externals
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-01-01 04:36:59 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-01-01 04:36:59 +0000
commit59e66762250fe61d570c5baf6c9ce6896a09e027 (patch)
tree422e3386845e00ef0994348a7c46f01aea38abbe /externals
parent0e1fe750cfd8467a80530cbc70326c81f41a8fe5 (diff)
""
svn path=/trunk/; revision=315
Diffstat (limited to 'externals')
-rw-r--r--externals/grill/flext/config-pd-bcc.txt2
-rw-r--r--externals/grill/flext/config-pd-cygwin.txt2
-rw-r--r--externals/grill/flext/config-pd-darwin.txt2
-rw-r--r--externals/grill/flext/config-pd-linux.txt2
-rw-r--r--externals/grill/flext/config-pd-msvc.txt2
-rw-r--r--externals/grill/flext/flext.cwbin205457 -> 205457 bytes
-rw-r--r--externals/grill/flext/flext.dsp6
-rw-r--r--externals/grill/flext/license.txt2
-rw-r--r--externals/grill/flext/make-inc.pd-msvc2
-rw-r--r--externals/grill/flext/makefile.pd-bcc2
-rw-r--r--externals/grill/flext/makefile.pd-cygwin2
-rw-r--r--externals/grill/flext/makefile.pd-darwin2
-rw-r--r--externals/grill/flext/makefile.pd-linux2
-rw-r--r--externals/grill/flext/makefile.pd-msvc2
-rw-r--r--externals/grill/flext/readme.txt2
-rw-r--r--externals/grill/flext/source/flatom.cpp2
-rwxr-xr-xexternals/grill/flext/source/flatom_app.cpp2
-rwxr-xr-xexternals/grill/flext/source/flatom_part.cpp2
-rw-r--r--externals/grill/flext/source/flatom_pr.cpp2
-rw-r--r--externals/grill/flext/source/flattr.cpp64
-rw-r--r--externals/grill/flext/source/flbase.cpp2
-rw-r--r--externals/grill/flext/source/flbase.h2
-rw-r--r--externals/grill/flext/source/flbuf.cpp2
-rw-r--r--externals/grill/flext/source/flclass.h12
-rwxr-xr-xexternals/grill/flext/source/flcwmax-x-thr.h2
-rwxr-xr-xexternals/grill/flext/source/flcwmax-x.h2
-rw-r--r--externals/grill/flext/source/flcwmax.h2
-rw-r--r--externals/grill/flext/source/fldefs.h2
-rw-r--r--externals/grill/flext/source/fldoxygen.h2
-rw-r--r--externals/grill/flext/source/fldsp.cpp2
-rw-r--r--externals/grill/flext/source/fldsp.h2
-rw-r--r--externals/grill/flext/source/flext.cpp2
-rw-r--r--externals/grill/flext/source/flext.h2
-rw-r--r--externals/grill/flext/source/flinternal.h2
-rwxr-xr-xexternals/grill/flext/source/flitem.cpp2
-rwxr-xr-xexternals/grill/flext/source/fllib.cpp2
-rwxr-xr-xexternals/grill/flext/source/flmeth.cpp2
-rwxr-xr-xexternals/grill/flext/source/flmsg.cpp2
-rwxr-xr-xexternals/grill/flext/source/flmspbuffer.h2
-rw-r--r--externals/grill/flext/source/flout.cpp2
-rwxr-xr-xexternals/grill/flext/source/flprefix.h2
-rwxr-xr-xexternals/grill/flext/source/flproxy.cpp2
-rwxr-xr-xexternals/grill/flext/source/flqueue.cpp2
-rw-r--r--externals/grill/flext/source/flsndobj.cpp4
-rw-r--r--externals/grill/flext/source/flsndobj.h4
-rw-r--r--externals/grill/flext/source/flstdc.h2
-rw-r--r--externals/grill/flext/source/flstk.cpp4
-rw-r--r--externals/grill/flext/source/flstk.h4
-rw-r--r--externals/grill/flext/source/flsupport.cpp2
-rw-r--r--externals/grill/flext/source/flsupport.h2
-rw-r--r--externals/grill/flext/source/flthr.cpp2
-rw-r--r--externals/grill/flext/source/flutil.cpp2
-rwxr-xr-xexternals/grill/flext/source/flxlet.cpp2
-rw-r--r--externals/grill/flext/tutorial/config-pd-bcc.txt2
-rw-r--r--externals/grill/flext/tutorial/config-pd-cygwin.txt2
-rw-r--r--externals/grill/flext/tutorial/config-pd-darwin.txt2
-rw-r--r--externals/grill/flext/tutorial/config-pd-linux.txt2
-rw-r--r--externals/grill/flext/tutorial/config-pd-msvc.txt2
-rwxr-xr-xexternals/grill/flext/tutorial/license.txt2
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-bcc2
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-cygwin1
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-darwin1
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-linux1
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-msvc4
-rw-r--r--externals/grill/flext/tutorial/readme.txt2
-rw-r--r--externals/grill/flext/tutorial/sndobj1/main.cpp20
-rw-r--r--externals/grill/flext/tutorial/stk1/main.cpp95
-rw-r--r--externals/grill/flext/tutorial/stk1/stk1.dsp95
-rw-r--r--externals/grill/flext/tutorial/tutorial.dsw16
-rw-r--r--externals/grill/guitest/flgui.cpp46
-rw-r--r--externals/grill/guitest/flgui.h17
-rw-r--r--externals/grill/guitest/main.cpp12
-rw-r--r--externals/grill/pool/pool.pd72
73 files changed, 436 insertions, 148 deletions
diff --git a/externals/grill/flext/config-pd-bcc.txt b/externals/grill/flext/config-pd-bcc.txt
index ab2d2824..3d989e3e 100644
--- a/externals/grill/flext/config-pd-bcc.txt
+++ b/externals/grill/flext/config-pd-bcc.txt
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# where is PD?
diff --git a/externals/grill/flext/config-pd-cygwin.txt b/externals/grill/flext/config-pd-cygwin.txt
index 2407cb05..667af1ef 100644
--- a/externals/grill/flext/config-pd-cygwin.txt
+++ b/externals/grill/flext/config-pd-cygwin.txt
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# where is PD?
diff --git a/externals/grill/flext/config-pd-darwin.txt b/externals/grill/flext/config-pd-darwin.txt
index 3b8ba1f8..7daaa036 100644
--- a/externals/grill/flext/config-pd-darwin.txt
+++ b/externals/grill/flext/config-pd-darwin.txt
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# where are the PD header files?
diff --git a/externals/grill/flext/config-pd-linux.txt b/externals/grill/flext/config-pd-linux.txt
index d745339e..3995e500 100644
--- a/externals/grill/flext/config-pd-linux.txt
+++ b/externals/grill/flext/config-pd-linux.txt
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# your c++ compiler (normally g++)
diff --git a/externals/grill/flext/config-pd-msvc.txt b/externals/grill/flext/config-pd-msvc.txt
index f29e66dd..6b8102ce 100644
--- a/externals/grill/flext/config-pd-msvc.txt
+++ b/externals/grill/flext/config-pd-msvc.txt
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# where is PD?
diff --git a/externals/grill/flext/flext.cw b/externals/grill/flext/flext.cw
index 3bb70947..6ff16f56 100644
--- a/externals/grill/flext/flext.cw
+++ b/externals/grill/flext/flext.cw
Binary files differ
diff --git a/externals/grill/flext/flext.dsp b/externals/grill/flext/flext.dsp
index da59dfb9..2c1656e5 100644
--- a/externals/grill/flext/flext.dsp
+++ b/externals/grill/flext/flext.dsp
@@ -43,7 +43,7 @@ RSC=rc.exe
# PROP Intermediate_Dir "pd-msvc\s"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /G6 /W3 /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /YX"flext.h" /FD /c
+# ADD CPP /nologo /G6 /W3 /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /YX"flext.h" /FD /c
# ADD BASE RSC /l 0xc07 /d "NDEBUG"
# ADD RSC /l 0xc07 /d "NDEBUG"
BSC32=bscmake.exe
@@ -303,11 +303,11 @@ SOURCE=.\source\flsndobj.h
# PROP Default_Filter ""
# Begin Source File
-SOURCE=.\flstk.cpp
+SOURCE=.\source\flstk.cpp
# End Source File
# Begin Source File
-SOURCE=.\flstk.h
+SOURCE=.\source\flstk.h
# End Source File
# End Group
# End Target
diff --git a/externals/grill/flext/license.txt b/externals/grill/flext/license.txt
index 1e0de2f2..190802c2 100644
--- a/externals/grill/flext/license.txt
+++ b/externals/grill/flext/license.txt
@@ -1,5 +1,5 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (C) 2001,2002 Thomas Grill
+Copyright (C) 2001-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/externals/grill/flext/make-inc.pd-msvc b/externals/grill/flext/make-inc.pd-msvc
index 04ade4a2..7de273bc 100644
--- a/externals/grill/flext/make-inc.pd-msvc
+++ b/externals/grill/flext/make-inc.pd-msvc
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# ----- for internal use ----------------------
#
diff --git a/externals/grill/flext/makefile.pd-bcc b/externals/grill/flext/makefile.pd-bcc
index eece2120..f7899c66 100644
--- a/externals/grill/flext/makefile.pd-bcc
+++ b/externals/grill/flext/makefile.pd-bcc
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for BorlandC++
#
diff --git a/externals/grill/flext/makefile.pd-cygwin b/externals/grill/flext/makefile.pd-cygwin
index 5209c02c..31cce707 100644
--- a/externals/grill/flext/makefile.pd-cygwin
+++ b/externals/grill/flext/makefile.pd-cygwin
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for gcc @ cygwin
#
diff --git a/externals/grill/flext/makefile.pd-darwin b/externals/grill/flext/makefile.pd-darwin
index d2b94560..89b77f00 100644
--- a/externals/grill/flext/makefile.pd-darwin
+++ b/externals/grill/flext/makefile.pd-darwin
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for gcc @ darwin
#
diff --git a/externals/grill/flext/makefile.pd-linux b/externals/grill/flext/makefile.pd-linux
index 21863ab3..4ec7cb96 100644
--- a/externals/grill/flext/makefile.pd-linux
+++ b/externals/grill/flext/makefile.pd-linux
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for gcc @ linux
#
diff --git a/externals/grill/flext/makefile.pd-msvc b/externals/grill/flext/makefile.pd-msvc
index d775ab08..986fd9db 100644
--- a/externals/grill/flext/makefile.pd-msvc
+++ b/externals/grill/flext/makefile.pd-msvc
@@ -1,5 +1,5 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for MSVC++
#
diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt
index 37e600a8..9c7b2d60 100644
--- a/externals/grill/flext/readme.txt
+++ b/externals/grill/flext/readme.txt
@@ -1,6 +1,6 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flatom.cpp b/externals/grill/flext/source/flatom.cpp
index 3d5db8f2..9f905d7b 100644
--- a/externals/grill/flext/source/flatom.cpp
+++ b/externals/grill/flext/source/flatom.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flatom_app.cpp b/externals/grill/flext/source/flatom_app.cpp
index aedaadcd..90b4af82 100755
--- a/externals/grill/flext/source/flatom_app.cpp
+++ b/externals/grill/flext/source/flatom_app.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flatom_part.cpp b/externals/grill/flext/source/flatom_part.cpp
index b736666a..05a3710d 100755
--- a/externals/grill/flext/source/flatom_part.cpp
+++ b/externals/grill/flext/source/flatom_part.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flatom_pr.cpp b/externals/grill/flext/source/flatom_pr.cpp
index 854ae379..d6f030b5 100644
--- a/externals/grill/flext/source/flatom_pr.cpp
+++ b/externals/grill/flext/source/flatom_pr.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flattr.cpp b/externals/grill/flext/source/flattr.cpp
index c6e88fe5..3a898498 100644
--- a/externals/grill/flext/source/flattr.cpp
+++ b/externals/grill/flext/source/flattr.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
@@ -24,8 +24,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
flext_base::attritem::attritem(const t_symbol *t,metharg tp,methfun f,int fl):
item(t,0,NULL),argtp(tp),
fun(f),flags(fl)
-{
-}
+{}
flext_base::attritem::~attritem()
{
@@ -94,6 +93,29 @@ void flext_base::AddAttrib(t_class *c,const char *attr,metharg tp,methfun gfun,m
AddAttrib(ClAttrs(c),ClMeths(c),attr,tp,gfun,sfun);
}
+int flext_base::ListAttr(AtomList &la) const
+{
+ int cnt = attrhead?attrhead->Count():0;
+ int ccnt = clattrhead?clattrhead->Count():0;
+ la(ccnt+cnt);
+
+ int ix = 0;
+ for(int i = 0; i <= 1; ++i) {
+ itemarr *a = i?attrhead:clattrhead;
+ if(a) {
+ for(int ai = 0; ai < a->Size(); ++ai) {
+ for(item *l = a->Item(ai); l; l = l->nxt)
+ {
+ attritem *a = (attritem *)l;
+ if(!a->BothExist() || a->IsGet())
+ SetSymbol(la[ix++],a->tag);
+ }
+ }
+ }
+ }
+ return ix;
+}
+
int flext_base::CheckAttrib(int argc,const t_atom *argv)
{
@@ -120,42 +142,30 @@ bool flext_base::InitAttrib(int argc,const t_atom *argv)
bool flext_base::ListAttrib()
{
if(outattr) {
- int cnt = attrhead?attrhead->Count():0;
- int ccnt = clattrhead?clattrhead->Count():0;
- AtomList la(ccnt+cnt);
-
- int ix = 0;
- for(int i = 0; i <= 1; ++i) {
- itemarr *a = i?attrhead:clattrhead;
- if(a) {
- for(int ai = 0; ai < a->Size(); ++ai) {
- for(item *l = a->Item(ai); l; l = l->nxt)
- {
- attritem *a = (attritem *)l;
- if(!a->BothExist() || a->IsGet())
- SetSymbol(la[ix++],a->tag);
- }
- }
- }
- }
-
- ToOutAnything(outattr,MakeSymbol("attributes"),ix,la.Atoms());
+ AtomList la;
+ int c = ListAttr(la);
+ ToOutAnything(outattr,MakeSymbol("attributes"),c,la.Atoms());
return true;
}
else
return false;
}
-bool flext_base::SetAttrib(const t_symbol *tag,int argc,const t_atom *argv)
+flext_base::attritem *flext_base::FindAttr(const t_symbol *tag,bool get) const
{
- // search for matching attribute
attritem *a = (attritem *)attrhead->Find(tag);
- while(a && (a->tag != tag || a->inlet != 0 || a->IsGet())) a = (attritem *)a->nxt;
+ while(a && (a->tag != tag || a->inlet != 0 || (get?a->IsSet():a->IsGet()))) a = (attritem *)a->nxt;
if(!a) {
a = (attritem *)clattrhead->Find(tag);
- while(a && (a->tag != tag || a->inlet != 0 || a->IsGet())) a = (attritem *)a->nxt;
+ while(a && (a->tag != tag || a->inlet != 0 || (get?a->IsSet():a->IsGet()))) a = (attritem *)a->nxt;
}
+ return a;
+}
+bool flext_base::SetAttrib(const t_symbol *tag,int argc,const t_atom *argv)
+{
+ // search for matching attribute
+ attritem *a = FindAttr(tag,false);
if(a)
return SetAttrib(a,argc,argv);
else {
diff --git a/externals/grill/flext/source/flbase.cpp b/externals/grill/flext/source/flbase.cpp
index 9840bfc2..f9aaffca 100644
--- a/externals/grill/flext/source/flbase.cpp
+++ b/externals/grill/flext/source/flbase.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flbase.h b/externals/grill/flext/source/flbase.h
index 8b8577ea..e89dd032 100644
--- a/externals/grill/flext/source/flbase.h
+++ b/externals/grill/flext/source/flbase.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flbuf.cpp b/externals/grill/flext/source/flbuf.cpp
index 91ac8ce6..7a2a21b6 100644
--- a/externals/grill/flext/source/flbuf.cpp
+++ b/externals/grill/flext/source/flbuf.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flclass.h b/externals/grill/flext/source/flclass.h
index 208a37fd..87e0a154 100644
--- a/externals/grill/flext/source/flclass.h
+++ b/externals/grill/flext/source/flclass.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
@@ -20,6 +20,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "flbase.h"
#include "flsupport.h"
+
#ifdef _MSC_VER
#pragma warning(disable: 4786)
#endif
@@ -33,9 +34,6 @@ WARRANTIES, see the file, "license.txt," in this distribution.
// === flext_base ==================================================
-//class qmsg;
-//class thr_entry;
-
/*! \brief Flext message only base object
*/
@@ -587,7 +585,8 @@ protected:
enum {
afl_getset = 0x01, afl_get = 0x00, afl_set = 0x01,
- afl_bothexist = 0x02
+ afl_bothexist = 0x02,
+ afl_save = 0x04
};
bool IsGet() const { return (flags&afl_getset) == afl_get; }
@@ -657,6 +656,9 @@ private:
itemarr *attrhead,*clattrhead;
+ attritem *FindAttr(const t_symbol *tag,bool get) const;
+ int ListAttr(AtomList &a) const;
+
static int CheckAttrib(int argc,const t_atom *argv);
bool InitAttrib(int argc,const t_atom *argv);
diff --git a/externals/grill/flext/source/flcwmax-x-thr.h b/externals/grill/flext/source/flcwmax-x-thr.h
index 205dbd1f..13fcbfd3 100755
--- a/externals/grill/flext/source/flcwmax-x-thr.h
+++ b/externals/grill/flext/source/flcwmax-x-thr.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flcwmax-x.h b/externals/grill/flext/source/flcwmax-x.h
index 1887c6e3..59c677fb 100755
--- a/externals/grill/flext/source/flcwmax-x.h
+++ b/externals/grill/flext/source/flcwmax-x.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flcwmax.h b/externals/grill/flext/source/flcwmax.h
index d637d0cc..fea603ca 100644
--- a/externals/grill/flext/source/flcwmax.h
+++ b/externals/grill/flext/source/flcwmax.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/fldefs.h b/externals/grill/flext/source/fldefs.h
index 66c56123..55922a2b 100644
--- a/externals/grill/flext/source/fldefs.h
+++ b/externals/grill/flext/source/fldefs.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/fldoxygen.h b/externals/grill/flext/source/fldoxygen.h
index 6a04d08b..03ac7e0b 100644
--- a/externals/grill/flext/source/fldoxygen.h
+++ b/externals/grill/flext/source/fldoxygen.h
@@ -55,7 +55,7 @@ Currently, flext supports
Flext is covered by the GPL.
flext - C++ layer for Max/MSP and pd (pure data) externals<BR>
-Copyright (C) 2001,2002 Thomas Grill
+Copyright (C) 2001-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/externals/grill/flext/source/fldsp.cpp b/externals/grill/flext/source/fldsp.cpp
index 0a0a3276..3d7b723c 100644
--- a/externals/grill/flext/source/fldsp.cpp
+++ b/externals/grill/flext/source/fldsp.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/fldsp.h b/externals/grill/flext/source/fldsp.h
index 6299544a..da686ce7 100644
--- a/externals/grill/flext/source/fldsp.h
+++ b/externals/grill/flext/source/fldsp.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flext.cpp b/externals/grill/flext/source/flext.cpp
index 08e4cdd1..13ed9c48 100644
--- a/externals/grill/flext/source/flext.cpp
+++ b/externals/grill/flext/source/flext.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flext.h b/externals/grill/flext/source/flext.h
index 9b5da4e6..aef173e7 100644
--- a/externals/grill/flext/source/flext.h
+++ b/externals/grill/flext/source/flext.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flinternal.h b/externals/grill/flext/source/flinternal.h
index 87f04882..016a0bd7 100644
--- a/externals/grill/flext/source/flinternal.h
+++ b/externals/grill/flext/source/flinternal.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flitem.cpp b/externals/grill/flext/source/flitem.cpp
index cd5aed9e..70ea41f7 100755
--- a/externals/grill/flext/source/flitem.cpp
+++ b/externals/grill/flext/source/flitem.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/fllib.cpp b/externals/grill/flext/source/fllib.cpp
index 4c66d0b5..315d4eda 100755
--- a/externals/grill/flext/source/fllib.cpp
+++ b/externals/grill/flext/source/fllib.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flmeth.cpp b/externals/grill/flext/source/flmeth.cpp
index c5b4499b..3b40cd1a 100755
--- a/externals/grill/flext/source/flmeth.cpp
+++ b/externals/grill/flext/source/flmeth.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flmsg.cpp b/externals/grill/flext/source/flmsg.cpp
index 57f21d03..99eabc10 100755
--- a/externals/grill/flext/source/flmsg.cpp
+++ b/externals/grill/flext/source/flmsg.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flmspbuffer.h b/externals/grill/flext/source/flmspbuffer.h
index 9a18499d..c09f690f 100755
--- a/externals/grill/flext/source/flmspbuffer.h
+++ b/externals/grill/flext/source/flmspbuffer.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flout.cpp b/externals/grill/flext/source/flout.cpp
index 2ad12597..382c7e39 100644
--- a/externals/grill/flext/source/flout.cpp
+++ b/externals/grill/flext/source/flout.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flprefix.h b/externals/grill/flext/source/flprefix.h
index 6aa1e0ac..fc9846a9 100755
--- a/externals/grill/flext/source/flprefix.h
+++ b/externals/grill/flext/source/flprefix.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flproxy.cpp b/externals/grill/flext/source/flproxy.cpp
index c1a6930c..185700a5 100755
--- a/externals/grill/flext/source/flproxy.cpp
+++ b/externals/grill/flext/source/flproxy.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flqueue.cpp b/externals/grill/flext/source/flqueue.cpp
index 537101bc..8c3be318 100755
--- a/externals/grill/flext/source/flqueue.cpp
+++ b/externals/grill/flext/source/flqueue.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flsndobj.cpp b/externals/grill/flext/source/flsndobj.cpp
index 090b5034..a18da9d3 100644
--- a/externals/grill/flext/source/flsndobj.cpp
+++ b/externals/grill/flext/source/flsndobj.cpp
@@ -1,6 +1,8 @@
/*
-Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
+flext - C++ layer for Max/MSP and pd (pure data) externals
+
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flsndobj.h b/externals/grill/flext/source/flsndobj.h
index fde0d177..66f98a94 100644
--- a/externals/grill/flext/source/flsndobj.h
+++ b/externals/grill/flext/source/flsndobj.h
@@ -1,6 +1,8 @@
/*
-Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
+flext - C++ layer for Max/MSP and pd (pure data) externals
+
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flstdc.h b/externals/grill/flext/source/flstdc.h
index 44252c3f..aedcdf83 100644
--- a/externals/grill/flext/source/flstdc.h
+++ b/externals/grill/flext/source/flstdc.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flstk.cpp b/externals/grill/flext/source/flstk.cpp
index 85d52751..6a56aacb 100644
--- a/externals/grill/flext/source/flstk.cpp
+++ b/externals/grill/flext/source/flstk.cpp
@@ -1,6 +1,8 @@
/*
-Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
+flext - C++ layer for Max/MSP and pd (pure data) externals
+
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flstk.h b/externals/grill/flext/source/flstk.h
index e9f12650..d340bcb1 100644
--- a/externals/grill/flext/source/flstk.h
+++ b/externals/grill/flext/source/flstk.h
@@ -1,6 +1,8 @@
/*
-Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
+flext - C++ layer for Max/MSP and pd (pure data) externals
+
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flsupport.cpp b/externals/grill/flext/source/flsupport.cpp
index 827896e3..ec3b5ef7 100644
--- a/externals/grill/flext/source/flsupport.cpp
+++ b/externals/grill/flext/source/flsupport.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h
index 470b73ca..329c147f 100644
--- a/externals/grill/flext/source/flsupport.h
+++ b/externals/grill/flext/source/flsupport.h
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flthr.cpp b/externals/grill/flext/source/flthr.cpp
index a9a68471..9ad4d75f 100644
--- a/externals/grill/flext/source/flthr.cpp
+++ b/externals/grill/flext/source/flthr.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flutil.cpp b/externals/grill/flext/source/flutil.cpp
index ea11b458..1b1d929a 100644
--- a/externals/grill/flext/source/flutil.cpp
+++ b/externals/grill/flext/source/flutil.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/source/flxlet.cpp b/externals/grill/flext/source/flxlet.cpp
index e47a92e3..76c02afb 100755
--- a/externals/grill/flext/source/flxlet.cpp
+++ b/externals/grill/flext/source/flxlet.cpp
@@ -2,7 +2,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/tutorial/config-pd-bcc.txt b/externals/grill/flext/tutorial/config-pd-bcc.txt
index 2ce2b2c3..ca6e84c3 100644
--- a/externals/grill/flext/tutorial/config-pd-bcc.txt
+++ b/externals/grill/flext/tutorial/config-pd-bcc.txt
@@ -1,6 +1,6 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
# tutorial examples
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# where is PD?
diff --git a/externals/grill/flext/tutorial/config-pd-cygwin.txt b/externals/grill/flext/tutorial/config-pd-cygwin.txt
index a2ccf30c..fb87c554 100644
--- a/externals/grill/flext/tutorial/config-pd-cygwin.txt
+++ b/externals/grill/flext/tutorial/config-pd-cygwin.txt
@@ -1,6 +1,6 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
# tutorial examples
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# where is PD?
diff --git a/externals/grill/flext/tutorial/config-pd-darwin.txt b/externals/grill/flext/tutorial/config-pd-darwin.txt
index 286e9333..27afd885 100644
--- a/externals/grill/flext/tutorial/config-pd-darwin.txt
+++ b/externals/grill/flext/tutorial/config-pd-darwin.txt
@@ -1,6 +1,6 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
# tutorial examples
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# where are the PD header files?
diff --git a/externals/grill/flext/tutorial/config-pd-linux.txt b/externals/grill/flext/tutorial/config-pd-linux.txt
index 3f45b687..75c7ea73 100644
--- a/externals/grill/flext/tutorial/config-pd-linux.txt
+++ b/externals/grill/flext/tutorial/config-pd-linux.txt
@@ -1,6 +1,6 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
# tutorial examples
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# your c++ compiler (normally g++)
diff --git a/externals/grill/flext/tutorial/config-pd-msvc.txt b/externals/grill/flext/tutorial/config-pd-msvc.txt
index b68fdadb..e864d423 100644
--- a/externals/grill/flext/tutorial/config-pd-msvc.txt
+++ b/externals/grill/flext/tutorial/config-pd-msvc.txt
@@ -1,6 +1,6 @@
# flext - C++ layer for Max/MSP and pd (pure data) externals
# tutorial examples
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# where is PD?
diff --git a/externals/grill/flext/tutorial/license.txt b/externals/grill/flext/tutorial/license.txt
index f0d1a975..1b8f0c8b 100755
--- a/externals/grill/flext/tutorial/license.txt
+++ b/externals/grill/flext/tutorial/license.txt
@@ -1,5 +1,5 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (C) 2001,2002 Thomas Grill
+Copyright (C) 2001-2003 Thomas Grill
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
diff --git a/externals/grill/flext/tutorial/makefile.pd-bcc b/externals/grill/flext/tutorial/makefile.pd-bcc
index 0a21cfff..ae671ae0 100644
--- a/externals/grill/flext/tutorial/makefile.pd-bcc
+++ b/externals/grill/flext/tutorial/makefile.pd-bcc
@@ -1,5 +1,5 @@
# flext tutorial examples
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# This is a make include file for BorlandC++
# It can't be used on its own
diff --git a/externals/grill/flext/tutorial/makefile.pd-cygwin b/externals/grill/flext/tutorial/makefile.pd-cygwin
index 6568273a..c74855ad 100644
--- a/externals/grill/flext/tutorial/makefile.pd-cygwin
+++ b/externals/grill/flext/tutorial/makefile.pd-cygwin
@@ -1,4 +1,5 @@
# flext tutorial examples
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for gcc @ cygwin
#
diff --git a/externals/grill/flext/tutorial/makefile.pd-darwin b/externals/grill/flext/tutorial/makefile.pd-darwin
index 8a2ae255..3bd23066 100644
--- a/externals/grill/flext/tutorial/makefile.pd-darwin
+++ b/externals/grill/flext/tutorial/makefile.pd-darwin
@@ -1,4 +1,5 @@
# flext tutorial examples
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for gcc @ darwin (OSX)
#
diff --git a/externals/grill/flext/tutorial/makefile.pd-linux b/externals/grill/flext/tutorial/makefile.pd-linux
index 58fee63d..dadb861c 100644
--- a/externals/grill/flext/tutorial/makefile.pd-linux
+++ b/externals/grill/flext/tutorial/makefile.pd-linux
@@ -1,4 +1,5 @@
# flext tutorial examples
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for gcc @ linux
#
diff --git a/externals/grill/flext/tutorial/makefile.pd-msvc b/externals/grill/flext/tutorial/makefile.pd-msvc
index 960ee14c..385630e0 100644
--- a/externals/grill/flext/tutorial/makefile.pd-msvc
+++ b/externals/grill/flext/tutorial/makefile.pd-msvc
@@ -1,5 +1,5 @@
-# flext - C++ layer for Max/MSP and pd (pure data) externals
-# Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+# flext tutorial examples
+# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
#
# Makefile for MSVC++
#
diff --git a/externals/grill/flext/tutorial/readme.txt b/externals/grill/flext/tutorial/readme.txt
index 3e7004a1..a059dc77 100644
--- a/externals/grill/flext/tutorial/readme.txt
+++ b/externals/grill/flext/tutorial/readme.txt
@@ -1,7 +1,7 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
tutorial examples
-Copyright (c) 2001,2002 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
diff --git a/externals/grill/flext/tutorial/sndobj1/main.cpp b/externals/grill/flext/tutorial/sndobj1/main.cpp
index e293e6be..7e6c7663 100644
--- a/externals/grill/flext/tutorial/sndobj1/main.cpp
+++ b/externals/grill/flext/tutorial/sndobj1/main.cpp
@@ -1,8 +1,18 @@
-// signal1~ - a flext tutorial external written by Frank Barknecht
-//
-// This is a commented port of the pan~ example from the PD-Externals-Howto to
-// illustrate the usage of flext. You can get the original code at
-// http://iem.kug.ac.at/pd/externals-HOWTO/
+/*
+flext tutorial - sndobj 1
+
+Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "license.txt," in this distribution.
+
+-------------------------------------------------------------------------
+
+This is an example of an external using the SndObj library.
+See http://www.may.ie/academic/music/musictec/SndObj/
+
+This object shows simple stereo pitch shifting.
+
+*/
#define FLEXT_ATTRIBUTES 1
diff --git a/externals/grill/flext/tutorial/stk1/main.cpp b/externals/grill/flext/tutorial/stk1/main.cpp
new file mode 100644
index 00000000..31e10e70
--- /dev/null
+++ b/externals/grill/flext/tutorial/stk1/main.cpp
@@ -0,0 +1,95 @@
+/*
+flext tutorial - stk 1
+
+Copyright (c) 2002 Thomas Grill (xovo@gmx.net)
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "license.txt," in this distribution.
+
+-------------------------------------------------------------------------
+
+This is an example of an external using the STK ("synthesis toolkit") library.
+See http://ccrma-www.stanford.edu/software/stk
+
+*/
+
+#define FLEXT_ATTRIBUTES 1
+
+#include <flstk.h>
+
+#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
+#error You need at least flext version 0.4.1
+#endif
+
+
+class stk1:
+ public flext_stk
+{
+ FLEXT_HEADER(stk1,flext_stk)
+
+public:
+ stk1();
+
+protected:
+
+ // these are obligatory!
+ virtual void NewObjs();
+ virtual void FreeObjs();
+ virtual void ProcessObjs();
+
+ // space for a few sndobjs
+// Pitch *obj1,*obj2;
+
+ float sh1,sh2;
+
+ FLEXT_ATTRVAR_F(sh1)
+ FLEXT_ATTRVAR_F(sh2)
+};
+
+FLEXT_NEW_DSP("stk1~",stk1)
+
+
+stk1::stk1():
+ sh1(1),sh2(1)
+{
+ AddInSignal(2); // audio ins
+ AddOutSignal(2); // audio outs
+
+// obj1 = obj2 = NULL;
+
+ FLEXT_ADDATTR_VAR1("shL",sh1);
+ FLEXT_ADDATTR_VAR1("shR",sh2);
+}
+
+// construct needed SndObjs
+void stk1::NewObjs()
+{
+ // set up objects
+// obj1 = new Pitch(.1f,&InObj(0),sh1,Blocksize(),Samplerate());
+// obj2 = new Pitch(.1f,&InObj(1),sh2,Blocksize(),Samplerate());
+}
+
+// destroy the SndObjs
+void stk1::FreeObjs()
+{
+// if(obj1) delete obj1;
+// if(obj2) delete obj2;
+}
+
+// this is called on every DSP block
+void stk1::ProcessObjs()
+{
+/*
+ // set current pitch shift
+ obj1->SetPitch(sh1);
+ obj2->SetPitch(sh2);
+
+ // do processing here!!
+ obj1->DoProcess();
+ obj2->DoProcess();
+
+ // output
+ *obj1 >> OutObj(0);
+ *obj2 >> OutObj(1);
+*/
+}
+
diff --git a/externals/grill/flext/tutorial/stk1/stk1.dsp b/externals/grill/flext/tutorial/stk1/stk1.dsp
new file mode 100644
index 00000000..7ee60fdb
--- /dev/null
+++ b/externals/grill/flext/tutorial/stk1/stk1.dsp
@@ -0,0 +1,95 @@
+# Microsoft Developer Studio Project File - Name="stk1" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** NICHT BEARBEITEN **
+
+# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
+
+CFG=stk1 - Win32 Debug
+!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE
+!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl
+!MESSAGE
+!MESSAGE NMAKE /f "stk1.mak".
+!MESSAGE
+!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben
+!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel:
+!MESSAGE
+!MESSAGE NMAKE /f "stk1.mak" CFG="stk1 - Win32 Debug"
+!MESSAGE
+!MESSAGE Für die Konfiguration stehen zur Auswahl:
+!MESSAGE
+!MESSAGE "stk1 - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library")
+!MESSAGE "stk1 - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName "stk1"
+# PROP Scc_LocalPath "."
+CPP=cl.exe
+MTL=midl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "stk1 - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "msvc"
+# PROP Intermediate_Dir "msvc"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c
+# ADD CPP /nologo /W3 /O2 /I "..\..\source" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /YX /FD /c
+# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0xc07 /d "NDEBUG"
+# ADD RSC /l 0xc07 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386
+# ADD LINK32 kernel32.lib user32.lib pd.lib flext-pdwin.lib stk.lib /nologo /dll /machine:I386 /out:"../pd-msvc/stk1~.dll" /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\stk\lib"
+
+!ELSEIF "$(CFG)" == "stk1 - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "msvc-debug"
+# PROP Intermediate_Dir "msvc-debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /Fr /YX /FD /GZ /c
+# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
+# ADD BASE RSC /l 0xc07 /d "_DEBUG"
+# ADD RSC /l 0xc07 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=link.exe
+# ADD BASE LINK32 kernel32.lib user32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib pd.lib flext_d-pdwin.lib stk.lib /nologo /dll /debug /machine:I386 /out:"msvc-debug/stk1~.dll" /pdbtype:sept /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\stk\lib"
+
+!ENDIF
+
+# Begin Target
+
+# Name "stk1 - Win32 Release"
+# Name "stk1 - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\main.cpp
+# End Source File
+# End Target
+# End Project
diff --git a/externals/grill/flext/tutorial/tutorial.dsw b/externals/grill/flext/tutorial/tutorial.dsw
index e7338c60..9ef8d03f 100644
--- a/externals/grill/flext/tutorial/tutorial.dsw
+++ b/externals/grill/flext/tutorial/tutorial.dsw
@@ -227,6 +227,22 @@ Package=<4>
###############################################################################
+Project: "stk1"=.\stk1\stk1.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ stk1
+ .\stk1
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
Project: "thread1"=.\thread1\thread1.dsp - Package Owner=<4>
Package=<5>
diff --git a/externals/grill/guitest/flgui.cpp b/externals/grill/guitest/flgui.cpp
index 1bad0851..2753d303 100644
--- a/externals/grill/guitest/flgui.cpp
+++ b/externals/grill/guitest/flgui.cpp
@@ -107,7 +107,8 @@ void flext_gui::setup(t_class *c)
#if FLEXT_SYS == FLEXT_SYS_PD
-int flext_gui::evmask = evMotion|evMouseDown|evKeyDown|evKeyUp;
+// this event mask declares supported events
+int flext_gui::evmask = evMotion|evMouseDown|evMouseDrag|evKeyDown|evKeyUp|evKeyRepeat;
int flext_gui::curmod = 0;
flext_gui::pxkey_object *flext_gui::pxkey = NULL;
flext_gui::guicanv *flext_gui::gcanv = NULL;
@@ -228,8 +229,25 @@ void flext_gui::pxkey_method(pxkey_object *obj,const t_symbol *s,int argc,t_atom
// post("Key down=%i c=%c mod=%i",down?1:0,code,curmod);
if(code || mod) {
+ // remember past keycodes for repetition detection
+ static int lastcode = 0,lastasc = 0,lastmod = 0;
+
// button is pressed
- p.kind = down?evKeyDown:evKeyUp;
+ if(down) {
+ if(lastcode == code && lastmod == curmod)
+ p.kind = evKeyRepeat;
+ else {
+ p.kind = evKeyDown;
+ lastcode = code;
+ lastasc = asc;
+ lastmod = curmod;
+ }
+ }
+ else {
+ p.kind = evKeyUp;
+ lastcode = lastasc = 0;
+ }
+
p.ext = true;
p.pKey.k = code; //lastkey;
p.pKey.a = asc;
@@ -438,7 +456,7 @@ void flext_gui::sg_vis(t_gobj *c, t_glist *, int vis)
}
}
-int flext_gui::sg_click(t_gobj *c, t_glist *,int xpix, int ypix, int shift, int alt, int dbl, int doit)
+int flext_gui::sg_click(t_gobj *c, t_glist *gl,int xpix, int ypix, int shift, int alt, int dbl, int doit)
{
flext_gui *g = thisObject(c);
CBParams p;
@@ -451,10 +469,13 @@ int flext_gui::sg_click(t_gobj *c, t_glist *,int xpix, int ypix, int shift, int
if(doit) {
// button is pressed
p.kind = evMouseDown;
- p.pMouseKey.x = x;
- p.pMouseKey.y = y;
+ p.pMouseKey.x = g->xdrag = x;
+ p.pMouseKey.y = g->ydrag = y;
+ g->dxdrag = g->dydrag = 0;
p.pMouseKey.b = 1;
p.pMouseKey.mod = curmod; //mod;
+
+ glist_grab(gl,c,(t_glistmotionfn)sg_drag,0,xpix,ypix);
}
else {
// only mouse position change
@@ -467,6 +488,20 @@ int flext_gui::sg_click(t_gobj *c, t_glist *,int xpix, int ypix, int shift, int
return 1;
}
+void flext_gui::sg_drag(t_gobj *c,t_floatarg dx,t_floatarg dy)
+{
+ flext_gui *g = thisObject(c);
+ CBParams p;
+ p.kind = evMouseDrag;
+ p.pMouseDrag.dx = (g->dxdrag += (int)dx);
+ p.pMouseDrag.dy = (g->dydrag += (int)dy);
+ p.pMouseDrag.x = g->xdrag+g->dxdrag;
+ p.pMouseDrag.y = g->ydrag+g->dydrag;;
+ p.pMouseDrag.b = 1;
+ p.pMouseDrag.mod = curmod; //mod;
+ g->m_Method(p);
+}
+
void flext_gui::sg_delete(t_gobj *c, t_glist *)
{
thisObject(c)->g_Delete();
@@ -505,6 +540,7 @@ bool flext_gui::sg_KeyUp(flext_base *c,int &keynum)
#else // MAXMSP
+// this declared supported events
int flext_gui::evmask = evMotion|evMouseDown|evKeyDown;
static void dragfun()
diff --git a/externals/grill/guitest/flgui.h b/externals/grill/guitest/flgui.h
index 211a4935..3ca2b399 100644
--- a/externals/grill/guitest/flgui.h
+++ b/externals/grill/guitest/flgui.h
@@ -1,7 +1,7 @@
#ifndef __FLEXT_GUI
#define __FLEXT_GUI
-#define FLEXT_VIRT
+//#define FLEXT_VIRT
#include <flext.h>
#if FLEXT_SYS == FLEXT_SYS_PD
@@ -15,9 +15,9 @@ class GuiGroup;
class GuiSingle;
class flext_gui:
- virtual public flext_base
+ public flext_base
{
- FLEXT_HEADER_S(flext_gui,flext_base,setup)
+ FLEXT_HEADER_S(flext_gui,flext_dsp,setup)
public:
flext_gui(int xs,int ys);
@@ -29,8 +29,10 @@ public:
evMouseDown = 0x02,
evMouseUp = 0x04,
evMouseWheel = 0x08,
- evKeyDown = 0x10,
- evKeyUp = 0x20
+ evMouseDrag = 0x10,
+ evKeyDown = 0x20,
+ evKeyUp = 0x40,
+ evKeyRepeat = 0x80
};
class CBParams {
@@ -42,6 +44,7 @@ public:
struct { int x,y,mod; } pMotion;
struct { int x,y,b,mod; } pMouseKey;
struct { int x,y,mod,delta; } pMouseWheel;
+ struct { int x,y,dx,dy,b,mod; } pMouseDrag;
struct { int k,a,mod; } pKey;
};
bool ext;
@@ -146,6 +149,7 @@ private:
#if FLEXT_SYS == FLEXT_SYS_PD
bool selected;
int xsize,ysize;
+ int xdrag,ydrag,dxdrag,dydrag;
static void sg_getrect(t_gobj *c, t_glist *,int *xp1, int *yp1, int *xp2, int *yp2);
static void sg_displace(t_gobj *c, t_glist *, int dx, int dy);
@@ -154,6 +158,7 @@ private:
static void sg_delete(t_gobj *c, t_glist *);
static void sg_vis(t_gobj *c, t_glist *, int vis);
static int sg_click(t_gobj *c, t_glist *,int xpix, int ypix, int shift, int alt, int dbl, int doit);
+ static void sg_drag(t_gobj *x, t_floatarg dx, t_floatarg dy);
static void sg_properties(t_gobj *c, t_glist *);
static void sg_save(t_gobj *c, t_binbuf *b);
// static void sg_motion(void *c, float dx,float dy) { thisObject((t_gobj *)c)->g_Motion(dx,dy); }
@@ -210,7 +215,7 @@ public:
static t_class *px_class,*pxkey_class;
static void sg_tk(t_canvas *c,const t_symbol *s,int argc,t_atom *argv);
-#else
+#else // MAXMSP
int curx,cury,curmod;
bool created;
static t_clock clock;
diff --git a/externals/grill/guitest/main.cpp b/externals/grill/guitest/main.cpp
index cfedfa86..661c3ad2 100644
--- a/externals/grill/guitest/main.cpp
+++ b/externals/grill/guitest/main.cpp
@@ -21,7 +21,7 @@
#define UL unsigned long
class guitest:
-public flext_gui,virtual public flext_base
+public flext_gui //,virtual public flext_base
{
FLEXT_HEADER(guitest,flext_gui)
@@ -29,7 +29,7 @@ public:
guitest(I argc,t_atom *argv);
~guitest();
- virtual void m_bang()
+ void m_bang()
{
post("%s - bang!",thisName());
}
@@ -69,9 +69,11 @@ void guitest::g_Create()
delete[] p;
if(!BindEvent(*frame,g_Motion,evMotion)) post("Motion not supported");
+ if(!BindEvent(*frame,g_Motion,evMouseDrag)) post("MouseDrag not supported");
if(!BindEvent(*wave,g_MouseKey,evMouseDown)) post("MouseDown not supported");
if(!BindEvent(*wave,g_MouseKey,evKeyDown)) post("KeyDown not supported");
if(!BindEvent(*wave,g_MouseKey,evKeyUp)) post("KeyUp not supported");
+ if(!BindEvent(*wave,g_MouseKey,evKeyRepeat)) post("KeyRepeat not supported");
}
void guitest::g_Properties()
@@ -107,6 +109,9 @@ bool guitest::g_Motion(flext_gui &g,GuiSingle &obj,const CBParams &p)
if(p.kind == evMotion) {
post("Motion %s x:%i y:%i mod:%i",GetString(obj.Id()),p.pMotion.x,p.pMotion.y,p.pMotion.mod);
}
+ else if(p.kind == evMouseDrag) {
+ post("Drag %s x:%i y:%i dx:%i dy:%i b:%i mod:%i",GetString(obj.Id()),p.pMouseDrag.x,p.pMouseDrag.y,p.pMouseDrag.dx,p.pMouseDrag.dy,p.pMouseDrag.b,p.pMouseDrag.mod);
+ }
else
post("Motion");
return true;
@@ -123,6 +128,9 @@ bool guitest::g_MouseKey(flext_gui &g,GuiSingle &obj,const CBParams &p)
else if(p.kind == evKeyUp) {
post("KeyUp %s asc:%i key:%i mod:%i",GetString(obj.Id()),p.pKey.a,p.pKey.k,p.pKey.mod);
}
+ else if(p.kind == evKeyRepeat) {
+ post("KeyRepeat %s asc:%i key:%i mod:%i",GetString(obj.Id()),p.pKey.a,p.pKey.k,p.pKey.mod);
+ }
return true;
}
diff --git a/externals/grill/pool/pool.pd b/externals/grill/pool/pool.pd
index cdf0f6e6..14ac7d7d 100644
--- a/externals/grill/pool/pool.pd
+++ b/externals/grill/pool/pool.pd
@@ -1,5 +1,4 @@
-#N canvas 25 23 976 679 12;
-#X obj 260 478 pool;
+#N canvas 25 23 978 681 12;
#X msg 295 108 set 1 2 3;
#X obj 254 615 print K;
#X msg 607 211 getall;
@@ -13,7 +12,7 @@
#X msg 432 181 get A;
#X msg 432 213 get 2;
#X msg 40 132 echodir \$1;
-#X obj 40 111 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+#X obj 40 111 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
;
#X obj 40 213 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
@@ -177,36 +176,37 @@
#X msg 136 132 getechodir;
#X msg 132 232 getabsdir;
#X msg 146 313 getpool;
-#X connect 0 0 5 0;
-#X connect 0 1 2 0;
-#X connect 0 2 6 0;
-#X connect 0 3 19 0;
-#X connect 0 4 68 0;
-#X connect 1 0 0 0;
-#X connect 3 0 0 0;
-#X connect 4 0 0 0;
-#X connect 7 0 0 0;
-#X connect 8 0 0 0;
-#X connect 9 0 0 0;
-#X connect 10 0 0 0;
-#X connect 11 0 0 0;
-#X connect 12 0 0 0;
-#X connect 13 0 0 0;
-#X connect 14 0 13 0;
-#X connect 15 0 16 0;
-#X connect 16 0 0 0;
-#X connect 24 0 0 0;
-#X connect 25 0 0 0;
-#X connect 27 0 0 0;
-#X connect 29 0 0 0;
-#X connect 34 0 0 0;
-#X connect 35 0 0 0;
-#X connect 46 0 0 0;
-#X connect 49 0 0 0;
-#X connect 51 0 0 0;
-#X connect 54 0 0 0;
-#X connect 63 0 0 0;
-#X connect 70 0 0 0;
-#X connect 71 0 0 0;
-#X connect 72 0 0 0;
-#X connect 73 0 0 0;
+#X obj 260 478 pool;
+#X connect 0 0 73 0;
+#X connect 2 0 73 0;
+#X connect 3 0 73 0;
+#X connect 6 0 73 0;
+#X connect 7 0 73 0;
+#X connect 8 0 73 0;
+#X connect 9 0 73 0;
+#X connect 10 0 73 0;
+#X connect 11 0 73 0;
+#X connect 12 0 73 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 15 0 73 0;
+#X connect 23 0 73 0;
+#X connect 24 0 73 0;
+#X connect 26 0 73 0;
+#X connect 28 0 73 0;
+#X connect 33 0 73 0;
+#X connect 34 0 73 0;
+#X connect 45 0 73 0;
+#X connect 48 0 73 0;
+#X connect 50 0 73 0;
+#X connect 53 0 73 0;
+#X connect 62 0 73 0;
+#X connect 69 0 73 0;
+#X connect 70 0 73 0;
+#X connect 71 0 73 0;
+#X connect 72 0 73 0;
+#X connect 73 0 4 0;
+#X connect 73 1 1 0;
+#X connect 73 2 5 0;
+#X connect 73 3 18 0;
+#X connect 73 4 67 0;