aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2004-04-23 22:14:24 +0000
committerThomas Grill <xovo@users.sourceforge.net>2004-04-23 22:14:24 +0000
commitd4b2f09f1c42d49e53c1b039cedc5b09ec8e87cd (patch)
tree6e604c25e7c7ecf147489f82bbfb26bf95db2e2e /externals/grill/flext
parentd0b6781beeffe75dad099ed7a6a6d93766c3fa71 (diff)
""
svn path=/trunk/; revision=1634
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/changes.txt1
-rw-r--r--externals/grill/flext/config-pd-linux.txt2
-rw-r--r--externals/grill/flext/flext.doxy2
-rwxr-xr-xexternals/grill/flext/flext.pbproj/project.pbxproj184
-rw-r--r--externals/grill/flext/flext.vcproj3
-rw-r--r--externals/grill/flext/make-files.txt21
-rw-r--r--externals/grill/flext/source/flclass.h1
-rw-r--r--externals/grill/flext/source/flext.h4
-rw-r--r--externals/grill/flext/source/flmap.h70
-rw-r--r--externals/grill/flext/source/flsupport.h45
-rw-r--r--externals/grill/flext/tutorial/config-pd-linux.txt4
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-darwin4
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-linux4
-rw-r--r--externals/grill/flext/tutorial/pd/ex-adv1.pd46
-rw-r--r--externals/grill/flext/tutorial/pd/ex-adv2.pd6
-rw-r--r--externals/grill/flext/tutorial/pd/ex-bind1.pd110
-rw-r--r--externals/grill/flext/tutorial/pd/ex-buffer1.pd198
17 files changed, 483 insertions, 222 deletions
diff --git a/externals/grill/flext/changes.txt b/externals/grill/flext/changes.txt
index aa137c88..8a9aad20 100644
--- a/externals/grill/flext/changes.txt
+++ b/externals/grill/flext/changes.txt
@@ -28,6 +28,7 @@ Version history:
- also initialize flext::sym_int as MakeSymbol("int") for PD (since the variable is there anyhow)
- fixed bug with attribute dumping
- default arguments for object construction (types float0,int0,t_symtype0 for FLEXT_NEW*)
+- added flext::sym__ for empty symbol ""
0.4.5:
- added some more SIMD functions
diff --git a/externals/grill/flext/config-pd-linux.txt b/externals/grill/flext/config-pd-linux.txt
index 499ad2a1..3341b9b4 100644
--- a/externals/grill/flext/config-pd-linux.txt
+++ b/externals/grill/flext/config-pd-linux.txt
@@ -8,7 +8,7 @@
# where are the PD header files? (m_pd.h, m_imp.h, g_canvas.h)
# if it is a system include path (like /usr/local/include)
# you should leave it blank (as e.g. g++ 3.2 complains about it)
-PDPATH=/usr/src/pd-0.37-0/src
+PDPATH=/usr/src/pd-0.37-1/src
# where is the SndObj include directory?
# (leave blank or comment out to disable SndObj support)
diff --git a/externals/grill/flext/flext.doxy b/externals/grill/flext/flext.doxy
index db240640..726cfd22 100644
--- a/externals/grill/flext/flext.doxy
+++ b/externals/grill/flext/flext.doxy
@@ -4,7 +4,7 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = flext
-PROJECT_NUMBER = "version 0.4.5"
+PROJECT_NUMBER = "version 0.4.6"
OUTPUT_DIRECTORY = f:/prog/max/flext/doc/
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = YES
diff --git a/externals/grill/flext/flext.pbproj/project.pbxproj b/externals/grill/flext/flext.pbproj/project.pbxproj
index c936555b..3cf5e9b6 100755
--- a/externals/grill/flext/flext.pbproj/project.pbxproj
+++ b/externals/grill/flext/flext.pbproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 38;
+ objectVersion = 39;
objects = {
034768DDFF38A45A11DB9C8B = {
children = (
@@ -21,6 +21,7 @@
isa = PBXGroup;
name = Products;
refType = 4;
+ sourceTree = "<group>";
};
//030
//031
@@ -33,6 +34,8 @@
//083
//084
0867D690FE84028FC02AAC07 = {
+ buildSettings = {
+ };
buildStyles = (
F5128F2503864E5501A80AC9,
F5128F2603864E5501A80AC9,
@@ -67,6 +70,7 @@
isa = PBXGroup;
name = "flext-PB";
refType = 4;
+ sourceTree = "<group>";
};
0867D69AFE84028FC02AAC07 = {
children = (
@@ -75,6 +79,7 @@
isa = PBXGroup;
name = "External Frameworks and Libraries";
refType = 4;
+ sourceTree = "<group>";
};
089C1665FE841158C02AAC07 = {
children = (
@@ -83,6 +88,7 @@
isa = PBXGroup;
name = Resources;
refType = 4;
+ sourceTree = "<group>";
};
089C1666FE841158C02AAC07 = {
children = (
@@ -91,19 +97,25 @@
isa = PBXVariantGroup;
name = InfoPlist.strings;
refType = 4;
+ sourceTree = "<group>";
};
089C1667FE841158C02AAC07 = {
fileEncoding = 10;
isa = PBXFileReference;
+ lastKnownFileType = file;
name = English;
path = English.lproj/InfoPlist.strings;
refType = 4;
+ sourceTree = "<group>";
};
08FB77AAFE841565C02AAC07 = {
+ fallbackIsa = PBXFileReference;
isa = PBXFrameworkReference;
+ lastKnownFileType = wrapper.framework;
name = Carbon.framework;
path = /System/Library/Frameworks/Carbon.framework;
refType = 0;
+ sourceTree = "<absolute>";
};
08FB77ACFE841707C02AAC07 = {
children = (
@@ -138,6 +150,7 @@
name = Source;
path = "";
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
//080
//081
@@ -149,12 +162,42 @@
//E92
//E93
//E94
+ E901D62E0639B21600106D89 = {
+ containerPortal = 0867D690FE84028FC02AAC07;
+ isa = PBXContainerItemProxy;
+ proxyType = 1;
+ remoteGlobalIDString = F55CEE300383F59B01A80AC9;
+ remoteInfo = "PD@OSX debug threaded";
+ };
+ E901D62F0639B21600106D89 = {
+ containerPortal = 0867D690FE84028FC02AAC07;
+ isa = PBXContainerItemProxy;
+ proxyType = 1;
+ remoteGlobalIDString = F55CEE130383F57A01A80AC9;
+ remoteInfo = "PD@OSX debug single";
+ };
+ E901D6300639B21600106D89 = {
+ containerPortal = 0867D690FE84028FC02AAC07;
+ isa = PBXContainerItemProxy;
+ proxyType = 1;
+ remoteGlobalIDString = F55CEDF60383F55201A80AC9;
+ remoteInfo = "PD@OSX threaded";
+ };
+ E901D6310639B21600106D89 = {
+ containerPortal = 0867D690FE84028FC02AAC07;
+ isa = PBXContainerItemProxy;
+ proxyType = 1;
+ remoteGlobalIDString = F55CEDC10383E6E401A80AC9;
+ remoteInfo = "PD@OSX single";
+ };
E9BDCC4104F4D7C1008929A0 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flattr_ed.cpp;
path = source/flattr_ed.cpp;
refType = 4;
+ sourceTree = "<group>";
};
E9BDCC4204F4D7C1008929A0 = {
fileRef = E9BDCC4104F4D7C1008929A0;
@@ -229,72 +272,92 @@
F504A66B03CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flatom_app.cpp;
path = source/flatom_app.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F504A66C03CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flatom_part.cpp;
path = source/flatom_part.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F504A66D03CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flitem.cpp;
path = source/flitem.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F504A66E03CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flmeth.cpp;
path = source/flmeth.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F504A66F03CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flmsg.cpp;
path = source/flmsg.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F504A67003CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flprefix.h;
path = source/flprefix.h;
refType = 4;
+ sourceTree = "<group>";
};
F504A67103CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flproxy.cpp;
path = source/flproxy.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F504A67203CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flqueue.cpp;
path = source/flqueue.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F504A67303CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flstk.cpp;
path = source/flstk.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F504A67403CE39F501A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flstk.h;
path = source/flstk.h;
refType = 4;
+ sourceTree = "<group>";
};
F504A67503CE3BDE01A80AC9 = {
fileRef = F504A66B03CE39F501A80AC9;
@@ -589,6 +652,11 @@
);
buildSettings = {
COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ ZERO_LINK = YES;
};
isa = PBXBuildStyle;
name = Development;
@@ -598,6 +666,8 @@
);
buildSettings = {
COPY_PHASE_STRIP = YES;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ ZERO_LINK = NO;
};
isa = PBXBuildStyle;
name = Deployment;
@@ -605,177 +675,227 @@
F55CED7B0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flatom_pr.cpp;
path = source/flatom_pr.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED7C0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flatom.cpp;
path = source/flatom.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED7D0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flattr.cpp;
path = source/flattr.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED7E0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flbase.cpp;
path = source/flbase.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED7F0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flbase.h;
path = source/flbase.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED800383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flbuf.cpp;
path = source/flbuf.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED810383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flclass.h;
path = source/flclass.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED860383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs.h;
path = source/fldefs.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED870383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldoxygen.h;
path = source/fldoxygen.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED880383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = fldsp.cpp;
path = source/fldsp.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED890383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldsp.h;
path = source/fldsp.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED8A0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flext.cpp;
path = source/flext.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED8B0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flext.h;
path = source/flext.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED8C0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flinternal.h;
path = source/flinternal.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED8D0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = fllib.cpp;
path = source/fllib.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED8E0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flmspbuffer.h;
path = source/flmspbuffer.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED8F0383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flout.cpp;
path = source/flout.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED900383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flsndobj.cpp;
path = source/flsndobj.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED910383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flsndobj.h;
path = source/flsndobj.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED920383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flstdc.h;
path = source/flstdc.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED930383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flsupport.cpp;
path = source/flsupport.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED940383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = flsupport.h;
path = source/flsupport.h;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED950383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flthr.cpp;
path = source/flthr.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED960383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flutil.cpp;
path = source/flutil.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CED970383E50201A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flxlet.cpp;
path = source/flxlet.cpp;
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CEDB50383E50D01A80AC9 = {
children = (
@@ -797,6 +917,7 @@
name = Headers;
path = "";
refType = 2;
+ sourceTree = SOURCE_ROOT;
};
F55CEDBD0383E6E401A80AC9 = {
buildActionMask = 2147483647;
@@ -903,9 +1024,12 @@
productReference = F55CEDC20383E6E401A80AC9;
};
F55CEDC20383E6E401A80AC9 = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = flext.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F55CEDC40383E78701A80AC9 = {
fileRef = F55CED7B0383E50201A80AC9;
@@ -1290,9 +1414,12 @@
runOnlyForDeploymentPostprocessing = 0;
};
F55CEE120383F55201A80AC9 = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = flext_t.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F55CEE130383F57A01A80AC9 = {
buildPhases = (
@@ -1538,9 +1665,12 @@
runOnlyForDeploymentPostprocessing = 0;
};
F55CEE2F0383F57A01A80AC9 = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = flext_d.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F55CEE300383F59B01A80AC9 = {
buildPhases = (
@@ -1786,9 +1916,12 @@
runOnlyForDeploymentPostprocessing = 0;
};
F55CEE4C0383F59B01A80AC9 = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = flext_td.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F55CEE4E0383F97301A80AC9 = {
buildPhases = (
@@ -1814,32 +1947,40 @@
F55CEE530383F9A301A80AC9 = {
isa = PBXTargetDependency;
target = F55CEDC10383E6E401A80AC9;
+ targetProxy = E901D6310639B21600106D89;
};
F55CEE540383F9A301A80AC9 = {
isa = PBXTargetDependency;
target = F55CEDF60383F55201A80AC9;
+ targetProxy = E901D6300639B21600106D89;
};
F55CEE550383F9A301A80AC9 = {
isa = PBXTargetDependency;
target = F55CEE130383F57A01A80AC9;
+ targetProxy = E901D62F0639B21600106D89;
};
F55CEE560383F9A301A80AC9 = {
isa = PBXTargetDependency;
target = F55CEE300383F59B01A80AC9;
+ targetProxy = E901D62E0639B21600106D89;
};
F598D263044CC4A001A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flbind.cpp;
path = source/flbind.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F598D264044CC4A001A80AC9 = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = flsimd.cpp;
path = source/flsimd.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F598D265044CC4A001A80AC9 = {
fileRef = F598D263044CC4A001A80AC9;
@@ -2093,9 +2234,12 @@
runOnlyForDeploymentPostprocessing = 0;
};
F59A5FAD0386DF3201A80AC9 = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = flext_t.max.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F5AAF616038683E801A80AC9 = {
buildPhases = (
@@ -2337,16 +2481,21 @@
runOnlyForDeploymentPostprocessing = 0;
};
F5AAF632038683E801A80AC9 = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = flext.max.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F5B1FAC8041191190179CFEF = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.cpp.cpp;
name = fltimer.cpp;
path = source/fltimer.cpp;
refType = 4;
+ sourceTree = "<group>";
};
F5B1FACD0411918B0179CFEF = {
fileRef = F5B1FAC8041191190179CFEF;
@@ -2660,9 +2809,12 @@
runOnlyForDeploymentPostprocessing = 0;
};
F5C2051103D403B401A80AC9 = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = flext.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F5C2060003D470B401A80AC9 = {
buildPhases = (
@@ -2952,9 +3104,12 @@
runOnlyForDeploymentPostprocessing = 0;
};
F5C2062403D470B401A80AC9 = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = flext_t.a;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F5CBC59204757A5901A0C81C = {
buildPhases = (
@@ -3259,79 +3414,102 @@
runOnlyForDeploymentPostprocessing = 0;
};
F5CBC5B704757A5901A0C81C = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = libflext.dylib;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
F5CBC5B804757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_attradd.h;
path = source/fldefs_attradd.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5B904757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_attrcb.h;
path = source/fldefs_attrcb.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5BA04757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_attrvar.h;
path = source/fldefs_attrvar.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5BB04757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_hdr.h;
path = source/fldefs_hdr.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5BC04757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_methadd.h;
path = source/fldefs_methadd.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5BD04757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_methbind.h;
path = source/fldefs_methbind.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5BE04757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_methcall.h;
path = source/fldefs_methcall.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5BF04757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_methcb.h;
path = source/fldefs_methcb.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5C004757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_meththr.h;
path = source/fldefs_meththr.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5C104757BC801A0C81C = {
fileEncoding = 30;
isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
name = fldefs_setup.h;
path = source/fldefs_setup.h;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC5C204757BC801A0C81C = {
fileRef = F5CBC5B804757BC801A0C81C;
@@ -3890,6 +4068,7 @@
isa = PBXGroup;
name = Defs;
refType = 4;
+ sourceTree = "<group>";
};
F5CBC61E04757C1401A0C81C = {
fileRef = F598D263044CC4A001A80AC9;
@@ -4322,9 +4501,12 @@
runOnlyForDeploymentPostprocessing = 0;
};
F5CBC69B047584CD01A0C81C = {
+ explicitFileType = "compiled.mach-o.dylib";
+ fallbackIsa = PBXFileReference;
isa = PBXLibraryReference;
path = libflext_d.dylib;
refType = 3;
+ sourceTree = BUILT_PRODUCTS_DIR;
};
};
rootObject = 0867D690FE84028FC02AAC07;
diff --git a/externals/grill/flext/flext.vcproj b/externals/grill/flext/flext.vcproj
index 24d79d8f..92f76c1b 100644
--- a/externals/grill/flext/flext.vcproj
+++ b/externals/grill/flext/flext.vcproj
@@ -3310,6 +3310,9 @@ copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\dll
</FileConfiguration>
</File>
<File
+ RelativePath=".\source\flmap.h">
+ </File>
+ <File
RelativePath="source\flmspbuffer.h">
</File>
<File
diff --git a/externals/grill/flext/make-files.txt b/externals/grill/flext/make-files.txt
index 90e7b27e..db310c50 100644
--- a/externals/grill/flext/make-files.txt
+++ b/externals/grill/flext/make-files.txt
@@ -1,14 +1,19 @@
-SRCS=flbase.cpp flext.cpp flbuf.cpp fldsp.cpp fllib.cpp flxlet.cpp flattr.cpp flattr_ed.cpp flsupport.cpp \
-flutil.cpp flatom.cpp flatom_pr.cpp flthr.cpp fltimer.cpp flsimd.cpp flout.cpp \
-flatom_app.cpp flatom_part.cpp flitem.cpp flmeth.cpp flmsg.cpp \
-flproxy.cpp flqueue.cpp flbind.cpp
+SRCS= \
+ flbase.cpp flext.cpp flbuf.cpp fldsp.cpp fllib.cpp \
+ flxlet.cpp flattr.cpp flattr_ed.cpp flsupport.cpp \
+ flutil.cpp flatom.cpp flatom_pr.cpp flthr.cpp fltimer.cpp flsimd.cpp flout.cpp \
+ flatom_app.cpp flatom_part.cpp flitem.cpp flmeth.cpp flmsg.cpp \
+ flproxy.cpp flqueue.cpp flbind.cpp
+HDRS= \
+ flprefix.h flstdc.h flbase.h flclass.h flext.h flsupport.h flmap.h fldsp.h flinternal.h \
+ fldefs.h fldefs_hdr.h fldefs_setup.h \
+ fldefs_methcb.h fldefs_meththr.h fldefs_methadd.h fldefs_methbind.h fldefs_methcall.h \
+ fldefs_attrcb.h fldefs_attrvar.h fldefs_attradd.h
-HDRS=flprefix.h flstdc.h flbase.h flclass.h flext.h flsupport.h fldsp.h flinternal.h \
-fldefs.h fldefs_hdr.h fldefs_setup.h \
-fldefs_methcb.h fldefs_meththr.h fldefs_methadd.h fldefs_methbind.h fldefs_methcall.h \
-fldefs_attrcb.h fldefs_attrvar.h fldefs_attradd.h
SRCS_SNDOBJ=flsndobj.cpp
HDRS_SNDOBJ=flsndobj.h
+
SRCS_STK=flstk.cpp
+
HDRS_STK=flstk.h
diff --git a/externals/grill/flext/source/flclass.h b/externals/grill/flext/source/flclass.h
index f49341e1..cd1d4943 100644
--- a/externals/grill/flext/source/flclass.h
+++ b/externals/grill/flext/source/flclass.h
@@ -19,6 +19,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
// include the header file declaring the base classes
#include "flbase.h"
#include "flsupport.h"
+#include "flmap.h"
#ifdef _MSC_VER
#pragma warning(disable: 4786)
diff --git a/externals/grill/flext/source/flext.h b/externals/grill/flext/source/flext.h
index 2ce48d5a..4f4f166c 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-2003 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2004 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.
@@ -26,7 +26,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#define FLEXT_VERSION 406
//! \brief flext version string
-#define FLEXT_VERSTR "0.4.6pre"
+#define FLEXT_VERSTR "0.4.6"
//! @}
diff --git a/externals/grill/flext/source/flmap.h b/externals/grill/flext/source/flmap.h
new file mode 100644
index 00000000..b32b2652
--- /dev/null
+++ b/externals/grill/flext/source/flmap.h
@@ -0,0 +1,70 @@
+/*
+
+flext - C++ layer for Max/MSP and pd (pure data) externals
+
+Copyright (c) 2001-2004 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.
+
+*/
+
+/*! \file flmap.h
+ \brief special map class for all 32-bit key/value-pairs
+*/
+
+#ifndef __FLMAP_H
+#define __FLMAP_H
+
+#include <map>
+
+/*! \defgroup FLEXT_SUPPORT Flext support classes
+ @{
+*/
+
+//! Base class for maps
+class AnyMap:
+ public std::map<unsigned int,unsigned int>
+{
+ typedef std::map<unsigned int,unsigned int> Parent;
+public:
+ AnyMap();
+ ~AnyMap();
+ iterator find(unsigned int k);
+ unsigned int &operator [](unsigned int k);
+
+ typedef std::pair<unsigned int,unsigned int> pair;
+};
+
+//! Specialized map class for any 32-bit key/value types
+template <class K,class T>
+class DataMap:
+ public AnyMap
+{
+public:
+ class iterator:
+ public AnyMap::iterator
+ {
+ public:
+ iterator() {}
+ iterator(AnyMap::iterator it): AnyMap::iterator(it) {}
+
+ inline K &key() const { return *(K *)&((*this)->first); }
+ inline T &data() const { return *(T *)&((*this)->second); }
+ };
+
+ class pair:
+ public AnyMap::pair
+ {
+ public:
+ inline K &key() const { return *(K *)&first; }
+ inline T &data() const { return *(T *)&second; }
+ };
+
+ inline iterator find(K k) { return AnyMap::find(*(unsigned int *)&k); }
+ inline T &operator [](K k) { return *(T *)&(AnyMap::operator [](*(unsigned int *)&k)); }
+ inline void erase(K k) { AnyMap::erase(*(unsigned int *)&k); }
+};
+
+//! @} // FLEXT_SUPPORT
+
+#endif
diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h
index feff1fa3..cd92aaa4 100644
--- a/externals/grill/flext/source/flsupport.h
+++ b/externals/grill/flext/source/flsupport.h
@@ -17,7 +17,6 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "flstdc.h"
#include <new>
-#include <map>
/*! \defgroup FLEXT_SUPPORT Flext support classes
@{
@@ -1149,50 +1148,6 @@ inline bool operator <=(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF
inline bool operator >(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF(flext)::CmpAtom(a,b) > 0; }
inline bool operator >=(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF(flext)::CmpAtom(a,b) >= 0; }
-
-class AnyMap:
- public std::map<unsigned int,unsigned int>
-{
- typedef std::map<unsigned int,unsigned int> Parent;
-public:
- AnyMap();
- ~AnyMap();
- iterator find(unsigned int k);
- unsigned int &operator [](unsigned int k);
-
- typedef std::pair<unsigned int,unsigned int> pair;
-};
-
-template <class K,class T>
-class DataMap:
- public AnyMap
-{
-public:
- class iterator:
- public AnyMap::iterator
- {
- public:
- iterator() {}
- iterator(AnyMap::iterator it): AnyMap::iterator(it) {}
-
- inline K &key() const { return *(K *)&((*this)->first); }
- inline T &data() const { return *(T *)&((*this)->second); }
- };
-
- class pair:
- public AnyMap::pair
- {
- public:
- inline K &key() const { return *(K *)&first; }
- inline T &data() const { return *(T *)&second; }
- };
-
- inline iterator find(K k) { return AnyMap::find(*(unsigned int *)&k); }
- inline T &operator [](K k) { return *(T *)&(AnyMap::operator [](*(unsigned int *)&k)); }
- inline void erase(K k) { AnyMap::erase(*(unsigned int *)&k); }
-};
-
-
//! @} // FLEXT_SUPPORT
#endif
diff --git a/externals/grill/flext/tutorial/config-pd-linux.txt b/externals/grill/flext/tutorial/config-pd-linux.txt
index bd16411a..0f4bd065 100644
--- a/externals/grill/flext/tutorial/config-pd-linux.txt
+++ b/externals/grill/flext/tutorial/config-pd-linux.txt
@@ -33,5 +33,5 @@ INSTPATH=${FLEXTPATH}/tutorial
# additional compiler flags
# (check if they fit to your system!)
-UFLAGS=-mcpu=pentiumpro # gcc 2.95
-#UFLAGS=-mcpu=pentium3 -msse # gcc 3.2
+#UFLAGS=-mcpu=pentiumpro # gcc 2.95
+UFLAGS=-mcpu=pentium3 -msse # gcc 3.2
diff --git a/externals/grill/flext/tutorial/makefile.pd-darwin b/externals/grill/flext/tutorial/makefile.pd-darwin
index 5241f11b..02a4edef 100644
--- a/externals/grill/flext/tutorial/makefile.pd-darwin
+++ b/externals/grill/flext/tutorial/makefile.pd-darwin
@@ -18,14 +18,14 @@ LIBPATH=
FLAGS=-DFLEXT_SYS=2 -DFLEXT_THREADS -Wno-unused -Wno-parentheses -Wno-switch -Wstrict-prototypes -Wno-long-double
CFLAGS=${UFLAGS} -O2 -fno-rtti
LIBS=m
-LDFLAGS=-framework vecLib -bundle -bundle_loader $(PD)
+LDFLAGS=-framework vecLib -framework Carbon -bundle -bundle_loader $(PD)
# the rest can stay untouched
# ----------------------------------------------
# all the source files from the package
-EXAMPLES=simple1 simple2 simple3 timer1 adv1 adv2 adv3 attr1 attr2 attr3 signal1~ signal2~ lib1 thread1 thread2
+EXAMPLES=simple1 simple2 simple3 timer1 adv1 adv2 adv3 attr1 attr2 attr3 signal1~ signal2~ lib1 thread1 thread2 bind1 buffer1
ifdef SNDOBJ
INCLUDES+=$(SNDOBJ)
diff --git a/externals/grill/flext/tutorial/makefile.pd-linux b/externals/grill/flext/tutorial/makefile.pd-linux
index b370e59d..9b57c5c3 100644
--- a/externals/grill/flext/tutorial/makefile.pd-linux
+++ b/externals/grill/flext/tutorial/makefile.pd-linux
@@ -16,7 +16,7 @@ FLEXTLIB=$(FLEXTPATH)/flext_t.a # take threaded library for all
INCLUDES=$(PDPATH)/src
LIBPATH=
FLAGS=-DFLEXT_SYS=2 -DFLEXT_THREADS
-CFLAGS=${UFLAGS} -O6 -fno-rtti
+CFLAGS=${UFLAGS} -O2 -fno-rtti
LIBS=m
@@ -25,7 +25,7 @@ LIBS=m
# all the source files from the package
-EXAMPLES=simple1 simple2 simple3 adv1 adv2 adv3 timer1 attr1 attr2 attr3 signal1~ signal2~ lib1 thread1 thread2
+EXAMPLES=simple1 simple2 simple3 adv1 adv2 adv3 timer1 attr1 attr2 attr3 signal1~ signal2~ lib1 thread1 thread2 bind1 buffer1
ifdef SNDOBJ
INCLUDES+=$(SNDOBJ)
diff --git a/externals/grill/flext/tutorial/pd/ex-adv1.pd b/externals/grill/flext/tutorial/pd/ex-adv1.pd
index ea5337f7..ea55012c 100644
--- a/externals/grill/flext/tutorial/pd/ex-adv1.pd
+++ b/externals/grill/flext/tutorial/pd/ex-adv1.pd
@@ -1,23 +1,23 @@
-#N canvas 46 58 588 343 12;
-#X msg 34 92 or two words;
-#X msg 169 93 2 3;
-#X msg 48 291 one 20;
-#X obj 72 213 print result;
-#X obj 49 172 adv1 one;
-#X obj 48 263 prepend set;
-#X text 162 257 you can also use "prepend";
-#X obj 16 8 cnv 15 550 40 empty empty adv1 10 22 0 24 -260818 -1 0
-;
-#X text 175 27 http://www.parasitaere-kapazitaeten.net;
-#X text 199 214 watch the console!;
-#X text 210 110 send the object various messages;
-#X text 160 274 (if adv1 has already been loaded);
-#X text 175 9 flext tutorial \, (C)2002 \, 2003 Thomas Grill;
-#X obj 66 127 nbx 3 18 0 100 0 0 empty empty empty 0 -6 0 14 -262144
--1 -1 20 256;
-#X connect 0 0 4 0;
-#X connect 1 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 0 5 0;
-#X connect 5 0 2 0;
-#X connect 13 0 4 0;
+#N canvas 46 58 592 347 12;
+#X msg 34 92 or two words;
+#X msg 169 93 2 3;
+#X msg 48 291 one or two words;
+#X obj 72 213 print result;
+#X obj 49 172 adv1 one;
+#X obj 48 263 prepend set;
+#X text 162 257 you can also use "prepend";
+#X obj 16 8 cnv 15 550 40 empty empty adv1 10 22 0 24 -260818 -1 0
+;
+#X text 175 28 http://www.parasitaere-kapazitaeten.net;
+#X text 199 214 watch the console!;
+#X text 210 110 send the object various messages;
+#X text 160 274 (if adv1 has already been loaded);
+#X text 145 10 flext tutorial \, (C)2002 \, 2003 Thomas Grill;
+#X obj 66 127 nbx 3 18 0 100 0 0 empty empty empty 0 -6 0 14 -262144
+-1 -1 24 256;
+#X connect 0 0 4 0;
+#X connect 1 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X connect 13 0 4 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-adv2.pd b/externals/grill/flext/tutorial/pd/ex-adv2.pd
index 851c1a88..32dd0272 100644
--- a/externals/grill/flext/tutorial/pd/ex-adv2.pd
+++ b/externals/grill/flext/tutorial/pd/ex-adv2.pd
@@ -1,4 +1,4 @@
-#N canvas 329 97 587 348 12;
+#N canvas 329 97 591 352 12;
#X msg 26 97 help;
#X msg 123 146 born;
#X msg 172 147 to;
@@ -11,10 +11,10 @@
#X text 72 97 print a help message;
#X obj 16 7 cnv 15 550 40 empty empty adv2 10 22 0 24 -260818 -1 0
;
-#X text 174 28 http://www.parasitaere-kapazitaeten.net;
+#X text 146 27 http://www.parasitaere-kapazitaeten.net;
#X obj 148 293 adv2;
#X text 21 49 this is identical to the simple3 example;
-#X text 174 8 flext tutorial \, (C)2002 \, 2003 Thomas Grill;
+#X text 145 9 flext tutorial \, (C)2002 \, 2003 Thomas Grill;
#X connect 0 0 12 0;
#X connect 1 0 12 0;
#X connect 2 0 12 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-bind1.pd b/externals/grill/flext/tutorial/pd/ex-bind1.pd
index 14ee67dd..1aa00f9b 100644
--- a/externals/grill/flext/tutorial/pd/ex-bind1.pd
+++ b/externals/grill/flext/tutorial/pd/ex-bind1.pd
@@ -1,55 +1,55 @@
-#N canvas 405 36 588 396 12;
-#X obj 15 8 cnv 15 550 40 empty empty bind1 10 22 0 24 -260818 -1 0
-;
-#X text 175 28 http://www.parasitaere-kapazitaeten.net;
-#X text 175 8 flext tutorial \, (C)2003 Thomas Grill;
-#X obj 14 330 bind1;
-#X text 48 72 bind object to symbol;
-#X msg 50 94 bind sym1;
-#X msg 154 94 bind sym2;
-#X msg 48 126 unbind sym1;
-#X msg 153 125 unbind sym2;
-#X text 43 159 bind object to symbol;
-#X msg 45 181 bindmethod sym1;
-#X msg 47 213 unbindmethod sym1;
-#X msg 194 183 bindmethod sym2;
-#X msg 197 214 unbindmethod sym2;
-#X obj 13 359 print OUT;
-#X text 95 361 watch the console!;
-#X obj 351 103 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-10 -262131 -1 -1 0 256;
-#X obj 446 103 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-10 -262131 -1 -1 0 256;
-#X msg 351 122 test \$1;
-#X msg 446 122 test \$1;
-#X msg 521 100 1 2 3;
-#X obj 351 155 s sym1;
-#X obj 446 155 s sym2;
-#X text 349 67 send message to bound;
-#X text 350 81 object or method;
-#X obj 345 272 r sym3;
-#X text 344 250 receive forwarded message;
-#X obj 347 299 print MSG;
-#X text 47 258 receive forwarded message;
-#X msg 48 279 sym3 myforward;
-#X obj 191 280 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-10 -262131 -1 -1 0 256;
-#X msg 190 297 sym3 \$1;
-#X connect 3 0 14 0;
-#X connect 5 0 3 0;
-#X connect 6 0 3 0;
-#X connect 7 0 3 0;
-#X connect 8 0 3 0;
-#X connect 10 0 3 0;
-#X connect 11 0 3 0;
-#X connect 12 0 3 0;
-#X connect 13 0 3 0;
-#X connect 16 0 18 0;
-#X connect 17 0 19 0;
-#X connect 18 0 21 0;
-#X connect 19 0 22 0;
-#X connect 20 0 22 0;
-#X connect 25 0 27 0;
-#X connect 29 0 3 1;
-#X connect 30 0 31 0;
-#X connect 31 0 3 1;
+#N canvas 405 36 626 400 12;
+#X obj 15 8 cnv 15 550 40 empty empty bind1 10 22 0 24 -260818 -1 0
+;
+#X text 175 28 http://www.parasitaere-kapazitaeten.net;
+#X text 175 8 flext tutorial \, (C)2003 Thomas Grill;
+#X obj 14 330 bind1;
+#X text 48 72 bind object to symbol;
+#X msg 50 94 bind sym1;
+#X msg 174 94 bind sym2;
+#X msg 48 126 unbind sym1;
+#X msg 173 125 unbind sym2;
+#X text 43 159 bind object to symbol;
+#X msg 45 181 bindmethod sym1;
+#X msg 47 213 unbindmethod sym1;
+#X msg 227 181 bindmethod sym2;
+#X msg 230 212 unbindmethod sym2;
+#X obj 13 359 print OUT;
+#X text 109 358 watch the console!;
+#X obj 351 103 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262131 -1 -1 0 256;
+#X obj 446 103 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262131 -1 -1 0 256;
+#X msg 351 122 test \$1;
+#X msg 446 122 test \$1;
+#X msg 521 100 1 2 3;
+#X obj 351 155 s sym1;
+#X obj 446 155 s sym2;
+#X text 349 67 send message to bound;
+#X text 350 81 object or method;
+#X obj 345 272 r sym3;
+#X text 344 250 receive forwarded message;
+#X obj 347 299 print MSG;
+#X text 47 258 receive forwarded message;
+#X msg 48 279 sym3 myforward;
+#X obj 202 280 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262131 -1 -1 0 256;
+#X msg 201 297 sym3 \$1;
+#X connect 3 0 14 0;
+#X connect 5 0 3 0;
+#X connect 6 0 3 0;
+#X connect 7 0 3 0;
+#X connect 8 0 3 0;
+#X connect 10 0 3 0;
+#X connect 11 0 3 0;
+#X connect 12 0 3 0;
+#X connect 13 0 3 0;
+#X connect 16 0 18 0;
+#X connect 17 0 19 0;
+#X connect 18 0 21 0;
+#X connect 19 0 22 0;
+#X connect 20 0 22 0;
+#X connect 25 0 27 0;
+#X connect 29 0 3 1;
+#X connect 30 0 31 0;
+#X connect 31 0 3 1;
diff --git a/externals/grill/flext/tutorial/pd/ex-buffer1.pd b/externals/grill/flext/tutorial/pd/ex-buffer1.pd
index a1b308fb..dd0bf3e4 100644
--- a/externals/grill/flext/tutorial/pd/ex-buffer1.pd
+++ b/externals/grill/flext/tutorial/pd/ex-buffer1.pd
@@ -1,77 +1,121 @@
-#N canvas 94 140 759 485 12;
-#X obj 15 8 cnv 15 550 40 empty empty buffer1 10 22 0 24 -260818 -1
-0;
-#X text 182 28 http://www.parasitaere-kapazitaeten.net;
-#X text 182 8 flext tutorial \, (C)2003 Thomas Grill;
-#N canvas 0 0 450 300 graph1 0;
-#X array buf1 100 float 1;
-#A 0 0 0 0.17 0.0728567 0.244286 1.06 0.358572 0.394287 1.06 0.358572
-1.06 0.387144 0.387144 1.06 0.387144 1.06 0.387144 1.06 1.06 0.387144
-1.06 0.387144 0.387144 1.06 0.387144 1.06 0.372858 1.06 1.06 0.344286
-1.06 0.330001 0.330001 1.06 0.330001 1.06 0.287143 0.69 1.06 0.268096
-1.06 0.258572 1.06 1.06 0.172857 1.06 0.144286 1.06 0.69 0.0585709
-1.06 0.0442851 1.06 0.69 -0.120001 1.06 0 1.06 0.69 0 1.06 0 1.06 0.69
-0 0.69 0 1.06 0.69 0 1.06 0 1.06 0.69 0 0.69 0 0.17 0.69 0 0.69 0 0.17
-0.69 0 0.69 0 0.17 0.69 0 0.69 0 0.17 0.69 0 0.69 0 0.17 0.69 0;
-#X coords 0 1 99 -1 200 140 1;
-#X restore 543 69 graph;
-#N canvas 0 0 450 300 graph1 0;
-#X array buf2 300 float 1;
-#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
-#X coords 0 1 299 -1 200 140 1;
-#X restore 543 214 graph;
-#X obj 28 385;
-#X obj 28 426 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-10 -262131 -1 -1 0 256;
-#X text 23 443 peek value;
-#X obj 127 421 print A;
-#X text 127 442 print attributes to the console;
-#X msg 45 66 set;
-#X msg 69 118 set buf1;
-#X msg 149 118 buffer buf2;
-#X msg 69 149 getbuffer;
-#X text 154 149 query current buffer;
-#X text 77 63 set no buffer;
-#X text 72 98 set buffer;
-#X msg 88 205 frames 1000;
-#X msg 89 233 getframes;
-#X text 187 205 set buffer length;
-#X text 172 233 query buffer length;
-#X msg 20 285 getchannels;
-#X text 27 310 always 1 for PD!;
-#X obj 235 301 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-10 -262131 -1 -1 0 256;
-#X obj 340 301 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-10 -262131 -1 -1 72 256;
-#X obj 398 301 nbx 5 14 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-10 -262131 -1 -1 1.06 256;
-#X obj 338 324 pack 0 0;
-#X msg 339 351 poke \$1 \$2 0;
-#X msg 234 351 peek \$1 0;
-#X text 234 278 get sample;
-#X text 342 278 set sample;
-#X text 352 383 the change is not immediately seen on PD;
-#X text 354 396 (you'll have to draw in the window);
-#X connect 5 0 6 0;
-#X connect 5 1 8 0;
-#X connect 10 0 5 0;
-#X connect 11 0 5 0;
-#X connect 12 0 5 0;
-#X connect 13 0 5 0;
-#X connect 17 0 5 0;
-#X connect 18 0 5 0;
-#X connect 21 0 5 0;
-#X connect 23 0 28 0;
-#X connect 24 0 26 0;
-#X connect 25 0 26 1;
-#X connect 26 0 27 0;
-#X connect 27 0 5 0;
-#X connect 28 0 5 0;
+#N canvas 94 140 763 489 12;
+#X obj 11 -12 cnv 15 550 40 empty empty buffer1 10 22 0 24 -260818
+-1 0;
+#X text 178 8 http://www.parasitaere-kapazitaeten.net;
+#X text 178 -12 flext tutorial \, (C)2003 Thomas Grill;
+#N canvas 0 22 450 300 graph1 0;
+#X array buf1 1000 float 1;
+#A 0 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856
+-0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856
+-0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856
+-0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856
+-0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856
+-0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856
+-0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856 -0.0142856
+-0.0142856 -0.0142856 -0.0114285 -0.00857134 -0.00571423 -0.00285711
+5.58794e-10 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0
+-0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0
+-0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0
+-0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0 -0
+-0 -0 0.51 0.51 0 0 0 0 0 0 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 -0 -0 0.51 0.51 -5.58794e-10 0.00285711 0.00571423 0.00857134
+0.0114285 0.0142856 0.0166665 0.0190474 0.0214283 0.0238093 0.0261902
+0.0285711 0.030952 0.033333 0.0357139 0.51 0.0404758 0.51 0.0452376
+0.0476185 0.0499995 0.0523804 0.0547613 0.0571422 0.0595232 0.0619041
+0.064285 0.0666659 0.0690469 0.51 0.0738087 0.0761897 0.0785706 0.0809515
+0.0833325 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134
+0.51 0.0799992 0.51 0.0742849 0.0571423 0 0 0 0 0.51 0 0 0 0 0 0 0
+0 0 0.51 0 0 0 0 0 0.51 0 0 0 0 0 0.51 0 0.51 0 0 0.51 0 0 0.51 0 0.51
+0 0.51 0.51 0 0.51 0.51 0 0 0 0 0 0.51 0 0 0 0 0 0.51 0 0 0.51 0 0
+0 0 0 0.51 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0.51 0 0 0 0 0.51 0 0 0
+0 0 0 0.51 0 0 0 0 0 0 0 0 0 0 0.51 0 0 0 0 0 0 0 0 0.51 0.51 0 0 0.51
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -0 0.00357139 0.00714278 0.0107142
+0.0142856 0.0171427 0.0199998 0.0228569 0.025714 0.0285711 0.0314283
+0.0342854 0.0371425 0.0399996 0.0428567 0.0457138 0.0485709 0.051428
+0.0542852 0.0571423 0.0599994 0.0628565 0.0657136 0.0685707 0.0714278
+0.0728564 0.0742849 0.0757135 0.077142 0.0785706 0.0799991 0.0814277
+0.0828563 0.0842848 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134
+0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134 0.0857134
+0.0857134 0.0857134 0.0857134 0.0857134 0.0828563 0.0799992 0.077142
+0.0742849 0.0714278 0.0714278 0.0714278 0.0714278 0.0714278 0.0714278
+0.0714278 0.0714278 0.0714278 0.0714278 0.0714278 0.0685707 0.0657136
+0.0628565 0.0599994 0.0571423 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0;
+#X coords 0 1 999 -1 200 140 1;
+#X restore 539 49 graph;
+#N canvas 0 22 450 300 graph1 0;
+#X array buf2 300 float 1;
+#A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0;
+#X coords 0 1 299 -1 200 140 1;
+#X restore 539 194 graph;
+#X obj 24 406 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262131 -1 -1 1.06 256;
+#X text 19 423 peek value;
+#X obj 137 400 print A;
+#X text 137 421 print attributes to the console;
+#X msg 41 46 set;
+#X msg 65 98 set buf1;
+#X msg 154 98 buffer buf2;
+#X msg 65 129 getbuffer;
+#X text 164 129 query current buffer;
+#X text 73 43 set no buffer;
+#X text 68 78 set buffer;
+#X msg 84 185 frames 1000;
+#X msg 85 213 getframes;
+#X text 199 185 set buffer length;
+#X text 184 213 query buffer length;
+#X msg 16 265 getchannels;
+#X text 23 290 always 1 for PD!;
+#X obj 231 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262131 -1 -1 13 256;
+#X obj 336 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262131 -1 -1 91 256;
+#X obj 394 281 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
+-262131 -1 -1 0.51 256;
+#X obj 334 304 pack 0 0;
+#X msg 335 331 poke \$1 \$2 0;
+#X msg 230 331 peek \$1 0;
+#X text 230 258 get sample;
+#X text 338 258 set sample;
+#X text 348 363 the change is not immediately seen on PD;
+#X text 350 376 (you'll have to draw in the window);
+#X obj 24 368 buffer1;
+#X connect 9 0 32 0;
+#X connect 10 0 32 0;
+#X connect 11 0 32 0;
+#X connect 12 0 32 0;
+#X connect 16 0 32 0;
+#X connect 17 0 32 0;
+#X connect 20 0 32 0;
+#X connect 22 0 27 0;
+#X connect 23 0 25 0;
+#X connect 24 0 25 1;
+#X connect 25 0 26 0;
+#X connect 26 0 32 0;
+#X connect 27 0 32 0;
+#X connect 32 0 5 0;
+#X connect 32 1 7 0;