aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/Doxyfile273
-rwxr-xr-xexternals/grill/flext/Makefile.am8
-rwxr-xr-xexternals/grill/flext/bootstrap.sh5
-rw-r--r--externals/grill/flext/build.bat58
-rw-r--r--externals/grill/flext/build.sh57
-rw-r--r--externals/grill/flext/build.txt251
-rw-r--r--externals/grill/flext/build/bmake-win-bcc.inc17
-rw-r--r--externals/grill/flext/build/config-lnx.def2
-rw-r--r--externals/grill/flext/build/config-mac.def2
-rw-r--r--externals/grill/flext/build/config-win.def2
-rw-r--r--externals/grill/flext/build/gnumake-lnx-gcc.inc13
-rw-r--r--externals/grill/flext/build/gnumake-lnx-icc.inc13
-rw-r--r--externals/grill/flext/build/gnumake-mac-gcc.inc13
-rw-r--r--externals/grill/flext/build/gnumake-win-cygwin.inc17
-rw-r--r--externals/grill/flext/build/gnumake-win-mingw.inc17
-rw-r--r--externals/grill/flext/build/nmake-win-msvc.inc3
-rw-r--r--externals/grill/flext/buildsys/bmake-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/bmake-flext.inc3
-rw-r--r--externals/grill/flext/buildsys/bmake-sub.mak44
-rw-r--r--externals/grill/flext/buildsys/bmake.inc67
-rw-r--r--externals/grill/flext/buildsys/bmake.mak110
-rw-r--r--externals/grill/flext/buildsys/build-bcc.bat3
-rw-r--r--externals/grill/flext/buildsys/build-cygwin.sh5
-rw-r--r--externals/grill/flext/buildsys/build-gcc.sh5
-rw-r--r--externals/grill/flext/buildsys/build-icc.sh5
-rw-r--r--externals/grill/flext/buildsys/build-mingw.bat3
-rw-r--r--externals/grill/flext/buildsys/build-msvc.bat3
-rw-r--r--externals/grill/flext/buildsys/gnumake-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/gnumake-flext.inc3
-rw-r--r--externals/grill/flext/buildsys/gnumake-sub.mak44
-rw-r--r--externals/grill/flext/buildsys/gnumake.inc95
-rw-r--r--externals/grill/flext/buildsys/gnumake.mak142
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc56
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc72
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc.inc64
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc56
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc72
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc.inc64
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/config-gcc.def56
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/config-icc.def56
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc6
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-gcc.inc4
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-icc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-icc-flext.inc6
-rw-r--r--externals/grill/flext/buildsys/lnx/pd/gnumake-icc.inc4
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc37
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc77
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc-targets.inc70
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc.inc74
-rw-r--r--externals/grill/flext/buildsys/mac/max/config-gcc.def75
-rw-r--r--externals/grill/flext/buildsys/mac/max/gnumake-gcc-ext.inc23
-rw-r--r--externals/grill/flext/buildsys/mac/max/gnumake-gcc-flext.inc20
-rw-r--r--externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc6
-rw-r--r--externals/grill/flext/buildsys/mac/pd/config-gcc.def72
-rw-r--r--externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc10
-rw-r--r--externals/grill/flext/buildsys/mac/pd/gnumake-gcc-flext.inc11
-rw-r--r--externals/grill/flext/buildsys/mac/pd/gnumake-gcc.inc10
-rw-r--r--externals/grill/flext/buildsys/nmake-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/nmake-flext.inc3
-rw-r--r--externals/grill/flext/buildsys/nmake-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/nmake-sub.mak44
-rw-r--r--externals/grill/flext/buildsys/nmake.inc64
-rw-r--r--externals/grill/flext/buildsys/nmake.mak110
-rw-r--r--externals/grill/flext/buildsys/readme.txt180
-rw-r--r--externals/grill/flext/buildsys/targets-ext.inc51
-rw-r--r--externals/grill/flext/buildsys/targets-flext.inc52
-rw-r--r--externals/grill/flext/buildsys/targets-shlib.inc51
-rw-r--r--externals/grill/flext/buildsys/targets.inc148
-rw-r--r--externals/grill/flext/buildsys/version.inc3
-rw-r--r--externals/grill/flext/buildsys/win/bmake-bcc-ext.inc53
-rw-r--r--externals/grill/flext/buildsys/win/bmake-bcc-flext.inc70
-rw-r--r--externals/grill/flext/buildsys/win/bmake-bcc.inc36
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-cygwin-ext.inc42
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-cygwin-flext.inc52
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-cygwin.inc30
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc48
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc52
-rw-r--r--externals/grill/flext/buildsys/win/gnumake-mingw.inc30
-rw-r--r--externals/grill/flext/buildsys/win/max/config-cygwin.def51
-rw-r--r--externals/grill/flext/buildsys/win/max/config-mingw.def42
-rw-r--r--externals/grill/flext/buildsys/win/max/config-msvc.def46
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-cygwin-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-cygwin-flext.inc6
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc10
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-mingw-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-mingw-flext.inc6
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-mingw.inc12
-rw-r--r--externals/grill/flext/buildsys/win/max/nmake-msvc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/max/nmake-msvc-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/max/nmake-msvc.inc8
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc-ext.inc43
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc-flext.inc59
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc45
-rw-r--r--externals/grill/flext/buildsys/win/nmake-msvc.inc59
-rw-r--r--externals/grill/flext/buildsys/win/pd/bmake-bcc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/bmake-bcc-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/bmake-bcc.inc12
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-bcc.def38
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-cygwin.def34
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-mingw.def37
-rw-r--r--externals/grill/flext/buildsys/win/pd/config-msvc.def46
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-cygwin-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-cygwin-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-cygwin.inc6
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-mingw-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-mingw-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/gnumake-mingw.inc13
-rw-r--r--externals/grill/flext/buildsys/win/pd/nmake-msvc-ext.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/nmake-msvc-flext.inc5
-rw-r--r--externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc1
-rw-r--r--externals/grill/flext/buildsys/win/pd/nmake-msvc.inc13
-rw-r--r--externals/grill/flext/changes.txt355
-rwxr-xr-xexternals/grill/flext/configure.ac160
-rw-r--r--externals/grill/flext/examples/examples.dsw33
-rw-r--r--externals/grill/flext/examples/pd/ex-henon.pd87
-rw-r--r--externals/grill/flext/examples/source/henon.cpp122
-rw-r--r--externals/grill/flext/examples/source/henon.cwbin101183 -> 0 bytes
-rw-r--r--externals/grill/flext/examples/source/henon.dsp95
-rw-r--r--externals/grill/flext/flext.mcpbin935395 -> 0 bytes
-rw-r--r--externals/grill/flext/flext.vcproj4333
-rwxr-xr-xexternals/grill/flext/flext.xcode/project.pbxproj3066
-rwxr-xr-xexternals/grill/flext/flext.xcodeproj/project.pbxproj1697
-rw-r--r--externals/grill/flext/gpl.txt346
-rw-r--r--externals/grill/flext/license.txt19
-rw-r--r--externals/grill/flext/notes.txt69
-rw-r--r--externals/grill/flext/package.txt48
-rw-r--r--externals/grill/flext/readme.txt91
-rwxr-xr-xexternals/grill/flext/source/Makefile.am129
-rw-r--r--externals/grill/flext/source/flatom.cpp165
-rw-r--r--externals/grill/flext/source/flatom_part.cpp37
-rw-r--r--externals/grill/flext/source/flatom_pr.cpp119
-rw-r--r--externals/grill/flext/source/flattr.cpp445
-rw-r--r--externals/grill/flext/source/flattr_ed.cpp872
-rw-r--r--externals/grill/flext/source/flbase.cpp204
-rw-r--r--externals/grill/flext/source/flbase.h575
-rw-r--r--externals/grill/flext/source/flbind.cpp261
-rw-r--r--externals/grill/flext/source/flbuf.cpp348
-rw-r--r--externals/grill/flext/source/flclass.h1098
-rw-r--r--externals/grill/flext/source/flcontainers.h473
-rw-r--r--externals/grill/flext/source/flcwmax-thr.h31
-rw-r--r--externals/grill/flext/source/flcwmax-x-thr.h31
-rw-r--r--externals/grill/flext/source/flcwmax-x.h24
-rw-r--r--externals/grill/flext/source/flcwmax.h36
-rw-r--r--externals/grill/flext/source/flcwpd-x-thr.h31
-rw-r--r--externals/grill/flext/source/flcwpd-x.h37
-rw-r--r--externals/grill/flext/source/fldefs.h70
-rw-r--r--externals/grill/flext/source/fldefs_attradd.h121
-rw-r--r--externals/grill/flext/source/fldefs_attrcb.h158
-rw-r--r--externals/grill/flext/source/fldefs_attrvar.h158
-rw-r--r--externals/grill/flext/source/fldefs_hdr.h61
-rw-r--r--externals/grill/flext/source/fldefs_methadd.h232
-rw-r--r--externals/grill/flext/source/fldefs_methbind.h48
-rw-r--r--externals/grill/flext/source/fldefs_methcall.h78
-rw-r--r--externals/grill/flext/source/fldefs_methcb.h129
-rw-r--r--externals/grill/flext/source/fldefs_meththr.h273
-rw-r--r--externals/grill/flext/source/fldefs_setup.h337
-rw-r--r--externals/grill/flext/source/fldoxygen.h216
-rw-r--r--externals/grill/flext/source/fldsp.cpp118
-rw-r--r--externals/grill/flext/source/fldsp.h184
-rw-r--r--externals/grill/flext/source/flext.cpp261
-rw-r--r--externals/grill/flext/source/flext.h68
-rw-r--r--externals/grill/flext/source/flfeatures.h34
-rw-r--r--externals/grill/flext/source/flinternal.h119
-rw-r--r--externals/grill/flext/source/flitem.cpp127
-rw-r--r--externals/grill/flext/source/fllib.cpp578
-rw-r--r--externals/grill/flext/source/flmap.cpp249
-rw-r--r--externals/grill/flext/source/flmap.h255
-rw-r--r--externals/grill/flext/source/flmeth.cpp132
-rw-r--r--externals/grill/flext/source/flmsg.cpp295
-rw-r--r--externals/grill/flext/source/flmspbuffer.h83
-rw-r--r--externals/grill/flext/source/flout.cpp332
-rw-r--r--externals/grill/flext/source/flprefix.h433
-rw-r--r--externals/grill/flext/source/flproxy.cpp222
-rw-r--r--externals/grill/flext/source/flqueue.cpp559
-rw-r--r--externals/grill/flext/source/flsimd.cpp2002
-rw-r--r--externals/grill/flext/source/flsndobj.cpp132
-rw-r--r--externals/grill/flext/source/flsndobj.h95
-rw-r--r--externals/grill/flext/source/flstdc.h311
-rw-r--r--externals/grill/flext/source/flstk.cpp117
-rw-r--r--externals/grill/flext/source/flstk.h103
-rw-r--r--externals/grill/flext/source/flsupport.cpp316
-rw-r--r--externals/grill/flext/source/flsupport.h1285
-rw-r--r--externals/grill/flext/source/flthr.cpp646
-rw-r--r--externals/grill/flext/source/fltimer.cpp275
-rw-r--r--externals/grill/flext/source/flutil.cpp48
-rw-r--r--externals/grill/flext/source/flxlet.cpp112
-rw-r--r--externals/grill/flext/tutorial/Makefile.am55
-rw-r--r--externals/grill/flext/tutorial/adv1/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/adv1/adv1.mcpbin146697 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/adv1/adv1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/adv1/main.cpp101
-rw-r--r--externals/grill/flext/tutorial/adv1/package.txt2
-rw-r--r--externals/grill/flext/tutorial/adv2/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/adv2/adv2.mcpbin148873 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/adv2/adv2.vcproj176
-rw-r--r--externals/grill/flext/tutorial/adv2/main.cpp100
-rw-r--r--externals/grill/flext/tutorial/adv2/package.txt2
-rw-r--r--externals/grill/flext/tutorial/adv3/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/adv3/adv3.mcpbin148873 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/adv3/adv3.vcproj176
-rw-r--r--externals/grill/flext/tutorial/adv3/main.cpp153
-rw-r--r--externals/grill/flext/tutorial/adv3/package.txt2
-rw-r--r--externals/grill/flext/tutorial/attr1/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/attr1/attr1.mcpbin147321 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/attr1/attr1.vcproj176
-rw-r--r--externals/grill/flext/tutorial/attr1/main.cpp79
-rw-r--r--externals/grill/flext/tutorial/attr1/package.txt2
-rw-r--r--externals/grill/flext/tutorial/attr2/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/attr2/attr2.mcpbin148873 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/attr2/attr2.vcproj176
-rw-r--r--externals/grill/flext/tutorial/attr2/main.cpp195
-rw-r--r--externals/grill/flext/tutorial/attr2/package.txt2
-rw-r--r--externals/grill/flext/tutorial/attr3/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/attr3/attr3.mcpbin148873 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/attr3/attr3.vcproj176
-rw-r--r--externals/grill/flext/tutorial/attr3/main.cpp157
-rw-r--r--externals/grill/flext/tutorial/attr3/package.txt2
-rw-r--r--externals/grill/flext/tutorial/bind1/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/bind1/bind1.mcpbin148873 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/bind1/bind1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/bind1/main.cpp134
-rw-r--r--externals/grill/flext/tutorial/bind1/package.txt2
-rw-r--r--externals/grill/flext/tutorial/buffer1/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/buffer1/buffer1.mcpbin147321 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/buffer1/buffer1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/buffer1/main.cpp257
-rw-r--r--externals/grill/flext/tutorial/buffer1/package.txt2
-rw-r--r--externals/grill/flext/tutorial/build.bat32
-rw-r--r--externals/grill/flext/tutorial/build.sh27
-rw-r--r--externals/grill/flext/tutorial/gpl.txt346
-rw-r--r--externals/grill/flext/tutorial/lib1/Makefile.am51
-rwxr-xr-xexternals/grill/flext/tutorial/lib1/lib1.mcpbin148873 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/lib1/lib1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/lib1/main.cpp132
-rw-r--r--externals/grill/flext/tutorial/lib1/package.txt2
-rw-r--r--externals/grill/flext/tutorial/license.txt50
-rw-r--r--externals/grill/flext/tutorial/maxmsp/Makefile.am6
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-adv1.patbin540 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-adv2.patbin726 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-adv3.patbin801 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-attr1.patbin1050 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-attr2.patbin1389 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-attr3.patbin1358 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-bind1.patbin1509 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-buffer1.patbin1364 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-lib1.patbin1440 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-signal1.patbin740 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-signal2.patbin708 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-simple1.patbin725 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-simple2.patbin668 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-simple3.patbin662 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-thread1.patbin1004 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-thread2.patbin874 -> 0 bytes
-rwxr-xr-xexternals/grill/flext/tutorial/maxmsp/ex-timer1.patbin1247 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/pd/Makefile.am6
-rw-r--r--externals/grill/flext/tutorial/pd/ex-adv1.pd23
-rw-r--r--externals/grill/flext/tutorial/pd/ex-adv2.pd23
-rw-r--r--externals/grill/flext/tutorial/pd/ex-adv3.pd40
-rw-r--r--externals/grill/flext/tutorial/pd/ex-attr1.pd31
-rw-r--r--externals/grill/flext/tutorial/pd/ex-attr2.pd47
-rw-r--r--externals/grill/flext/tutorial/pd/ex-attr3.pd60
-rw-r--r--externals/grill/flext/tutorial/pd/ex-bind1.pd55
-rw-r--r--externals/grill/flext/tutorial/pd/ex-buffer1.pd121
-rw-r--r--externals/grill/flext/tutorial/pd/ex-lib1.pd51
-rw-r--r--externals/grill/flext/tutorial/pd/ex-signal1.pd27
-rw-r--r--externals/grill/flext/tutorial/pd/ex-signal2.pd25
-rw-r--r--externals/grill/flext/tutorial/pd/ex-simple1.pd12
-rw-r--r--externals/grill/flext/tutorial/pd/ex-simple2.pd16
-rw-r--r--externals/grill/flext/tutorial/pd/ex-simple3.pd22
-rw-r--r--externals/grill/flext/tutorial/pd/ex-sndobj1.pd34
-rw-r--r--externals/grill/flext/tutorial/pd/ex-stk1.pd15
-rw-r--r--externals/grill/flext/tutorial/pd/ex-stk2.pd32
-rw-r--r--externals/grill/flext/tutorial/pd/ex-thread1.pd43
-rw-r--r--externals/grill/flext/tutorial/pd/ex-thread2.pd47
-rw-r--r--externals/grill/flext/tutorial/pd/ex-timer1.pd62
-rw-r--r--externals/grill/flext/tutorial/readme.txt77
-rw-r--r--externals/grill/flext/tutorial/signal1/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/signal1/main.cpp129
-rw-r--r--externals/grill/flext/tutorial/signal1/package.txt2
-rw-r--r--externals/grill/flext/tutorial/signal1/signal1.mcpbin101183 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/signal1/signal1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/signal2/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/signal2/main.cpp69
-rw-r--r--externals/grill/flext/tutorial/signal2/package.txt2
-rw-r--r--externals/grill/flext/tutorial/signal2/signal2.mcpbin101183 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/signal2/signal2.vcproj177
-rw-r--r--externals/grill/flext/tutorial/simple1/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/simple1/main.cpp73
-rw-r--r--externals/grill/flext/tutorial/simple1/package.txt2
-rwxr-xr-xexternals/grill/flext/tutorial/simple1/simple1.mcpbin147321 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/simple1/simple1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/simple2/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/simple2/main.cpp77
-rw-r--r--externals/grill/flext/tutorial/simple2/package.txt2
-rwxr-xr-xexternals/grill/flext/tutorial/simple2/simple2.mcpbin101183 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/simple2/simple2.vcproj176
-rw-r--r--externals/grill/flext/tutorial/simple3/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/simple3/main.cpp91
-rw-r--r--externals/grill/flext/tutorial/simple3/package.txt2
-rw-r--r--externals/grill/flext/tutorial/simple3/simple3.mcpbin101183 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/simple3/simple3.vcproj176
-rw-r--r--externals/grill/flext/tutorial/sndobj1/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/sndobj1/main.cpp101
-rw-r--r--externals/grill/flext/tutorial/sndobj1/package.txt2
-rw-r--r--externals/grill/flext/tutorial/sndobj1/sndobj1.mcpbin101183 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/sndobj1/sndobj1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/stk1/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/stk1/main.cpp89
-rw-r--r--externals/grill/flext/tutorial/stk1/package.txt2
-rw-r--r--externals/grill/flext/tutorial/stk1/stk1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/stk2/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/stk2/main.cpp115
-rw-r--r--externals/grill/flext/tutorial/stk2/package.txt2
-rw-r--r--externals/grill/flext/tutorial/stk2/stk2.vcproj177
-rw-r--r--externals/grill/flext/tutorial/thread1/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/thread1/main.cpp83
-rw-r--r--externals/grill/flext/tutorial/thread1/package.txt3
-rw-r--r--externals/grill/flext/tutorial/thread1/thread1.mcpbin149552 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/thread1/thread1.vcproj176
-rw-r--r--externals/grill/flext/tutorial/thread2/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/thread2/main.cpp134
-rw-r--r--externals/grill/flext/tutorial/thread2/package.txt3
-rwxr-xr-xexternals/grill/flext/tutorial/thread2/thread2.mcpbin148836 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/thread2/thread2.vcproj176
-rw-r--r--externals/grill/flext/tutorial/timer1/Makefile.am51
-rw-r--r--externals/grill/flext/tutorial/timer1/main.cpp100
-rw-r--r--externals/grill/flext/tutorial/timer1/package.txt2
-rwxr-xr-xexternals/grill/flext/tutorial/timer1/timer1.mcpbin207765 -> 0 bytes
-rw-r--r--externals/grill/flext/tutorial/timer1/timer1.vcproj177
-rw-r--r--externals/grill/flext/tutorial/tutorial.sln473
334 files changed, 0 insertions, 39660 deletions
diff --git a/externals/grill/flext/Doxyfile b/externals/grill/flext/Doxyfile
deleted file mode 100644
index 63e8b61d..00000000
--- a/externals/grill/flext/Doxyfile
+++ /dev/null
@@ -1,273 +0,0 @@
-# Doxyfile 1.4.3
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-PROJECT_NAME = flext
-PROJECT_NUMBER = 0.5.0
-OUTPUT_DIRECTORY = ./doc
-CREATE_SUBDIRS = NO
-OUTPUT_LANGUAGE = English
-USE_WINDOWS_ENCODING = NO
-BRIEF_MEMBER_DESC = YES
-REPEAT_BRIEF = YES
-ABBREVIATE_BRIEF = "The $name class" \
- "The $name widget" \
- "The $name file" \
- is \
- provides \
- specifies \
- contains \
- represents \
- a \
- an \
- the
-ALWAYS_DETAILED_SEC = NO
-INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = YES
-STRIP_FROM_PATH = /Applications/util/
-STRIP_FROM_INC_PATH =
-SHORT_NAMES = NO
-JAVADOC_AUTOBRIEF = NO
-MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = NO
-INHERIT_DOCS = YES
-DISTRIBUTE_GROUP_DOC = NO
-SEPARATE_MEMBER_PAGES = NO
-TAB_SIZE = 8
-ALIASES =
-OPTIMIZE_OUTPUT_FOR_C = NO
-OPTIMIZE_OUTPUT_JAVA = NO
-SUBGROUPING = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-EXTRACT_LOCAL_CLASSES = YES
-EXTRACT_LOCAL_METHODS = NO
-HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
-HIDE_FRIEND_COMPOUNDS = NO
-HIDE_IN_BODY_DOCS = NO
-INTERNAL_DOCS = NO
-CASE_SENSE_NAMES = NO
-HIDE_SCOPE_NAMES = NO
-SHOW_INCLUDE_FILES = YES
-INLINE_INFO = YES
-SORT_MEMBER_DOCS = YES
-SORT_BRIEF_DOCS = NO
-SORT_BY_SCOPE_NAME = NO
-GENERATE_TODOLIST = YES
-GENERATE_TESTLIST = YES
-GENERATE_BUGLIST = YES
-GENERATE_DEPRECATEDLIST= YES
-ENABLED_SECTIONS =
-MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = YES
-SHOW_DIRECTORIES = YES
-FILE_VERSION_FILTER =
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-QUIET = NO
-WARNINGS = YES
-WARN_IF_UNDOCUMENTED = YES
-WARN_IF_DOC_ERROR = YES
-WARN_NO_PARAMDOC = NO
-WARN_FORMAT = "$file:$line: $text"
-WARN_LOGFILE =
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-INPUT = \
- /Users/thomas/Develop/pdmax/flext/source
-FILE_PATTERNS = *.c \
- *.cc \
- *.cxx \
- *.cpp \
- *.c++ \
- *.d \
- *.java \
- *.ii \
- *.ixx \
- *.ipp \
- *.i++ \
- *.inl \
- *.h \
- *.hh \
- *.hxx \
- *.hpp \
- *.h++ \
- *.idl \
- *.odl \
- *.cs \
- *.php \
- *.php3 \
- *.inc \
- *.m \
- *.mm \
- *.dox \
- *.C \
- *.CC \
- *.C++ \
- *.II \
- *.I++ \
- *.H \
- *.HH \
- *.H++ \
- *.CS \
- *.PHP \
- *.PHP3 \
- *.M \
- *.MM
-RECURSIVE = NO
-EXCLUDE =
-EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS =
-EXAMPLE_PATH =
-EXAMPLE_PATTERNS = *
-EXAMPLE_RECURSIVE = NO
-IMAGE_PATH =
-INPUT_FILTER =
-FILTER_PATTERNS =
-FILTER_SOURCE_FILES = NO
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = NO
-INLINE_SOURCES = NO
-STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = NO
-REFERENCES_RELATION = NO
-USE_HTAGS = NO
-VERBATIM_HEADERS = YES
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = NO
-COLS_IN_ALPHA_INDEX = 5
-IGNORE_PREFIX =
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-GENERATE_HTML = YES
-HTML_OUTPUT = html
-HTML_FILE_EXTENSION = .html
-HTML_HEADER =
-HTML_FOOTER =
-HTML_STYLESHEET =
-HTML_ALIGN_MEMBERS = YES
-GENERATE_HTMLHELP = YES
-CHM_FILE =
-HHC_LOCATION =
-GENERATE_CHI = NO
-BINARY_TOC = NO
-TOC_EXPAND = NO
-DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
-GENERATE_TREEVIEW = NO
-TREEVIEW_WIDTH = 250
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = YES
-LATEX_OUTPUT = latex
-LATEX_CMD_NAME = latex
-MAKEINDEX_CMD_NAME = makeindex
-COMPACT_LATEX = NO
-PAPER_TYPE = a4wide
-EXTRA_PACKAGES =
-LATEX_HEADER =
-PDF_HYPERLINKS = YES
-USE_PDFLATEX = YES
-LATEX_BATCHMODE = NO
-LATEX_HIDE_INDICES = NO
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-GENERATE_RTF = NO
-RTF_OUTPUT = rtf
-COMPACT_RTF = NO
-RTF_HYPERLINKS = NO
-RTF_STYLESHEET_FILE =
-RTF_EXTENSIONS_FILE =
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-GENERATE_MAN = NO
-MAN_OUTPUT = man
-MAN_EXTENSION = .3
-MAN_LINKS = NO
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-GENERATE_XML = NO
-XML_OUTPUT = xml
-XML_SCHEMA =
-XML_DTD =
-XML_PROGRAMLISTING = YES
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-GENERATE_AUTOGEN_DEF = NO
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-GENERATE_PERLMOD = NO
-PERLMOD_LATEX = NO
-PERLMOD_PRETTY = YES
-PERLMOD_MAKEVAR_PREFIX =
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-ENABLE_PREPROCESSING = YES
-MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = NO
-SEARCH_INCLUDES = YES
-INCLUDE_PATH =
-INCLUDE_FILE_PATTERNS =
-PREDEFINED = FLEXT_SYS=2 \
- FLEXT_SHARED \
- __DOXYGEN__
-EXPAND_AS_DEFINED =
-SKIP_FUNCTION_MACROS = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-TAGFILES =
-GENERATE_TAGFILE =
-ALLEXTERNALS = NO
-EXTERNAL_GROUPS = YES
-PERL_PATH = /usr/bin/perl
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = YES
-HIDE_UNDOC_RELATIONS = YES
-HAVE_DOT = NO
-CLASS_GRAPH = YES
-COLLABORATION_GRAPH = YES
-GROUP_GRAPHS = YES
-UML_LOOK = NO
-TEMPLATE_RELATIONS = NO
-INCLUDE_GRAPH = YES
-INCLUDED_BY_GRAPH = YES
-CALL_GRAPH = NO
-GRAPHICAL_HIERARCHY = YES
-DIRECTORY_GRAPH = YES
-DOT_IMAGE_FORMAT = png
-DOT_PATH =
-DOTFILE_DIRS =
-MAX_DOT_GRAPH_WIDTH = 1024
-MAX_DOT_GRAPH_HEIGHT = 1024
-MAX_DOT_GRAPH_DEPTH = 1000
-DOT_TRANSPARENT = NO
-DOT_MULTI_TARGETS = NO
-GENERATE_LEGEND = YES
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
diff --git a/externals/grill/flext/Makefile.am b/externals/grill/flext/Makefile.am
deleted file mode 100755
index 0cf89b38..00000000
--- a/externals/grill/flext/Makefile.am
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-SUBDIRS = source tutorial
-
-EXTRA_DIST = flext.doxy \ No newline at end of file
diff --git a/externals/grill/flext/bootstrap.sh b/externals/grill/flext/bootstrap.sh
deleted file mode 100755
index 8e1a99b2..00000000
--- a/externals/grill/flext/bootstrap.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/sh
-
-aclocal \
-&& automake --foreign \
-&& autoconf
diff --git a/externals/grill/flext/build.bat b/externals/grill/flext/build.bat
deleted file mode 100644
index 4f97f0cd..00000000
--- a/externals/grill/flext/build.bat
+++ /dev/null
@@ -1,58 +0,0 @@
-@echo off
-
-rem
-rem flext - C++ layer for Max/MSP and pd (pure data) externals
-rem
-rem Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-rem For information on usage and redistribution, and for a DISCLAIMER OF ALL
-rem WARRANTIES, see the file, "license.txt," in this distribution.
-rem
-rem more information on http://grrrr.org/ext
-rem ------------------------------------------------------------------------
-rem
-rem To build flext or flext-based externals simply run this script.
-rem Running it without arguments will print some help to the console.
-rem
-rem ------------------------------------------------------------------------
-
-set flext=%~dp0
-
-rem Arguments:
-rem %1 - system (pd/max)
-rem %2 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
-rem %3 - target (build/clean/install)
-
-set platform=win
-set rtsys=%1
-set compiler=%2
-set target=%3
-
-rem --- The subbatch knowns which make utility to use ---
-set subbatch=%flext%buildsys\build-%compiler%.bat
-
-if "%platform%"=="" goto syntax
-if "%rtsys%"=="" goto syntax
-if "%compiler%"=="" goto syntax
-
-if not exist %subbatch% goto syntax
-
-call %subpatch% %subbatch% %platform% %rtsys% %target% %4 %5 %6 %7 %8 %9
-
-goto end
-
-rem -----------------------------------------
-:syntax
-
-echo .
-echo SYNTAX: build [system] [compiler] {target}
-echo system ... pd / max
-echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
-echo target ... all (default) / clean / install
-echo .
-echo Please make sure that your make program and compiler can be accessed with the
-echo system path and that all relevant environment variables are properly set.
-echo .
-echo For further information read flext/build.txt
-echo .
-
-:end
diff --git a/externals/grill/flext/build.sh b/externals/grill/flext/build.sh
deleted file mode 100644
index c467fd45..00000000
--- a/externals/grill/flext/build.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#! /bin/bash
-
-# flext - C++ layer for Max/MSP and pd (pure data) externals
-#
-# Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-# For information on usage and redistribution, and for a DISCLAIMER OF ALL
-# WARRANTIES, see the file, "license.txt," in this distribution.
-#
-# more information on http://grrrr.org/ext
-# ------------------------------------------------------------------------
-#
-# To build flext or flext-based externals simply run this script.
-# Running it without arguments will print some help to the console.
-#
-# ------------------------------------------------------------------------
-
-flext=${0%/*}/
-if [ "$flext" = "$0"/ ]; then flext=./ ; fi
-
-# Arguments:
-# $1 - system (pd/max)
-# $2 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
-# $3 - target (build/clean/install)
-
-unamesys=$(uname -s)
-
-case $unamesys in
- Linux) platform=lnx;;
- Darwin) platform=mac;;
- CYGWIN*|MINGW*) platform=win;;
- *) echo Platform $unamesys not supported; exit;;
-esac
-
-rtsys=$1
-compiler=$2
-target=$3
-
-# --- The subbatch knows which make utility to use ---
-subbatch=${flext}buildsys/build-${compiler}.sh
-
-if
- [ -n "$platform" -a -n "$rtsys" -a -n "$compiler" -a -f $subbatch ]
-then
- sh $subbatch $platform $rtsys $target $4 $5 $6 $7 $8 $9
-else
- echo
- echo SYNTAX: build.sh [system] [compiler] {target}
- echo system ..... pd / max
- echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
- echo target ..... build \(default\) / clean / install
- echo
- echo Please make sure that your make program and compiler can be accessed with the
- echo system path and that all relevant environment variables are properly set.
- echo
- echo For further information read flext/build.txt
- echo
-fi
diff --git a/externals/grill/flext/build.txt b/externals/grill/flext/build.txt
deleted file mode 100644
index 04eb5248..00000000
--- a/externals/grill/flext/build.txt
+++ /dev/null
@@ -1,251 +0,0 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-----------------------------------------------------------------------------
-
-This document consists of the following parts:
-
-0) Important stuff at the beginning
-1) Using the flext build system
-1.1) Building and installing flext
-1.2) Building externals
-1.3) Tested configurations
-
-2) Using autoconf
-
-3) Other ways to compile flext and flext-based externals
-
-----------------------------------------------------------------------------
-
-0) Important stuff at the beginning
-===================================
-
-Please be aware that the build system might have difficulties handling paths with spaces.
-Under unix you might get along with escaping your\ path or quoting "your path".
-Under Windows escaping doesn't work at all and quoting might not work either - therefore it's
-best not to use spaced paths at all.
-
-----------------------------------------------------------------------------
-
-1) Using the flext build system
-===============================
-
-flext provides a universal build system which supports
-
-- various operating systems
- Windows (win)
- Linux (lnx)
- MacOSX (mac)
-- various real-time systems
- Pure Data (pd)
- Max/MSP (max)
-- various make programs
- GNU make (gnumake)
- Microsoft nmake (nmake)
- Borland make (bmake)
-- various compilers
- Microsoft Visual C/C++ 6.0 or .NET 2002/2003 (msvc)
- GNU gcc 2.95 and above (gcc,cygwin,mingw)
- Borland bcc32 (bcc)
-
-Useful combinations of the above are
-
-under Windows:
-pd msvc, using nmake
-pd cygwin, using GNU make
-pd mingw, using GNU make (from the CMD prompt, not msys!)
-max msvc, using nmake
-max cygwin, using GNU make
-max mingw, using GNU make (from the CMD prompt, not msys!)
-pd bcc, using Borland make
-
-under Linux or MacOSX:
-pd gcc, using GNU make
-
-under MacOSX:
-max gcc, using GNU make - Mach-O externals only (Max 4.5 upwards)
-
-
-There are two central scripts in the flext folder which invoke the building process:
-- build.sh for bash shells (Linux, MacOSX, cygwin)
-- build.bat for the Windows command prompt
-
-A project needs to provide some information in order to be built properly.
-By default, this resides in a file called package.txt
-
-
-Please note, that the build system is shell-oriented, which means, that you'll have
-to launch a command prompt (cmd.exe under Windows) and probably also set some
-environment variables for your development system (e.g. run vcvars32.bat included with Microsoft Visual Studio)
-
-By invoking one of the build scripts (e.g. with "bash build.sh" under unix,
-or just "build" unter Windows) you'll get some lines of help.
-Operating System, real-time system and compiler need to be provided as arguments.
-
-
-See buildsys/readme.txt for developer-centered information.
-
-
-1.1) Prerequisites
-==================
-
-Linux:
-- A gnu g/g++ compiler should be present on any system.
- The command "g++ --version" should show version 2.95 at least. Compiler version >= 3.3 is recommended.
-
-OSX:
-- The developer package must be installed which contains all necessary parts.
-
-Windows:
-- Microsoft Visual Studio 6, .NET 2002, .NET 2003 or .NET 2005
- be sure to use the VCVARS32.BAT (or probably SDKVARS.BAT) command on the prompt to set up the environment variables
-or
-- cygwin with binutils, gcc and make packages
-
-
-
-1.2) Building and installing flext
-==================================
-
-Flext can build itself using the build system.
-From the flext main directory, run the build script
-
-e.g. under Windows
- build pd msvc
-or under unix with
- bash build.sh pd gcc
-
-When you run it for the first time, one or more configuration files will be created
-from templates - you will get a message on the console.
-You should edit the files to adapt it to your system.
-
-Depending on your platform these will have name like
-buildsys/config-win-pd-msvc.txt
-or
-buildsys/config-lnx-pd-gcc.txt
-or
-buildsys/config-mac-max-gcc.txt
-
-
-After editing the files you will have to run the build script again to ensure that flext is built.
-
-After successfully building everything, you can install flext with (under Windows)
- build pd msvc install
-or (under unix)
- bash build.sh pd gcc install
-
-
-You will probably have to have superuser rights in order to install things
-into the default location.
-(try "sudo" or "su -c" prefixes, or log in as root)
-
-
-1.3) Building externals
-=======================
-
-The flext build system can be used to compile flext-based externals or also
-native PD and Max/MSP externals, provided there is a package.txt file in the project folder.
-
-In the shell, change to the project folder.
-Then, simply run the flext build script,
-
-e.g. under Windows
- ..\flext\build pd msvc
-Then install your newly built external with
- ..\flext\build pd msvc install
-You can clean up the intermediate build folders with
- ..\flext\build pd msvc clean
-
-or under unix with
- bash ../flext/build.sh pd gcc
-Then install your external with
- bash ../flext/build.sh pd gcc install
-You can clean up the intermediate build folders with
- bash ../flext/build.sh pd gcc clean
-
-
-1.4) Tested configurations
-==========================
-
-Both flext and flext-based externals have been successfully built with the
-following combination of platform-system-compiler, build type.
-A missing combination does not necessarily mean that it won't work.
-
-win-pd-msvc, single/multi/shared
-win-pd-bcc, single/multi/shared
-win-pd-mingw, single/multi/shared (from CMD prompt, not MSYS)
-win-pd-cygwin, single/multi/shared
-win-max-msvc, single/multi/shared
-win-max-cygwin, single/multi/shared
-win-max-mingw, single/multi/shared
-
-
-mac-pd-gcc, single/multi/shared
-mac-max-gcc, single/multi/shared
-
-lnx-pd-gcc, single/multi/shared
-
-----------------------------------------------------------------------------
-
-2) Using autoconf
-=================
-
-Thanks to Tim Blechmann, flext can also be built using autoconf.
-This only works under unix shells.
-
-When starting from a fresh cvs-based copy of flext first run
-./bootstrap.sh
-
-then you can run
-./configure --help
-to get a page of options.
-
-You need to pass the path to the PD source files to the ./configure script, e.g. with
-./configure --with-sysdir=/usr/local/src/pd/src
-
-Then build flext with
-make
-and install it with
-su -c "make install"
-
-----------------------------------------------------------------------------
-
-3) Other ways to compile flext and flext-based externals
-========================================================
-
-- Windows - Microsoft Visual Studio projects (.vcproj files)
-
- Please have a look at the projects delivered with flext and flext-based externals.
-
-- MacOSX - Apple Xcode projects (.xcode bundles)
-
- Please have a look at the projects delivered with flext and flext-based externals.
-
- Xcode projects often use some Source Trees (definable in the Xcode Preferences).
- - Flext - the flext main folder
- - PD - the PD installation
- - Max SDK - the Max SDK (path ending with "c74support")
- - Max Common - Max common files (normally /Library/Application\ Support/Cycling\ \'74 )
-
-- MacOSX - Metrowerks Codewarrior (.mcp files)
-
- You should have the following "Source Trees" (CW preferences, not project specific!) defined:
- "OS X Volume" - Pointing to your OSX boot drive
- "flext" - Pointing to the flext main directory
- "Cycling74 OSX" - Pointing to the SDK for Max/MSP - the path should end with /c74support
-
- With your project using flext use the prefix file "flcwmax-x.h" or,
- alternatively "flcwmax-x-thr.h" for threading support.
-
-- MacOS9 - Metrowerks Codewarrior (.mcp files)
-
- You should have the following "Source Trees" (CW preferences, not project specific!) defined:
- "flext" - Pointing to the flext main directory
- "Cycling74" - Pointing to the Cycling 74 SDK
- "MP SDK" - Pointing to the Multiprocessing SDK (for threading support)
-
- With your project using flext use the prefix file "flcwmax.h" or,
- alternatively "flcwmax-thr.h" for threading support.
diff --git a/externals/grill/flext/build/bmake-win-bcc.inc b/externals/grill/flext/build/bmake-win-bcc.inc
deleted file mode 100644
index a54bb367..00000000
--- a/externals/grill/flext/build/bmake-win-bcc.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-!ifdef SIMD
-DEFS=$(DEFS) /DFLEXT_USE_SIMD
-!endif
-
-!ifdef SNDOBJ
-SRCS=$(SRCS) $(SRCS_SNDOBJ)
-HDRS=$(HDRS) $(HDRS_SNDOBJ)
-INCPATH=$(INCPATH) /I$(SNDOBJ)\include
-LIBS=$(LIBS) $(SNDOBJ)\lib\sndobj.lib
-!endif
-
-!ifdef STK
-SRCS=$(SRCS) $(SRCS_STK)
-HDRS=$(HDRS) $(HDRS_STK)
-INCPATH=$(INCPATH) /I$(STK)\include
-LIBS=$(LIBS) $(STK)\lib\stk.lib
-!endif
diff --git a/externals/grill/flext/build/config-lnx.def b/externals/grill/flext/build/config-lnx.def
deleted file mode 100644
index 88c43f4d..00000000
--- a/externals/grill/flext/build/config-lnx.def
+++ /dev/null
@@ -1,2 +0,0 @@
-# comment out to inhibit SIMD (Altivec/SSE) usage
-SIMD=1
diff --git a/externals/grill/flext/build/config-mac.def b/externals/grill/flext/build/config-mac.def
deleted file mode 100644
index 88c43f4d..00000000
--- a/externals/grill/flext/build/config-mac.def
+++ /dev/null
@@ -1,2 +0,0 @@
-# comment out to inhibit SIMD (Altivec/SSE) usage
-SIMD=1
diff --git a/externals/grill/flext/build/config-win.def b/externals/grill/flext/build/config-win.def
deleted file mode 100644
index 88c43f4d..00000000
--- a/externals/grill/flext/build/config-win.def
+++ /dev/null
@@ -1,2 +0,0 @@
-# comment out to inhibit SIMD (Altivec/SSE) usage
-SIMD=1
diff --git a/externals/grill/flext/build/gnumake-lnx-gcc.inc b/externals/grill/flext/build/gnumake-lnx-gcc.inc
deleted file mode 100644
index aec212c5..00000000
--- a/externals/grill/flext/build/gnumake-lnx-gcc.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-ifdef SIMD
-DEFS += -DFLEXT_USE_SIMD
-endif
-
-ifdef SNDOBJ_LIB
-SRCS+=$(SRCS_SNDOBJ)
-HDRS+=$(HDRS_SNDOBJ)
-endif
-
-ifdef STK_LIB
-SRCS+=$(SRCS_STK)
-HDRS+=$(HDRS_STK)
-endif
diff --git a/externals/grill/flext/build/gnumake-lnx-icc.inc b/externals/grill/flext/build/gnumake-lnx-icc.inc
deleted file mode 100644
index aec212c5..00000000
--- a/externals/grill/flext/build/gnumake-lnx-icc.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-ifdef SIMD
-DEFS += -DFLEXT_USE_SIMD
-endif
-
-ifdef SNDOBJ_LIB
-SRCS+=$(SRCS_SNDOBJ)
-HDRS+=$(HDRS_SNDOBJ)
-endif
-
-ifdef STK_LIB
-SRCS+=$(SRCS_STK)
-HDRS+=$(HDRS_STK)
-endif
diff --git a/externals/grill/flext/build/gnumake-mac-gcc.inc b/externals/grill/flext/build/gnumake-mac-gcc.inc
deleted file mode 100644
index aec212c5..00000000
--- a/externals/grill/flext/build/gnumake-mac-gcc.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-ifdef SIMD
-DEFS += -DFLEXT_USE_SIMD
-endif
-
-ifdef SNDOBJ_LIB
-SRCS+=$(SRCS_SNDOBJ)
-HDRS+=$(HDRS_SNDOBJ)
-endif
-
-ifdef STK_LIB
-SRCS+=$(SRCS_STK)
-HDRS+=$(HDRS_STK)
-endif
diff --git a/externals/grill/flext/build/gnumake-win-cygwin.inc b/externals/grill/flext/build/gnumake-win-cygwin.inc
deleted file mode 100644
index 1eb1ce77..00000000
--- a/externals/grill/flext/build/gnumake-win-cygwin.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-ifdef SIMD
-DEFS += -DFLEXT_USE_SIMD
-endif
-
-ifdef SNDOBJ
-SRCS+=$(SRCS_SNDOBJ)
-HDRS+=$(HDRS_SNDOBJ)
-INCPATH+=-I$(SNDOBJ)
-LIBS+=-lsndobj
-endif
-
-ifdef STK
-SRCS+=$(SRCS_STK)
-HDRS+=$(HDRS_STK)
-INCPATH+=-I$(STK)
-LIBS+=-lstk
-endif
diff --git a/externals/grill/flext/build/gnumake-win-mingw.inc b/externals/grill/flext/build/gnumake-win-mingw.inc
deleted file mode 100644
index 1eb1ce77..00000000
--- a/externals/grill/flext/build/gnumake-win-mingw.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-ifdef SIMD
-DEFS += -DFLEXT_USE_SIMD
-endif
-
-ifdef SNDOBJ
-SRCS+=$(SRCS_SNDOBJ)
-HDRS+=$(HDRS_SNDOBJ)
-INCPATH+=-I$(SNDOBJ)
-LIBS+=-lsndobj
-endif
-
-ifdef STK
-SRCS+=$(SRCS_STK)
-HDRS+=$(HDRS_STK)
-INCPATH+=-I$(STK)
-LIBS+=-lstk
-endif
diff --git a/externals/grill/flext/build/nmake-win-msvc.inc b/externals/grill/flext/build/nmake-win-msvc.inc
deleted file mode 100644
index 9dee194d..00000000
--- a/externals/grill/flext/build/nmake-win-msvc.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-!ifdef SIMD
-DEFS=$(DEFS) /DFLEXT_USE_SIMD
-!endif
diff --git a/externals/grill/flext/buildsys/bmake-ext.inc b/externals/grill/flext/buildsys/bmake-ext.inc
deleted file mode 100644
index 1455c83e..00000000
--- a/externals/grill/flext/buildsys/bmake-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-OUTNAME=$(NAME)
diff --git a/externals/grill/flext/buildsys/bmake-flext.inc b/externals/grill/flext/buildsys/bmake-flext.inc
deleted file mode 100644
index 2e7faf0c..00000000
--- a/externals/grill/flext/buildsys/bmake-flext.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFS=$(DEFS) /DFLEXT_EXPORTS
-
-OUTNAME=$(FLEXTNAME)
diff --git a/externals/grill/flext/buildsys/bmake-sub.mak b/externals/grill/flext/buildsys/bmake-sub.mak
deleted file mode 100644
index f55fcc4f..00000000
--- a/externals/grill/flext/buildsys/bmake-sub.mak
+++ /dev/null
@@ -1,44 +0,0 @@
-# include flext version number
-!include $(BUILDPATH)version.inc
-
-# general settings
-!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-
-###############################
-# project-specific definitions
-
-# package info
-!if "$(PKGINFO)" != "" && "$(PKGINFO)" != "1"
-!include $(PKGINFO)
-!endif
-
-# special package settings
-!ifdef USRCONFIG
-!include $(USRCONFIG)
-!endif
-
-# package specific make stuff
-!ifdef USRMAKE
-!include $(USRMAKE)
-!endif
-
-##############################
-# flext-specific make stuff
-
-!include $(BUILDPATH)bmake.inc
-
-!include $(BUILDPATH)bmake-$(BUILDCLASS).inc
-
-##############################
-# platform-specific make stuff
-
-!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\bmake-$(COMPILER).inc
-
-!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\bmake-$(COMPILER)-$(BUILDCLASS).inc
-
-##############################
-# general make stuff
-
-!include $(BUILDPATH)$(PLATFORM)\bmake-$(COMPILER).inc
-
-!include $(BUILDPATH)$(PLATFORM)\bmake-$(COMPILER)-$(BUILDCLASS).inc
diff --git a/externals/grill/flext/buildsys/bmake.inc b/externals/grill/flext/buildsys/bmake.inc
deleted file mode 100644
index c8dac6fa..00000000
--- a/externals/grill/flext/buildsys/bmake.inc
+++ /dev/null
@@ -1,67 +0,0 @@
-##############################################
-# flext defines
-##############################################
-
-CFLAGS=$(CFLAGS) $(UFLAGS)
-
-!ifdef DEBUG
-CFLAGS=$(CFLAGS) /D_DEBUG $(DFLAGS)
-!else
-CFLAGS=$(CFLAGS) /DNDEBUG $(OFLAGS)
-!endif
-
-
-!ifdef SHARED
-# --- shared ---
-DEFS=$(DEFS) /DFLEXT_SHARED
-
-!else
-!ifdef THREADED
-# --- static multi-threaded ---
-DEFS=$(DEFS) /DFLEXT_THREADS
-
-!else
-# --- static single-threaded ---
-
-!endif
-!endif
-
-##############################################
-# name of flext library
-##############################################
-
-!ifdef SHARED
-TYPEEXT=_
-!else
-!ifdef THREADED
-TYPEEXT=_t
-!else
-TYPEEXT=_s
-!endif
-!endif
-
-!ifdef DEBUG
-MODEEXT=d
-!else
-!ifdef PROFILE
-MODEEXT=p
-!else
-MODEEXT=
-!ifdef SHARED
-TYPEEXT=
-!endif
-!endif
-!endif
-
-FLEXTNAME=flext-$(RTSYS)$(TYPEEXT)$(MODEEXT)
-
-##############################################
-# product name and folder
-##############################################
-
-!ifndef SRCDIR
-SRCDIR=.
-!endif
-
-OUTNAME=$(NAME)
-OUTSUB=$(TARGETMODE)-$(TARGETTYPE)
diff --git a/externals/grill/flext/buildsys/bmake.mak b/externals/grill/flext/buildsys/bmake.mak
deleted file mode 100644
index 5b5ea10a..00000000
--- a/externals/grill/flext/buildsys/bmake.mak
+++ /dev/null
@@ -1,110 +0,0 @@
-# required settings:
-#
-# PLATFORM - win/mac/lnx
-# RTSYS - pd/max
-# COMPILER - msvc/gcc/mingw/cygwin
-# BUILDPATH including trailing \
-
-###############################################
-# package info
-
-!ifndef PKGINFO
-PKGINFO=package.txt
-!endif
-
-!if "$(PKGINFO)" != "" && "$(PKGINFO)" != "1"
-!include $(PKGINFO)
-!endif
-
-!ifndef NAME
-!error NAME variable must be defined (name of target)
-!endif
-
-!ifndef SRCS
-!error SRCS variable must be defined (list of source files)
-!endif
-
-###############################################
-# check variables
-
-!ifndef BUILDCLASS
-BUILDCLASS=ext
-!endif
-
-!ifndef BUILDMODE
-BUILDMODE=release
-!endif
-
-!ifndef BUILDTYPE
-BUILDTYPE=single
-!endif
-
-##############################
-
-#!ifndef TARGETMODE
-#TARGETMODE=$(BUILDMODE)
-#!endif
-
-#!ifndef TARGETTYPE
-#TARGETTYPE=$(BUILDTYPE)
-#!endif
-
-###############################################
-
-SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def
-
-OPTIONS=-f $(BUILDPATH)bmake-sub.mak -N \
- PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
- BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS)
-
-###############################################
-
-!ifdef BUILDDIR
-USRCONFIG=config.txt
-USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def
-
-USRMAKE=$(BUILDDIR)\bmake-$(PLATFORM)-$(COMPILER).inc
-
-OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE)
-!endif
-
-###############################################
-# include file describing default target dependencies
-
-!include $(BUILDPATH)targets.inc
-
-!include $(BUILDPATH)targets-$(BUILDCLASS).inc
-
-###############################################
-
-.precious: $(SYSCONFIG) $(USRCONFIG)
-
-$(SYSCONFIG): $(SYSDEFAULT)
- @copy $** $@
- @echo -------------------------------------------------------------------------
- @echo A default system configuration file has been created.
- @echo Please edit $(SYSCONFIG)
- @echo to match your platform and start again.
- @echo -------------------------------------------------------------------------
- @exit 1
-
-!ifdef BUILDDIR
-$(USRCONFIG): $(USRDEFAULT)
- @copy $** $@
- @echo -------------------------------------------------------------------------
- @echo A default package configuration file has been created.
- @echo Please edit $(USRCONFIG) and start again.
- @echo -------------------------------------------------------------------------
- @exit 1
-
-$(USRDEFAULT) $(USRMAKE):
- @echo -------------------------------------------------------------------------
- @echo Your combination of platform, system and compiler is not supported yet.
- @echo Required files:
- @echo $(USRDEFAULT)
- @echo and
- @echo $(USRMAKE)
- @echo -------------------------------------------------------------------------
- @exit 1
-!endif
diff --git a/externals/grill/flext/buildsys/build-bcc.bat b/externals/grill/flext/buildsys/build-bcc.bat
deleted file mode 100644
index bf5c4bff..00000000
--- a/externals/grill/flext/buildsys/build-bcc.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-@set build=%~dp0
-
-make -f %build%bmake.mak -N PLATFORM=%1 RTSYS=%2 COMPILER=bcc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
diff --git a/externals/grill/flext/buildsys/build-cygwin.sh b/externals/grill/flext/buildsys/build-cygwin.sh
deleted file mode 100644
index 606eaade..00000000
--- a/externals/grill/flext/buildsys/build-cygwin.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/bash
-
-build=${0%/*}/
-
-make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=cygwin BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9
diff --git a/externals/grill/flext/buildsys/build-gcc.sh b/externals/grill/flext/buildsys/build-gcc.sh
deleted file mode 100644
index ab4b5570..00000000
--- a/externals/grill/flext/buildsys/build-gcc.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/bash
-
-build=${0%/*}/
-
-make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=gcc BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9
diff --git a/externals/grill/flext/buildsys/build-icc.sh b/externals/grill/flext/buildsys/build-icc.sh
deleted file mode 100644
index d110da66..00000000
--- a/externals/grill/flext/buildsys/build-icc.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#! /bin/bash
-
-build=${0%/*}/
-
-make -f ${build}gnumake.mak PLATFORM=$1 RTSYS=$2 COMPILER=icc BUILDPATH=${build} $3 $4 $5 $6 $7 $8 $9
diff --git a/externals/grill/flext/buildsys/build-mingw.bat b/externals/grill/flext/buildsys/build-mingw.bat
deleted file mode 100644
index 11a39ed3..00000000
--- a/externals/grill/flext/buildsys/build-mingw.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-@set build=%~dp0
-
-mingw32-make -f %build%gnumake.mak PLATFORM=%1 RTSYS=%2 COMPILER=mingw BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
diff --git a/externals/grill/flext/buildsys/build-msvc.bat b/externals/grill/flext/buildsys/build-msvc.bat
deleted file mode 100644
index b7cbb8f1..00000000
--- a/externals/grill/flext/buildsys/build-msvc.bat
+++ /dev/null
@@ -1,3 +0,0 @@
-@set build=%~dp0
-
-nmake -f %build%nmake.mak PLATFORM=%1 RTSYS=%2 COMPILER=msvc BUILDPATH=%build% %3 %4 %5 %6 %7 %8 %9
diff --git a/externals/grill/flext/buildsys/gnumake-ext.inc b/externals/grill/flext/buildsys/gnumake-ext.inc
deleted file mode 100644
index 1455c83e..00000000
--- a/externals/grill/flext/buildsys/gnumake-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-OUTNAME=$(NAME)
diff --git a/externals/grill/flext/buildsys/gnumake-flext.inc b/externals/grill/flext/buildsys/gnumake-flext.inc
deleted file mode 100644
index 64204656..00000000
--- a/externals/grill/flext/buildsys/gnumake-flext.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFS+=-DFLEXT_EXPORTS
-
-OUTNAME=lib$(FLEXTNAME)
diff --git a/externals/grill/flext/buildsys/gnumake-sub.mak b/externals/grill/flext/buildsys/gnumake-sub.mak
deleted file mode 100644
index 17aa589f..00000000
--- a/externals/grill/flext/buildsys/gnumake-sub.mak
+++ /dev/null
@@ -1,44 +0,0 @@
-# include flext version number
-include $(BUILDPATH)version.inc
-
-# system settings
-include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-
-###############################
-# project specific definitions
-
-# package info
-ifneq ($(PKGINFO),)
- include $(PKGINFO)
-endif
-
-# special settings
-ifdef USRCONFIG
- include $(USRCONFIG)
-endif
-
-# package specific make stuff
-ifdef USRMAKE
- include $(USRMAKE)
-endif
-
-##############################
-# flext-specific definitions
-
-include $(BUILDPATH)gnumake.inc
-
-include $(BUILDPATH)gnumake-$(BUILDCLASS).inc
-
-##############################
-# platform-specific make stuff
-
-include $(BUILDPATH)$(PLATFORM)/$(RTSYS)/gnumake-$(COMPILER).inc
-
-include $(BUILDPATH)$(PLATFORM)/$(RTSYS)/gnumake-$(COMPILER)-$(BUILDCLASS).inc
-
-##############################
-# general make stuff
-
-include $(BUILDPATH)$(PLATFORM)/gnumake-$(COMPILER).inc
-
-include $(BUILDPATH)$(PLATFORM)/gnumake-$(COMPILER)-$(BUILDCLASS).inc
diff --git a/externals/grill/flext/buildsys/gnumake.inc b/externals/grill/flext/buildsys/gnumake.inc
deleted file mode 100644
index 27052d68..00000000
--- a/externals/grill/flext/buildsys/gnumake.inc
+++ /dev/null
@@ -1,95 +0,0 @@
-##############################################
-# cross-compilation
-##############################################
-
-ifndef ARCH
-ifeq ("$(shell uname -p)","powerpc")
-ARCH := ppc
-else
-ARCH := $(shell uname -p)
-endif
-endif
-
-##############################################
-# some compiler definitions
-##############################################
-
-CFLAGS += $(UFLAGS)
-$(foreach arch,$(ARCH),$(eval CFLAGS_$(arch) += $$(UFLAGS_$(arch)) ) )
-
-ifdef DEBUG
-
-DEFS += -D_DEBUG
-CFLAGS += $(DFLAGS)
-
-define ARCH_FLAGS
-CFLAGS_$(1) += $$(DFLAGS_$(1))
-endef
-
-else ## profile and release
-
-DEFS += -DNDEBUG
-CFLAGS += $(OFLAGS)
-
-define ARCH_FLAGS
-CFLAGS_$(1) += $$(OFLAGS_$(1))
-endef
-
-endif
-
-$(foreach arch,$(ARCH),$(eval $(call ARCH_FLAGS,$(arch))))
-
-
-ifdef SHARED
-# --- shared ---
-DEFS += -DFLEXT_SHARED
-
-else
-ifdef THREADED
-# --- static multi-threaded ---
-DEFS += -DFLEXT_THREADS
-
-else
-# --- static single-threaded ---
-
-endif
-endif
-
-##############################################
-# name of flext library
-##############################################
-
-ifdef SHARED
-TYPEEXT := _
-else
-ifdef THREADED
-TYPEEXT := _t
-else
-TYPEEXT := _s
-endif
-endif
-
-ifdef DEBUG
-MODEEXT := d
-else
-ifdef PROFILE
-MODEEXT := p
-else
-MODEEXT :=
-ifdef SHARED
-TYPEEXT :=
-endif
-endif
-endif
-
-FLEXTNAME := flext-$(RTSYS)$(TYPEEXT)$(MODEEXT)
-
-##############################################
-# product name and folder
-##############################################
-
-ifndef SRCDIR
-SRCDIR := .
-endif
-
-OUTSUB := $(TARGETMODE)-$(TARGETTYPE)
diff --git a/externals/grill/flext/buildsys/gnumake.mak b/externals/grill/flext/buildsys/gnumake.mak
deleted file mode 100644
index efa0c273..00000000
--- a/externals/grill/flext/buildsys/gnumake.mak
+++ /dev/null
@@ -1,142 +0,0 @@
-# required settings:
-#
-# PLATFORM - win/mac/lnx
-# RTSYS - pd/max
-# COMPILER - msvc/gcc/mingw/cygwin
-# BUILDPATH including trailing /
-
-###############################################
-# package info
-
-ifndef PKGINFO
-PKGINFO=package.txt
-endif
-
-ifneq ($(PKGINFO),)
-include $(PKGINFO)
-endif
-
-ifndef NAME
-$(error "NAME variable must be defined (name of target)")
-endif
-
-ifndef SRCS
-$(error "SRCS variable must be defined (list of source files)")
-endif
-
-###############################################
-# check variables
-
-ifndef BUILDCLASS
-BUILDCLASS=ext
-endif
-
-ifndef BUILDMODE
-BUILDMODE=release
-endif
-
-ifndef BUILDTYPE
-BUILDTYPE=single
-endif
-
-##############################
-
-#ifndef TARGETMODE
-#TARGETMODE=$(BUILDMODE)
-#endif
-
-#ifndef TARGETTYPE
-#TARGETTYPE=$(BUILDTYPE)
-#endif
-
-###############################################
-
-ifeq ($(PLATFORM),win)
- # substitute eventual \ by /
- UBUILDPATH=$(subst \,/,$(BUILDPATH))
-else
- UBUILDPATH=$(BUILDPATH)
-endif
-
-###############################################
-
-SYSCONFIG=$(UBUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-SYSDEFAULT=$(UBUILDPATH)$(PLATFORM)/$(RTSYS)/config-$(COMPILER).def
-
-OPTIONS=-f $(UBUILDPATH)gnumake-sub.mak \
- PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
- BUILDPATH=$(UBUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS)
-
-###############################################
-
-ifdef BUILDDIR
-USRCONFIG=config.txt
-USRDEFAULT=$(BUILDDIR)/config-$(PLATFORM).def
-
-USRMAKE=$(BUILDDIR)/gnumake-$(PLATFORM)-$(COMPILER).inc
-
-OPTIONS+=USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE)
-endif
-
-###############################################
-# include file describing default target dependencies
-
-.PHONY : all build clean install profile
-
-include $(BUILDPATH)targets.inc
-
-include $(BUILDPATH)targets-$(BUILDCLASS).inc
-
-###############################################
-
-.PRECIOUS: $(SYSCONFIG) $(USRCONFIG)
-
-$(SYSCONFIG): $(SYSDEFAULT)
-ifeq ($(COMPILER),mingw)
- @copy $(subst /,\,$<) $(subst /,\,$@)
-else
- @cp $< $@
-endif
- @echo -------------------------------------------------------------------------
- @echo A default system configuration file has been created.
- @echo Please edit $(SYSCONFIG)
- @echo to match your platform, then start again.
- @echo -------------------------------------------------------------------------
-ifeq ($(COMPILER),mingw)
- @exit 1
-else
- @false
-endif
-
-ifdef BUILDDIR
-$(USRCONFIG): $(USRDEFAULT)
-ifeq ($(COMPILER),mingw)
- @copy $(subst /,\,$<) $(subst /,\,$@)
-else
- @cp $< $@
-endif
- @echo -------------------------------------------------------------------------
- @echo A default package configuration file has been created.
- @echo Please edit $(USRCONFIG), then start again.
- @echo -------------------------------------------------------------------------
-ifeq ($(COMPILER),mingw)
- @exit 1
-else
- @false
-endif
-
-$(USRDEFAULT) $(USRMAKE):
- @echo -------------------------------------------------------------------------
- @echo Your combination of platform, system and compiler is not supported yet.
- @echo Required files:
- @echo $(USRDEFAULT)
- @echo and
- @echo $(USRMAKE)
- @echo -------------------------------------------------------------------------
-ifeq ($(COMPILER),mingw)
- @exit 1
-else
- @false
-endif
-
-endif
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc
deleted file mode 100644
index a1fef152..00000000
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc-ext.inc
+++ /dev/null
@@ -1,56 +0,0 @@
-# build class specific settings
-
-TARGET=$(TARGETPATH)/$(TARGETNAME)
-INSTTARGET=$(TARGET)
-
-INCPATH += -I$(FLEXTINC)
-LIBPATH += -L$(FLEXTLIB)
-
-#ifdef SHARED
-#LIBS += -l$(FLEXTNAME).$(FLEXTMAJOR).$(FLEXTMINOR)
-#else
-LIBS += -l$(FLEXTNAME)
-#endif
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-$(TARGETPATH):
- mkdir -p $@
-
-$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- -mkdir -p $(dir $@)
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- -mkdir -p $(dir $@)
- $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGET):: $(TARGETPATH)
-
-$(TARGET):: $(COBJS) $(CPPOBJS)
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
- chmod 755 $@
-ifndef DEBUG
-ifndef PROFILE
- strip --strip-unneeded $@
-endif
-endif
-
-##############################################
-
-_clean_:
- -rm -r $(TARGETPATH)
-
-##############################################
-
-$(INSTPATH):
- -mkdir -p $@
-
-_install_: $(INSTPATH)
- install $(TARGET) $(INSTPATH)
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
deleted file mode 100644
index 887f093a..00000000
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
+++ /dev/null
@@ -1,72 +0,0 @@
-# build class specific settings
-
-CMPNAME=$(OUTNAME).$(EXT).$(FLEXTMAJOR).$(FLEXTMINOR)
-VERNAME=$(CMPNAME).$(FLEXTMICRO)
-TARGET=$(TARGETPATH)/$(VERNAME)
-INSTTARGET=$(TARGET)
-
-ifdef SHARED
-LDFLAGS += -Wl,-soname,$(CMPNAME)
-endif
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-$(TARGETPATH):
- -mkdir -p $@
-
-$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- -mkdir -p $(dir $@)
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- -mkdir -p $(dir $@)
- $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGET) :: $(TARGETPATH)
-
-$(TARGET) :: $(COBJS) $(CPPOBJS)
-ifdef SHARED
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
- chmod 755 $@
-ifndef DEBUG
-ifndef PROFILE
- strip --strip-unneeded $@
-endif
-endif
-else
- $(AR) rc $@ $(COBJS) $(CPPOBJS)
-endif
-
-##############################################
-
-_clean_:
- -rm -r $(TARGETPATH)
-
-##############################################
-
-$(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN):
- -mkdir -p $@
-
-_install_: $(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN)
- install $(TARGET) $(FLEXTLIB)
-ifdef SHARED
- /sbin/ldconfig -l $(FLEXTLIB)/$(VERNAME)
- -ln -sf $(CMPNAME) $(FLEXTLIB)/$(OUTNAME).$(EXT)
-else
- -ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME)
-endif
- install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
-# transfer build system
-# cp -rf buildsys $(FLEXTSYS)
-# install build.sh $(FLEXTSYS)
-# chmod -R a+rx $(FLEXTSYS)
-# make convenience script
-# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
-# chmod a+rx $(FLEXTBIN)/flext-build.sh
-
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc.inc
deleted file mode 100644
index 39639d86..00000000
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-##############################################
-
-ifndef FLEXTINC
-FLEXTINC=$(FLEXTPREFIX)/include/flext
-endif
-ifndef FLEXTLIB
-FLEXTLIB=$(FLEXTPREFIX)/lib
-endif
-ifndef FLEXTSYS
-FLEXTSYS=$(FLEXTPREFIX)/lib/flext
-endif
-ifndef FLEXTBIN
-FLEXTBIN=$(FLEXTPREFIX)/bin
-endif
-
-##############################################
-
-OBJPATH=$(OUTPATH)/$(OUTSUB)
-TARGETPATH=$(OBJPATH)
-TARGETNAME=$(OUTNAME).$(EXT)
-
-##############################################
-
-CFLAGS += -pthread -fPIC
-LDFLAGS += -pthread -shared
-
-##############################################
-
-ifdef DEBUG
-CFLAGS += -g
-LDFLAGS += -g
-else
-ifdef PROFILE
-CFLAGS += -g -pg
-LDFLAGS += -g -pg
-else
-LDFLAGS += -Wl,-S
-endif
-endif
-
-##############################################
-
-ifdef STK_INC
-INCPATH += -I$(STK_INC)
-endif
-ifdef STK_LIB
-LIBS += $(STK_LIB)
-endif
-
-##############################################
-
-ifdef SNDOBJ_INC
-INCPATH += -I$(SNDOBJ_INC)
-endif
-ifdef SNDOBJ_LIB
-LIBS += $(SNDOBJ_LIB)
-endif
-
-##############################################
-
-CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
-CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
-COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS)))
-CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS)))
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc
deleted file mode 100644
index 27c781f3..00000000
--- a/externals/grill/flext/buildsys/lnx/gnumake-icc-ext.inc
+++ /dev/null
@@ -1,56 +0,0 @@
-# build class specific settings
-
-TARGET=$(TARGETPATH)/$(TARGETNAME)
-INSTTARGET=$(TARGET)
-
-INCPATH += -I$(FLEXTINC)
-LIBPATH += -L$(FLEXTLIB)
-
-ifdef SHARED
-LIBS += -l$(FLEXTNAME).$(FLEXTMAJOR).$(FLEXTMINOR)
-else
-LIBS += -l$(FLEXTNAME)
-endif
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-$(TARGETPATH):
- -mkdir -p $@
-
-$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- -mkdir -p $(dir $@)
- icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- -mkdir -p $(dir $@)
- icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGET):: $(TARGETPATH)
-
-$(TARGET):: $(COBJS) $(CPPOBJS)
- icc $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
- chmod 755 $@
-ifndef DEBUG
-ifndef PROFILE
- strip --strip-unneeded $@
-endif
-endif
-
-##############################################
-
-_clean_:
- -rm -r $(TARGETPATH)
-
-##############################################
-
-$(INSTPATH):
- -mkdir -p $@
-
-_install_: $(INSTPATH)
- install $(TARGET) $(INSTPATH)
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
deleted file mode 100644
index b289d77f..00000000
--- a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
+++ /dev/null
@@ -1,72 +0,0 @@
-# build class specific settings
-
-CMPNAME=$(OUTNAME).$(EXT).$(FLEXTMAJOR).$(FLEXTMINOR)
-VERNAME=$(CMPNAME).$(FLEXTMICRO)
-TARGET=$(TARGETPATH)/$(VERNAME)
-INSTTARGET=$(TARGET)
-
-ifdef SHARED
-LDFLAGS += -Wl,-soname,$(CMPNAME)
-endif
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-$(TARGETPATH):
- -mkdir -p $@
-
-$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- -mkdir -p $(dir $@)
- icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- -mkdir -p $(dir $@)
- icc -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGET) :: $(TARGETPATH)
-
-$(TARGET) :: $(COBJS) $(CPPOBJS)
-ifdef SHARED
- icc $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
- chmod 755 $@
-ifndef DEBUG
-ifndef PROFILE
- strip --strip-unneeded $@
-endif
-endif
-else
- $(AR) rc $@ $(COBJS) $(CPPOBJS)
-endif
-
-##############################################
-
-_clean_:
- -rm -r $(TARGETPATH)
-
-##############################################
-
-$(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN):
- -mkdir -p $@
-
-_install_: $(FLEXTINC) $(FLEXTLIB) $(FLEXTSYS) $(FLEXTBIN)
- install $(TARGET) $(FLEXTLIB)
-ifdef SHARED
- /sbin/ldconfig -l $(FLEXTLIB)/$(VERNAME)
- -ln -sf $(CMPNAME) $(FLEXTLIB)/$(OUTNAME).$(EXT)
-else
- -ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME)
-endif
- install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
-# transfer build system
-# cp -rf buildsys $(FLEXTSYS)
-# install build.sh $(FLEXTSYS)
-# chmod -R a+rx $(FLEXTSYS)
-# make convenience script
-# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
-# chmod a+rx $(FLEXTBIN)/flext-build.sh
-
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc.inc
deleted file mode 100644
index b95dd55a..00000000
--- a/externals/grill/flext/buildsys/lnx/gnumake-icc.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-##############################################
-
-ifndef FLEXTINC
-FLEXTINC=$(FLEXTPREFIX)/include/flext
-endif
-ifndef FLEXTLIB
-FLEXTLIB=$(FLEXTPREFIX)/lib
-endif
-ifndef FLEXTSYS
-FLEXTSYS=$(FLEXTPREFIX)/lib/flext
-endif
-ifndef FLEXTBIN
-FLEXTBIN=$(FLEXTPREFIX)/bin
-endif
-
-##############################################
-
-OBJPATH=$(OUTPATH)/$(OUTSUB)
-TARGETPATH=$(OBJPATH)
-TARGETNAME=$(OUTNAME).$(EXT)
-
-##############################################
-
-CFLAGS +=
-LDFLAGS += -shared -Wl,-x
-
-##############################################
-
-ifdef DEBUG
-CFLAGS += -g
-LDFLAGS += -g
-else
-ifdef PROFILE
-CFLAGS += -g -qp
-LDFLAGS += -g -qp
-else
-LDFLAGS += -Wl,-S
-endif
-endif
-
-##############################################
-
-ifdef STK_INC
-INCPATH += -I$(STK_INC)
-endif
-ifdef STK_LIB
-LIBS += $(STK_LIB)
-endif
-
-##############################################
-
-ifdef SNDOBJ_INC
-INCPATH += -I$(SNDOBJ_INC)
-endif
-ifdef SNDOBJ_LIB
-LIBS += $(SNDOBJ_LIB)
-endif
-
-##############################################
-
-CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
-CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
-COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS)))
-CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS)))
diff --git a/externals/grill/flext/buildsys/lnx/pd/config-gcc.def b/externals/grill/flext/buildsys/lnx/pd/config-gcc.def
deleted file mode 100644
index e0340e77..00000000
--- a/externals/grill/flext/buildsys/lnx/pd/config-gcc.def
+++ /dev/null
@@ -1,56 +0,0 @@
-# where is the PD source package?
-# (this should point to the main folder, which has a "src" subfolder)
-PDPATH=/usr/local/src/pd
-
-###############################################################
-
-# prefix for flext installation
-# headers are in $(FLEXTPREFIX)/include/flext
-# libraries are in $(FLEXTPREFIX)/lib
-# build system is in $(FLEXTPREFIX)/lib/flext
-
-FLEXTPREFIX=/usr/local
-
-###############################################################
-
-# where should the external be built?
-OUTPATH=pd-linux
-
-# where should the external be installed?
-INSTPATH=/usr/local/lib/pd/extra
-
-###############################################################
-
-# STK (synthesis tool kit) support
-# http://ccrma.stanford.edu/software/stk
-
-# where to find the STK header files (e.g. stk.h)
-STK_INC=/usr/local/include/stk
-
-# where to find the STK library (normally libstk.a)
-# (comment out STK_LIB if you don't use STK)
-#STK_LIB=/usr/local/lib/libstk.a
-
-###############################################################
-
-# SndObj support
-# http://music.nuim.ie//musictec/SndObj
-
-# where to find the SndObj header files (e.g. sndobj.h)
-SNDOBJ_INC=/usr/local/include/sndobj
-
-# where to find the SndObj library (normally libsndobj.a)
-# (comment out STK_LIB if you don't use SndObj)
-#SNDOBJ_LIB=/usr/local/lib/libsndobj.a
-
-###############################################################
-
-# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=-msse -mfpmath=sse -ffast-math
-
-# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=-O3
-# optimizations for Pentium 4
-OFLAGS+=-march=pentium4
diff --git a/externals/grill/flext/buildsys/lnx/pd/config-icc.def b/externals/grill/flext/buildsys/lnx/pd/config-icc.def
deleted file mode 100644
index 6032cfa2..00000000
--- a/externals/grill/flext/buildsys/lnx/pd/config-icc.def
+++ /dev/null
@@ -1,56 +0,0 @@
-# where is the PD source package?
-# (this should point to the main folder, which has a "src" subfolder)
-PDPATH=/usr/local/src/pd
-
-###############################################################
-
-# prefix for flext installation
-# headers are in $(FLEXTPREFIX)/include/flext
-# libraries are in $(FLEXTPREFIX)/lib
-# build system is in $(FLEXTPREFIX)/lib/flext
-
-FLEXTPREFIX=/usr/local
-
-###############################################################
-
-# where should the external be built?
-OUTPATH=pd-linux
-
-# where should the external be installed?
-INSTPATH=/usr/local/lib/pd/extra
-
-###############################################################
-
-# STK (synthesis tool kit) support
-# http://ccrma.stanford.edu/software/stk
-
-# where to find the STK header files (e.g. stk.h)
-STK_INC=/usr/local/include/stk
-
-# where to find the STK library (normally libstk.a)
-# (comment out STK_LIB if you don't use STK)
-#STK_LIB=/usr/local/lib/libstk.a
-
-###############################################################
-
-# SndObj support
-# http://music.nuim.ie//musictec/SndObj
-
-# where to find the SndObj header files (e.g. sndobj.h)
-SNDOBJ_INC=/usr/local/include/sndobj
-
-# where to find the SndObj library (normally libsndobj.a)
-# (comment out STK_LIB if you don't use SndObj)
-#SNDOBJ_LIB=/usr/local/lib/libsndobj.a
-
-###############################################################
-
-# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=
-
-# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=-O3 -Ob2 -ip
-# optimizations for Pentium 4
-OFLAGS+=-mcpu=pentium4 -march=pentium4 -xMKW
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc
deleted file mode 100644
index 88feb249..00000000
--- a/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=pd_linux
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc
deleted file mode 100644
index cecaa37a..00000000
--- a/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc-flext.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-ifdef SHARED
-EXT=so
-else
-EXT=a
-endif
-
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc.inc
deleted file mode 100644
index 47930b1d..00000000
--- a/externals/grill/flext/buildsys/lnx/pd/gnumake-gcc.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-DEFS += -DFLEXT_SYS=2 -DPD
-
-INCPATH += -I$(PDPATH)/src
-LIBPATH += -L$(PDPATH)/bin
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-ext.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-ext.inc
deleted file mode 100644
index 88feb249..00000000
--- a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=pd_linux
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-flext.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-flext.inc
deleted file mode 100644
index cecaa37a..00000000
--- a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc-flext.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-ifdef SHARED
-EXT=so
-else
-EXT=a
-endif
-
diff --git a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc.inc b/externals/grill/flext/buildsys/lnx/pd/gnumake-icc.inc
deleted file mode 100644
index 47930b1d..00000000
--- a/externals/grill/flext/buildsys/lnx/pd/gnumake-icc.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-DEFS += -DFLEXT_SYS=2 -DPD
-
-INCPATH += -I$(PDPATH)/src
-LIBPATH += -L$(PDPATH)/bin
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc
deleted file mode 100644
index bbcdf4ad..00000000
--- a/externals/grill/flext/buildsys/mac/gnumake-gcc-ext.inc
+++ /dev/null
@@ -1,37 +0,0 @@
-# build class specific settings
-
-INCPATH += -I$(FLEXTINC)
-LIBPATH += -L$(FLEXTLIB)
-LIBS += -l$(FLEXTNAME)
-
-# common compilation stuff
-include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc
-
-##### linking ###################
-
-$(TARGET) :: $(OBJPATH) $(TARGETPATH)
-
-$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS)
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
-ifdef DEBUG
-else
-ifdef PROFILE
-else
- strip -x $@
-endif
-endif
- chmod 755 $@
-
-ifdef TARGETPOST
-$(TARGET) :: $(TARGETPOST)
-endif
-
-###################################
-
-# Attention: $@ doesn't work for paths with spaces....
-$(INSTPATH):
- -mkdir -p $(INSTPATH)
-
-_install_:: $(INSTPATH)
-# copy plain file or whole bundle
- cp -R $(INSTTARGET) $(INSTPATH)
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc
deleted file mode 100644
index 916e21cc..00000000
--- a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc
+++ /dev/null
@@ -1,77 +0,0 @@
-# build class specific settings
-
-ifdef SHARED
-LDFLAGS += -install_name $(FLEXTLIB)/$(TARGETNAME)
-LDFLAGS += -current_version $(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO)
-LDFLAGS += -compatibility_version $(FLEXTMAJOR).$(FLEXTMINOR)
-LDFLAGS += -preload -seg1addr 0xd0000000
-endif
-
-# common compilation stuff
-include $(BUILDPATH)$(PLATFORM)/gnumake-gcc-targets.inc
-
-##### linking ###################
-
-$(TARGET) :: $(OBJPATH) $(TARGETPATH)
-
-$(TARGET) :: $(PRECOMDST) $(COBJS) $(CPPOBJS)
-ifdef SHARED
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS)
-ifdef DEBUG
-else
-ifdef PROFILE
-else
- strip -x $@
-endif
-endif
- chmod 755 $@
-else
- libtool -static -o $@ $(COBJS) $(CPPOBJS)
-endif
-
-ifdef TARGETPOST
-$(TARGET) :: $(TARGETPOST)
-endif
-
-###################################
-
-$(FLEXTINC):
- -mkdir -p $@
-
-$(FLEXTLIB):
- -mkdir -p $@
-
-_install_: $(FLEXTINC) $(FLEXTLIB)
-ifdef FLEXTFRAMEWORK
-# --- install as framework ---
- mkdir -p $(FLEXTFRAMEWORK)/Versions/$(FLEXTMAJOR).$(FLEXTMINOR)/Headers
- ln -sfh ./$(FLEXTMAJOR).$(FLEXTMINOR) $(FLEXTFRAMEWORK)/Versions/Current
- ln -sfh ./Versions/Current/Headers $(FLEXTFRAMEWORK)/Headers
- install $(TARGET) $(FLEXTFRAMEWORK)/Versions/Current
-ifdef SHARED
- # make link without lib... and extension
- ln -sf ./Versions/Current/$(VERNAME) $(FLEXTFRAMEWORK)/$(patsubst lib%,%,$(basename $(TARGETNAME)))
-else
- ranlib $(FRAMEWORK)/Versions/Current/$(VERNAME)
- ln -sf ./Versions/Current/$(VERNAME) $(FLEXTFRAMEWORK)/$(TARGETNAME)
-endif
- install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTFRAMEWORK)/Headers
-else
-# --- install as dynamic library ---
- install $(TARGET) $(FLEXTLIB)
-ifndef SHARED
-# have to rerun ranlib at install dir ?!
- ranlib $(FLEXTLIB)/$(VERNAME)
-endif
-ifdef VERNAME
- ln -sf $(VERNAME) $(FLEXTLIB)/$(TARGETNAME)
-endif
- install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
-endif
-# transfer build system
-# cp -rf buildsys $(FLEXTSYS)
-# install build.sh $(FLEXTSYS)
-# chmod -R a+rx $(FLEXTSYS)
-# make convenience script
-# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
-# chmod a+rx $(FLEXTBIN)/flext-build.sh
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-targets.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-targets.inc
deleted file mode 100644
index c8804667..00000000
--- a/externals/grill/flext/buildsys/mac/gnumake-gcc-targets.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-##############################################
-
-CSRCS := $(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
-CPPSRCS := $(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
-COBJS := $(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS)))
-CPPOBJS := $(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS)))
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-# Attention: $@ doesn't work for paths with spaces....
-$(OBJPATH):
- -mkdir -p $(OBJPATH)
-
-# Attention: $@ doesn't work for paths with spaces....
-$(TARGETPATH):
- -mkdir -p $(TARGETPATH)
-
-##### precompiled header file ###################
-
-ifdef PRECOMPILE
-PRECOMSRC := $(SRCDIR)/$(PRECOMPILE)
-else
-PRECOMSRC := $(FLEXTINC)/flext.h
-endif
-
-ifdef PRECOMSRC
-PRECOMDST := $(OBJPATH)/$(notdir $(PRECOMSRC)).gch
-PRECOMINC := -I $(OBJPATH)
-endif
-
-$(PRECOMDST) : $(PRECOMSRC) $(patsubst %,$(SRCDIR)/%,$(HDRS))
- -mkdir -p $(dir $@)
- $(CXX) -c $(DEFS) $(INCPATH) $(PRECOMSRC) -o $@
-
-##### architecture-specific compilation ###################
-
-define ARCH_COMPILE
-$(OBJPATH)/%.opp_$(1) : $(SRCDIR)/%.cpp
- -mkdir -p $(dir $$@)
- $(CXX) -c $(CFLAGS) -arch $(1) $$(CFLAGS_$(1)) $(DEFS) $(PRECOMINC) $(INCPATH) $$^ -o $$@
-
-$(OBJPATH)/%.o_$(1) : $(SRCDIR)/%.c
- -mkdir -p $(dir $$@)
- $(CC) -c $(CFLAGS) -arch $(1) $$(CFLAGS_$(1)) $(DEFS) $(INCPATH) $$^ -o $$@
-endef
-
-# implement for all archs in ARCH
-$(foreach arch,$(ARCH),$(eval $(call ARCH_COMPILE,$(arch))))
-
-##### make fat object file ###################
-
-$(OBJPATH)/%.opp : $(foreach arch,$(ARCH),$(OBJPATH)/%.opp_$(arch))
- lipo $^ -create -output $@
-
-$(OBJPATH)/%.o : $(foreach arch,$(ARCH),$(OBJPATH)/%.o_$(arch))
- lipo $^ -create -output $@
-
-##############################################
-
-_clean_:
- -rm -r $(TARGETPATH)
- -rm -r $(OBJPATH)
-
-##############################################
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc.inc
deleted file mode 100644
index 41eac3fd..00000000
--- a/externals/grill/flext/buildsys/mac/gnumake-gcc.inc
+++ /dev/null
@@ -1,74 +0,0 @@
-##############################################
-
-ifneq (,$(findstring Frameworks,$(FLEXTPREFIX)))
-FLEXTFRAMEWORK := $(FLEXTPREFIX)/flext.framework
-endif
-
-ifdef FLEXTFRAMEWORK
-ifndef FLEXTLIB
-FLEXTLIB := $(FLEXTFRAMEWORK)
-endif
-ifndef FLEXTINC
-FLEXTINC := $(FLEXTFRAMEWORK)/Headers
-endif
-ifndef FLEXTSYS
-FLEXTSYS := $(FLEXTFRAMEWORK)/Resources
-endif
-else
-ifndef FLEXTLIB
-FLEXTLIB := $(FLEXTPREFIX)/lib
-endif
-ifndef FLEXTINC
-FLEXTINC := $(FLEXTPREFIX)/include/flext
-endif
-ifndef FLEXTSYS
-FLEXTSYS := $(FLEXTPREFIX)/lib/flext
-endif
-endif
-
-FLEXTBIN := $(FLEXTPREFIX)/bin
-
-##############################################
-
-LDFLAGS += -dynamic -framework ApplicationServices -framework vecLib
-
-##############################################
-
-ifdef DEBUG
-CFLAGS += -g
-LDFLAGS += -g
-else
-ifdef PROFILE
-CFLAGS += -g
-LDFLAGS += -g
-else
-LDFLAGS += -Wl,-S
-endif
-endif
-
-##############################################
-
-ifdef STK_INC
-INCPATH += -I$(STK_INC)
-endif
-ifdef STK_LIB
-LIBS += $(STK_LIB)
-endif
-
-##############################################
-
-ifdef SNDOBJ_INC
-INCPATH += -I$(SNDOBJ_INC)
-endif
-ifdef SNDOBJ_LIB
-LIBS += $(SNDOBJ_LIB)
-endif
-
-##############################################
-
-LDFLAGS += $(patsubst %,-arch %,$(ARCH))
-
-ifdef OSXSDK
-CFLAGS += -isysroot $(OSXSDK)
-LDFLAGS += -isysroot $(OSXSDK)
-endif
diff --git a/externals/grill/flext/buildsys/mac/max/config-gcc.def b/externals/grill/flext/buildsys/mac/max/config-gcc.def
deleted file mode 100644
index cec5b624..00000000
--- a/externals/grill/flext/buildsys/mac/max/config-gcc.def
+++ /dev/null
@@ -1,75 +0,0 @@
-# where are the Max/MSP SDK header files?
-# you should have the latest version!
-MAXSDKPATH=/Applications/MaxMSP\ 4.6/MaxMSP-SDK/c74support
-
-###############################################################
-
-# prefix for flext installation
-# headers are in $(FLEXTPREFIX)/include/flext
-# libraries are in $(FLEXTPREFIX)/lib
-# build system is in $(FLEXTPREFIX)/lib/flext
-
-FLEXTPREFIX=/usr/local
-
-###############################################################
-
-# where should the external be built?
-OUTPATH=max-darwin
-
-# where should the external be installed?
-INSTPATH=/Library/Application\ Support/Cycling\ \'74/externals/flext
-
-# where should the initialization files be installed?
-INITPATH=/Library/Application\ Support/Cycling\ \'74/init
-
-# where should the help files be installed?
-HELPPATH=/Applications/MaxMSP\ 4.6/max-help/flext
-
-###############################################################
-
-# STK (synthesis tool kit) support
-# http://ccrma.stanford.edu/software/stk
-
-# where to find the STK header files (e.g. stk.h)
-STK_INC=/usr/local/include/stk
-
-# where to find the STK library (normally libstk.a)
-# (comment out STK_LIB if you don't use STK)
-#STK_LIB=/usr/local/lib/libstk.a
-
-###############################################################
-
-# SndObj support
-# http://music.nuim.ie//musictec/SndObj
-
-# where to find the SndObj header files (e.g. sndobj.h)
-SNDOBJ_INC=/usr/local/include/sndobj
-
-# where to find the SndObj library (normally libsndobj.a)
-# (comment out STK_LIB if you don't use SndObj)
-#SNDOBJ_LIB=/usr/local/lib/libsndobj.a
-
-###############################################################
-
-# user defined compiler flags
-UFLAGS += -ffast-math
-
-# user defined optimization flags
-OFLAGS += -Os -ftree-vectorize
-
-# user defined debugging flags
-DFLAGS +=
-
-# architecture-specific flags (optional)
-UFLAGS_ppc += -maltivec -faltivec
-OFLAGS_ppc += -mtune=G4
-DFLAGS_ppc +=
-
-UFLAGS_i386 += -mmmx -msse -msse2 -msse3
-OFLAGS_i386 += -mtune=prescott
-DFLAGS_i386 +=
-
-# cross-compilation (optional)
-#ARCH=i386 ppc
-#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk
-
diff --git a/externals/grill/flext/buildsys/mac/max/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/mac/max/gnumake-gcc-ext.inc
deleted file mode 100644
index 5266a698..00000000
--- a/externals/grill/flext/buildsys/mac/max/gnumake-gcc-ext.inc
+++ /dev/null
@@ -1,23 +0,0 @@
-EXT=mxo
-
-##############################################
-
-LDFLAGS += -bundle
-
-##############################################
-
-OBJPATH=$(OUTPATH)/$(OUTSUB)
-
-# bundle name (build site)
-INSTTARGET=$(OBJPATH)/$(OUTNAME).$(EXT)
-# folder inside bundle (build site)
-TARGETPATH=$(INSTTARGET)/Contents/MacOS
-# file inside bundle (build site)
-TARGET=$(TARGETPATH)/$(OUTNAME)
-
-# post build target
-TARGETPOST=$(INSTTARGET)/Contents/Pkginfo
-
-$(INSTTARGET)/Contents/Pkginfo:
- echo "iLaX????" >> $@
-
diff --git a/externals/grill/flext/buildsys/mac/max/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/max/gnumake-gcc-flext.inc
deleted file mode 100644
index 3d526804..00000000
--- a/externals/grill/flext/buildsys/mac/max/gnumake-gcc-flext.inc
+++ /dev/null
@@ -1,20 +0,0 @@
-ifdef SHARED
-EXT=dylib
-else
-EXT=a
-endif
-
-##############################################
-
-LDFLAGS += -dynamiclib
-
-##############################################
-
-OBJPATH=$(OUTPATH)/$(OUTSUB)
-TARGETPATH=$(OBJPATH)
-
-TARGETNAME=$(OUTNAME).$(EXT)
-VERNAME=$(OUTNAME).$(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO).$(EXT)
-TARGET=$(TARGETPATH)/$(VERNAME)
-
-INSTTARGET=$(TARGET)
diff --git a/externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc b/externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc
deleted file mode 100644
index 44313f62..00000000
--- a/externals/grill/flext/buildsys/mac/max/gnumake-gcc.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-DEFS += -DFLEXT_SYS=1
-
-INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes
-
-LDFLAGS += -framework MaxAPI -framework MaxAudioAPI
-
diff --git a/externals/grill/flext/buildsys/mac/pd/config-gcc.def b/externals/grill/flext/buildsys/mac/pd/config-gcc.def
deleted file mode 100644
index a724b2e4..00000000
--- a/externals/grill/flext/buildsys/mac/pd/config-gcc.def
+++ /dev/null
@@ -1,72 +0,0 @@
-# where is the PD installation including source code?
-# (this should point to the main folder, which has a "src" subfolder)
-PDPATH=/Applications/Pd-0.40-2.app/Contents/Resources
-
-# where is the PD executable?
-PDBIN=$(PDPATH)/bin/pd
-
-###############################################################
-
-# prefix for flext installation
-# headers are in $(FLEXTPREFIX)/include/flext
-# libraries are in $(FLEXTPREFIX)/lib
-# build system is in $(FLEXTPREFIX)/lib/flext
-
-FLEXTPREFIX=/usr/local
-
-###############################################################
-
-# where should the external be built?
-OUTPATH=pd-darwin
-
-# where should the external be installed?
-INSTPATH=$(PDPATH)/extra
-
-###############################################################
-
-# STK (synthesis tool kit) support
-# http://ccrma.stanford.edu/software/stk
-
-# where to find the STK header files (e.g. stk.h)
-STK_INC=/usr/local/include/stk
-
-# where to find the STK library (normally libstk.a)
-# (comment out STK_LIB if you don't use STK)
-#STK_LIB=/usr/local/lib/libstk.a
-
-###############################################################
-
-# SndObj support
-# http://music.nuim.ie//musictec/SndObj
-
-# where to find the SndObj header files (e.g. sndobj.h)
-SNDOBJ_INC=/usr/local/include/sndobj
-
-# where to find the SndObj library (normally libsndobj.a)
-# (comment out STK_LIB if you don't use SndObj)
-#SNDOBJ_LIB=/usr/local/lib/libsndobj.a
-
-###############################################################
-
-# user defined compiler flags
-UFLAGS += -ffast-math
-
-# user defined optimization flags
-OFLAGS += -Os -ftree-vectorize
-
-# user defined debugging flags
-DFLAGS +=
-
-# architecture-specific flags (optional)
-UFLAGS_ppc += -maltivec -faltivec
-OFLAGS_ppc += -mtune=G4
-DFLAGS_ppc +=
-
-UFLAGS_i386 += -mmmx -msse -msse2 -msse3
-OFLAGS_i386 += -mtune=prescott
-DFLAGS_i386 +=
-
-# cross-compilation (optional)
-#ARCH=i386 ppc
-#OSXSDK=/Developer/SDKs/MacOSX10.4u.sdk
-
diff --git a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc
deleted file mode 100644
index 5eb0a234..00000000
--- a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-ext.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-EXT=pd_darwin
-
-LDFLAGS += -bundle -bundle_loader $(PDBIN)
-
-# it seems we are having symbol name clashes with the following "new preferred method"
-# so we rather stick to the above "deprecated method"
-#LDFLAGS += -dynamiclib -undefined dynamic_lookup
-
-TARGET=$(TARGETPATH)/$(TARGETNAME)
-INSTTARGET=$(TARGET)
diff --git a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-flext.inc
deleted file mode 100644
index 782606fc..00000000
--- a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc-flext.inc
+++ /dev/null
@@ -1,11 +0,0 @@
-ifdef SHARED
-EXT=dylib
-else
-EXT=a
-endif
-
-LDFLAGS += -dynamiclib -flat_namespace -undefined suppress
-
-VERNAME=$(OUTNAME).$(FLEXTMAJOR).$(FLEXTMINOR).$(FLEXTMICRO).$(EXT)
-TARGET=$(TARGETPATH)/$(VERNAME)
-INSTTARGET=$(TARGET)
diff --git a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc.inc b/externals/grill/flext/buildsys/mac/pd/gnumake-gcc.inc
deleted file mode 100644
index 9d2fc3f3..00000000
--- a/externals/grill/flext/buildsys/mac/pd/gnumake-gcc.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFS += -DFLEXT_SYS=2 -DPD
-
-INCPATH += -I$(PDPATH)/src
-LIBPATH += -L$(PDPATH)/bin
-
-##############################################
-
-OBJPATH=$(OUTPATH)/$(OUTSUB)
-TARGETPATH=$(OBJPATH)
-TARGETNAME=$(OUTNAME).$(EXT)
diff --git a/externals/grill/flext/buildsys/nmake-ext.inc b/externals/grill/flext/buildsys/nmake-ext.inc
deleted file mode 100644
index 1455c83e..00000000
--- a/externals/grill/flext/buildsys/nmake-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-OUTNAME=$(NAME)
diff --git a/externals/grill/flext/buildsys/nmake-flext.inc b/externals/grill/flext/buildsys/nmake-flext.inc
deleted file mode 100644
index 2e7faf0c..00000000
--- a/externals/grill/flext/buildsys/nmake-flext.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-DEFS=$(DEFS) /DFLEXT_EXPORTS
-
-OUTNAME=$(FLEXTNAME)
diff --git a/externals/grill/flext/buildsys/nmake-shlib.inc b/externals/grill/flext/buildsys/nmake-shlib.inc
deleted file mode 100644
index 1455c83e..00000000
--- a/externals/grill/flext/buildsys/nmake-shlib.inc
+++ /dev/null
@@ -1 +0,0 @@
-OUTNAME=$(NAME)
diff --git a/externals/grill/flext/buildsys/nmake-sub.mak b/externals/grill/flext/buildsys/nmake-sub.mak
deleted file mode 100644
index c8b78044..00000000
--- a/externals/grill/flext/buildsys/nmake-sub.mak
+++ /dev/null
@@ -1,44 +0,0 @@
-# include flext version number
-!include $(BUILDPATH)version.inc
-
-# general settings
-!include $(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-
-##############################
-# project-specific definitions
-
-# package info
-!if "$(PKGINFO)" != ""
-!include $(PKGINFO)
-!endif
-
-# special package settings
-!ifdef USRCONFIG
-!include $(USRCONFIG)
-!endif
-
-# package specific make stuff
-!ifdef USRMAKE
-!include $(USRMAKE)
-!endif
-
-##############################
-# flext-specific definitions
-
-!include $(BUILDPATH)nmake.inc
-
-!include $(BUILDPATH)nmake-$(BUILDCLASS).inc
-
-##############################
-# platform-specific make stuff
-
-!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\nmake-$(COMPILER).inc
-
-!include $(BUILDPATH)$(PLATFORM)\$(RTSYS)\nmake-$(COMPILER)-$(BUILDCLASS).inc
-
-##############################
-# general make stuff
-
-!include $(BUILDPATH)$(PLATFORM)\nmake-$(COMPILER).inc
-
-!include $(BUILDPATH)$(PLATFORM)\nmake-$(COMPILER)-$(BUILDCLASS).inc
diff --git a/externals/grill/flext/buildsys/nmake.inc b/externals/grill/flext/buildsys/nmake.inc
deleted file mode 100644
index fd1bb50d..00000000
--- a/externals/grill/flext/buildsys/nmake.inc
+++ /dev/null
@@ -1,64 +0,0 @@
-##############################################
-# flext defines
-##############################################
-
-CFLAGS=$(CFLAGS) $(UFLAGS)
-
-!ifdef DEBUG
-CFLAGS=$(CFLAGS) /D_DEBUG $(DFLAGS)
-!else
-CFLAGS=$(CFLAGS) /DNDEBUG $(OFLAGS)
-!endif
-
-
-!ifdef SHARED
-# --- shared ---
-DEFS=$(DEFS) /DFLEXT_SHARED
-
-!elseifdef THREADED
-# --- static multi-threaded ---
-DEFS=$(DEFS) /DFLEXT_THREADS
-
-!else
-# --- static single-threaded ---
-
-!endif
-
-##############################################
-# name of flext library
-##############################################
-
-!ifdef SHARED
-TYPEEXT=_
-!else
-!ifdef THREADED
-TYPEEXT=_t
-!else
-TYPEEXT=_s
-!endif
-!endif
-
-!ifdef DEBUG
-MODEEXT=d
-!else
-!ifdef PROFILE
-MODEEXT=p
-!else
-MODEEXT=
-!ifdef SHARED
-TYPEEXT=
-!endif
-!endif
-!endif
-
-FLEXTNAME=flext-$(RTSYS)$(TYPEEXT)$(MODEEXT)
-
-##############################################
-# product name and folder
-##############################################
-
-!ifndef SRCDIR
-SRCDIR=.
-!endif
-
-OUTSUB=$(TARGETMODE)-$(TARGETTYPE)
diff --git a/externals/grill/flext/buildsys/nmake.mak b/externals/grill/flext/buildsys/nmake.mak
deleted file mode 100644
index 3e946de0..00000000
--- a/externals/grill/flext/buildsys/nmake.mak
+++ /dev/null
@@ -1,110 +0,0 @@
-# required settings:
-#
-# PLATFORM - win/mac/lnx
-# RTSYS - pd/max
-# COMPILER - msvc/gcc/mingw/cygwin
-# BUILDPATH including trailing \
-
-###############################################
-# package info
-
-!ifndef PKGINFO
-PKGINFO=package.txt
-!endif
-
-!if "$(PKGINFO)" != ""
-!include $(PKGINFO)
-!endif
-
-!ifndef NAME
-!error NAME variable must be defined (name of target)
-!endif
-
-!ifndef SRCS
-!error SRCS variable must be defined (list of source files)
-!endif
-
-###############################################
-# check variables
-
-!ifndef BUILDCLASS
-BUILDCLASS=ext
-!endif
-
-!ifndef BUILDMODE
-BUILDMODE=release
-!endif
-
-!ifndef BUILDTYPE
-BUILDTYPE=single
-!endif
-
-##############################
-
-#!ifndef TARGETMODE
-#TARGETMODE=$(BUILDMODE)
-#!endif
-
-#!ifndef TARGETTYPE
-#TARGETTYPE=$(BUILDTYPE)
-#!endif
-
-###############################################
-
-SYSCONFIG=$(BUILDPATH)config-$(PLATFORM)-$(RTSYS)-$(COMPILER).txt
-SYSDEFAULT=$(BUILDPATH)$(PLATFORM)\$(RTSYS)\config-$(COMPILER).def
-
-OPTIONS=/NOLOGO /f $(BUILDPATH)nmake-sub.mak \
- PLATFORM=$(PLATFORM) RTSYS=$(RTSYS) COMPILER=$(COMPILER) \
- BUILDPATH=$(BUILDPATH) PKGINFO=$(PKGINFO) BUILDCLASS=$(BUILDCLASS)
-
-###############################################
-
-!ifdef BUILDDIR
-USRCONFIG=config.txt
-USRDEFAULT=$(BUILDDIR)\config-$(PLATFORM).def
-
-USRMAKE=$(BUILDDIR)\nmake-$(PLATFORM)-$(COMPILER).inc
-
-OPTIONS=$(OPTIONS) USRCONFIG=$(USRCONFIG) USRMAKE=$(USRMAKE)
-!endif
-
-###############################################
-# include file describing default target dependencies
-
-!include $(BUILDPATH)targets.inc
-
-!include $(BUILDPATH)targets-$(BUILDCLASS).inc
-
-###############################################
-
-.precious: $(SYSCONFIG) $(USRCONFIG)
-
-$(SYSCONFIG): $(SYSDEFAULT)
- @copy $** $@
- @echo -------------------------------------------------------------------------
- @echo A default system configuration file has been created.
- @echo Please edit $(SYSCONFIG)
- @echo to match your platform and start again.
- @echo -------------------------------------------------------------------------
- @exit 1
-
-!ifdef BUILDDIR
-$(USRCONFIG): $(USRDEFAULT)
- @copy $** $@
- @echo -------------------------------------------------------------------------
- @echo A default package configuration file has been created.
- @echo Please edit $(USRCONFIG) and start again.
- @echo -------------------------------------------------------------------------
- @exit 1
-
-$(USRDEFAULT) $(USRMAKE):
- @echo -------------------------------------------------------------------------
- @echo Your combination of platform, system and compiler is not supported yet.
- @echo Required files:
- @echo $(USRDEFAULT)
- @echo and
- @echo $(USRMAKE)
- @echo -------------------------------------------------------------------------
- @exit 1
-!endif
diff --git a/externals/grill/flext/buildsys/readme.txt b/externals/grill/flext/buildsys/readme.txt
deleted file mode 100644
index 4fa74ad4..00000000
--- a/externals/grill/flext/buildsys/readme.txt
+++ /dev/null
@@ -1,180 +0,0 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-----------------------------------------------------------------------------
-
-At the moment this is more like a sketchboard, but i'll promise to bring some
-order into it some fine day in the not too distant future.
-
-----------------------------------------------------------------------------
-
-Build scripts
-=============
-
-Depending on platform the build process is run with
-build.sh
-or
-build.bat
-
-
-Arguments: PLATFORM SYSTEM COMPILER {TARGET} {definitions}
-
-PLATFORM: win / lnx / mac
-SYSTEM: pd / max
-COMPILER: msvc / gcc / mingw / cygwin / bcc / icc
-
-TARGET: (default is all)
- all, build - build package in default style
- install - install package
- clean - clean build products
-
- config - test if configuration needs refreshing
-
-or
- build-MODE-TYPE
- install-MODE-TYPE
- clean-MODE-TYPE
-
-with
- MODE: default, all, release, debug, profile
- TYPE: default, all, single, multi, shared
-
-
-Additional definitions can be passed to the make program
-like
- "PKGINFO=info.txt" (defines new filename for package information)
-or
- "PKGINFO=" (package information will be skipped - only for config target)
-
-For more macro names, see below
-
-
-For each of the supported combinations of PLATFORM, SYSTEM and COMPILER
-a MAKE program has been chosen, normally the one that comes with the compiler.
-
-For gcc it is GNU make (gnumake)
-For msvc it is Microsoft make (nmake)
-For bcc it is Borland make (bmake)
-
-
-
-Package info (package.txt)
-==========================
-
-Package information contains vital information for the build process.
-Obligatory are only:
-
-NAME: resulting filename of the build product
-SRCS: list of source files
-
-
-Normally also used are:
-
-HDRS: used header files, which SRCS files are dependent upon
-SRCDIR: source folder (relative to project folder), default is .
-
-
-Other settings:
-
-PRECOMPILE: prefix header file (in SRCDIR) for all source files,
- will be precompiled if supported by the compiler
-
-BUILDCLASS: can currently be flext or ext, default is ext.
- flext will build the flext system
- ext will build a flext-based external
-
-BUILDMODE: release or debug, default is release
- if release, optimization flags will be used
- if debug, debug information will be generated
- if profile, profiling information will be generated (with debug info and optimization)
-
-BUILDTYPE: single, multi or shared, default is single
- if single, it will be linked against the single-threaded static flext library
- if multi, it will be linked against the multi-threaded static flext library
- if shared, it will be linked against the shared flext library
-
-BUILDDIR: relative folder with additional build settings
-
-
-
-Additional build settings (BUILDDIR)
-====================================
-
-If BUILDDIR is defined, all PLATFORM-SYSTEM-COMPILER combinations to support
-must are mirrored by the respective .def and .inc files in the BUILDDIR.
-
-
-config-PLATFORM.def files (e.g. config-lnx.def) :
-
- These files can contain additional macro definitions, that are private
- to the project.
- The definitions should be strictly in the form SETTING=value, without any
- make-specific macros etc.
- The .def files work as templates that get copied to a user-editable
- config.txt file when the build process is first started.
-
-
-MAKE-PLATFORM-COMPILER.inc files
-(e.g. gnumake-lnx-gcc.inc or nmake-win-msvc.inc):
-
- These files (which are no considered to be edited by the user) can contain
- specific modifications to compiler flags, include file paths etc.
-
- For gnumake this would e.g. be
- INCPATH += -I/usr/local/include/python2.3
-
- for nmake or bmake e.g.
- INCPATH = $(INCPATH) -I"c:\program files\Python2.3\include"
-
-
-Structure of build system
-=========================
-
-The build system has several levels of information, which are evaluated in the
-following order (see also buildsys/MAKE-sub.mak)
-
-Project level:
-- PKGINFO file (e.g. package.txt)
-- USRCONFIG file (e.g. config.txt)
-- USRMAKE file (e.g. build/gnumake-lnx-gcc.inc)
-
-General definitions (in buildsys):
-
-- MAKE.inc (e.g. buildsys/gnumake.inc)
- contains evaluation of flext library name, build directory etc.
-- MAKE-BUILDCLASS.inc (e.g. buildsys/gnumake-ext.inc)
- contains some more flag settings
-
-Real-time-system-dependent definitions (in buildsys/PLATFORM/SYSTEM):
-
-- MAKE-COMPILER.inc (e.g. buildsys/lnx/pd/gnumake-gcc.inc)
- contains general real-time-system dependent info (e.g. paths, FLEXT_SYS setting)
-- MAKE-COMPILER-BUILDCLASS.inc (e.g. buildsys/lnx/pd/gnumake-gcc-ext.inc)
- contains specific real-time-system dependent info (e.g. extension of binary)
-
-Platform-dependent definitions (in buildsys/PLATFORM):
-
-- MAKE-COMPILER.inc (e.g. buildsys/lnx/gnumake-gcc.inc)
- contains general platform-specific flags
-- MAKE-COMPILER-BUILDCLASS.inc (e.g. buildsys/lnx/gnumake-gcc-ext.inc)
- contains the actual make targets (_build_,_clean_ and _install_)
-
-
-Macro names
-===============
-
-PKGINFO - filename for package information (must reside in project folder)
-
-UFLAGS - user defined compiler flags
-OFLAGS - user defined optimization flags (not used in debug builds)
-
-CFLAGS - compiler flags
-LDFLAGS - linker flags
-
-INCPATH - include file path (must come with e.g. -I )
-LIBPATH - library path (must come with e.g. -L )
-
-LIBS - libraries to link in (must come with e.g. -l )
diff --git a/externals/grill/flext/buildsys/targets-ext.inc b/externals/grill/flext/buildsys/targets-ext.inc
deleted file mode 100644
index b8031522..00000000
--- a/externals/grill/flext/buildsys/targets-ext.inc
+++ /dev/null
@@ -1,51 +0,0 @@
-build-default-default: build-$(BUILDMODE)-$(BUILDTYPE)
-
-build-all-default: build-all-$(BUILDTYPE)
-
-build-release-default: build-release-$(BUILDTYPE)
-
-build-debug-default: build-debug-$(BUILDTYPE)
-
-build-profile-default: build-profile-$(BUILDTYPE)
-
-build-default-all: build-$(BUILDMODE)-all
-
-build-default-single: build-$(BUILDMODE)-single
-
-build-default-multi: build-$(BUILDMODE)-multi
-
-build-default-shared: build-$(BUILDMODE)-shared
-
-
-install-default-default: install-$(BUILDMODE)-$(BUILDTYPE)
-
-install-all-default: install-all-$(BUILDTYPE)
-
-install-release-default: install-release-$(BUILDTYPE)
-
-install-debug-default: install-debug-$(BUILDTYPE)
-
-install-default-all: install-$(BUILDMODE)-all
-
-install-default-single: install-$(BUILDMODE)-single
-
-install-default-multi: install-$(BUILDMODE)-multi
-
-install-default-shared: install-$(BUILDMODE)-shared
-
-
-clean-default-default: clean-$(BUILDMODE)-$(BUILDTYPE)
-
-clean-all-default: clean-all-$(BUILDTYPE)
-
-clean-release-default: clean-release-$(BUILDTYPE)
-
-clean-debug-default: clean-debug-$(BUILDTYPE)
-
-clean-default-all: clean-$(BUILDMODE)-all
-
-clean-default-single: clean-$(BUILDMODE)-single
-
-clean-default-multi: clean-$(BUILDMODE)-multi
-
-clean-default-shared: clean-$(BUILDMODE)-shared
diff --git a/externals/grill/flext/buildsys/targets-flext.inc b/externals/grill/flext/buildsys/targets-flext.inc
deleted file mode 100644
index e0e984cf..00000000
--- a/externals/grill/flext/buildsys/targets-flext.inc
+++ /dev/null
@@ -1,52 +0,0 @@
-build-default-default: build-all-all
-
-build-all-default: build-all-all
-
-build-release-default: build-release-all
-
-build-debug-default: build-debug-all
-
-build-profile-default: build-profile-all
-
-build-default-all: build-all-all
-
-build-default-single: build-all-single
-
-build-default-multi: build-all-multi
-
-build-default-shared: build-all-shared
-
-
-install-default-default: install-all-all
-
-install-all-default: install-all-all
-
-install-release-default: install-release-all
-
-install-debug-default: install-debug-all
-
-install-default-all: install-all-all
-
-install-default-single: install-all-single
-
-install-default-multi: install-all-multi
-
-install-default-shared: install-all-shared
-
-
-clean-default-default: clean-all-all
-
-clean-all-default: clean-all-all
-
-clean-release-default: clean-release-all
-
-clean-debug-default: clean-debug-all
-
-clean-default-all: clean-all-all
-
-clean-default-single: clean-all-single
-
-clean-default-multi: clean-all-multi
-
-clean-default-shared: clean-all-shared
-
diff --git a/externals/grill/flext/buildsys/targets-shlib.inc b/externals/grill/flext/buildsys/targets-shlib.inc
deleted file mode 100644
index b8031522..00000000
--- a/externals/grill/flext/buildsys/targets-shlib.inc
+++ /dev/null
@@ -1,51 +0,0 @@
-build-default-default: build-$(BUILDMODE)-$(BUILDTYPE)
-
-build-all-default: build-all-$(BUILDTYPE)
-
-build-release-default: build-release-$(BUILDTYPE)
-
-build-debug-default: build-debug-$(BUILDTYPE)
-
-build-profile-default: build-profile-$(BUILDTYPE)
-
-build-default-all: build-$(BUILDMODE)-all
-
-build-default-single: build-$(BUILDMODE)-single
-
-build-default-multi: build-$(BUILDMODE)-multi
-
-build-default-shared: build-$(BUILDMODE)-shared
-
-
-install-default-default: install-$(BUILDMODE)-$(BUILDTYPE)
-
-install-all-default: install-all-$(BUILDTYPE)
-
-install-release-default: install-release-$(BUILDTYPE)
-
-install-debug-default: install-debug-$(BUILDTYPE)
-
-install-default-all: install-$(BUILDMODE)-all
-
-install-default-single: install-$(BUILDMODE)-single
-
-install-default-multi: install-$(BUILDMODE)-multi
-
-install-default-shared: install-$(BUILDMODE)-shared
-
-
-clean-default-default: clean-$(BUILDMODE)-$(BUILDTYPE)
-
-clean-all-default: clean-all-$(BUILDTYPE)
-
-clean-release-default: clean-release-$(BUILDTYPE)
-
-clean-debug-default: clean-debug-$(BUILDTYPE)
-
-clean-default-all: clean-$(BUILDMODE)-all
-
-clean-default-single: clean-$(BUILDMODE)-single
-
-clean-default-multi: clean-$(BUILDMODE)-multi
-
-clean-default-shared: clean-$(BUILDMODE)-shared
diff --git a/externals/grill/flext/buildsys/targets.inc b/externals/grill/flext/buildsys/targets.inc
deleted file mode 100644
index 1c901410..00000000
--- a/externals/grill/flext/buildsys/targets.inc
+++ /dev/null
@@ -1,148 +0,0 @@
-all: build
-
-build: build-default-default
-
-profile: build-profile-default
-
-clean: clean-default-default
-
-install: install-default-default
-
-###########################################################
-
-build-all-all: build-release-all build-debug-all
-
-build-release-all: build-release-single build-release-multi build-release-shared
-
-build-debug-all: build-debug-single build-debug-multi build-debug-shared
-
-build-profile-all: build-profile-single build-profile-multi build-profile-shared
-
-build-all-single: build-release-single build-debug-single
-
-build-all-multi: build-release-multi build-debug-multi
-
-build-all-shared: build-release-shared build-debug-shared
-
-###################################################
-
-install-all-all: install-release-all install-debug-all
-
-install-release-all: install-release-single install-release-multi install-release-shared
-
-install-debug-all: install-debug-single install-debug-multi install-debug-shared
-
-install-profile-all: install-profile-single install-profile-multi install-profile-shared
-
-install-all-single: install-release-single install-debug-single
-
-install-all-multi: install-release-multi install-debug-multi
-
-install-all-shared: install-release-shared install-debug-shared
-
-###################################################
-
-clean-all-all: clean-release-all clean-debug-all
-
-clean-release-all: clean-release-single clean-release-multi clean-release-shared
-
-clean-debug-all: clean-debug-single clean-debug-multi clean-debug-shared
-
-clean-profile-all: clean-profile-single clean-profile-multi clean-profile-shared
-
-clean-all-single: clean-release-single clean-debug-single
-
-clean-all-multi: clean-release-multi clean-debug-multi
-
-clean-all-shared: clean-release-shared clean-debug-shared
-
-###########################################################
-
-build-release-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=single _build_
-
-build-debug-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _build_
-
-build-profile-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _build_
-
-build-release-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _build_
-
-build-debug-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _build_
-
-build-profile-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _build_
-
-build-release-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _build_
-
-build-debug-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _build_
-
-build-profile-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _build_
-
-###########################################################
-
-install-release-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=single _install_
-
-install-debug-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _install_
-
-install-profile-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _install_
-
-install-release-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _install_
-
-install-debug-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _install_
-
-install-profile-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _install_
-
-install-release-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _install_
-
-install-debug-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _install_
-
-install-profile-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _install_
-
-###########################################################
-
-clean-release-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=single _clean_
-
-clean-debug-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=single DEBUG=1 _clean_
-
-clean-profile-single: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=single PROFILE=1 _clean_
-
-clean-release-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=multi THREADED=1 _clean_
-
-clean-debug-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=multi THREADED=1 DEBUG=1 _clean_
-
-clean-profile-multi: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=multi THREADED=1 PROFILE=1 _clean_
-
-clean-release-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=release TARGETTYPE=shared SHARED=1 _clean_
-
-clean-debug-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=debug TARGETTYPE=shared SHARED=1 DEBUG=1 _clean_
-
-clean-profile-shared: config
- $(MAKE) $(OPTIONS) TARGETMODE=profile TARGETTYPE=shared SHARED=1 PROFILE=1 _clean_
-
-###########################################################
-
-config: $(USRMAKE) $(SYSCONFIG) $(USRCONFIG)
diff --git a/externals/grill/flext/buildsys/version.inc b/externals/grill/flext/buildsys/version.inc
deleted file mode 100644
index c91ea283..00000000
--- a/externals/grill/flext/buildsys/version.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-FLEXTMAJOR=0
-FLEXTMINOR=5
-FLEXTMICRO=1
diff --git a/externals/grill/flext/buildsys/win/bmake-bcc-ext.inc b/externals/grill/flext/buildsys/win/bmake-bcc-ext.inc
deleted file mode 100644
index ff26dc12..00000000
--- a/externals/grill/flext/buildsys/win/bmake-bcc-ext.inc
+++ /dev/null
@@ -1,53 +0,0 @@
-# build class specific settings
-
-INCPATH=$(INCPATH) -I$(FLEXTINC)
-LIBPATH=$(LIBPATH) -L$(FLEXTLIB)
-LIBS=$(LIBS) $(FLEXTNAME).lib
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(OUTPATH):
- if not exist $@ mkdir $@ > nul
-
-$(TARGETPATH): $(OUTPATH)
- if not exist $@ mkdir $@ > nul
-
-SETUPFUNCTION=$(NAME)_setup
-
-$(TARGETPATH)\$(NAME).def: $(TARGETPATH)
- @echo EXPORTS $(SETUPFUNCTION) = _$(SETUPFUNCTION) > $@
-# this next line fixes a strange problem with implib - lacking underscore?!
- @echo IMPORTS _rtext_retext=PD.rtext_retext >> $@
-
-$(TARGET) :: $(TARGETPATH)\$(NAME).def
-
-{$(SRCDIR)}.cpp{}.obj:
- bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
-
-{$(SRCDIR)}.c{}.obj:
- bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
-
-$(TARGET) :: $(TARGETPATH)
-
-$(TARGET) :: $(OBJS)
- @cd $(TARGETPATH)
- ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS),$(NAME).def
- @cd ..\..
-
-##############################################
-# remove build
-
-_clean_:
- -del /q $(TARGETPATH)\*.* > nul
- -rmdir /q $(TARGETPATH) > nul
-
-##############################################
-
-$(INSTPATH):
- if not exist $@ mkdir $@ > nul
-
-_install_: $(INSTPATH)
- copy $(TARGET) $(INSTPATH) > nul
diff --git a/externals/grill/flext/buildsys/win/bmake-bcc-flext.inc b/externals/grill/flext/buildsys/win/bmake-bcc-flext.inc
deleted file mode 100644
index 0d82065e..00000000
--- a/externals/grill/flext/buildsys/win/bmake-bcc-flext.inc
+++ /dev/null
@@ -1,70 +0,0 @@
-# build class specific settings
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(OUTPATH):
- if not exist $@ mkdir $@ > nul
-
-$(TARGETPATH): $(OUTPATH)
- if not exist $@ mkdir $@ > nul
-
-{$(SRCDIR)}.cpp{}.obj:
- bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
-
-{$(SRCDIR)}.c{}.obj:
- bcc32 -c $(CFLAGS) $(DEFS) $(INCPATH) -n$(TARGETPATH) $<
-
-
-$(TARGETPATH)\pd.lib : $(PDPATH)\bin\pd.dll
- implib -a $< $**
-
-$(TARGETPATH)\pthreadVC.lib : $(PDPATH)\bin\pthreadVC.dll
- implib -a $< $**
-
-PDTARGETS=$(TARGETPATH)\pd.lib $(TARGETPATH)\pthreadVC.lib
-
-
-$(TARGET) :: $(TARGETPATH) $(PDTARGETS)
-
-$(TARGET) :: $(OBJS)
- @cd $(TARGETPATH)
-!ifdef SHARED
- ilink32 $(LDFLAGS) $(LIBPATH) -L. $(OBJS) ,$(<F),,$(LIBS)
- implib -a $(<B).lib $(<F)
-!else
- -del $(<F)
- tlib "$(<F)" +$(OBJS: = +)
-!endif
- @cd ..\..
-
-##############################################
-
-_clean_:
- -del /q $(TARGETPATH)\*.* > nul
- -rmdir /q $(TARGETPATH) > nul
-
-##############################################
-
-!ifdef SHARED
-FLEXTLIBINST=$(FLEXTSHLIB)
-!else
-FLEXTLIBINST=$(FLEXTLIB)
-!endif
-
-_install_:
- @if not exist $(FLEXTINC) mkdir $(FLEXTINC) > nul
- @if not exist $(FLEXTLIB) mkdir $(FLEXTLIB) > nul
- @if not exist $(FLEXTLIBINST) mkdir $(FLEXTLIBINST) > nul
-
- copy $(TARGET) $(FLEXTLIBINST) > nul
-!ifdef SHARED
-# copy import library
- copy $(TARGET:.dll=.lib) $(FLEXTLIB) > nul
-!endif
-# copy headers
- for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(FLEXTINC) > nul
-# copy import libraries
- for %%i in ($(PDTARGETS)) do @copy %%i $(FLEXTLIB) > nul
diff --git a/externals/grill/flext/buildsys/win/bmake-bcc.inc b/externals/grill/flext/buildsys/win/bmake-bcc.inc
deleted file mode 100644
index 67ce16f0..00000000
--- a/externals/grill/flext/buildsys/win/bmake-bcc.inc
+++ /dev/null
@@ -1,36 +0,0 @@
-!ifdef BCCPATH
-INCPATH=$(INCPATH) -I$(BCCPATH)\include
-LIBPATH=$(LIBPATH) -L$(BCCPATH)\lib
-!endif
-
-##############################################
-
-OBJPATH=$(OUTPATH)\$(OUTSUB)
-TARGETPATH=$(OBJPATH)
-TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
-
-##############################################
-# use precompiled headers
-
-!ifdef PRECOMPILE
-CFLAGS=$(CFLAGS) -Hh=$(PRECOMPILE) -H=$(OBJPATH)\precompiled.pch
-!endif
-
-##############################################
-
-LIBS=$(LIBS) cw32.lib import32.lib C0D32.OBJ
-CFLAGS=$(CFLAGS) -tWD -tWM -w-8004 -w-8027 -w-8057
-LDFLAGS=$(LDFLAGS) /C /Tpd
-
-##############################################
-
-!ifdef DEBUG
-CFLAGS=$(CFLAGS) -v
-LDFLAGS=$(LDFLAGS) /v
-!endif
-
-##############################################
-# convert both *.c and *.cpp
-
-OBJSTMP= $(SRCS:.c=.obj)
-OBJS= $(OBJSTMP:.objpp=.obj)
diff --git a/externals/grill/flext/buildsys/win/gnumake-cygwin-ext.inc b/externals/grill/flext/buildsys/win/gnumake-cygwin-ext.inc
deleted file mode 100644
index 141d5093..00000000
--- a/externals/grill/flext/buildsys/win/gnumake-cygwin-ext.inc
+++ /dev/null
@@ -1,42 +0,0 @@
-# build class specific settings
-
-INCPATH += -I$(FLEXTINC)
-LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB)
-LIBS += -l$(FLEXTNAME)
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-$(TARGETPATH):
- -mkdir -p $@
-
-$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGET) :: $(TARGETPATH)
-
-$(TARGET) :: $(COBJS) $(CPPOBJS)
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS)
- strip --strip-unneeded $@
- chmod 755 $@
-
-##############################################
-
-_clean_:
- rm $(COBJS) $(CPPOBJS) $(TARGET)
-
-##############################################
-
-$(INSTPATH):
- -mkdir -p $(INSTPATH)
-
-_install_: $(INSTPATH)
- install $(TARGET) $(INSTPATH)
diff --git a/externals/grill/flext/buildsys/win/gnumake-cygwin-flext.inc b/externals/grill/flext/buildsys/win/gnumake-cygwin-flext.inc
deleted file mode 100644
index e8940a5d..00000000
--- a/externals/grill/flext/buildsys/win/gnumake-cygwin-flext.inc
+++ /dev/null
@@ -1,52 +0,0 @@
-# build class specific settings
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
- touch $@
-
-$(TARGETPATH):
- -mkdir -p $@
-
-$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- $(CC) -c $(CFLAGS) $(DEFS) $(INCPATH) $< -o $@
-
-$(TARGET) :: $(TARGETPATH)
-
-$(TARGET) :: $(COBJS) $(CPPOBJS)
-ifdef SHARED
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $@ $(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS)
- chmod 755 $@
- strip --strip-unneeded $@
-else
- $(AR) rc $@ $(COBJS) $(CPPOBJS)
-endif
-
-##############################################
-
-_clean_:
- rm $(COBJS) $(CPPOBJS) $(TARGET)
-
-##############################################
-
-ifdef SHARED
-FLEXTLIBINST=$(FLEXTSHLIB)
-else
-FLEXTLIBINST=$(FLEXTLIB)
-endif
-
-$(FLEXTINC):
- -mkdir -p $(FLEXTINC)
-
-$(FLEXTLIBINST):
- -mkdir -p $(FLEXTLIBINST)
-
-_install_: $(FLEXTINC) $(FLEXTLIBINST)
- install $(TARGET) $(FLEXTLIBINST)
- install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
diff --git a/externals/grill/flext/buildsys/win/gnumake-cygwin.inc b/externals/grill/flext/buildsys/win/gnumake-cygwin.inc
deleted file mode 100644
index 48155ff1..00000000
--- a/externals/grill/flext/buildsys/win/gnumake-cygwin.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-##############################################
-
-OBJPATH=$(OUTPATH)/$(OUTSUB)
-TARGETPATH=$(OBJPATH)
-TARGET=$(TARGETPATH)/$(OUTNAME).$(EXT)
-
-##############################################
-
-CFLAGS += -mno-cygwin
-LDFLAGS += -shared -mno-cygwin
-
-##############################################
-
-ifdef DEBUG
-CFLAGS += -g
-else
-ifdef PROFILE
-CFLAGS += -g -pg
-LDFLAGS += -pg
-else
-LDFLAGS += -Wl,-S
-endif
-endif
-
-##############################################
-
-CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
-CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
-COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS)))
-CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS)))
diff --git a/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc b/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc
deleted file mode 100644
index 3a998a5d..00000000
--- a/externals/grill/flext/buildsys/win/gnumake-mingw-ext.inc
+++ /dev/null
@@ -1,48 +0,0 @@
-# build class specific settings
-
-INCPATH += -I$(FLEXTINC)
-LIBPATH += -L$(FLEXTLIB) -L$(FLEXTSHLIB)
-
-ifdef SHARED
-LIBS += $(FLEXTSHLIB)/lib$(FLEXTNAME).dll
-else
-LIBS += -l$(FLEXTNAME)
-endif
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
-# touch $@
-
-$(OUTPATH):
- -mkdir $(subst /,\,$@)
-
-$(TARGETPATH): $(OUTPATH)
- -mkdir $(subst /,\,$@)
-
-$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@)
-
-$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- $(CC) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@)
-
-$(TARGET) :: $(TARGETPATH)
-
-$(TARGET) :: $(COBJS) $(CPPOBJS)
- $(CXX) $(LDFLAGS) $(subst \,/,$(LIBPATH)) -o $(subst /,\,$@) $(subst /,\,$(COBJS) $(CPPOBJS) $(LIBS) $(SYSLIBS))
- -strip --strip-unneeded $@
-
-##############################################
-
-_clean_:
- -del /q $(subst /,\,$(TARGETPATH)/*.*) > nul
- -rmdir /q $(subst /,\,$(TARGETPATH)) > nul
-
-##############################################
-
-_install_:
- @if not exist $(subst /,\,$(INSTPATH)) -mkdir $(subst /,\,$(INSTPATH))
- copy $(subst /,\,$(TARGET) $(INSTPATH))
diff --git a/externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc b/externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc
deleted file mode 100644
index 8cd51720..00000000
--- a/externals/grill/flext/buildsys/win/gnumake-mingw-flext.inc
+++ /dev/null
@@ -1,52 +0,0 @@
-# build class specific settings
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-#$(CSRCS) $(CPPSRCS): $(patsubst %,$(SRCDIR)/%,$(HDRS))
-# touch $@
-
-$(OUTPATH):
- -mkdir $(subst /,\,$@)
-
-$(TARGETPATH): $(OUTPATH)
- -mkdir $(subst /,\,$@)
-
-$(TARGETPATH)/%.opp : $(SRCDIR)/%.cpp
- $(CXX) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@)
-
-$(TARGETPATH)/%.o : $(SRCDIR)/%.c
- $(CC) -c $(CFLAGS) $(DEFS) $(subst \,/,$(INCPATH)) $< -o $(subst /,\,$@)
-
-$(TARGET) :: $(TARGETPATH)
-
-$(TARGET) :: $(COBJS) $(CPPOBJS)
-ifdef SHARED
- $(CXX) $(LDFLAGS) $(LIBPATH) -o $(subst /,\,$@) $(subst /,\,$(COBJS) $(CPPOBJS) $(LIBS))
- -strip --strip-unneeded $@
-else
- $(AR) rc $@ $(COBJS) $(CPPOBJS)
-endif
-
-##############################################
-
-_clean_:
- -del /q $(subst /,\,$(TARGETPATH)/*.*) > nul
- -rmdir /q $(subst /,\,$(TARGETPATH)) > nul
-
-##############################################
-
-ifdef SHARED
-FLEXTLIBINST=$(FLEXTSHLIB)
-else
-FLEXTLIBINST=$(FLEXTLIB)
-endif
-
-_install_::
- @if not exist $(subst /,\,$(FLEXTINC)) -mkdir $(subst /,\,$(FLEXTINC))
- @if not exist $(subst /,\,$(FLEXTLIBINST)) -mkdir $(subst /,\,$(FLEXTLIBINST))
-
- copy $(subst /,\,$(TARGET) $(FLEXTLIBINST))
- -for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(subst /,\,$(FLEXTINC)) > nul
diff --git a/externals/grill/flext/buildsys/win/gnumake-mingw.inc b/externals/grill/flext/buildsys/win/gnumake-mingw.inc
deleted file mode 100644
index 82ee4381..00000000
--- a/externals/grill/flext/buildsys/win/gnumake-mingw.inc
+++ /dev/null
@@ -1,30 +0,0 @@
-##############################################
-
-OBJPATH=$(OUTPATH)\$(OUTSUB)
-TARGETPATH=$(OBJPATH)
-TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
-
-##############################################
-
-CFLAGS += -mms-bitfields -mno-cygwin
-LDFLAGS += -shared -mno-cygwin
-
-##############################################
-
-ifdef DEBUG
-CFLAGS += -g
-else
-ifdef PROFILE
-CFLAGS += -g -pg
-LDFLAGS += -pg
-else
-LDFLAGS += -Wl,-S
-endif
-endif
-
-##############################################
-
-CSRCS=$(patsubst %.c,$(SRCDIR)/%.c,$(filter %.c,$(SRCS)))
-CPPSRCS=$(patsubst %.cpp,$(SRCDIR)/%.cpp,$(filter %.cpp,$(SRCS)))
-COBJS=$(patsubst %.c,$(OBJPATH)/%.o,$(filter %.c,$(SRCS)))
-CPPOBJS=$(patsubst %.cpp,$(OBJPATH)/%.opp,$(filter %.cpp,$(SRCS)))
diff --git a/externals/grill/flext/buildsys/win/max/config-cygwin.def b/externals/grill/flext/buildsys/win/max/config-cygwin.def
deleted file mode 100644
index a4562a73..00000000
--- a/externals/grill/flext/buildsys/win/max/config-cygwin.def
+++ /dev/null
@@ -1,51 +0,0 @@
-# where is the Max/MSP application?
-MAXAPPPATH=/cygdrive/c/program\ files/MaxMSP\ 4.5
-
-# where are the Max/MSP common files?
-MAXCOMPATH=/cygdrive/c/program\ files/common\ files/Cycling\ \'74
-
-
-# where are the Max/MSP SDK header files?
-# you should have the latest version!
-MAXSDKPATH=$(MAXAPPPATH)/maxmspsdk_win/4.5\ headers/c74support
-
-###############################################################
-
-###############################################################
-
-# where do/should the flext headers reside/be built?
-FLEXTINC=$(MAXCOMPATH)/flext
-
-# where do/should the flext static libraries reside/be built?
-FLEXTLIB=$(FLEXTINC)
-
-# where do/should the flext shared libraries reside/be built?
-# (a good place is the MaxMSP program folder)
-FLEXTSHLIB=$(MAXAPPPATH)
-
-###############################################################
-
-# where should the external be built?
-# (path for temporary files)
-OUTPATH=max-cygwin
-
-# where should the external be installed?
-INSTPATH=$(MAXCOMPATH)/externals/flext
-
-# where should the initialization files be installed?
-INITPATH=$(MAXCOMPATH)/init
-
-# where should the help files be installed?
-HELPPATH=$(MAXAPPPATH)/max-help/flext
-
-###############################################################
-
-# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=-msse -mfpmath=sse -ffast-math
-
-# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=-O3
-# optimizations for Pentium 4
-OFLAGS+=-march=pentium4
diff --git a/externals/grill/flext/buildsys/win/max/config-mingw.def b/externals/grill/flext/buildsys/win/max/config-mingw.def
deleted file mode 100644
index 9c9e3d4a..00000000
--- a/externals/grill/flext/buildsys/win/max/config-mingw.def
+++ /dev/null
@@ -1,42 +0,0 @@
-# where are the Max/MSP SDK header files?
-# you should have the latest version!
-MAXSDKPATH="%ProgramFiles%\MaxMSP 4.5/maxmspsdk_win/4.5 headers/c74support"
-
-###############################################################
-
-# where do/should the flext headers reside/be built?
-FLEXTINC="%CommonProgramFiles%/Cycling '74/flext"
-
-# where do/should the flext static libraries reside/be built?
-FLEXTLIB=$(FLEXTINC)
-
-# where do/should the flext shared libraries reside/be built?
-# (a good place is the MaxMSP program folder)
-FLEXTSHLIB="%ProgramFiles%\MaxMSP 4.5"
-
-###############################################################
-
-# where should the external be built?
-# (path for temporary files)
-OUTPATH=max-mingw
-
-# where should the external be installed?
-INSTPATH="%CommonProgramFiles%/Cycling '74/externals/flext"
-
-# where should the initialization files be installed?
-INITPATH="%CommonProgramFiles%/Cycling '74/init"
-
-# where should the help files be installed?
-HELPPATH="%ProgramFiles%/MaxMSP 4.5/max-help/flext"
-
-###############################################################
-
-# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=-msse -ffast-math
-
-# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=-O3
-# optimizations for Pentium 4
-OFLAGS+=-march=pentium4
diff --git a/externals/grill/flext/buildsys/win/max/config-msvc.def b/externals/grill/flext/buildsys/win/max/config-msvc.def
deleted file mode 100644
index f67b6b7f..00000000
--- a/externals/grill/flext/buildsys/win/max/config-msvc.def
+++ /dev/null
@@ -1,46 +0,0 @@
-# where are the Max/MSP SDK header files?
-# you should have the latest version!
-MAXSDKPATH="%ProgramFiles%\MaxMSP 4.5\maxmspsdk_win\4.5 headers\c74support"
-
-# where is MS VC++?
-# (not necessary if the build is run with the compiler environment)
-# MSVCPATH="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7"
-
-###############################################################
-
-# where do/should the flext headers reside/be built?
-FLEXTINC="%CommonProgramFiles%\Cycling '74\flext"
-
-# where do/should the flext static libraries reside/be built?
-FLEXTLIB=$(FLEXTINC)
-
-# where do/should the flext shared libraries reside/be built?
-# (a good place is the MaxMSP program folder)
-FLEXTSHLIB="%ProgramFiles%\MaxMSP 4.5"
-
-###############################################################
-
-# where should the external be built?
-# (path for temporary files)
-OUTPATH=max-msvc
-
-# where should the external be installed?
-INSTPATH="%CommonProgramFiles%\Cycling '74\externals\flext"
-
-# where should the initialization files be installed?
-INITPATH="%CommonProgramFiles%\Cycling '74\init"
-
-# where should the help files be installed?
-HELPPATH="%ProgramFiles%\MaxMSP 4.5\max-help\flext"
-
-###############################################################
-
-# some user-definable flags
-# (check if they match your system!)
-OFLAGS=/Ox
-# optimizations for Pentium 4
-#OFLAGS=$(OFLAGS) /G6 /arch:SSE
-
-# uncomment to link against dynamic C runtime libraries
-# (don't use this if you want to distribute the built product)
-#DYNAMIC=1
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-cygwin-ext.inc b/externals/grill/flext/buildsys/win/max/gnumake-cygwin-ext.inc
deleted file mode 100644
index 5df7e2f2..00000000
--- a/externals/grill/flext/buildsys/win/max/gnumake-cygwin-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-cygwin-flext.inc b/externals/grill/flext/buildsys/win/max/gnumake-cygwin-flext.inc
deleted file mode 100644
index 60cd079a..00000000
--- a/externals/grill/flext/buildsys/win/max/gnumake-cygwin-flext.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-ifdef SHARED
-EXT=dll
-else
-EXT=a
-endif
-
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc b/externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc
deleted file mode 100644
index f0ceced1..00000000
--- a/externals/grill/flext/buildsys/win/max/gnumake-cygwin.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-DEFS += -DFLEXT_SYS=1
-
-# fpack-struct should align to 2 bytes... can't specify that...
-CFLAGS += -DWINVER=0x0501 -D_WIN32_WINNT=0x501
-
-INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes
-LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/jit-includes -L$(MAXSDKPATH)/msp-includes
-
-# these are both in MAXSDKPATH
-SYSLIBS += -lMaxAPI -lMaxAudio
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-mingw-ext.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw-ext.inc
deleted file mode 100644
index 04e59462..00000000
--- a/externals/grill/flext/buildsys/win/max/gnumake-mingw-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-mingw-flext.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw-flext.inc
deleted file mode 100644
index 821d6fbc..00000000
--- a/externals/grill/flext/buildsys/win/max/gnumake-mingw-flext.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-ifdef SHARED
-EXT=dll
-else
-EXT=LIB
-endif
-
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
deleted file mode 100644
index 1baa82f9..00000000
--- a/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFS += -DFLEXT_SYS=1
-
-# fpack-struct should align to 2 bytes... can't specify that...
-CFLAGS += -DWINVER=0x0501 -D_WIN32_WINNT=0x501
-# suppress multiple symbol errors
-LDFLAGS += -Wl,--allow-multiple-definition
-
-INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/jit-includes -I$(MAXSDKPATH)/msp-includes
-LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/jit-includes -L$(MAXSDKPATH)/msp-includes
-
-# these are both in MAXSDKPATH
-SYSLIBS += -lMaxAPI -lMaxAudio
diff --git a/externals/grill/flext/buildsys/win/max/nmake-msvc-ext.inc b/externals/grill/flext/buildsys/win/max/nmake-msvc-ext.inc
deleted file mode 100644
index 04e59462..00000000
--- a/externals/grill/flext/buildsys/win/max/nmake-msvc-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=mxe
diff --git a/externals/grill/flext/buildsys/win/max/nmake-msvc-flext.inc b/externals/grill/flext/buildsys/win/max/nmake-msvc-flext.inc
deleted file mode 100644
index d30a7144..00000000
--- a/externals/grill/flext/buildsys/win/max/nmake-msvc-flext.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-!ifdef SHARED
-EXT=dll
-!else
-EXT=lib
-!endif
diff --git a/externals/grill/flext/buildsys/win/max/nmake-msvc.inc b/externals/grill/flext/buildsys/win/max/nmake-msvc.inc
deleted file mode 100644
index 089e5a57..00000000
--- a/externals/grill/flext/buildsys/win/max/nmake-msvc.inc
+++ /dev/null
@@ -1,8 +0,0 @@
-DEFS=$(DEFS) /DFLEXT_SYS=1
-CFLAGS=$(CFLAGS) /Zp2 /DWINVER=0x0501 /D_WIN32_WINNT=0x501
-
-INCPATH=$(INCPATH) /I$(MAXSDKPATH)\max-includes /I$(MAXSDKPATH)\jit-includes /I$(MAXSDKPATH)\msp-includes
-LIBPATH=$(LIBPATH) /LIBPATH:$(MAXSDKPATH)\max-includes /LIBPATH:$(MAXSDKPATH)\jit-includes /LIBPATH:$(MAXSDKPATH)\msp-includes
-
-# these are both in MAXSDKPATH
-LIBS=$(LIBS) maxapi.lib maxaudio.lib
diff --git a/externals/grill/flext/buildsys/win/nmake-msvc-ext.inc b/externals/grill/flext/buildsys/win/nmake-msvc-ext.inc
deleted file mode 100644
index 2a86155a..00000000
--- a/externals/grill/flext/buildsys/win/nmake-msvc-ext.inc
+++ /dev/null
@@ -1,43 +0,0 @@
-# build class specific settings
-
-INCPATH=$(INCPATH) /I$(FLEXTINC)
-LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTLIB)
-LIBS=$(LIBS) $(FLEXTNAME).lib
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(OUTPATH):
- if not exist $@ mkdir $@ > nul
-
-$(TARGETPATH): $(OUTPATH)
- if not exist $@ mkdir $@ > nul
-
-{$(SRCDIR)}.cpp{}.obj:
- cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
-
-{$(SRCDIR)}.c{}.obj:
- cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
-
-$(TARGET):: $(TARGETPATH)
-
-$(TARGET):: $(OBJS)
- @cd $(TARGETPATH)
- link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F)
- @cd ..\..
-
-##############################################
-# remove build
-
-_clean_:
- -del /q $(TARGETPATH)\*.* > nul
- -rmdir /q $(TARGETPATH) > nul
-
-##############################################
-
-_install_:
- @if not exist $(INSTPATH) mkdir $(INSTPATH) > nul
-
- copy $(TARGET) $(INSTPATH) > nul
diff --git a/externals/grill/flext/buildsys/win/nmake-msvc-flext.inc b/externals/grill/flext/buildsys/win/nmake-msvc-flext.inc
deleted file mode 100644
index 36a72f4d..00000000
--- a/externals/grill/flext/buildsys/win/nmake-msvc-flext.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-# build class specific settings
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(OUTPATH):
- if not exist $@ mkdir $@ > nul
-
-$(TARGETPATH): $(OUTPATH)
- if not exist $@ mkdir $@ > nul
-
-{$(SRCDIR)}.cpp{}.obj:
- cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
-
-{$(SRCDIR)}.c{}.obj:
- cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
-
-
-$(TARGET):: $(TARGETPATH)
-
-$(TARGET):: $(OBJS)
- @cd $(TARGETPATH)
-!ifdef SHARED
- link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /out:$(@F)
-!else
- lib /OUT:$(@F) $(OBJS)
-!endif
- @cd ..\..
-
-##############################################
-
-# remove build
-_clean_:
- -del /q $(TARGETPATH)\*.* > nul
- -rmdir /q $(TARGETPATH) > nul
-
-##############################################
-
-!ifdef SHARED
-FLEXTLIBINST=$(FLEXTSHLIB)
-!else
-FLEXTLIBINST=$(FLEXTLIB)
-!endif
-
-_install_:
-# create folders
- @if not exist $(FLEXTINC) mkdir $(FLEXTINC) > nul
- @if not exist $(FLEXTLIB) mkdir $(FLEXTLIB) > nul
- @if not exist $(FLEXTLIBINST) mkdir $(FLEXTLIBINST) > nul
-
- copy $(TARGET) $(FLEXTLIBINST) > nul
-!ifdef SHARED
-# copy import library
- copy $(TARGET:.dll=.lib) $(FLEXTLIB) > nul
-!endif
-# copy headers
- for %%i in ($(HDRS)) do @copy $(SRCDIR)\%%i $(FLEXTINC) > nul
diff --git a/externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc b/externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc
deleted file mode 100644
index 3b436599..00000000
--- a/externals/grill/flext/buildsys/win/nmake-msvc-shlib.inc
+++ /dev/null
@@ -1,45 +0,0 @@
-# build class specific settings
-
-INCPATH=$(INCPATH) /I$(FLEXTINC)
-LIBPATH=$(LIBPATH) /LIBPATH:$(FLEXTLIB)
-LIBS=$(LIBS) $(FLEXTNAME).lib
-
-##############################################
-
-# default target
-_build_: $(TARGET)
-
-$(OUTPATH):
- if not exist $@ mkdir $@ > nul
-
-$(TARGETPATH): $(OUTPATH)
- if not exist $@ mkdir $@ > nul
-
-{$(SRCDIR)}.cpp{}.obj:
- cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
-
-{$(SRCDIR)}.c{}.obj:
- cl /c $(CFLAGS) $(DEFS) $(INCPATH) $** /Fo$(TARGETPATH)\$@
-
-$(TARGET):: $(TARGETPATH)
-
-$(TARGET):: $(OBJS)
- @cd $(TARGETPATH)
- link /DLL $(LDFLAGS) $(LIBPATH) $(OBJS) $(LIBS) /OUT:$(@F)
- @cd ..\..
-
-##############################################
-# remove build
-
-_clean_:
- -del /q $(TARGETPATH)\*.* > nul
- -rmdir /q $(TARGETPATH) > nul
-
-##############################################
-
-_install_:
- @if not exist $(FLEXTSHLIB) mkdir $(FLEXTSHLIB) > nul
-
- copy $(TARGET) $(FLEXTSHLIB) > nul
-# copy import library
- copy $(TARGET:.dll=.lib) $(FLEXTSHLIB) > nul
diff --git a/externals/grill/flext/buildsys/win/nmake-msvc.inc b/externals/grill/flext/buildsys/win/nmake-msvc.inc
deleted file mode 100644
index d19fd44e..00000000
--- a/externals/grill/flext/buildsys/win/nmake-msvc.inc
+++ /dev/null
@@ -1,59 +0,0 @@
-!ifdef MSVCPATH
-INCPATH=$(INCPATH) /I$(MSVCPATH)\include
-LIBPATH=$(LIBPATH) /LIBPATH:$(MSVCPATH)\lib
-!endif
-
-##############################################
-
-OBJPATH=$(OUTPATH)\$(OUTSUB)
-TARGETPATH=$(OBJPATH)
-TARGET=$(TARGETPATH)\$(OUTNAME).$(EXT)
-
-##############################################
-# use precompiled headers (automatic mode)
-
-!ifdef PRECOMPILE
-CFLAGS=$(CFLAGS) /YX$(PRECOMPILE) /Fp$(OBJPATH)\precompiled.pch
-!endif
-
-##############################################
-
-# create code for DLL
-CFLAGS=$(CFLAGS) /LD
-
-# enable exception handling and RTTI
-CFLAGS=$(CFLAGS) /EHsc /GR
-
-# no banner
-CFLAGS=$(CFLAGS) /nologo
-LDFLAGS=$(LDFLAGS) /nologo
-
-##############################################
-
-!ifdef DEBUG
-
-!ifdef DYNAMIC
-CFLAGS=$(CFLAGS) /MDd
-!else
-CFLAGS=$(CFLAGS) /MTd
-!endif
-
-LDFLAGS=$(LDFLAGS) /DEBUG
-
-!else
-
-!ifdef DYNAMIC
-CFLAGS=$(CFLAGS) /MD
-!else
-CFLAGS=$(CFLAGS) /MT
-!endif
-
-LDFLAGS=$(LDFLAGS) /INCREMENTAL:NO
-
-!endif
-
-##############################################
-# convert both *.c and *.cpp
-
-OBJSTMP= $(SRCS:.c=.obj)
-OBJS= $(OBJSTMP:.objpp=.obj)
diff --git a/externals/grill/flext/buildsys/win/pd/bmake-bcc-ext.inc b/externals/grill/flext/buildsys/win/pd/bmake-bcc-ext.inc
deleted file mode 100644
index 26bcf06e..00000000
--- a/externals/grill/flext/buildsys/win/pd/bmake-bcc-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/bmake-bcc-flext.inc b/externals/grill/flext/buildsys/win/pd/bmake-bcc-flext.inc
deleted file mode 100644
index d30a7144..00000000
--- a/externals/grill/flext/buildsys/win/pd/bmake-bcc-flext.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-!ifdef SHARED
-EXT=dll
-!else
-EXT=lib
-!endif
diff --git a/externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc b/externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc
deleted file mode 100644
index b2234c5b..00000000
--- a/externals/grill/flext/buildsys/win/pd/bmake-bcc-shlib.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/bmake-bcc.inc b/externals/grill/flext/buildsys/win/pd/bmake-bcc.inc
deleted file mode 100644
index a15a75e6..00000000
--- a/externals/grill/flext/buildsys/win/pd/bmake-bcc.inc
+++ /dev/null
@@ -1,12 +0,0 @@
-DEFS=$(DEFS) /DFLEXT_SYS=2 /DPD
-
-!ifdef WINNT
-DEFS=$(DEFS) /D_WIN32_WINNT=0x500
-!endif
-
-##############################################
-
-INCPATH=$(INCPATH) -I$(PDPATH)\src
-
-# these are both in FLEXTPATH
-LIBS=$(LIBS) pd.lib pthreadVC.lib
diff --git a/externals/grill/flext/buildsys/win/pd/config-bcc.def b/externals/grill/flext/buildsys/win/pd/config-bcc.def
deleted file mode 100644
index 54e8397d..00000000
--- a/externals/grill/flext/buildsys/win/pd/config-bcc.def
+++ /dev/null
@@ -1,38 +0,0 @@
-# where is the PD installation?
-# (this should point to the main folder, which has a "src" subfolder)
-PDPATH="c:\program files\pd"
-
-# where is BorlandC++?
-BCCPATH="c:\program files\bcc55"
-
-###############################################################
-
-# where do/should the flext headers reside/be built?
-FLEXTINC=$(PDPATH)\flext
-
-# where do/should the flext static libraries reside/be built?
-FLEXTLIB=$(FLEXTINC)
-
-# where do/should the flext shared libraries reside/be built?
-FLEXTSHLIB=$(PDPATH)\bin
-
-###############################################################
-
-# where should the external be built?
-OUTPATH=pd-bcc
-
-# where should the external be installed?
-INSTPATH=$(PDPATH)\extra
-
-###############################################################
-
-# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=
-
-# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=-6 -O2 -OS -ff -d
-
-# comment if you want to compile for Windows 95/98/ME
-WINNT=1
diff --git a/externals/grill/flext/buildsys/win/pd/config-cygwin.def b/externals/grill/flext/buildsys/win/pd/config-cygwin.def
deleted file mode 100644
index 6c35151a..00000000
--- a/externals/grill/flext/buildsys/win/pd/config-cygwin.def
+++ /dev/null
@@ -1,34 +0,0 @@
-# where is the PD installation?
-# (this should point to the main folder, which has a "src" subfolder)
-PDPATH=/cygdrive/c/program files/pd
-
-###############################################################
-
-# where do/should the flext headers reside/be built?
-FLEXTINC=$(PDPATH)/flext
-
-# where do/should the flext static libraries reside/be built?
-FLEXTLIB=$(FLEXTINC)
-
-# where do/should the flext shared libraries reside/be built?
-FLEXTSHLIB=$(PDPATH)/bin
-
-###############################################################
-
-# where should the external be built?
-OUTPATH=pd-cygwin
-
-# where should the external be installed?
-INSTPATH=$(PDPATH)/extra
-
-###############################################################
-
-# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=-msse -mfpmath=sse -ffast-math
-
-# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=-O3
-# optimizations for Pentium 4
-OFLAGS+=-march=pentium4
diff --git a/externals/grill/flext/buildsys/win/pd/config-mingw.def b/externals/grill/flext/buildsys/win/pd/config-mingw.def
deleted file mode 100644
index bed53e35..00000000
--- a/externals/grill/flext/buildsys/win/pd/config-mingw.def
+++ /dev/null
@@ -1,37 +0,0 @@
-# where is the PD installation?
-# (this should point to the main folder, which has a "src" subfolder)
-PDPATH="%ProgramFiles%\pd"
-
-###############################################################
-
-# where do/should the flext headers reside/be built?
-FLEXTINC=$(PDPATH)\flext
-
-# where do/should the flext static libraries reside/be built?
-FLEXTLIB=$(FLEXTINC)
-
-# where do/should the flext shared libraries reside/be built?
-FLEXTSHLIB=$(PDPATH)\bin
-
-###############################################################
-
-# where should the external be built?
-OUTPATH=pd-mingw
-
-# where should the external be installed?
-INSTPATH=$(PDPATH)\extra
-
-###############################################################
-
-# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=-msse -mfpmath=sse -ffast-math
-
-# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=-O3
-# optimizations for Pentium 4
-OFLAGS+=-march=pentium4
-
-# comment if you want to compile for Windows 95/98/ME
-WINNT=1
diff --git a/externals/grill/flext/buildsys/win/pd/config-msvc.def b/externals/grill/flext/buildsys/win/pd/config-msvc.def
deleted file mode 100644
index 49137ef5..00000000
--- a/externals/grill/flext/buildsys/win/pd/config-msvc.def
+++ /dev/null
@@ -1,46 +0,0 @@
-# where is the PD installation?
-# (this should point to the main folder, which has a "src" subfolder)
-PDPATH="%ProgramFiles%\pd"
-
-# where is MS VC++?
-# (not necessary if the build is run with the compiler environment)
-# MSVCPATH="%ProgramFiles%\Microsoft Visual Studio .NET 2003\Vc7"
-
-###############################################################
-
-# where do/should the flext headers reside/be built?
-FLEXTINC=$(PDPATH)\flext
-
-# where do/should the flext static libraries reside/be built?
-FLEXTLIB=$(FLEXTINC)
-
-# where do/should the flext shared libraries reside/be built?
-FLEXTSHLIB=$(PDPATH)\bin
-
-###############################################################
-
-# where should the external be built?
-# (relative one-level subpath to project folder)
-OUTPATH=pd-msvc
-
-# where should externals be installed?
-INSTPATH=$(PDPATH)\extra
-
-###############################################################
-
-# user defined compiler flags
-# (check if they match your system!)
-UFLAGS=
-
-# user defined optimization flags
-# (check if they match your system!)
-OFLAGS=/Ox
-# optimizations for Pentium 4
-OFLAGS=$(OFLAGS) /G6 /arch:SSE
-
-# comment if you want to compile for Windows 95/98/ME
-WINNT=1
-
-# uncomment to link against dynamic C runtime libraries
-# (don't use this if you want to distribute the built product)
-#DYNAMIC=1
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-ext.inc b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-ext.inc
deleted file mode 100644
index 26bcf06e..00000000
--- a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-flext.inc b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-flext.inc
deleted file mode 100644
index e64eb6c5..00000000
--- a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-flext.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-ifdef SHARED
-EXT=dll
-else
-EXT=a
-endif
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc
deleted file mode 100644
index b2234c5b..00000000
--- a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin-shlib.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin.inc b/externals/grill/flext/buildsys/win/pd/gnumake-cygwin.inc
deleted file mode 100644
index dca95023..00000000
--- a/externals/grill/flext/buildsys/win/pd/gnumake-cygwin.inc
+++ /dev/null
@@ -1,6 +0,0 @@
-DEFS += -DFLEXT_SYS=2 -DPD
-
-INCPATH += -I$(PDPATH)/src
-
-LIBS += $(PDPATH)/bin/pthreadVC.dll
-SYSLIBS += $(PDPATH)/bin/pd.dll
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-mingw-ext.inc b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-ext.inc
deleted file mode 100644
index 26bcf06e..00000000
--- a/externals/grill/flext/buildsys/win/pd/gnumake-mingw-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-mingw-flext.inc b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-flext.inc
deleted file mode 100644
index e64eb6c5..00000000
--- a/externals/grill/flext/buildsys/win/pd/gnumake-mingw-flext.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-ifdef SHARED
-EXT=dll
-else
-EXT=a
-endif
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc b/externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc
deleted file mode 100644
index b2234c5b..00000000
--- a/externals/grill/flext/buildsys/win/pd/gnumake-mingw-shlib.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/gnumake-mingw.inc b/externals/grill/flext/buildsys/win/pd/gnumake-mingw.inc
deleted file mode 100644
index d3b6cedb..00000000
--- a/externals/grill/flext/buildsys/win/pd/gnumake-mingw.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFS += -DFLEXT_SYS=2 -DPD
-
-ifdef WINNT
-CFLAGS += -D_WIN32_WINNT=0x500
-endif
-
-##############################################
-
-INCPATH += -I$(PDPATH)/src
-LIBPATH += -L$(PDPATH)/bin
-
-# these are both in PDPATH
-LIBS += -lpd -lpthreadVC
diff --git a/externals/grill/flext/buildsys/win/pd/nmake-msvc-ext.inc b/externals/grill/flext/buildsys/win/pd/nmake-msvc-ext.inc
deleted file mode 100644
index 26bcf06e..00000000
--- a/externals/grill/flext/buildsys/win/pd/nmake-msvc-ext.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/nmake-msvc-flext.inc b/externals/grill/flext/buildsys/win/pd/nmake-msvc-flext.inc
deleted file mode 100644
index d30a7144..00000000
--- a/externals/grill/flext/buildsys/win/pd/nmake-msvc-flext.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-!ifdef SHARED
-EXT=dll
-!else
-EXT=lib
-!endif
diff --git a/externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc b/externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc
deleted file mode 100644
index b2234c5b..00000000
--- a/externals/grill/flext/buildsys/win/pd/nmake-msvc-shlib.inc
+++ /dev/null
@@ -1 +0,0 @@
-EXT=dll
diff --git a/externals/grill/flext/buildsys/win/pd/nmake-msvc.inc b/externals/grill/flext/buildsys/win/pd/nmake-msvc.inc
deleted file mode 100644
index 89fba829..00000000
--- a/externals/grill/flext/buildsys/win/pd/nmake-msvc.inc
+++ /dev/null
@@ -1,13 +0,0 @@
-DEFS=$(DEFS) /DFLEXT_SYS=2 /DPD
-
-!ifdef WINNT
-DEFS=$(DEFS) /D_WIN32_WINNT=0x500
-!endif
-
-##############################################
-
-INCPATH=$(INCPATH) /I$(PDPATH)\src
-LIBPATH=$(LIBPATH) /LIBPATH:$(PDPATH)\bin
-
-# these are both in PDPATH
-LIBS=$(LIBS) pd.lib pthreadVC.lib
diff --git a/externals/grill/flext/changes.txt b/externals/grill/flext/changes.txt
deleted file mode 100644
index fef5d86c..00000000
--- a/externals/grill/flext/changes.txt
+++ /dev/null
@@ -1,355 +0,0 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2007 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-----------------------------------------------------------------------------
-
-Version history:
-
-0.5.1:
-- optimizations for message handling and memory footprint
-- enhanced build system for cygwin
-- added GetCanvasDir to retrieve folder in which the patcher resides
-- better handling of click callback
-- more compatible handling of attributes in patcher (hiding is now an option - define FLEXT_ATTRHIDE)
-- added header file flfeatures.h for compile-time detection of version-specific features
-- typed flext::NewAligned allocator
-- fixed severe Altivec bug (load unaligned)... thanks to Ian Ollmann
-- restructured initialization and finalization (esp. Max DSP stuff)
-- real class names now also reflect debug mode (like in flext_base_shared_d)
-- cleaned up internals (like Max/MSP typedefs)
-- fixed coexistence of message and signal objects in Max/MSP object libraries
-- fixes for pthreads version 2
-- deprecated FLEXT_NOGLOBALNEW in favor of FLEXT_USE_CMEM (either global new/delete operators or C library memory allocation)
-- fixing uninitialized pointer (first inlet pointer)
-- added message bundle functionality (to send more messages over the thread boundary to arrive at the same logical time)
-- fixed dangerous spot (also memory leak) with message queuing
-- fixed buggy freeing of memory for AtomListStatic
-- optimizations around method registration
-- preprocessor symbol FLEXT_COMPATIBLE - if defined don't implement specialities of either PD or Max/MSP
-- Max: fixed reported bug (#67), where list elements are distributed over inlets
-- added thisParent type, which refers to the class from which the current flext class is derived (as given in FLEXT_HEADER)
-- bang method can also by added with FLEXT_(C)ADDMETHOD (FLEXT_(C)ADDBANG is still an alias)
-- attribute generation is now determined exclusively by each object class setup (not library is before)
-- more robust pack setting for Max/MSP @ Windows
-- should work with Mac/Intel (still untested!)
-- added new FLEXT_HEADER macros to enable class templates
-- more ToOut/Sys* methods
-- fixed help name definition at class setup
-- added gcc branch hinting
-- PD: possibility to create DSP classes without main DSP inlet (use e.g. FLEXT_DSP0_NEW)
-- fixed atom sorting (symbols were sorted by pointer, not by content)
-- updated build system to handle UB on OSX (including architecture-specific compiler flags)
-
-0.5.0:
-- fixes for 64 bit builds (size_t is integer type of pointer size)
-- finally added a autoconf system (many many thanks to Tim Blechmann)
-- more character escapes for attribute editor
-- fixed the attribute editor for 0.38, stopped redundant transfer of script code
-- show saveable attributes on object select
-- fix for long attribute dialogs
-- dropped support for Max UI objects
-- added global system locking
-- added general atom outlet functions To{Sys,Out,Queue}Atom
-- new build system for flext and flext-based externals
-- flags for object construction and destruction phase (Initing() and Exiting())
-- reconsidered flext::buffer::Update
-- enhanced buffer handling
-- support for buffer locking (flext::buffer::Lock() and Unlock()) - it's a must for Max/MSP at least
-- use new PD idle callback for queues messages (currently in devel_0_38)
-- fixed bug with unregistering for bound symbols
-- removed virtual m_assist function (which was only useful for Max)... stick to static assist strings
-- removed virtual flext_dsp::m_enable function (which wasn't present for Max/MSP)
-- added m_click method which gets called on alt-click (PD) resp. double clicks (Max) onto the object box
-- in ToOut check if we are inside dsp (and use ToQueue then...)
-- some restructuring and use symbols (rather than char *) natively for AddMethod* and AddAttrib* functions
-- added some more SIMD functionality
-- fixes to flext::Timer::At method
-- eliminated misleading flext_dsp::ChannelsIn and ChannelsOut
-- added lock-free Lifo and Fifo structures and used it with message queueing and thread management
-- eliminated default "help" (m_help) method... should be implemented in the flext-based object
-- changed virtual callback names m_loadbang, m_method_, m_dsp, m_signal, m_click to CbLoadbang, CbMethodResort, CbDsp, CbSignal, CbClick
-- replaced memory-intensive STL maps by custom-made vector/map-monster (should be fast!)
-- fixed bug for symbol messages into non-left inlets
-- better timers for Windows
-- slimmed down object data structures and changed initialization code accordingly
-- digest one-element float/int/symbol/pointer list messages as single atoms
-- simplified message analysis
-- made flext::Forward thread safe
-
-0.4.7:
-- added flext::GetBool (just because flext::GetInt has been there for a while)
-- added bool to usable types for creation arguments
-- protection for SIMD routines with count=0
-- support exceptions for setup functions, object creation and destruction, method handling
-- small fixes for MSVC6 incompatibilites
-- fixes for Max 4.5 headers
-- removed Mach-O/CFM glue stuff again and added makefiles for Max/MachO
-- in flext::StopThread don't wait for thread to have stopped!
-- support PD tooltips (only in devel branch at the moment)
-- attribute editor: added individual apply buttons
-- attribute editor: added escaping for , and ;
-- attribute editor: zoomed editor accepts , as newline separator
-- attribute editor: close editor window on object destruction
-- fixed $0-arguments in attribute saving
-- introducing ring buffer for message queue (thanks to Tom Schouten)
-- printing of atoms into buffer with better error checking
-
-0.4.6:
-- added a text edit window for list attributes
-- finally use global allocator operators (MFC doesn't like it but who cares)
-- fixed entry of local variables with attribute editor
-- help window for attribute editor
-- appended lacking ~ for tilde object help patches
-- uniform STL container for all kinds of attribute, method, class handling
-- support for MinGW
-- added flext_obj::CanvasArgs
-- fixed small problem with buffer->Valid() on startup
-- fixed buffer overrun problems with flext::post, flext::error... (but still to improve)
-- improved handling of patcher arguments
-- 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
-- PD attributes: added a TCL/TK editor dialog ("properties") and save attributes to patcher
-- fixed wrong returned result of flext::buffer::set function
-- fix for linux static exported function name-clash (individual linker namings for exported flext base classes)
-- made message queue stuff global (static) for all flext objects
-- added flext_base::DumpAttrib to send an attribute value to the attribute outlet
-- added "getmethods" message (for attribute-enabled externals) to list methods for a specified inlet (default = 0)
-- "getattributes" or "getmethods" output lists are now alphabethically sorted
-- flext::StopThread function to terminate running threads (started with LaunchThread)
-- added flext::CmpAtom and AtomList::operator < methods ... useful for using lists as keys for STL
-- make use of new PD thread locking (PD functions sys_lock() and sys_unlock()), queue messages only if necessary
-- better FLEXT_OSAPI resolution
-- ListAttributes (or the getattributes message) now lists attributes in the order they were created (first class, then object scope)
-- enforcing usage of STL
-- explicit boolean attributes (great for attribute editor layout!)
-- flext_dsp reported wrong inlet/outlet count (CntInSig, CntOutSig functions)
-- added support for patcher arguments for attributes (use # instead of $ to save them with a patch)
-- moved memory functions and console output from flext to super-base-class flext_root and derived all helper classes from that
-- changed FLEXT_THREAD_X: wrappers doesn't delete the passed data pointer anymore -> the called method is responsible for that (and it knows the type....)
-- enabled binding of more than one function to a symbol and added flext_base::GetBoundMethod
-- native support for Windows threading model
-
-0.4.4:
-- fixed deadly bug for Max/MSP method-to-symbol-binding proxies
-- some fixes for CodeWarrior Mach-O compilation
-- fixed destruction bug for hashed "item arrays"
-- added flext_base::ToSelf* methods for queued (deferred) self messaging
-- deleted flext::buffer console outputs for undefined arrays/buffer~s: should be done by externals
-- a few changes for the flext shared library
-- tiny update for PD 0.37 header file usage
-- fixed a bug associated to attribute argument lists
-- added functions for version number and string (flext::Version and flext::VerStr, mainly for usage of a shared flext library)
-- flext_base::UnbindMethod returns user data
-- fixed compilation problem with t_symbol-type attributes
-- added methods for sending boolean values (ToOutBool, ToQueueBool, ToSelfBool)
-
-0.4.3:
-- added forgotten flext_base::ToQueueString method
-- added timer functions and flext::Timer class
-- added functions for SIMD support
-- fixed race condition when using LaunchThread in a setup function (now waiting for thread helper to initialize)
-- added flext::Forward function to send messages to bound symbols
-- added "zero" flag to flext::buffer resize operation
-- fixed bug for Max/MSP buffer resize with preservation of contents
-- fixed bug with thread initialization (caused PD@OSX to crash on startup)
-- flext::setup is only run once now
-- fixed creation bug with objects that have attributes but no outlets
-- added FLEXT_BINDMETHOD,FLEXT_UNBINDMETHOD to bind a method to a symbol
-- fixed bug with hard thread termination (of incooperative threads)
-
-0.4.2:
-- started port for jMax
-- moved CLASS_MAINSIGNALIN to class scope (fixed "float method overwritten" warning)
-- unix makefiles: CXX should be commented out if standard (to enable environmental settings)
-- introduced default returns for the different flext::GetA* functions
-- pragma for Metrowerks compilers: enumsalwaysint on, bool on
-- MaxMSP: added assist string for attribute outlets
-- added new POSIX for ThrCond::TimedWait (but still have to find out when to enable it....)
-- added CopySamples and ZeroSamples
-- fixed bug for DSP object with zero signal inlets in PD
-- added validity check for sample buffers
-
-0.4.1:
-- full port for Max@OSX
-- completely redesigned message and attribute handling: now hashed and much more efficient
-- greatly enhanced object creation and destruction (esp. for library objects)
-- class setup functions now take t_classid type arg... this is BACKWARDS-INCOMPATIBLE for Max/MSP
-- added some prerequisites for usage of flext as a shared library
-- completed Max/MSPs inlet/outlet assist description functionality
-- Max/MSP signal objects: fixed bug of reporting wrong number of inlets
-- put overloaded new/delete into flext support class
-- introduced "Finalize" virtual method, called after all "Init" methods
-- fixed crash issue in flext_dsp when there are NO signal inlets or outlets defined
- (this is possibly only a problem for the signal2 tutorial example)
-- added flext::GetType(t_atom &), flext::ZeroMem
-- put the clock_delay for the message queue inside the thread-locked area
- Ok for the actual object, but PD has to be thread-safe here as well
-- BACKWARDS-INCOMPATIBLE CHANGE: flext_base::m_methodmain and flext_base::m_method_ have got
- const modifiers.... these virtual methods are used rarely (except for example in py/pyext)
-- now MUCH cleaner platform identification... FLEXT_SYS,FLEXT_OS,FLEXT_CPU definitions
-- also FLEXT_DEBUG for debug build
-- SndObjs: virtual FreeObject routine is now called at destruction (by parent class), derived class doesn't need to call it!
-- SndObjs: fixed typo (numbers of output slots was wrong) and init bug
-- STK: added support for STK object classes (flstk.{h,cpp})
-- introduced a helper thread for launching flext threads in the background
-- threads are now handled on class (as opposed to object) level
-- threads can now be terminated separately
-- put more flext functions into flext static class
-- replaced ChangePriority by RefPriority
-- fixed setting of priorities... problems were caused by a compiler bug (MSVC 6)
-- made a portable threading interface with support for threading libraries other than pthreads (FLEXT_THREADS defined as FLEXT_THR_*)
-- implemented threading support with the MacOS MP thread library
-- stripped the ThrMutex and ThrCond classes of non-portable (and irrelevant) functionality
-- simplified "ToQueue*" and threaded "ToOut*" message queue mechanism for Max/MSP
-- deprecated FLEXT_ADDMETHOD_V and FLEXT_ADDMETHOD_A definitions which only lead to confusion
-- BACKWARDS-INCOMPATIBLE CHANGE: flext_sndobj::NewObjs must return a boolean!!
-
-0.4.0:
-- the use of the const keyword is enforced (e.g. the preferred type for symbols is now "const t_symbol *")
- - there _might_ be some problems with sensitive compilers
-- introduced Max/Jitter-like attribute functionality ("@value" command line, "getvalue" get and "value" set functions)
-- introduced a flext static class for general flext functions (to clean up the flext_base class)
-- creation argument handling is now done by flext
- no more weird PD re-ordering of arguments
-- no more support for the Apple MPW compiler - MacOS9 is dying anyway...
-- calling SetupInOut() has become obsolete
- - flext creates all inlets/outlets by itself after the constructor has finished
- - this implies that CntIn(),CntOut() and the outlet pointers are not valid in the constructor
- - there is a virtual bool Init() function that may be used for such initialization
-- completely redesigned FLEXT_NEW macros, usage of dynamic classes (in fllib.cpp)
-- added ToQueue* functions - like ToOut* but messages or not directly sent (well suited for deadlock situations)
-- introduced additional per-class methods and attributes (just like it ever was in Max and PD)
-- fixed potentially dangerous typo in flext.cpp - (was: FLEXT_THREAD instead of FLEXT_THREADS)
-- added OSX/darwin support (originally done by Adam T. Lindsay)
-- SndObj interface now also available for cygwin and BCC
-- added prepend and append functions to AtomList class
-- added IsNothing, SetNothing, CanbeBool and GetABool functions
-- eliminated the remaining Get*Flint and Set*Flint functions
-- added/completed Is/Canbe/Get/Set for pointer atoms
-- added print/scan functions for atoms
-- fixed anything outlets for Max/MSP... for some strange reason this severe bug has not had severe consequences....
-
-0.3.3:
-- PD: fixed bug for DSP objects having no signal inlets
- this also enables floats into a non-signal leftmost inlet
-- revisited priority stuff for detached threads
-- Bind/unbind functions for flext classes (in MaxMSP only one object can be bound)
-- made "t_symtype" another synonym for "t_symbol *"
-- added forgotten dsp_free function for MaxMSP
-- fixed forgotten __class__ member for MaxMSP libraries
-- changed basic MaxMSP object to t_pxbox (ok, a bit more memory is used....)
-- MaxMSP library can now be loaded from startup folder (but can't use aliases)
-- if no handler is found for pure anything (just symbol, no args...) try list handler
-- added interface for SndObj (http://www.may.ie/academic/music/musictec/SndObj/ )
-
-0.3.2:
-- Doxygen generated inline documentation / functional reference
-- added some more functionality to the AtomAnything class
-- bugfix for threaded methods with var list or anything arguments
-- added threaded method for arbitrary (void *) data structs
-- ThrMutex: added lock count functions Push() and Pop()
-- eliminated potentially dangerous SetThing,GetThing and introduced DoBind,DoUnbind,GetBound instead
-- fixed severe bug with the current threads list
-- add path specification possibility for help symbols (in FLEXT_NEW*)
-- use pthread_attr and DETACHED flag
-
-0.3.1:
-- added some more functionality to the AtomList class
-- fixed forgotten Sleep implementation in pd@unix
-- reorganized file structure and config/make procedures
-
-0.3.0:
-- added CYGWIN support
-
-- added threaded methods along with a message queue for ToOut* functions (very unstable for MaxMSP!)
- to use threads compile flext with FLEXT_THREADS definition
-- check/update function for buffer change (resize etc.)
-- description text for inlets/outlets (e.g. for MaxMSPs assist function) - not fully implemented
-- added buffer resize functions flext_base::buffer::Frames(int,bool)
-- added some utility functions: Sleep, CopyAtom, CopyList
-- added List manipulation classes: AtomList, AtomAnything
-- Alias object names (simply specify with FLEXT_NEW*, separated by whitespace)
-- float messages - int method is called if there is no float method
-- MaxMSP: int messages - float method is called if there is no int method
-- fixed type warning for class constructors with int arguments in PD
-- fixed severe bug concerning symbol methods
-- MaxMSP: use critical sections for message output (for more safety in overdrive mode)
-- PD: default/manual definition of help file by flext_base::DefineHelp
-- added GetThing/SetThing to access t_symbol's s_thing data member
-
-- introduced FLEXT_NEW_DSP* and FLEXT_LIB_DSP* for FLEXT_NEW_TILDE* and FLEXT_LIB_TILDE* (the latter become deprecated)
-- all variable argument defs (aka gimme) now have a V instead of G (e.g. FLEXT_NEW_V)
-
-0.2.3:
-- restructured files and started usable inline documentation
-- found that there was no method to output a bang?! Ugh! -> corrected
-- finally eliminated awful t_flint type and all other schizophrenic flint functions (float and int exist now equally)
-- now (finally) using type t_sample for sample values (should just be identical to float)
-- added AddInBang/AddOutBang (same as Add*Symbol - unchecked)
-- buffer class: added "bool Ok()" check function
-- switched on error posting for unhandled messages
-- added XletCode and AddInlets/AddOutlets for multiple Inlet/Outlet addition (max. 9 inlets/outlets)
-- if float or int message is not handled explicitly then [list float/int( is tried
-
-0.2.2:
-- added xgimme argument type (supplies method handlers with symbol+gimme)
-- more information on DSP system with flext_dsp object (block size,number of audio inputs and outputs)
-- cleaner gcc makefile
-- made NewAligned/FreeAligned static functions
-- introduced FLEXT(_TILDE)_SETUP for class setup in a library setup function
-- introduced external libraries for MaxMSP, changed library setup behavior (now via FLEXT_LIB_SETUP)
-- included MaxMsp's inofficial buffer.h with consent by David Zicarelli
-- changed dynamic casts in callback functions to static as gcc 3.0.4 has obvious bugs
-
-0.2.1:
-- fixed bug in message parsing code (anything messages were not correctly mapped to inlets)
-- changed t_symtype to t_symptr (= t_symbol *), needed for method argument lists
-- eliminated flint type (t_flint remains)
-
-0.2.0:
-- internal proxy objects for any non-leftmost inlets
-- Max/MSP: all signal inlets can receive messages
-- method/argument parsing is done by flext - float/int are not distinguished, the first handler wins
-- integrated more system functions into flext_base & eliminated superfluous #defines
-- distribute list (into inlet 0) elements over inlets (right to left)
-- added outlets for anythings
-- defines for callback-to-method functions and method setup (FLEXT_CALLBACK*, FLEXT_ADD*)
-- uses PD's or Max's memory allocation functions (for safety in Max's overdrive)
-- no support for default arguments (A_DEFFLOAT and A_DEFSYMBOL).. use GIMME instead!
-- better graphics update behavior for PD
-- improved behavior for invalid/undefined buffers/arrays
-- use MaxMSP internal z_disabled flag with flext_dsp for pausing/resuming dsp processing
-- included CHECK_TILDE, a test whether a tilde object (defined as FLEXT_TILDE_*) has a trailing ~. (debug mode only)
-- changed notation of flext functions from to_out_float like to ToOutFloat like
-- eliminated trivial shortcuts (F,I,V,...) for built-in types
-- MaxMSP is only capable of 3 creation arguments... that should be sufficient - otherwise use GIMME
-- Methods for aligned memory (NewAligned, FreeAligned)
-
-0.1.1:
-- documentation for flext.h
-- more emancipation from GEM code
-- virtually everything renamed
-- abstraction for dsp processing
-- makefile for BCC
-- manual call of extern_setup or main unnecessary for single objects - only in pd libraries
-- delayed buffer init (only name is set beforehand)
-- loadbang also in PD
-- introduced "compatibility mode" which denies platform-specific features
-- fixed severe dsp bug (symptom: "float method overwritten" warning in pd)
-- fixed bug: wrong return code from buffer::Set
-
-0.1.0:
-- max-pd 0.2 becomes flext 0.1.0
-- heavy usage of unchanged GEM code
-
-
-
-
diff --git a/externals/grill/flext/configure.ac b/externals/grill/flext/configure.ac
deleted file mode 100755
index 83c6e309..00000000
--- a/externals/grill/flext/configure.ac
+++ /dev/null
@@ -1,160 +0,0 @@
-dnl
-dnl autoconf template
-dnl added by tim blechmann
-dnl
-
-dnl flext API version (current:release:age)
-API_VERSION=0:0:0
-
-AC_INIT([flext],[0.5.0],[gr@grrrr.org],[flext])
-AM_INIT_AUTOMAKE(1.6)
-
-
-dnl configure options
-AC_ARG_ENABLE(system, [ --enable-system flext system (default: pd)],
- [
- case $enableval in
- max) AC_DEFINE(FLEXT_SYS,1)
- TARGETDIR=maxmsp;;
- *) AC_DEFINE(FLEXT_SYS,2)
- TARGETDIR=pd;;
- esac
- system = $enableval
- ],
- AC_DEFINE(FLEXT_SYS,2)
- TARGETDIR=pd
-)
-
-AC_ARG_WITH(sysdir,
- [ --with-sysdir path to pd or max headers],
- [
- sysdir=$withval
- INCLUDEDIR="-I$withval $INCLUDEDIR"
- ],
- [echo "path to system headers required "$enableval && exit 1])
-
-dnl check for g_canvas.h in pd folder
-AC_CHECK_FILE("$sysdir/g_canvas.h",,[echo "$sysdir/g_canvas.h not found" && exit 1])
-
-AC_ARG_WITH(stkdir,
- [ --with-stkdir path to stk headers],
- [
- AC_CHECK_FILE("$withval/Stk.h",,[echo "$withval/Stk.h not found" && exit 1])
- stkdir=$withval
- INCLUDEDIR="-I$withval $INCLUDEDIR"
- ])
-
-AM_CONDITIONAL([STK],[test "$stkdir"])
-
-AC_ARG_WITH(sndobjdir,
- [ --with-sndobjdir path to SndObj headers],
- [
- AC_CHECK_FILE("$withval/SndObj.h",,[echo "$withval/SndObj.h not found" && exit 1])
- sndobjdir=$withval
- INCLUDEDIR="-I$withval $INCLUDEDIR"
- ])
-
-AM_CONDITIONAL([SNDOBJ],[test "$sndobjdir"])
-
-AC_ARG_ENABLE(optimize, [ --enable-optimize enables optimized builds for: pentium4, pentium3, G4, G5],
- [
- case $enableval in
- pentium3 | pentium3m)
- OPT_FLAGS = "-mtune=$enableval -march=$enableval -mmmx -msse -mfpmath=sse";
- AC_DEFINE(FLEXT_USE_SIMD);;
- pentium2 | athlon | pentium-mmx)
- OPT_FLAGS="-mtune=$enableval -march=$enableval -mmmx";;
- pentium)
- OPT_FLAGS="-mtune=$enableval -march=$enableval";;
- pentium4 | pentium4m | pentium-m | prescott | nocona | athlon-xp | athlon-mp | athlon64 | opteron)
- OPT_FLAGS="-mtune=$enableval -march=$enableval -mmmx -msse -msse2 -mfpmath=sse";
- AC_DEFINE(FLEXT_USE_SIMD);;
- G5 | G4)
- OPT_FLAGS="-mtune=$enableval --maltivec -faltivec -malign-natural";
- AC_DEFINE(FLEXT_USE_SIMD);;
- G3)
- OPT_FLAGS="-mtune=$enableval --malign-natural";;
- *)
- ;;
- esac
- ])
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_CXX
-AC_PROG_INSTALL
-AC_PROG_MAKE_SET
-AC_PROG_RANLIB
-
-dnl Checks for libraries.
-
-dnl Checks for header files.
-
-dnl Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_C_INLINE
-AC_TYPE_SIZE_T
-AC_STRUCT_TM
-
-dnl Checks for library functions.
-
-dnl system specific
-
-if test `uname -s` == Linux; then
- DYNAMIC_LDFLAGS="-Wl,-Bdynamic -shared"
- EXTENSION=pd_linux
- SOEXT=so
-fi
-
-if test `uname -s` == Darwin; then
-# DYNAMIC_LDFLAGS="-version-info $API_VERSION -release $AC_PACKAGE_VERSION -dynamiclib -dynamic -flat_namespace -undefined suppress"
-
- DYNAMIC_LDFLAGS="-dynamiclib -dynamic -flat_namespace -undefined suppress"
- if test $system == max; then
- EXTENSION=mxo
- else
- EXTENSION=pd_darwin
- fi
-
- SOEXT=dylib
- FRAMEWORKS="ApplicationServices vecLib"
-fi
-
-dnl todo: mingw / cygwin
-
-AC_SUBST(INCLUDEDIR)
-AC_SUBST(OPT_FLAGS)
-AC_SUBST(DYNAMIC_LDFLAGS)
-AC_SUBST(stkdir)
-AC_SUBST(sndobjdir)
-AC_SUBST(EXTENSION)
-AC_SUBST(SOEXT)
-AC_SUBST(TARGETDIR)
-AC_SUBST(FRAMEWORKS) dnl for osx
-AC_OUTPUT([
- Makefile
- tutorial/Makefile
- tutorial/adv1/Makefile
- tutorial/adv2/Makefile
- tutorial/adv3/Makefile
- tutorial/attr1/Makefile
- tutorial/attr2/Makefile
- tutorial/attr3/Makefile
- tutorial/bind1/Makefile
- tutorial/buffer1/Makefile
- tutorial/lib1/Makefile
- tutorial/signal1/Makefile
- tutorial/signal2/Makefile
- tutorial/simple1/Makefile
- tutorial/simple2/Makefile
- tutorial/simple3/Makefile
- tutorial/sndobj1/Makefile
- tutorial/stk1/Makefile
- tutorial/stk2/Makefile
- tutorial/thread1/Makefile
- tutorial/thread2/Makefile
- tutorial/timer1/Makefile
- tutorial/pd/Makefile
- tutorial/maxmsp/Makefile
- source/Makefile])
-
diff --git a/externals/grill/flext/examples/examples.dsw b/externals/grill/flext/examples/examples.dsw
deleted file mode 100644
index 6f52bde2..00000000
--- a/externals/grill/flext/examples/examples.dsw
+++ /dev/null
@@ -1,33 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNUNG: DIESE ARBEITSBEREICHSDATEI DARF NICHT BEARBEITET ODER GELÖSCHT WERDEN!
-
-###############################################################################
-
-Project: "henon"=.\source\henon.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
- begin source code control
- max/flext/examples/source
- .\source
- end source code control
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/externals/grill/flext/examples/pd/ex-henon.pd b/externals/grill/flext/examples/pd/ex-henon.pd
deleted file mode 100644
index a70ec540..00000000
--- a/externals/grill/flext/examples/pd/ex-henon.pd
+++ /dev/null
@@ -1,87 +0,0 @@
-#N canvas 412 48 465 467 12;
-#X obj 18 43 bng 25 250 50 0 empty empty reset 0 -10 0 14 -261689 -1
--1;
-#X obj 99 44 bng 25 250 50 0 empty empty trigger 0 -10 0 14 -261689
--1 -1;
-#X obj 206 43 nbx 4 18 0 1 0 1 empty empty pre-alpha 0 -10 0 14 -225271
--1 -1 0.75 256;
-#X obj 322 44 nbx 4 18 0 1 0 1 empty empty pre-beta 0 -10 0 14 -225271
--1 -1 0.41 256;
-#X obj 60 264 nbx 5 18 -1e+037 1e+037 0 0 empty empty result 0 -10
-0 14 -228992 -1 -1 0 256;
-#N canvas 0 0 458 522 henon 0;
-#X text 115 130 x;
-#X text 190 129 y;
-#X obj 157 166 *;
-#X obj 47 158 t f f;
-#X obj 48 189 *;
-#X obj 77 215 *;
-#X obj 130 248 +;
-#X obj 113 281 + 1;
-#X obj 85 131 f 0;
-#X obj 158 130 f 0;
-#X obj 33 23 inlet;
-#X obj 263 27 inlet;
-#X obj 368 28 inlet;
-#X text 264 7 alpha;
-#X text 373 7 beta;
-#X text 28 5 commands;
-#X obj 31 50 route reset bang;
-#X obj 112 445 outlet;
-#X obj 100 86 t b b;
-#X obj 31 76 t 0;
-#X obj 241 55 * 1.5;
-#X obj 241 80 - 2.5;
-#X obj 361 55 - 0.5;
-#X obj 114 342 + 1;
-#X obj 114 369 / 2;
-#X obj 113 394 max 0;
-#X obj 113 418 min 1;
-#X connect 2 0 6 1;
-#X connect 3 0 4 0;
-#X connect 3 1 4 1;
-#X connect 4 0 5 0;
-#X connect 5 0 6 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 1;
-#X connect 7 0 23 0;
-#X connect 8 0 3 0;
-#X connect 8 0 9 1;
-#X connect 9 0 2 0;
-#X connect 10 0 16 0;
-#X connect 11 0 20 0;
-#X connect 12 0 22 0;
-#X connect 16 0 19 0;
-#X connect 16 1 18 0;
-#X connect 18 0 8 0;
-#X connect 18 1 9 0;
-#X connect 19 0 8 1;
-#X connect 19 0 9 1;
-#X connect 20 0 21 0;
-#X connect 21 0 5 1;
-#X connect 22 0 2 1;
-#X connect 23 0 24 0;
-#X connect 24 0 25 0;
-#X connect 25 0 26 0;
-#X connect 26 0 17 0;
-#X restore 60 208 pd henon;
-#X msg 18 77 reset;
-#X obj 294 201 henon;
-#X obj 292 259 nbx 5 18 -1e+037 1e+037 0 0 empty empty result 0 -10
-0 14 -228992 -1 -1 0 256;
-#X text 17 331 alpha and beta can also be initialized;
-#X text 18 350 at creation time;
-#X obj 45 426 henon @alpha 0.7 @beta 0.2;
-#X text 15 403 or \, using attributes;
-#X obj 45 377 henon 0.7 0.2;
-#X connect 0 0 6 0;
-#X connect 1 0 5 0;
-#X connect 1 0 7 0;
-#X connect 2 0 7 1;
-#X connect 2 0 5 1;
-#X connect 3 0 7 2;
-#X connect 3 0 5 2;
-#X connect 5 0 4 0;
-#X connect 6 0 5 0;
-#X connect 6 0 7 0;
-#X connect 7 0 8 0;
diff --git a/externals/grill/flext/examples/source/henon.cpp b/externals/grill/flext/examples/source/henon.cpp
deleted file mode 100644
index e48b9555..00000000
--- a/externals/grill/flext/examples/source/henon.cpp
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
-flext examples - henon
-
-Copyright (c) 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.
-
--------------------------------------------------------------------------
-
-This is a simple external featuring the chaotic Henon attractor.
-
-See also http://improv.sapp.org/doc/examples/synthImprov/henontune/henontune.html
-Thanks to David Casal for the pointer!
-
-*/
-
-// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!)
-// For clarity, this is done here, but you'd better specify it as a compiler definition
-// FLEXT_ATTRIBUTES must be 0 or 1,
-#define FLEXT_ATTRIBUTES 1
-
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
-#error You need at least flext version 0.4.1
-#endif
-
-
-class henon:
- public flext_base
-{
- FLEXT_HEADER_S(henon,flext_base,Setup)
-
-public:
- // constructor
- henon(int argc,const t_atom *argv);
-
-protected:
- void m_bang();
- void m_reset() { x = y = 0; }
-
- void m_alpha(float a) { alpha = a; }
- void m_beta(float b) { beta = b; }
-
- float alpha,beta;
- float x,y;
-
-private:
- static void Setup(t_classid c);
-
- // method callbacks
- FLEXT_CALLBACK(m_reset)
- FLEXT_CALLBACK(m_bang)
- FLEXT_CALLBACK_F(m_alpha)
- FLEXT_CALLBACK_F(m_beta)
-
- // define attribute callbacks for variables alpha and beta (with GET and SET properties)
- FLEXT_ATTRVAR_F(alpha)
- FLEXT_ATTRVAR_F(beta)
-};
-
-// instantiate the class
-FLEXT_NEW_V("henon",henon)
-
-
-henon::henon(int argc,const t_atom *argv):
- alpha(0),beta(0),x(0),y(0) // initializations
-{
- // define inlets
- AddInAnything("reset,bang,...");
- AddInFloat("alpha");
- AddInFloat("beta");
-
- // define outlets
- AddOutFloat();
-
- // processing command line
- if(argc == 2 && CanbeFloat(argv[0]) && CanbeFloat(argv[1])) {
- // two float args
- alpha = GetAFloat(argv[0]);
- beta = GetAFloat(argv[1]);
- }
-}
-
-void henon::Setup(t_classid c)
-{
- // register methods
- FLEXT_CADDBANG(c,0,m_bang);
- FLEXT_CADDMETHOD_(c,0,"reset",m_reset);
-
- // methods for non-left inlets
- FLEXT_CADDMETHOD(c,1,m_alpha);
- FLEXT_CADDMETHOD(c,2,m_beta);
-
- // register attributes
- FLEXT_CADDATTR_VAR1(c,"alpha",alpha); // register attribute "alpha"
- FLEXT_CADDATTR_VAR1(c,"beta",beta); // register attribute "beta"
-}
-
-// Trigger output
-void henon::m_bang()
-{
- float _alpha_ = alpha*1.5f-2.5f;
- float _beta_ = beta-0.5f;
-
- float newx = 1 + _alpha_ * x * x + _beta_ * y;
- float newy = x;
- x = newx;
- y = newy;
-
- float output = (x + 1.0f)/2.0f;
- if(output < 0)
- output = 0;
- else if(output > 1)
- output = 1;
-
- // output value to outlet
- ToOutFloat(0,output); // (0 stands for the outlet index 0)
-}
diff --git a/externals/grill/flext/examples/source/henon.cw b/externals/grill/flext/examples/source/henon.cw
deleted file mode 100644
index cf880938..00000000
--- a/externals/grill/flext/examples/source/henon.cw
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/examples/source/henon.dsp b/externals/grill/flext/examples/source/henon.dsp
deleted file mode 100644
index 24cbdfcf..00000000
--- a/externals/grill/flext/examples/source/henon.dsp
+++ /dev/null
@@ -1,95 +0,0 @@
-# Microsoft Developer Studio Project File - Name="henon" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** NICHT BEARBEITEN **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=henon - 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 "henon.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 "henon.mak" CFG="henon - Win32 Debug"
-!MESSAGE
-!MESSAGE Für die Konfiguration stehen zur Auswahl:
-!MESSAGE
-!MESSAGE "henon - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "henon - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName "henon"
-# PROP Scc_LocalPath "."
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "henon - 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" /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 /nologo /dll /machine:I386 /out:"../pd-msvc/henon.dll" /libpath:"..\..\pd-msvc"
-
-!ELSEIF "$(CFG)" == "henon - 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" /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 /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\pd-msvc"
-
-!ENDIF
-
-# Begin Target
-
-# Name "henon - Win32 Release"
-# Name "henon - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\henon.cpp
-# End Source File
-# End Target
-# End Project
diff --git a/externals/grill/flext/flext.mcp b/externals/grill/flext/flext.mcp
deleted file mode 100644
index 595fe11e..00000000
--- a/externals/grill/flext/flext.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/flext.vcproj b/externals/grill/flext/flext.vcproj
deleted file mode 100644
index 685b2db7..00000000
--- a/externals/grill/flext/flext.vcproj
+++ /dev/null
@@ -1,4333 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="flext"
- ProjectGUID="{B94DB81C-B5FB-4984-99DC-5063C3793BFE}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Threads DLL Debug|Win32"
- OutputDirectory=".\pd-msvc\tdl"
- IntermediateDirectory=".\pd-msvc\tdl"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="pd-msvc/flext_tdl-pdwin.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Threads DLL Release|Win32"
- OutputDirectory=".\pd-msvc\trl"
- IntermediateDirectory=".\pd-msvc\trl"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=2;FLEXT_THREADS;FLEXT_USE_SIMD"
- StringPooling="TRUE"
- RuntimeLibrary="2"
- EnableFunctionLevelLinking="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="pd-msvc/flext_tl-pdwin.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="PD Threads Debug|Win32"
- OutputDirectory=".\pd-msvc\td"
- IntermediateDirectory=".\pd-msvc\td"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\data\prog\packs\pthreads\include;&quot;c:\data\pd\pd-cvs\src&quot;;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;xFLEXT_ATTRHIDE;xFLEXT_NOATTREDIT;_WIN32_WINNT=0x501;xFLEXT_USECMEM"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="pd-msvc/flext-pd_td.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="PD Debug|Win32"
- OutputDirectory=".\pd-msvc\sd"
- IntermediateDirectory=".\pd-msvc\sd"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\data\pd\pd-cvs\src;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=2;FLEXT_USE_SIMD;FLEXT_EXPORTS;FLEXT_DEBUGMEM;_WIN32_WINNT=0x400"
- StringPooling="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="pd-msvc/flext-pd_sd.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="PD Threads Release|Win32"
- OutputDirectory=".\pd-msvc\t"
- IntermediateDirectory=".\pd-msvc\t"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=2;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x501"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="pd-msvc/flext-pd_t.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="PD Release|Win32"
- OutputDirectory=".\pd-msvc\s"
- IntermediateDirectory=".\pd-msvc\s"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB;FLEXT_SYS=2;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x400"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="pd-msvc/flext-pd_s.lib"
- SuppressStartupBanner="TRUE"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="PD Shared Debug|Win32"
- OutputDirectory=".\pd-msvc\ddl"
- IntermediateDirectory=".\pd-msvc\ddl"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;c:\data\prog\pd\pd-cvs\src&quot;;c:\data\prog\packs\pthreads;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_PD;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS;FLEXT_PDLOCK"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- Detect64BitPortabilityProblems="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib pthreadVC.lib stk_d.lib sndobj.lib"
- OutputFile=".\pd-msvc\flext-pd_d.dll"
- AdditionalLibraryDirectories="&quot;c:\data\prog\pd\pd-cvs\bin&quot;;c:\data\prog\packs\pthreads;c:\data\prog\audio\stk\lib;c:\data\prog\audio\sndobj\lib"
- GenerateDebugInformation="TRUE"
- OptimizeReferences="1"
- ImportLibrary="./pd-msvc/flext-pd_d.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="PD Shared Release|Win32"
- OutputDirectory=".\pd-msvc\dd"
- IntermediateDirectory=".\pd-msvc\dd"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- GlobalOptimizations="FALSE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="FALSE"
- AdditionalIncludeDirectories="&quot;c:\data\prog\pd\pd-cvs\src&quot;;c:\data\prog\packs\pthreads;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_PD;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS;FLEXT_PDLOCK"
- StringPooling="TRUE"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="1"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="0"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib pthreadVC.lib stk.lib sndobj.lib"
- OutputFile=".\pd-msvc\flext-pd.dll"
- AdditionalLibraryDirectories="c:\data\prog\packs\pthreads;&quot;c:\data\prog\pd\pd-cvs\bin&quot;;c:\data\prog\audio\stk\lib;c:\data\prog\audio\sndobj\lib"
- GenerateDebugInformation="FALSE"
- OptimizeReferences="1"
- ImportLibrary="./pd-msvc/flext-pd.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Max Shared Debug|Win32"
- OutputDirectory=".\max-msvc\dd"
- IntermediateDirectory=".\max-msvc\dd"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="F:\prog\audio\MaxWinSDK\c74support\max-includes,F:\prog\audio\MaxWinSDK\c74support\msp-includes,f:\prog\packs\pthreads,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_MAX;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- StructMemberAlignment="2"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="maxapi.lib maxext.lib maxaudio.lib pthreadVC.lib stk_d.lib sndobj.lib"
- OutputFile=".\max-msvc\flext-max_d.dll"
- AdditionalLibraryDirectories="&quot;F:\prog\audio\MaxWinSDK\c74support\max-includes\win-includes\debug&quot;;&quot;F:\prog\audio\MaxWinSDK\c74support\msp-includes\win-includes\debug&quot;;f:\prog\packs\pthreads;F:\prog\audio\stk\lib;F:\prog\audio\sndobj\lib"
- GenerateDebugInformation="TRUE"
- OptimizeReferences="1"
- ImportLibrary="./max-msvc/flext-max_d.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="copy flext to maestra"
- CommandLine="copy F:\prog\max\flext\max-msvc\flext_d.max.dll f:\prog\maestra\dev\debug"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Max Shared Release|Win32"
- OutputDirectory=".\max-msvc\dd"
- IntermediateDirectory=".\max-msvc\dd"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- GlobalOptimizations="FALSE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="FALSE"
- AdditionalIncludeDirectories="F:\prog\audio\MaxWinSDK\c74support\max-includes,F:\prog\audio\MaxWinSDK\c74support\msp-includes,f:\prog\packs\pthreads,f:\prog\audio\sndobj\include,f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_MAX;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_SHARED;FLEXT_EXPORTS"
- StringPooling="TRUE"
- ExceptionHandling="TRUE"
- RuntimeLibrary="2"
- StructMemberAlignment="2"
- EnableEnhancedInstructionSet="1"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="maxapi.lib maxext.lib maxaudio.lib stk.lib sndobj.lib"
- OutputFile=".\max-msvc\flext-max.dll"
- AdditionalLibraryDirectories="&quot;F:\prog\audio\MaxWinSDK\c74support\max-includes\win-includes\debug&quot;;&quot;F:\prog\audio\MaxWinSDK\c74support\msp-includes\win-includes\debug&quot;;f:\prog\packs\pthreads;F:\prog\audio\stk\lib;F:\prog\audio\sndobj\lib"
- IgnoreAllDefaultLibraries="FALSE"
- GenerateDebugInformation="FALSE"
- OptimizeReferences="1"
- ImportLibrary="./max-msvc/flext-max.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="copy flext to maestra"
- CommandLine="copy F:\prog\max\flext\source\*.h f:\prog\maestra\dev\api\include
-copy F:\prog\max\flext\max-msvc\flext_l.lib f:\prog\maestra\dev\api\lib
-copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\maestra\dev\release
-copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\dll
-"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Max Release|Win32"
- OutputDirectory=".\max-msvc\s"
- IntermediateDirectory=".\max-msvc\s"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- GlobalOptimizations="FALSE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="FALSE"
- AdditionalIncludeDirectories="&quot;C:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support\max-includes&quot;;&quot;C:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support\msp-includes&quot;;f:\prog\packs\pthreads;f:\prog\audio\sndobj\include;f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS_MAX;FLEXT_USE_SIMD;FLEXT_EXPORTS"
- StringPooling="TRUE"
- BasicRuntimeChecks="0"
- RuntimeLibrary="0"
- StructMemberAlignment="2"
- BufferSecurityCheck="FALSE"
- EnableEnhancedInstructionSet="1"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="0"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="max-msvc/flext-max_s.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="copy flext to maestra"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Max Debug|Win32"
- OutputDirectory=".\max-msvc\sd"
- IntermediateDirectory=".\max-msvc\sd"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- GlobalOptimizations="FALSE"
- InlineFunctionExpansion="0"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="FALSE"
- AdditionalIncludeDirectories="&quot;C:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support\max-includes&quot;;&quot;C:\data\prog\audio\maxmspsdk_win\4.5 headers\c74support\msp-includes&quot;;f:\prog\packs\pthreads;f:\prog\audio\sndobj\include;f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS_MAX;FLEXT_USE_SIMD;FLEXT_EXPORTS"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- StructMemberAlignment="2"
- EnableEnhancedInstructionSet="1"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="max-msvc/flext-max_sd.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Max Threaded Debug|Win32"
- OutputDirectory="max-msvc/td"
- IntermediateDirectory="max-msvc/td"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- GlobalOptimizations="FALSE"
- InlineFunctionExpansion="0"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="FALSE"
- AdditionalIncludeDirectories="&quot;C:\data\prog\audio\maxmspsdk\c74support\max-includes&quot;;&quot;C:\data\prog\audio\maxmspsdk\c74support\msp-includes&quot;;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB;FLEXT_SYS=1;FLEXT_THREADS;FLEXT_USE_SIMD;FLEXT_EXPORTS;_WIN32_WINNT=0x501"
- StringPooling="TRUE"
- RuntimeLibrary="1"
- EnableEnhancedInstructionSet="1"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="3"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="max-msvc/flext-max_td.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Max Threaded Release|Win32"
- OutputDirectory="max-msvc/tr"
- IntermediateDirectory="max-msvc/tr"
- ConfigurationType="4"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="3"
- GlobalOptimizations="FALSE"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="FALSE"
- AdditionalIncludeDirectories="&quot;C:\data\prog\audio\maxmspsdk\c74support\max-includes&quot;;&quot;C:\data\prog\audio\maxmspsdk\c74support\msp-includes&quot;;c:\data\prog\audio\sndobj\include;c:\data\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_LIB;FLEXT_SYS=1;FLEXT_USE_SIMD;FLEXT_EXPORTS;FLEXT_THREADS;_WIN32_WINNT=0x502"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableEnhancedInstructionSet="1"
- RuntimeTypeInfo="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="flext.h"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="0"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="max-msvc/flext-max_t.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"
- Description="copy flext to maestra"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="doc"
- Filter="">
- <File
- RelativePath=".\build.txt">
- </File>
- <File
- RelativePath="changes.txt">
- </File>
- <File
- RelativePath="source\fldoxygen.h">
- </File>
- <File
- RelativePath=".\notes.txt">
- </File>
- <File
- RelativePath="readme.txt">
- </File>
- </Filter>
- <Filter
- Name="Atom"
- Filter="">
- <File
- RelativePath="source\flatom.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flatom_part.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flatom_pr.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Base"
- Filter="">
- <File
- RelativePath="source\flbase.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flbase.h">
- </File>
- <File
- RelativePath="source\flclass.h">
- </File>
- <File
- RelativePath="source\flext.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flext.h">
- </File>
- <File
- RelativePath="source\flinternal.h">
- </File>
- <File
- RelativePath="source\fllib.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flprefix.h">
- </File>
- <File
- RelativePath="source\flstdc.h">
- </File>
- <File
- RelativePath="source\flthr.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="IO"
- Filter="">
- <File
- RelativePath="source\flattr.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\source\flattr_ed.cpp">
- </File>
- <File
- RelativePath="source\flbind.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flitem.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flmeth.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flmsg.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flout.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flproxy.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flqueue.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flxlet.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Util"
- Filter="">
- <File
- RelativePath="source\flbuf.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\source\flcontainers.h">
- </File>
- <File
- RelativePath=".\source\flmap.cpp">
- </File>
- <File
- RelativePath=".\source\flmap.h">
- </File>
- <File
- RelativePath="source\flmspbuffer.h">
- </File>
- <File
- RelativePath="source\flsimd.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flsupport.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flsupport.h">
- </File>
- <File
- RelativePath="source\fltimer.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flutil.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Dsp"
- Filter="">
- <File
- RelativePath="source\fldsp.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\fldsp.h">
- </File>
- </Filter>
- <Filter
- Name="SndObj"
- Filter="">
- <File
- RelativePath="source\flsndobj.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flsndobj.h">
- <FileConfiguration
- Name="PD Shared Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="STK"
- Filter="">
- <File
- RelativePath="source\flstk.cpp">
- <FileConfiguration
- Name="Threads DLL Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Threads DLL Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Threads Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions=""
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="source\flstk.h">
- <FileConfiguration
- Name="PD Shared Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="PD Shared Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Shared Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Debug|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Max Threaded Release|Win32"
- ExcludedFromBuild="TRUE">
- <Tool
- Name="VCCustomBuildTool"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Defs"
- Filter="">
- <File
- RelativePath="source\fldefs.h">
- </File>
- <File
- RelativePath="source\fldefs_attradd.h">
- </File>
- <File
- RelativePath="source\fldefs_attrcb.h">
- </File>
- <File
- RelativePath="source\fldefs_attrvar.h">
- </File>
- <File
- RelativePath="source\fldefs_hdr.h">
- </File>
- <File
- RelativePath="source\fldefs_methadd.h">
- </File>
- <File
- RelativePath="source\fldefs_methbind.h">
- </File>
- <File
- RelativePath="source\fldefs_methcall.h">
- </File>
- <File
- RelativePath="source\fldefs_methcb.h">
- </File>
- <File
- RelativePath="source\fldefs_meththr.h">
- </File>
- <File
- RelativePath="source\fldefs_setup.h">
- </File>
- </Filter>
- <Filter
- Name="build"
- Filter="">
- <File
- RelativePath=".\build-max-msvc.bat">
- </File>
- <File
- RelativePath=".\build-pd-msvc.bat">
- </File>
- <File
- RelativePath=".\config-max-msvc.txt">
- </File>
- <File
- RelativePath=".\config-pd-msvc.txt">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/flext.xcode/project.pbxproj b/externals/grill/flext/flext.xcode/project.pbxproj
deleted file mode 100755
index d8b23073..00000000
--- a/externals/grill/flext/flext.xcode/project.pbxproj
+++ /dev/null
@@ -1,3066 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 39;
- objects = {
- 034768DDFF38A45A11DB9C8B = {
- children = (
- E99747CD0770545100206F68,
- E997483F0770570800206F68,
- E9974886077058C100206F68,
- E99749BE07705CC400206F68,
- E9974BC407705F1400206F68,
- E9974BFA07705F4F00206F68,
- );
- isa = PBXGroup;
- name = Products;
- refType = 4;
- sourceTree = "<group>";
- };
-//030
-//031
-//032
-//033
-//034
-//080
-//081
-//082
-//083
-//084
- 0867D690FE84028FC02AAC07 = {
- buildSettings = {
- };
- buildStyles = (
- F5128F2503864E5501A80AC9,
- F5128F2603864E5501A80AC9,
- );
- hasScannedForEncodings = 1;
- isa = PBXProject;
- mainGroup = 0867D691FE84028FC02AAC07;
- productRefGroup = 034768DDFF38A45A11DB9C8B;
- projectDirPath = "";
- targets = (
- E99747CC0770545100206F68,
- E997480D0770570800206F68,
- E9974885077058C100206F68,
- E997498C07705CC400206F68,
- E9974B9207705F1400206F68,
- E9974BC507705F4F00206F68,
- );
- };
- 0867D691FE84028FC02AAC07 = {
- children = (
- F55CEDB50383E50D01A80AC9,
- 08FB77ACFE841707C02AAC07,
- 089C1665FE841158C02AAC07,
- 0867D69AFE84028FC02AAC07,
- 034768DDFF38A45A11DB9C8B,
- );
- isa = PBXGroup;
- name = "flext-PB";
- refType = 4;
- sourceTree = "<group>";
- };
- 0867D69AFE84028FC02AAC07 = {
- children = (
- E9974E140770780D00206F68,
- E9974E150770780D00206F68,
- E99748D007705BAF00206F68,
- E9974802077054CD00206F68,
- );
- isa = PBXGroup;
- name = "External Frameworks and Libraries";
- refType = 4;
- sourceTree = "<group>";
- };
- 089C1665FE841158C02AAC07 = {
- children = (
- 089C1666FE841158C02AAC07,
- );
- isa = PBXGroup;
- name = Resources;
- refType = 4;
- sourceTree = "<group>";
- };
- 089C1666FE841158C02AAC07 = {
- children = (
- 089C1667FE841158C02AAC07,
- );
- 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>";
- };
- 08FB77ACFE841707C02AAC07 = {
- children = (
- F55CED7B0383E50201A80AC9,
- F55CED7C0383E50201A80AC9,
- F55CED7D0383E50201A80AC9,
- F55CED7E0383E50201A80AC9,
- F55CED800383E50201A80AC9,
- F55CED880383E50201A80AC9,
- F55CED8A0383E50201A80AC9,
- F55CED8D0383E50201A80AC9,
- F55CED8F0383E50201A80AC9,
- F55CED900383E50201A80AC9,
- F55CED930383E50201A80AC9,
- F55CED950383E50201A80AC9,
- F55CED960383E50201A80AC9,
- F55CED970383E50201A80AC9,
- F504A66B03CE39F501A80AC9,
- F504A66C03CE39F501A80AC9,
- F504A66D03CE39F501A80AC9,
- F504A66E03CE39F501A80AC9,
- F504A66F03CE39F501A80AC9,
- F504A67103CE39F501A80AC9,
- F504A67203CE39F501A80AC9,
- F504A67303CE39F501A80AC9,
- F5B1FAC8041191190179CFEF,
- F598D263044CC4A001A80AC9,
- F598D264044CC4A001A80AC9,
- E9BDCC4104F4D7C1008929A0,
- );
- isa = PBXGroup;
- name = Source;
- path = "";
- refType = 2;
- sourceTree = SOURCE_ROOT;
- };
-//080
-//081
-//082
-//083
-//084
-//E90
-//E91
-//E92
-//E93
-//E94
- E99747C90770545100206F68 = {
- buildActionMask = 2147483647;
- files = (
- E99747FA0770548F00206F68,
- E99747E80770548F00206F68,
- E99747E90770548F00206F68,
- E99747F50770548F00206F68,
- E99747F60770548F00206F68,
- E99747F70770548F00206F68,
- E99747F80770548F00206F68,
- E99747F90770548F00206F68,
- E99747FC0770548F00206F68,
- E99747FE0770548F00206F68,
- E99747EA0770548F00206F68,
- E99747EB0770548F00206F68,
- E99747EC0770548F00206F68,
- E99747ED0770548F00206F68,
- E99747EE0770548F00206F68,
- E99747EF0770548F00206F68,
- E99747F00770548F00206F68,
- E99747F10770548F00206F68,
- E99747F20770548F00206F68,
- E99747F30770548F00206F68,
- E99747F40770548F00206F68,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99747CA0770545100206F68 = {
- buildActionMask = 2147483647;
- files = (
- E99747CE0770548700206F68,
- E99747CF0770548700206F68,
- E99747D00770548700206F68,
- E99747D10770548700206F68,
- E99747D20770548700206F68,
- E99747D30770548700206F68,
- E99747D40770548700206F68,
- E99747D50770548700206F68,
- E99747D60770548700206F68,
- E99747D70770548700206F68,
- E99747D80770548700206F68,
- E99747D90770548700206F68,
- E99747DA0770548700206F68,
- E99747DB0770548700206F68,
- E99747DC0770548700206F68,
- E99747DD0770548700206F68,
- E99747DE0770548700206F68,
- E99747DF0770548700206F68,
- E99747E00770548700206F68,
- E99747E30770548700206F68,
- E99747E40770548700206F68,
- E99747E50770548700206F68,
- E99747E60770548700206F68,
- E99747E70770548700206F68,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99747CB0770545100206F68 = {
- buildActionMask = 2147483647;
- files = (
- E9974803077054CD00206F68,
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99747CC0770545100206F68 = {
- buildPhases = (
- E99747C90770545100206F68,
- E99747CA0770545100206F68,
- E99747CB0770545100206F68,
- );
- buildRules = (
- );
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2";
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = flext_s;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- };
- dependencies = (
- );
- isa = PBXNativeTarget;
- name = "PD static single";
- productName = "PD static single";
- productReference = E99747CD0770545100206F68;
- productType = "com.apple.product-type.library.static";
- };
- E99747CD0770545100206F68 = {
- explicitFileType = archive.ar;
- includeInIndex = 0;
- isa = PBXFileReference;
- path = libflext_s.a;
- refType = 3;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- E99747CE0770548700206F68 = {
- fileRef = F55CED7C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747CF0770548700206F68 = {
- fileRef = F504A66B03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D00770548700206F68 = {
- fileRef = F504A66C03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D10770548700206F68 = {
- fileRef = F55CED7B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D20770548700206F68 = {
- fileRef = F55CED7D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D30770548700206F68 = {
- fileRef = E9BDCC4104F4D7C1008929A0;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D40770548700206F68 = {
- fileRef = F55CED7E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D50770548700206F68 = {
- fileRef = F598D263044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D60770548700206F68 = {
- fileRef = F55CED800383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D70770548700206F68 = {
- fileRef = F55CED880383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D80770548700206F68 = {
- fileRef = F55CED8A0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747D90770548700206F68 = {
- fileRef = F504A66D03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747DA0770548700206F68 = {
- fileRef = F55CED8D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747DB0770548700206F68 = {
- fileRef = F504A66E03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747DC0770548700206F68 = {
- fileRef = F504A66F03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747DD0770548700206F68 = {
- fileRef = F55CED8F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747DE0770548700206F68 = {
- fileRef = F504A67103CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747DF0770548700206F68 = {
- fileRef = F504A67203CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747E00770548700206F68 = {
- fileRef = F598D264044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747E30770548700206F68 = {
- fileRef = F55CED930383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747E40770548700206F68 = {
- fileRef = F55CED950383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747E50770548700206F68 = {
- fileRef = F5B1FAC8041191190179CFEF;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747E60770548700206F68 = {
- fileRef = F55CED960383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747E70770548700206F68 = {
- fileRef = F55CED970383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747E80770548F00206F68 = {
- fileRef = F55CED7F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747E90770548F00206F68 = {
- fileRef = F55CED810383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747EA0770548F00206F68 = {
- fileRef = F55CED860383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747EB0770548F00206F68 = {
- fileRef = F5CBC5B804757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747EC0770548F00206F68 = {
- fileRef = F5CBC5B904757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747ED0770548F00206F68 = {
- fileRef = F5CBC5BA04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747EE0770548F00206F68 = {
- fileRef = F5CBC5BB04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747EF0770548F00206F68 = {
- fileRef = F5CBC5BC04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F00770548F00206F68 = {
- fileRef = F5CBC5BD04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F10770548F00206F68 = {
- fileRef = F5CBC5BE04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F20770548F00206F68 = {
- fileRef = F5CBC5BF04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F30770548F00206F68 = {
- fileRef = F5CBC5C004757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F40770548F00206F68 = {
- fileRef = F5CBC5C104757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F50770548F00206F68 = {
- fileRef = F55CED870383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F60770548F00206F68 = {
- fileRef = F55CED890383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F70770548F00206F68 = {
- fileRef = F55CED8B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F80770548F00206F68 = {
- fileRef = F55CED8C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747F90770548F00206F68 = {
- fileRef = F55CED8E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747FA0770548F00206F68 = {
- fileRef = F504A67003CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747FC0770548F00206F68 = {
- fileRef = F55CED920383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99747FE0770548F00206F68 = {
- fileRef = F55CED940383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974802077054CD00206F68 = {
- isa = PBXFileReference;
- lastKnownFileType = wrapper.framework;
- name = vecLib.framework;
- path = /System/Library/Frameworks/vecLib.framework;
- refType = 0;
- sourceTree = "<absolute>";
- };
- E9974803077054CD00206F68 = {
- fileRef = E9974802077054CD00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997480D0770570800206F68 = {
- buildPhases = (
- E997480E0770570800206F68,
- E99748240770570800206F68,
- E997483D0770570800206F68,
- );
- buildRules = (
- );
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2 FLEXT_THREADS";
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = flext_t;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- };
- dependencies = (
- );
- isa = PBXNativeTarget;
- name = "PD static multi";
- productName = "PD static single";
- productReference = E997483F0770570800206F68;
- productType = "com.apple.product-type.library.static";
- };
- E997480E0770570800206F68 = {
- buildActionMask = 2147483647;
- files = (
- E997480F0770570800206F68,
- E99748100770570800206F68,
- E99748110770570800206F68,
- E99748120770570800206F68,
- E99748130770570800206F68,
- E99748140770570800206F68,
- E99748150770570800206F68,
- E99748160770570800206F68,
- E99748170770570800206F68,
- E99748180770570800206F68,
- E99748190770570800206F68,
- E997481A0770570800206F68,
- E997481B0770570800206F68,
- E997481C0770570800206F68,
- E997481D0770570800206F68,
- E997481E0770570800206F68,
- E997481F0770570800206F68,
- E99748200770570800206F68,
- E99748210770570800206F68,
- E99748220770570800206F68,
- E99748230770570800206F68,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E997480F0770570800206F68 = {
- fileRef = F504A67003CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748100770570800206F68 = {
- fileRef = F55CED7F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748110770570800206F68 = {
- fileRef = F55CED810383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748120770570800206F68 = {
- fileRef = F55CED870383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748130770570800206F68 = {
- fileRef = F55CED890383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748140770570800206F68 = {
- fileRef = F55CED8B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748150770570800206F68 = {
- fileRef = F55CED8C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748160770570800206F68 = {
- fileRef = F55CED8E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748170770570800206F68 = {
- fileRef = F55CED920383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748180770570800206F68 = {
- fileRef = F55CED940383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748190770570800206F68 = {
- fileRef = F55CED860383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997481A0770570800206F68 = {
- fileRef = F5CBC5B804757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997481B0770570800206F68 = {
- fileRef = F5CBC5B904757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997481C0770570800206F68 = {
- fileRef = F5CBC5BA04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997481D0770570800206F68 = {
- fileRef = F5CBC5BB04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997481E0770570800206F68 = {
- fileRef = F5CBC5BC04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997481F0770570800206F68 = {
- fileRef = F5CBC5BD04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748200770570800206F68 = {
- fileRef = F5CBC5BE04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748210770570800206F68 = {
- fileRef = F5CBC5BF04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748220770570800206F68 = {
- fileRef = F5CBC5C004757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748230770570800206F68 = {
- fileRef = F5CBC5C104757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748240770570800206F68 = {
- buildActionMask = 2147483647;
- files = (
- E99748250770570800206F68,
- E99748260770570800206F68,
- E99748270770570800206F68,
- E99748280770570800206F68,
- E99748290770570800206F68,
- E997482A0770570800206F68,
- E997482B0770570800206F68,
- E997482C0770570800206F68,
- E997482D0770570800206F68,
- E997482E0770570800206F68,
- E997482F0770570800206F68,
- E99748300770570800206F68,
- E99748310770570800206F68,
- E99748320770570800206F68,
- E99748330770570800206F68,
- E99748340770570800206F68,
- E99748350770570800206F68,
- E99748360770570800206F68,
- E99748370770570800206F68,
- E99748380770570800206F68,
- E99748390770570800206F68,
- E997483A0770570800206F68,
- E997483B0770570800206F68,
- E997483C0770570800206F68,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99748250770570800206F68 = {
- fileRef = F55CED7C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748260770570800206F68 = {
- fileRef = F504A66B03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748270770570800206F68 = {
- fileRef = F504A66C03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748280770570800206F68 = {
- fileRef = F55CED7B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748290770570800206F68 = {
- fileRef = F55CED7D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997482A0770570800206F68 = {
- fileRef = E9BDCC4104F4D7C1008929A0;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997482B0770570800206F68 = {
- fileRef = F55CED7E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997482C0770570800206F68 = {
- fileRef = F598D263044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997482D0770570800206F68 = {
- fileRef = F55CED800383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997482E0770570800206F68 = {
- fileRef = F55CED880383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997482F0770570800206F68 = {
- fileRef = F55CED8A0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748300770570800206F68 = {
- fileRef = F504A66D03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748310770570800206F68 = {
- fileRef = F55CED8D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748320770570800206F68 = {
- fileRef = F504A66E03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748330770570800206F68 = {
- fileRef = F504A66F03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748340770570800206F68 = {
- fileRef = F55CED8F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748350770570800206F68 = {
- fileRef = F504A67103CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748360770570800206F68 = {
- fileRef = F504A67203CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748370770570800206F68 = {
- fileRef = F598D264044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748380770570800206F68 = {
- fileRef = F55CED930383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748390770570800206F68 = {
- fileRef = F55CED950383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997483A0770570800206F68 = {
- fileRef = F5B1FAC8041191190179CFEF;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997483B0770570800206F68 = {
- fileRef = F55CED960383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997483C0770570800206F68 = {
- fileRef = F55CED970383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997483D0770570800206F68 = {
- buildActionMask = 2147483647;
- files = (
- E997483E0770570800206F68,
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E997483E0770570800206F68 = {
- fileRef = E9974802077054CD00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997483F0770570800206F68 = {
- explicitFileType = archive.ar;
- includeInIndex = 0;
- isa = PBXFileReference;
- path = libflext_t.a;
- refType = 3;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- E9974882077058C100206F68 = {
- buildActionMask = 2147483647;
- files = (
- E99748B00770595E00206F68,
- E99748B10770595E00206F68,
- E99748B20770595E00206F68,
- E99748B30770595E00206F68,
- E99748B40770595E00206F68,
- E99748B50770595E00206F68,
- E99748B60770595E00206F68,
- E99748B70770595E00206F68,
- E99748B80770595E00206F68,
- E99748B90770595E00206F68,
- E99748BA0770595E00206F68,
- E99748A40770595500206F68,
- E99748A50770595500206F68,
- E99748A60770595500206F68,
- E99748A70770595500206F68,
- E99748A80770595500206F68,
- E99748A90770595600206F68,
- E99748AA0770595600206F68,
- E99748AB0770595600206F68,
- E99748AC0770595600206F68,
- E99748AD0770595600206F68,
- E99748AE0770595600206F68,
- E99748AF0770595600206F68,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974883077058C100206F68 = {
- buildActionMask = 2147483647;
- files = (
- E997488C0770593C00206F68,
- E997488D0770593C00206F68,
- E997488E0770593C00206F68,
- E997488F0770593C00206F68,
- E99748900770593C00206F68,
- E99748910770593C00206F68,
- E99748920770593C00206F68,
- E99748930770593C00206F68,
- E99748940770593C00206F68,
- E99748950770593C00206F68,
- E99748960770593C00206F68,
- E99748970770593C00206F68,
- E99748980770593C00206F68,
- E99748990770593C00206F68,
- E997489A0770593C00206F68,
- E997489B0770593C00206F68,
- E997489C0770593C00206F68,
- E997489D0770593C00206F68,
- E997489E0770593C00206F68,
- E997489F0770593C00206F68,
- E99748A00770593C00206F68,
- E99748A10770593C00206F68,
- E99748A20770593C00206F68,
- E99748A30770593C00206F68,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974884077058C100206F68 = {
- buildActionMask = 2147483647;
- files = (
- E99749BF07705D5200206F68,
- E99748D107705BAF00206F68,
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974885077058C100206F68 = {
- buildPhases = (
- E9974882077058C100206F68,
- E9974883077058C100206F68,
- E9974884077058C100206F68,
- );
- buildRules = (
- );
- buildSettings = {
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2 FLEXT_SHARED";
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = BUNDLE;
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = "-bundle_loader $(PD)/bin/pd";
- OTHER_REZFLAGS = "";
- PREBINDING = YES;
- PRODUCT_NAME = flext;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- };
- dependencies = (
- );
- isa = PBXNativeTarget;
- name = "PD shared";
- productName = "PD shared";
- productReference = E9974886077058C100206F68;
- productType = "com.apple.product-type.library.dynamic";
- };
- E9974886077058C100206F68 = {
- explicitFileType = "compiled.mach-o.dylib";
- includeInIndex = 0;
- isa = PBXFileReference;
- path = flext.dylib;
- refType = 3;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- E997488C0770593C00206F68 = {
- fileRef = F55CED7C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997488D0770593C00206F68 = {
- fileRef = F504A66B03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997488E0770593C00206F68 = {
- fileRef = F504A66C03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997488F0770593C00206F68 = {
- fileRef = F55CED7B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748900770593C00206F68 = {
- fileRef = F55CED7D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748910770593C00206F68 = {
- fileRef = E9BDCC4104F4D7C1008929A0;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748920770593C00206F68 = {
- fileRef = F55CED7E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748930770593C00206F68 = {
- fileRef = F598D263044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748940770593C00206F68 = {
- fileRef = F55CED800383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748950770593C00206F68 = {
- fileRef = F55CED880383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748960770593C00206F68 = {
- fileRef = F55CED8A0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748970770593C00206F68 = {
- fileRef = F504A66D03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748980770593C00206F68 = {
- fileRef = F55CED8D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748990770593C00206F68 = {
- fileRef = F504A66E03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997489A0770593C00206F68 = {
- fileRef = F504A66F03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997489B0770593C00206F68 = {
- fileRef = F55CED8F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997489C0770593C00206F68 = {
- fileRef = F504A67103CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997489D0770593C00206F68 = {
- fileRef = F504A67203CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997489E0770593C00206F68 = {
- fileRef = F598D264044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997489F0770593C00206F68 = {
- fileRef = F55CED930383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A00770593C00206F68 = {
- fileRef = F55CED950383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A10770593C00206F68 = {
- fileRef = F5B1FAC8041191190179CFEF;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A20770593C00206F68 = {
- fileRef = F55CED960383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A30770593C00206F68 = {
- fileRef = F55CED970383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A40770595500206F68 = {
- fileRef = F504A67003CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A50770595500206F68 = {
- fileRef = F55CED7F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A60770595500206F68 = {
- fileRef = F55CED810383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A70770595500206F68 = {
- fileRef = F55CED870383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A80770595500206F68 = {
- fileRef = F55CED890383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748A90770595600206F68 = {
- fileRef = F55CED8B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748AA0770595600206F68 = {
- fileRef = F55CED8C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748AB0770595600206F68 = {
- fileRef = F55CED8E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748AC0770595600206F68 = {
- fileRef = F55CED910383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748AD0770595600206F68 = {
- fileRef = F55CED920383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748AE0770595600206F68 = {
- fileRef = F55CED940383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748AF0770595600206F68 = {
- fileRef = F504A67403CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B00770595E00206F68 = {
- fileRef = F55CED860383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B10770595E00206F68 = {
- fileRef = F5CBC5B804757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B20770595E00206F68 = {
- fileRef = F5CBC5B904757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B30770595E00206F68 = {
- fileRef = F5CBC5BA04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B40770595E00206F68 = {
- fileRef = F5CBC5BB04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B50770595E00206F68 = {
- fileRef = F5CBC5BC04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B60770595E00206F68 = {
- fileRef = F5CBC5BD04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B70770595E00206F68 = {
- fileRef = F5CBC5BE04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B80770595E00206F68 = {
- fileRef = F5CBC5BF04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748B90770595E00206F68 = {
- fileRef = F5CBC5C004757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748BA0770595E00206F68 = {
- fileRef = F5CBC5C104757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99748D007705BAF00206F68 = {
- isa = PBXFileReference;
- lastKnownFileType = wrapper.framework;
- name = ApplicationServices.framework;
- path = /System/Library/Frameworks/ApplicationServices.framework;
- refType = 0;
- sourceTree = "<absolute>";
- };
- E99748D107705BAF00206F68 = {
- fileRef = E99748D007705BAF00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997498C07705CC400206F68 = {
- buildPhases = (
- E997498D07705CC400206F68,
- E99749A307705CC400206F68,
- E99749BC07705CC400206F68,
- );
- buildRules = (
- );
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1";
- HEADER_SEARCH_PATHS = "$(Max SDK)/max-includes $(Max SDK)/msp-includes";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "flext-max_s";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- };
- dependencies = (
- );
- isa = PBXNativeTarget;
- name = "Max static single";
- productName = "PD static single";
- productReference = E99749BE07705CC400206F68;
- productType = "com.apple.product-type.library.static";
- };
- E997498D07705CC400206F68 = {
- buildActionMask = 2147483647;
- files = (
- E997498E07705CC400206F68,
- E997498F07705CC400206F68,
- E997499007705CC400206F68,
- E997499107705CC400206F68,
- E997499207705CC400206F68,
- E997499307705CC400206F68,
- E997499407705CC400206F68,
- E997499507705CC400206F68,
- E997499607705CC400206F68,
- E997499707705CC400206F68,
- E997499807705CC400206F68,
- E997499907705CC400206F68,
- E997499A07705CC400206F68,
- E997499B07705CC400206F68,
- E997499C07705CC400206F68,
- E997499D07705CC400206F68,
- E997499E07705CC400206F68,
- E997499F07705CC400206F68,
- E99749A007705CC400206F68,
- E99749A107705CC400206F68,
- E99749A207705CC400206F68,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E997498E07705CC400206F68 = {
- fileRef = F504A67003CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997498F07705CC400206F68 = {
- fileRef = F55CED7F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499007705CC400206F68 = {
- fileRef = F55CED810383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499107705CC400206F68 = {
- fileRef = F55CED870383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499207705CC400206F68 = {
- fileRef = F55CED890383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499307705CC400206F68 = {
- fileRef = F55CED8B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499407705CC400206F68 = {
- fileRef = F55CED8C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499507705CC400206F68 = {
- fileRef = F55CED8E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499607705CC400206F68 = {
- fileRef = F55CED920383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499707705CC400206F68 = {
- fileRef = F55CED940383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499807705CC400206F68 = {
- fileRef = F55CED860383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499907705CC400206F68 = {
- fileRef = F5CBC5B804757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499A07705CC400206F68 = {
- fileRef = F5CBC5B904757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499B07705CC400206F68 = {
- fileRef = F5CBC5BA04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499C07705CC400206F68 = {
- fileRef = F5CBC5BB04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499D07705CC400206F68 = {
- fileRef = F5CBC5BC04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499E07705CC400206F68 = {
- fileRef = F5CBC5BD04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E997499F07705CC400206F68 = {
- fileRef = F5CBC5BE04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A007705CC400206F68 = {
- fileRef = F5CBC5BF04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A107705CC400206F68 = {
- fileRef = F5CBC5C004757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A207705CC400206F68 = {
- fileRef = F5CBC5C104757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A307705CC400206F68 = {
- buildActionMask = 2147483647;
- files = (
- E99749A407705CC400206F68,
- E99749A507705CC400206F68,
- E99749A607705CC400206F68,
- E99749A707705CC400206F68,
- E99749A807705CC400206F68,
- E99749A907705CC400206F68,
- E99749AA07705CC400206F68,
- E99749AB07705CC400206F68,
- E99749AC07705CC400206F68,
- E99749AD07705CC400206F68,
- E99749AE07705CC400206F68,
- E99749AF07705CC400206F68,
- E99749B007705CC400206F68,
- E99749B107705CC400206F68,
- E99749B207705CC400206F68,
- E99749B307705CC400206F68,
- E99749B407705CC400206F68,
- E99749B507705CC400206F68,
- E99749B607705CC400206F68,
- E99749B707705CC400206F68,
- E99749B807705CC400206F68,
- E99749B907705CC400206F68,
- E99749BA07705CC400206F68,
- E99749BB07705CC400206F68,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99749A407705CC400206F68 = {
- fileRef = F55CED7C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A507705CC400206F68 = {
- fileRef = F504A66B03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A607705CC400206F68 = {
- fileRef = F504A66C03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A707705CC400206F68 = {
- fileRef = F55CED7B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A807705CC400206F68 = {
- fileRef = F55CED7D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749A907705CC400206F68 = {
- fileRef = E9BDCC4104F4D7C1008929A0;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749AA07705CC400206F68 = {
- fileRef = F55CED7E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749AB07705CC400206F68 = {
- fileRef = F598D263044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749AC07705CC400206F68 = {
- fileRef = F55CED800383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749AD07705CC400206F68 = {
- fileRef = F55CED880383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749AE07705CC400206F68 = {
- fileRef = F55CED8A0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749AF07705CC400206F68 = {
- fileRef = F504A66D03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B007705CC400206F68 = {
- fileRef = F55CED8D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B107705CC400206F68 = {
- fileRef = F504A66E03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B207705CC400206F68 = {
- fileRef = F504A66F03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B307705CC400206F68 = {
- fileRef = F55CED8F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B407705CC400206F68 = {
- fileRef = F504A67103CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B507705CC400206F68 = {
- fileRef = F504A67203CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B607705CC400206F68 = {
- fileRef = F598D264044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B707705CC400206F68 = {
- fileRef = F55CED930383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B807705CC400206F68 = {
- fileRef = F55CED950383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749B907705CC400206F68 = {
- fileRef = F5B1FAC8041191190179CFEF;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749BA07705CC400206F68 = {
- fileRef = F55CED960383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749BB07705CC400206F68 = {
- fileRef = F55CED970383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749BC07705CC400206F68 = {
- buildActionMask = 2147483647;
- files = (
- E99749BD07705CC400206F68,
- E9974E160770780D00206F68,
- E9974E170770780D00206F68,
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99749BD07705CC400206F68 = {
- fileRef = E9974802077054CD00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E99749BE07705CC400206F68 = {
- explicitFileType = archive.ar;
- includeInIndex = 0;
- isa = PBXFileReference;
- path = "libflext-max_s.a";
- refType = 3;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- E99749BF07705D5200206F68 = {
- fileRef = E9974802077054CD00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9207705F1400206F68 = {
- buildPhases = (
- E9974B9307705F1400206F68,
- E9974BA907705F1400206F68,
- E9974BC207705F1400206F68,
- );
- buildRules = (
- );
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1 FLEXT_THREADS";
- HEADER_SEARCH_PATHS = "$(Max SDK)/max-includes $(Max SDK)/msp-includes";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "flext-max_t";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- };
- dependencies = (
- );
- isa = PBXNativeTarget;
- name = "Max static multi";
- productName = "PD static single";
- productReference = E9974BC407705F1400206F68;
- productType = "com.apple.product-type.library.static";
- };
- E9974B9307705F1400206F68 = {
- buildActionMask = 2147483647;
- files = (
- E9974B9407705F1400206F68,
- E9974B9507705F1400206F68,
- E9974B9607705F1400206F68,
- E9974B9707705F1400206F68,
- E9974B9807705F1400206F68,
- E9974B9907705F1400206F68,
- E9974B9A07705F1400206F68,
- E9974B9B07705F1400206F68,
- E9974B9C07705F1400206F68,
- E9974B9D07705F1400206F68,
- E9974B9E07705F1400206F68,
- E9974B9F07705F1400206F68,
- E9974BA007705F1400206F68,
- E9974BA107705F1400206F68,
- E9974BA207705F1400206F68,
- E9974BA307705F1400206F68,
- E9974BA407705F1400206F68,
- E9974BA507705F1400206F68,
- E9974BA607705F1400206F68,
- E9974BA707705F1400206F68,
- E9974BA807705F1400206F68,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974B9407705F1400206F68 = {
- fileRef = F504A67003CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9507705F1400206F68 = {
- fileRef = F55CED7F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9607705F1400206F68 = {
- fileRef = F55CED810383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9707705F1400206F68 = {
- fileRef = F55CED870383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9807705F1400206F68 = {
- fileRef = F55CED890383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9907705F1400206F68 = {
- fileRef = F55CED8B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9A07705F1400206F68 = {
- fileRef = F55CED8C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9B07705F1400206F68 = {
- fileRef = F55CED8E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9C07705F1400206F68 = {
- fileRef = F55CED920383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9D07705F1400206F68 = {
- fileRef = F55CED940383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9E07705F1400206F68 = {
- fileRef = F55CED860383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974B9F07705F1400206F68 = {
- fileRef = F5CBC5B804757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA007705F1400206F68 = {
- fileRef = F5CBC5B904757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA107705F1400206F68 = {
- fileRef = F5CBC5BA04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA207705F1400206F68 = {
- fileRef = F5CBC5BB04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA307705F1400206F68 = {
- fileRef = F5CBC5BC04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA407705F1400206F68 = {
- fileRef = F5CBC5BD04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA507705F1400206F68 = {
- fileRef = F5CBC5BE04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA607705F1400206F68 = {
- fileRef = F5CBC5BF04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA707705F1400206F68 = {
- fileRef = F5CBC5C004757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA807705F1400206F68 = {
- fileRef = F5CBC5C104757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BA907705F1400206F68 = {
- buildActionMask = 2147483647;
- files = (
- E9974BAA07705F1400206F68,
- E9974BAB07705F1400206F68,
- E9974BAC07705F1400206F68,
- E9974BAD07705F1400206F68,
- E9974BAE07705F1400206F68,
- E9974BAF07705F1400206F68,
- E9974BB007705F1400206F68,
- E9974BB107705F1400206F68,
- E9974BB207705F1400206F68,
- E9974BB307705F1400206F68,
- E9974BB407705F1400206F68,
- E9974BB507705F1400206F68,
- E9974BB607705F1400206F68,
- E9974BB707705F1400206F68,
- E9974BB807705F1400206F68,
- E9974BB907705F1400206F68,
- E9974BBA07705F1400206F68,
- E9974BBB07705F1400206F68,
- E9974BBC07705F1400206F68,
- E9974BBD07705F1400206F68,
- E9974BBE07705F1400206F68,
- E9974BBF07705F1400206F68,
- E9974BC007705F1400206F68,
- E9974BC107705F1400206F68,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BAA07705F1400206F68 = {
- fileRef = F55CED7C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BAB07705F1400206F68 = {
- fileRef = F504A66B03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BAC07705F1400206F68 = {
- fileRef = F504A66C03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BAD07705F1400206F68 = {
- fileRef = F55CED7B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BAE07705F1400206F68 = {
- fileRef = F55CED7D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BAF07705F1400206F68 = {
- fileRef = E9BDCC4104F4D7C1008929A0;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB007705F1400206F68 = {
- fileRef = F55CED7E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB107705F1400206F68 = {
- fileRef = F598D263044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB207705F1400206F68 = {
- fileRef = F55CED800383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB307705F1400206F68 = {
- fileRef = F55CED880383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB407705F1400206F68 = {
- fileRef = F55CED8A0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB507705F1400206F68 = {
- fileRef = F504A66D03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB607705F1400206F68 = {
- fileRef = F55CED8D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB707705F1400206F68 = {
- fileRef = F504A66E03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB807705F1400206F68 = {
- fileRef = F504A66F03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BB907705F1400206F68 = {
- fileRef = F55CED8F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BBA07705F1400206F68 = {
- fileRef = F504A67103CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BBB07705F1400206F68 = {
- fileRef = F504A67203CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BBC07705F1400206F68 = {
- fileRef = F598D264044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BBD07705F1400206F68 = {
- fileRef = F55CED930383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BBE07705F1400206F68 = {
- fileRef = F55CED950383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BBF07705F1400206F68 = {
- fileRef = F5B1FAC8041191190179CFEF;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BC007705F1400206F68 = {
- fileRef = F55CED960383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BC107705F1400206F68 = {
- fileRef = F55CED970383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BC207705F1400206F68 = {
- buildActionMask = 2147483647;
- files = (
- E9974BC307705F1400206F68,
- E9974E180770780D00206F68,
- E9974E190770780D00206F68,
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BC307705F1400206F68 = {
- fileRef = E9974802077054CD00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BC407705F1400206F68 = {
- explicitFileType = archive.ar;
- includeInIndex = 0;
- isa = PBXFileReference;
- path = "libflext-max_t.a";
- refType = 3;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- E9974BC507705F4F00206F68 = {
- buildPhases = (
- E9974BC607705F4F00206F68,
- E9974BDE07705F4F00206F68,
- E9974BF707705F4F00206F68,
- );
- buildRules = (
- );
- buildSettings = {
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "$(Max SDK)/max-includes/ext_carbon_prefix.h";
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1 FLEXT_SHARED";
- HEADER_SEARCH_PATHS = "$(Max SDK)/max-includes $(Max SDK)/msp-includes";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_SEARCH_PATHS = "$(Max SDK)/msp-includes $(Max SDK)/msp-includes";
- LIBRARY_STYLE = DYNAMIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PREBINDING = YES;
- PRODUCT_NAME = "flext-max";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- };
- dependencies = (
- );
- isa = PBXNativeTarget;
- name = "Max shared";
- productName = "PD shared";
- productReference = E9974BFA07705F4F00206F68;
- productType = "com.apple.product-type.library.dynamic";
- };
- E9974BC607705F4F00206F68 = {
- buildActionMask = 2147483647;
- files = (
- E9974BC707705F4F00206F68,
- E9974BC807705F4F00206F68,
- E9974BC907705F4F00206F68,
- E9974BCA07705F4F00206F68,
- E9974BCB07705F4F00206F68,
- E9974BCC07705F4F00206F68,
- E9974BCD07705F4F00206F68,
- E9974BCE07705F4F00206F68,
- E9974BCF07705F4F00206F68,
- E9974BD007705F4F00206F68,
- E9974BD107705F4F00206F68,
- E9974BD207705F4F00206F68,
- E9974BD307705F4F00206F68,
- E9974BD407705F4F00206F68,
- E9974BD507705F4F00206F68,
- E9974BD607705F4F00206F68,
- E9974BD707705F4F00206F68,
- E9974BD807705F4F00206F68,
- E9974BD907705F4F00206F68,
- E9974BDA07705F4F00206F68,
- E9974BDB07705F4F00206F68,
- E9974BDC07705F4F00206F68,
- E9974BDD07705F4F00206F68,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BC707705F4F00206F68 = {
- fileRef = F55CED860383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BC807705F4F00206F68 = {
- fileRef = F5CBC5B804757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BC907705F4F00206F68 = {
- fileRef = F5CBC5B904757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BCA07705F4F00206F68 = {
- fileRef = F5CBC5BA04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BCB07705F4F00206F68 = {
- fileRef = F5CBC5BB04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BCC07705F4F00206F68 = {
- fileRef = F5CBC5BC04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BCD07705F4F00206F68 = {
- fileRef = F5CBC5BD04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BCE07705F4F00206F68 = {
- fileRef = F5CBC5BE04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BCF07705F4F00206F68 = {
- fileRef = F5CBC5BF04757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD007705F4F00206F68 = {
- fileRef = F5CBC5C004757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD107705F4F00206F68 = {
- fileRef = F5CBC5C104757BC801A0C81C;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD207705F4F00206F68 = {
- fileRef = F504A67003CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD307705F4F00206F68 = {
- fileRef = F55CED7F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD407705F4F00206F68 = {
- fileRef = F55CED810383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD507705F4F00206F68 = {
- fileRef = F55CED870383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD607705F4F00206F68 = {
- fileRef = F55CED890383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD707705F4F00206F68 = {
- fileRef = F55CED8B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD807705F4F00206F68 = {
- fileRef = F55CED8C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BD907705F4F00206F68 = {
- fileRef = F55CED8E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BDA07705F4F00206F68 = {
- fileRef = F55CED910383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BDB07705F4F00206F68 = {
- fileRef = F55CED920383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BDC07705F4F00206F68 = {
- fileRef = F55CED940383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BDD07705F4F00206F68 = {
- fileRef = F504A67403CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BDE07705F4F00206F68 = {
- buildActionMask = 2147483647;
- files = (
- E9974BDF07705F4F00206F68,
- E9974BE007705F4F00206F68,
- E9974BE107705F4F00206F68,
- E9974BE207705F4F00206F68,
- E9974BE307705F4F00206F68,
- E9974BE407705F4F00206F68,
- E9974BE507705F4F00206F68,
- E9974BE607705F4F00206F68,
- E9974BE707705F4F00206F68,
- E9974BE807705F4F00206F68,
- E9974BE907705F4F00206F68,
- E9974BEA07705F4F00206F68,
- E9974BEB07705F4F00206F68,
- E9974BEC07705F4F00206F68,
- E9974BED07705F4F00206F68,
- E9974BEE07705F4F00206F68,
- E9974BEF07705F4F00206F68,
- E9974BF007705F4F00206F68,
- E9974BF107705F4F00206F68,
- E9974BF207705F4F00206F68,
- E9974BF307705F4F00206F68,
- E9974BF407705F4F00206F68,
- E9974BF507705F4F00206F68,
- E9974BF607705F4F00206F68,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BDF07705F4F00206F68 = {
- fileRef = F55CED7C0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE007705F4F00206F68 = {
- fileRef = F504A66B03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE107705F4F00206F68 = {
- fileRef = F504A66C03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE207705F4F00206F68 = {
- fileRef = F55CED7B0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE307705F4F00206F68 = {
- fileRef = F55CED7D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE407705F4F00206F68 = {
- fileRef = E9BDCC4104F4D7C1008929A0;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE507705F4F00206F68 = {
- fileRef = F55CED7E0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE607705F4F00206F68 = {
- fileRef = F598D263044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE707705F4F00206F68 = {
- fileRef = F55CED800383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE807705F4F00206F68 = {
- fileRef = F55CED880383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BE907705F4F00206F68 = {
- fileRef = F55CED8A0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BEA07705F4F00206F68 = {
- fileRef = F504A66D03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BEB07705F4F00206F68 = {
- fileRef = F55CED8D0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BEC07705F4F00206F68 = {
- fileRef = F504A66E03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BED07705F4F00206F68 = {
- fileRef = F504A66F03CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BEE07705F4F00206F68 = {
- fileRef = F55CED8F0383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BEF07705F4F00206F68 = {
- fileRef = F504A67103CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF007705F4F00206F68 = {
- fileRef = F504A67203CE39F501A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF107705F4F00206F68 = {
- fileRef = F598D264044CC4A001A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF207705F4F00206F68 = {
- fileRef = F55CED930383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF307705F4F00206F68 = {
- fileRef = F55CED950383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF407705F4F00206F68 = {
- fileRef = F5B1FAC8041191190179CFEF;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF507705F4F00206F68 = {
- fileRef = F55CED960383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF607705F4F00206F68 = {
- fileRef = F55CED970383E50201A80AC9;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF707705F4F00206F68 = {
- buildActionMask = 2147483647;
- files = (
- E9974BF807705F4F00206F68,
- E9974BF907705F4F00206F68,
- E9974E1A0770780D00206F68,
- E9974E1B0770780D00206F68,
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BF807705F4F00206F68 = {
- fileRef = E9974802077054CD00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BF907705F4F00206F68 = {
- fileRef = E99748D007705BAF00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974BFA07705F4F00206F68 = {
- explicitFileType = "compiled.mach-o.dylib";
- includeInIndex = 0;
- isa = PBXFileReference;
- path = "flext-max.dylib";
- refType = 3;
- sourceTree = BUILT_PRODUCTS_DIR;
- };
- E9974E140770780D00206F68 = {
- isa = PBXFileReference;
- lastKnownFileType = wrapper.framework;
- name = MaxAPI.framework;
- path = /Library/Frameworks/MaxAPI.framework;
- refType = 0;
- sourceTree = "<absolute>";
- };
- E9974E150770780D00206F68 = {
- isa = PBXFileReference;
- lastKnownFileType = wrapper.framework;
- name = MaxAudioAPI.framework;
- path = /Library/Frameworks/MaxAudioAPI.framework;
- refType = 0;
- sourceTree = "<absolute>";
- };
- E9974E160770780D00206F68 = {
- fileRef = E9974E140770780D00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974E170770780D00206F68 = {
- fileRef = E9974E150770780D00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974E180770780D00206F68 = {
- fileRef = E9974E140770780D00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974E190770780D00206F68 = {
- fileRef = E9974E150770780D00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974E1A0770780D00206F68 = {
- fileRef = E9974E140770780D00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9974E1B0770780D00206F68 = {
- fileRef = E9974E150770780D00206F68;
- isa = PBXBuildFile;
- settings = {
- };
- };
- E9BDCC4104F4D7C1008929A0 = {
- fileEncoding = 30;
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.cpp.cpp;
- name = flattr_ed.cpp;
- path = source/flattr_ed.cpp;
- refType = 4;
- sourceTree = "<group>";
- };
-//E90
-//E91
-//E92
-//E93
-//E94
-//F50
-//F51
-//F52
-//F53
-//F54
- 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>";
- };
- F5128F2503864E5501A80AC9 = {
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = "$(GCC_PREPROCESSOR_DEFINITIONS) FLEXT_DEBUG";
- ZERO_LINK = YES;
- };
- isa = PBXBuildStyle;
- name = Development;
- };
- F5128F2603864E5501A80AC9 = {
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- ZERO_LINK = NO;
- };
- isa = PBXBuildStyle;
- name = Deployment;
- };
- 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 = (
- F5CBC61C04757BDA01A0C81C,
- F504A67003CE39F501A80AC9,
- F55CED7F0383E50201A80AC9,
- F55CED810383E50201A80AC9,
- F55CED870383E50201A80AC9,
- F55CED890383E50201A80AC9,
- F55CED8B0383E50201A80AC9,
- F55CED8C0383E50201A80AC9,
- F55CED8E0383E50201A80AC9,
- F55CED910383E50201A80AC9,
- F55CED920383E50201A80AC9,
- F55CED940383E50201A80AC9,
- F504A67403CE39F501A80AC9,
- );
- isa = PBXGroup;
- name = Headers;
- path = "";
- refType = 2;
- sourceTree = SOURCE_ROOT;
- };
- 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>";
- };
- F5B1FAC8041191190179CFEF = {
- fileEncoding = 30;
- isa = PBXFileReference;
- lastKnownFileType = sourcecode.cpp.cpp;
- name = fltimer.cpp;
- path = source/fltimer.cpp;
- refType = 4;
- sourceTree = "<group>";
- };
- 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>";
- };
- F5CBC61C04757BDA01A0C81C = {
- children = (
- F55CED860383E50201A80AC9,
- F5CBC5B804757BC801A0C81C,
- F5CBC5B904757BC801A0C81C,
- F5CBC5BA04757BC801A0C81C,
- F5CBC5BB04757BC801A0C81C,
- F5CBC5BC04757BC801A0C81C,
- F5CBC5BD04757BC801A0C81C,
- F5CBC5BE04757BC801A0C81C,
- F5CBC5BF04757BC801A0C81C,
- F5CBC5C004757BC801A0C81C,
- F5CBC5C104757BC801A0C81C,
- );
- isa = PBXGroup;
- name = Defs;
- refType = 4;
- sourceTree = "<group>";
- };
- };
- rootObject = 0867D690FE84028FC02AAC07;
-}
diff --git a/externals/grill/flext/flext.xcodeproj/project.pbxproj b/externals/grill/flext/flext.xcodeproj/project.pbxproj
deleted file mode 100755
index 977beca5..00000000
--- a/externals/grill/flext/flext.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,1697 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 42;
- objects = {
-
-/* Begin PBXBuildFile section */
- E99747CE0770548700206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; };
- E99747D00770548700206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; };
- E99747D10770548700206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; };
- E99747D20770548700206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; };
- E99747D30770548700206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; };
- E99747D40770548700206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; };
- E99747D50770548700206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; };
- E99747D60770548700206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; };
- E99747D70770548700206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; };
- E99747D80770548700206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; };
- E99747D90770548700206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; };
- E99747DA0770548700206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; };
- E99747DB0770548700206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; };
- E99747DC0770548700206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; };
- E99747DD0770548700206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; };
- E99747DE0770548700206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; };
- E99747DF0770548700206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; };
- E99747E00770548700206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; };
- E99747E30770548700206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; };
- E99747E40770548700206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; };
- E99747E50770548700206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; };
- E99747E60770548700206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; };
- E99747E70770548700206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; };
- E99747E80770548F00206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747E90770548F00206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747EA0770548F00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747EB0770548F00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747EC0770548F00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747ED0770548F00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747EE0770548F00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747EF0770548F00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F00770548F00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F10770548F00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F20770548F00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F30770548F00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F40770548F00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F50770548F00206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F60770548F00206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F70770548F00206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F80770548F00206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747F90770548F00206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747FA0770548F00206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747FC0770548F00206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99747FE0770548F00206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E9974803077054CD00206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; };
- E997480F0770570800206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; };
- E99748100770570800206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; };
- E99748110770570800206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; };
- E99748120770570800206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; };
- E99748130770570800206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; };
- E99748140770570800206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; };
- E99748150770570800206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; };
- E99748160770570800206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; };
- E99748170770570800206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; };
- E99748180770570800206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; };
- E99748190770570800206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; };
- E997481A0770570800206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; };
- E997481B0770570800206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; };
- E997481C0770570800206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; };
- E997481D0770570800206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; };
- E997481E0770570800206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; };
- E997481F0770570800206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; };
- E99748200770570800206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; };
- E99748210770570800206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; };
- E99748220770570800206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; };
- E99748230770570800206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; };
- E99748250770570800206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; };
- E99748270770570800206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; };
- E99748280770570800206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; };
- E99748290770570800206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; };
- E997482A0770570800206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; };
- E997482B0770570800206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; };
- E997482C0770570800206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; };
- E997482D0770570800206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; };
- E997482E0770570800206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; };
- E997482F0770570800206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; };
- E99748300770570800206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; };
- E99748310770570800206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; };
- E99748320770570800206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; };
- E99748330770570800206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; };
- E99748340770570800206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; };
- E99748350770570800206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; };
- E99748360770570800206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; };
- E99748370770570800206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; };
- E99748380770570800206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; };
- E99748390770570800206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; };
- E997483A0770570800206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; };
- E997483B0770570800206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; };
- E997483C0770570800206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; };
- E997483E0770570800206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; };
- E997488C0770593C00206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; };
- E997488E0770593C00206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; };
- E997488F0770593C00206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; };
- E99748900770593C00206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; };
- E99748910770593C00206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; };
- E99748920770593C00206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; };
- E99748930770593C00206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; };
- E99748940770593C00206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; };
- E99748950770593C00206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; };
- E99748960770593C00206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; };
- E99748970770593C00206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; };
- E99748980770593C00206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; };
- E99748990770593C00206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; };
- E997489A0770593C00206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; };
- E997489B0770593C00206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; };
- E997489C0770593C00206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; };
- E997489D0770593C00206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; };
- E997489E0770593C00206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; };
- E997489F0770593C00206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; };
- E99748A00770593C00206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; };
- E99748A10770593C00206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; };
- E99748A20770593C00206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; };
- E99748A30770593C00206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; };
- E99748A40770595500206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; };
- E99748A50770595500206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; };
- E99748A60770595500206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; };
- E99748A70770595500206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; };
- E99748A80770595500206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; };
- E99748A90770595600206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; };
- E99748AA0770595600206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; };
- E99748AB0770595600206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; };
- E99748AC0770595600206F68 /* flsndobj.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED910383E50201A80AC9 /* flsndobj.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99748AD0770595600206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; };
- E99748AE0770595600206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; };
- E99748AF0770595600206F68 /* flstk.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67403CE39F501A80AC9 /* flstk.h */; settings = {ATTRIBUTES = (Public, ); }; };
- E99748B00770595E00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; };
- E99748B10770595E00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; };
- E99748B20770595E00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; };
- E99748B30770595E00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; };
- E99748B40770595E00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; };
- E99748B50770595E00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; };
- E99748B60770595E00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; };
- E99748B70770595E00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; };
- E99748B80770595E00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; };
- E99748B90770595E00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; };
- E99748BA0770595E00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; };
- E99748D107705BAF00206F68 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E99748D007705BAF00206F68 /* ApplicationServices.framework */; };
- E997498E07705CC400206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; };
- E997498F07705CC400206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; };
- E997499007705CC400206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; };
- E997499107705CC400206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; };
- E997499207705CC400206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; };
- E997499307705CC400206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; };
- E997499407705CC400206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; };
- E997499507705CC400206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; };
- E997499607705CC400206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; };
- E997499707705CC400206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; };
- E997499807705CC400206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; };
- E997499907705CC400206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; };
- E997499A07705CC400206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; };
- E997499B07705CC400206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; };
- E997499C07705CC400206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; };
- E997499D07705CC400206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; };
- E997499E07705CC400206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; };
- E997499F07705CC400206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; };
- E99749A007705CC400206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; };
- E99749A107705CC400206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; };
- E99749A207705CC400206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; };
- E99749A407705CC400206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; };
- E99749A607705CC400206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; };
- E99749A707705CC400206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; };
- E99749A807705CC400206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; };
- E99749A907705CC400206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; };
- E99749AA07705CC400206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; };
- E99749AB07705CC400206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; };
- E99749AC07705CC400206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; };
- E99749AD07705CC400206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; };
- E99749AE07705CC400206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; };
- E99749AF07705CC400206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; };
- E99749B007705CC400206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; };
- E99749B107705CC400206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; };
- E99749B207705CC400206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; };
- E99749B307705CC400206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; };
- E99749B407705CC400206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; };
- E99749B507705CC400206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; };
- E99749B607705CC400206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; };
- E99749B707705CC400206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; };
- E99749B807705CC400206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; };
- E99749B907705CC400206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; };
- E99749BA07705CC400206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; };
- E99749BB07705CC400206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; };
- E99749BD07705CC400206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; };
- E99749BF07705D5200206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; };
- E9974B9407705F1400206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; };
- E9974B9507705F1400206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; };
- E9974B9607705F1400206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; };
- E9974B9707705F1400206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; };
- E9974B9807705F1400206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; };
- E9974B9907705F1400206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; };
- E9974B9A07705F1400206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; };
- E9974B9B07705F1400206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; };
- E9974B9C07705F1400206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; };
- E9974B9D07705F1400206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; };
- E9974B9E07705F1400206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; };
- E9974B9F07705F1400206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; };
- E9974BA007705F1400206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; };
- E9974BA107705F1400206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; };
- E9974BA207705F1400206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; };
- E9974BA307705F1400206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; };
- E9974BA407705F1400206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; };
- E9974BA507705F1400206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; };
- E9974BA607705F1400206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; };
- E9974BA707705F1400206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; };
- E9974BA807705F1400206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; };
- E9974BAA07705F1400206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; };
- E9974BAC07705F1400206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; };
- E9974BAD07705F1400206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; };
- E9974BAE07705F1400206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; };
- E9974BAF07705F1400206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; };
- E9974BB007705F1400206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; };
- E9974BB107705F1400206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; };
- E9974BB207705F1400206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; };
- E9974BB307705F1400206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; };
- E9974BB407705F1400206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; };
- E9974BB507705F1400206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; };
- E9974BB607705F1400206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; };
- E9974BB707705F1400206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; };
- E9974BB807705F1400206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; };
- E9974BB907705F1400206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; };
- E9974BBA07705F1400206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; };
- E9974BBB07705F1400206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; };
- E9974BBC07705F1400206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; };
- E9974BBD07705F1400206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; };
- E9974BBE07705F1400206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; };
- E9974BBF07705F1400206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; };
- E9974BC007705F1400206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; };
- E9974BC107705F1400206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; };
- E9974BC307705F1400206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; };
- E9974BC707705F4F00206F68 /* fldefs.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED860383E50201A80AC9 /* fldefs.h */; };
- E9974BC807705F4F00206F68 /* fldefs_attradd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */; };
- E9974BC907705F4F00206F68 /* fldefs_attrcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */; };
- E9974BCA07705F4F00206F68 /* fldefs_attrvar.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */; };
- E9974BCB07705F4F00206F68 /* fldefs_hdr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */; };
- E9974BCC07705F4F00206F68 /* fldefs_methadd.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */; };
- E9974BCD07705F4F00206F68 /* fldefs_methbind.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */; };
- E9974BCE07705F4F00206F68 /* fldefs_methcall.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */; };
- E9974BCF07705F4F00206F68 /* fldefs_methcb.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */; };
- E9974BD007705F4F00206F68 /* fldefs_meththr.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */; };
- E9974BD107705F4F00206F68 /* fldefs_setup.h in Headers */ = {isa = PBXBuildFile; fileRef = F5CBC5C104757BC801A0C81C /* fldefs_setup.h */; };
- E9974BD207705F4F00206F68 /* flprefix.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67003CE39F501A80AC9 /* flprefix.h */; };
- E9974BD307705F4F00206F68 /* flbase.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED7F0383E50201A80AC9 /* flbase.h */; };
- E9974BD407705F4F00206F68 /* flclass.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED810383E50201A80AC9 /* flclass.h */; };
- E9974BD507705F4F00206F68 /* fldoxygen.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED870383E50201A80AC9 /* fldoxygen.h */; };
- E9974BD607705F4F00206F68 /* fldsp.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED890383E50201A80AC9 /* fldsp.h */; };
- E9974BD707705F4F00206F68 /* flext.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8B0383E50201A80AC9 /* flext.h */; };
- E9974BD807705F4F00206F68 /* flinternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8C0383E50201A80AC9 /* flinternal.h */; };
- E9974BD907705F4F00206F68 /* flmspbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED8E0383E50201A80AC9 /* flmspbuffer.h */; };
- E9974BDA07705F4F00206F68 /* flsndobj.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED910383E50201A80AC9 /* flsndobj.h */; };
- E9974BDB07705F4F00206F68 /* flstdc.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED920383E50201A80AC9 /* flstdc.h */; };
- E9974BDC07705F4F00206F68 /* flsupport.h in Headers */ = {isa = PBXBuildFile; fileRef = F55CED940383E50201A80AC9 /* flsupport.h */; };
- E9974BDD07705F4F00206F68 /* flstk.h in Headers */ = {isa = PBXBuildFile; fileRef = F504A67403CE39F501A80AC9 /* flstk.h */; };
- E9974BDF07705F4F00206F68 /* flatom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7C0383E50201A80AC9 /* flatom.cpp */; };
- E9974BE107705F4F00206F68 /* flatom_part.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66C03CE39F501A80AC9 /* flatom_part.cpp */; };
- E9974BE207705F4F00206F68 /* flatom_pr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */; };
- E9974BE307705F4F00206F68 /* flattr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7D0383E50201A80AC9 /* flattr.cpp */; };
- E9974BE407705F4F00206F68 /* flattr_ed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */; };
- E9974BE507705F4F00206F68 /* flbase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED7E0383E50201A80AC9 /* flbase.cpp */; };
- E9974BE607705F4F00206F68 /* flbind.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D263044CC4A001A80AC9 /* flbind.cpp */; };
- E9974BE707705F4F00206F68 /* flbuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED800383E50201A80AC9 /* flbuf.cpp */; };
- E9974BE807705F4F00206F68 /* fldsp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED880383E50201A80AC9 /* fldsp.cpp */; };
- E9974BE907705F4F00206F68 /* flext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8A0383E50201A80AC9 /* flext.cpp */; };
- E9974BEA07705F4F00206F68 /* flitem.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66D03CE39F501A80AC9 /* flitem.cpp */; };
- E9974BEB07705F4F00206F68 /* fllib.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8D0383E50201A80AC9 /* fllib.cpp */; };
- E9974BEC07705F4F00206F68 /* flmeth.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66E03CE39F501A80AC9 /* flmeth.cpp */; };
- E9974BED07705F4F00206F68 /* flmsg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A66F03CE39F501A80AC9 /* flmsg.cpp */; };
- E9974BEE07705F4F00206F68 /* flout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED8F0383E50201A80AC9 /* flout.cpp */; };
- E9974BEF07705F4F00206F68 /* flproxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67103CE39F501A80AC9 /* flproxy.cpp */; };
- E9974BF007705F4F00206F68 /* flqueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F504A67203CE39F501A80AC9 /* flqueue.cpp */; };
- E9974BF107705F4F00206F68 /* flsimd.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F598D264044CC4A001A80AC9 /* flsimd.cpp */; };
- E9974BF207705F4F00206F68 /* flsupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED930383E50201A80AC9 /* flsupport.cpp */; };
- E9974BF307705F4F00206F68 /* flthr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED950383E50201A80AC9 /* flthr.cpp */; };
- E9974BF407705F4F00206F68 /* fltimer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F5B1FAC8041191190179CFEF /* fltimer.cpp */; };
- E9974BF507705F4F00206F68 /* flutil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED960383E50201A80AC9 /* flutil.cpp */; };
- E9974BF607705F4F00206F68 /* flxlet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55CED970383E50201A80AC9 /* flxlet.cpp */; };
- E9974BF807705F4F00206F68 /* vecLib.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974802077054CD00206F68 /* vecLib.framework */; };
- E9974BF907705F4F00206F68 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E99748D007705BAF00206F68 /* ApplicationServices.framework */; };
- E9974E160770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; };
- E9974E170770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; };
- E9974E180770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; };
- E9974E190770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; };
- E9974E1A0770780D00206F68 /* MaxAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E140770780D00206F68 /* MaxAPI.framework */; };
- E9974E1B0770780D00206F68 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E9974E150770780D00206F68 /* MaxAudioAPI.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = file; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
- E99747CD0770545100206F68 /* libflext_s.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libflext_s.a; sourceTree = BUILT_PRODUCTS_DIR; };
- E9974802077054CD00206F68 /* vecLib.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vecLib.framework; path = /System/Library/Frameworks/vecLib.framework; sourceTree = "<absolute>"; };
- E997483F0770570800206F68 /* libflext_t.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libflext_t.a; sourceTree = BUILT_PRODUCTS_DIR; };
- E9974886077058C100206F68 /* flext.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = flext.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
- E99748D007705BAF00206F68 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
- E99749BE07705CC400206F68 /* libflext-max_s.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-max_s.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- E9974BC407705F1400206F68 /* libflext-max_t.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libflext-max_t.a"; sourceTree = BUILT_PRODUCTS_DIR; };
- E9974BFA07705F4F00206F68 /* flext-max.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = "flext-max.dylib"; sourceTree = BUILT_PRODUCTS_DIR; };
- E9974E140770780D00206F68 /* MaxAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAPI.framework; path = /Library/Frameworks/MaxAPI.framework; sourceTree = "<absolute>"; };
- E9974E150770780D00206F68 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = /Library/Frameworks/MaxAudioAPI.framework; sourceTree = "<absolute>"; };
- E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flattr_ed.cpp; path = source/flattr_ed.cpp; sourceTree = "<group>"; };
- F504A66C03CE39F501A80AC9 /* flatom_part.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom_part.cpp; path = source/flatom_part.cpp; sourceTree = "<group>"; };
- F504A66D03CE39F501A80AC9 /* flitem.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flitem.cpp; path = source/flitem.cpp; sourceTree = "<group>"; };
- F504A66E03CE39F501A80AC9 /* flmeth.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flmeth.cpp; path = source/flmeth.cpp; sourceTree = "<group>"; };
- F504A66F03CE39F501A80AC9 /* flmsg.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flmsg.cpp; path = source/flmsg.cpp; sourceTree = "<group>"; };
- F504A67003CE39F501A80AC9 /* flprefix.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flprefix.h; path = source/flprefix.h; sourceTree = "<group>"; };
- F504A67103CE39F501A80AC9 /* flproxy.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flproxy.cpp; path = source/flproxy.cpp; sourceTree = "<group>"; };
- F504A67203CE39F501A80AC9 /* flqueue.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flqueue.cpp; path = source/flqueue.cpp; sourceTree = "<group>"; };
- F504A67303CE39F501A80AC9 /* flstk.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flstk.cpp; path = source/flstk.cpp; sourceTree = "<group>"; };
- F504A67403CE39F501A80AC9 /* flstk.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flstk.h; path = source/flstk.h; sourceTree = "<group>"; };
- F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom_pr.cpp; path = source/flatom_pr.cpp; sourceTree = SOURCE_ROOT; };
- F55CED7C0383E50201A80AC9 /* flatom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flatom.cpp; path = source/flatom.cpp; sourceTree = SOURCE_ROOT; };
- F55CED7D0383E50201A80AC9 /* flattr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flattr.cpp; path = source/flattr.cpp; sourceTree = SOURCE_ROOT; };
- F55CED7E0383E50201A80AC9 /* flbase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbase.cpp; path = source/flbase.cpp; sourceTree = SOURCE_ROOT; };
- F55CED7F0383E50201A80AC9 /* flbase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flbase.h; path = source/flbase.h; sourceTree = SOURCE_ROOT; };
- F55CED800383E50201A80AC9 /* flbuf.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbuf.cpp; path = source/flbuf.cpp; sourceTree = SOURCE_ROOT; };
- F55CED810383E50201A80AC9 /* flclass.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flclass.h; path = source/flclass.h; sourceTree = SOURCE_ROOT; };
- F55CED860383E50201A80AC9 /* fldefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs.h; path = source/fldefs.h; sourceTree = SOURCE_ROOT; };
- F55CED870383E50201A80AC9 /* fldoxygen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldoxygen.h; path = source/fldoxygen.h; sourceTree = SOURCE_ROOT; };
- F55CED880383E50201A80AC9 /* fldsp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fldsp.cpp; path = source/fldsp.cpp; sourceTree = SOURCE_ROOT; };
- F55CED890383E50201A80AC9 /* fldsp.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldsp.h; path = source/fldsp.h; sourceTree = SOURCE_ROOT; };
- F55CED8A0383E50201A80AC9 /* flext.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flext.cpp; path = source/flext.cpp; sourceTree = SOURCE_ROOT; };
- F55CED8B0383E50201A80AC9 /* flext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flext.h; path = source/flext.h; sourceTree = SOURCE_ROOT; };
- F55CED8C0383E50201A80AC9 /* flinternal.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flinternal.h; path = source/flinternal.h; sourceTree = SOURCE_ROOT; };
- F55CED8D0383E50201A80AC9 /* fllib.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fllib.cpp; path = source/fllib.cpp; sourceTree = SOURCE_ROOT; };
- F55CED8E0383E50201A80AC9 /* flmspbuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flmspbuffer.h; path = source/flmspbuffer.h; sourceTree = SOURCE_ROOT; };
- F55CED8F0383E50201A80AC9 /* flout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flout.cpp; path = source/flout.cpp; sourceTree = SOURCE_ROOT; };
- F55CED900383E50201A80AC9 /* flsndobj.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsndobj.cpp; path = source/flsndobj.cpp; sourceTree = SOURCE_ROOT; };
- F55CED910383E50201A80AC9 /* flsndobj.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flsndobj.h; path = source/flsndobj.h; sourceTree = SOURCE_ROOT; };
- F55CED920383E50201A80AC9 /* flstdc.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flstdc.h; path = source/flstdc.h; sourceTree = SOURCE_ROOT; };
- F55CED930383E50201A80AC9 /* flsupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsupport.cpp; path = source/flsupport.cpp; sourceTree = SOURCE_ROOT; };
- F55CED940383E50201A80AC9 /* flsupport.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = flsupport.h; path = source/flsupport.h; sourceTree = SOURCE_ROOT; };
- F55CED950383E50201A80AC9 /* flthr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flthr.cpp; path = source/flthr.cpp; sourceTree = SOURCE_ROOT; };
- F55CED960383E50201A80AC9 /* flutil.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flutil.cpp; path = source/flutil.cpp; sourceTree = SOURCE_ROOT; };
- F55CED970383E50201A80AC9 /* flxlet.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flxlet.cpp; path = source/flxlet.cpp; sourceTree = SOURCE_ROOT; };
- F598D263044CC4A001A80AC9 /* flbind.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flbind.cpp; path = source/flbind.cpp; sourceTree = "<group>"; };
- F598D264044CC4A001A80AC9 /* flsimd.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = flsimd.cpp; path = source/flsimd.cpp; sourceTree = "<group>"; };
- F5B1FAC8041191190179CFEF /* fltimer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = fltimer.cpp; path = source/fltimer.cpp; sourceTree = "<group>"; };
- F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_attradd.h; path = source/fldefs_attradd.h; sourceTree = "<group>"; };
- F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_attrcb.h; path = source/fldefs_attrcb.h; sourceTree = "<group>"; };
- F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_attrvar.h; path = source/fldefs_attrvar.h; sourceTree = "<group>"; };
- F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_hdr.h; path = source/fldefs_hdr.h; sourceTree = "<group>"; };
- F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_methadd.h; path = source/fldefs_methadd.h; sourceTree = "<group>"; };
- F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_methbind.h; path = source/fldefs_methbind.h; sourceTree = "<group>"; };
- F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_methcall.h; path = source/fldefs_methcall.h; sourceTree = "<group>"; };
- F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_methcb.h; path = source/fldefs_methcb.h; sourceTree = "<group>"; };
- F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_meththr.h; path = source/fldefs_meththr.h; sourceTree = "<group>"; };
- F5CBC5C104757BC801A0C81C /* fldefs_setup.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = fldefs_setup.h; path = source/fldefs_setup.h; sourceTree = "<group>"; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- E99747CB0770545100206F68 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E9974803077054CD00206F68 /* vecLib.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E997483D0770570800206F68 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E997483E0770570800206F68 /* vecLib.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974884077058C100206F68 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E99749BF07705D5200206F68 /* vecLib.framework in Frameworks */,
- E99748D107705BAF00206F68 /* ApplicationServices.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99749BC07705CC400206F68 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E99749BD07705CC400206F68 /* vecLib.framework in Frameworks */,
- E9974E160770780D00206F68 /* MaxAPI.framework in Frameworks */,
- E9974E170770780D00206F68 /* MaxAudioAPI.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BC207705F1400206F68 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E9974BC307705F1400206F68 /* vecLib.framework in Frameworks */,
- E9974E180770780D00206F68 /* MaxAPI.framework in Frameworks */,
- E9974E190770780D00206F68 /* MaxAudioAPI.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BF707705F4F00206F68 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E9974BF807705F4F00206F68 /* vecLib.framework in Frameworks */,
- E9974BF907705F4F00206F68 /* ApplicationServices.framework in Frameworks */,
- E9974E1A0770780D00206F68 /* MaxAPI.framework in Frameworks */,
- E9974E1B0770780D00206F68 /* MaxAudioAPI.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 034768DDFF38A45A11DB9C8B /* Products */ = {
- isa = PBXGroup;
- children = (
- E99747CD0770545100206F68 /* libflext_s.a */,
- E997483F0770570800206F68 /* libflext_t.a */,
- E9974886077058C100206F68 /* flext.dylib */,
- E99749BE07705CC400206F68 /* libflext-max_s.a */,
- E9974BC407705F1400206F68 /* libflext-max_t.a */,
- E9974BFA07705F4F00206F68 /* flext-max.dylib */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- 0867D691FE84028FC02AAC07 /* flext-PB */ = {
- isa = PBXGroup;
- children = (
- F55CEDB50383E50D01A80AC9 /* Headers */,
- 08FB77ACFE841707C02AAC07 /* Source */,
- 089C1665FE841158C02AAC07 /* Resources */,
- 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */,
- 034768DDFF38A45A11DB9C8B /* Products */,
- );
- name = "flext-PB";
- sourceTree = "<group>";
- };
- 0867D69AFE84028FC02AAC07 /* External Frameworks and Libraries */ = {
- isa = PBXGroup;
- children = (
- E9974E140770780D00206F68 /* MaxAPI.framework */,
- E9974E150770780D00206F68 /* MaxAudioAPI.framework */,
- E99748D007705BAF00206F68 /* ApplicationServices.framework */,
- E9974802077054CD00206F68 /* vecLib.framework */,
- );
- name = "External Frameworks and Libraries";
- sourceTree = "<group>";
- };
- 089C1665FE841158C02AAC07 /* Resources */ = {
- isa = PBXGroup;
- children = (
- 089C1666FE841158C02AAC07 /* InfoPlist.strings */,
- );
- name = Resources;
- sourceTree = "<group>";
- };
- 08FB77ACFE841707C02AAC07 /* Source */ = {
- isa = PBXGroup;
- children = (
- F55CED7B0383E50201A80AC9 /* flatom_pr.cpp */,
- F55CED7C0383E50201A80AC9 /* flatom.cpp */,
- F55CED7D0383E50201A80AC9 /* flattr.cpp */,
- F55CED7E0383E50201A80AC9 /* flbase.cpp */,
- F55CED800383E50201A80AC9 /* flbuf.cpp */,
- F55CED880383E50201A80AC9 /* fldsp.cpp */,
- F55CED8A0383E50201A80AC9 /* flext.cpp */,
- F55CED8D0383E50201A80AC9 /* fllib.cpp */,
- F55CED8F0383E50201A80AC9 /* flout.cpp */,
- F55CED900383E50201A80AC9 /* flsndobj.cpp */,
- F55CED930383E50201A80AC9 /* flsupport.cpp */,
- F55CED950383E50201A80AC9 /* flthr.cpp */,
- F55CED960383E50201A80AC9 /* flutil.cpp */,
- F55CED970383E50201A80AC9 /* flxlet.cpp */,
- F504A66C03CE39F501A80AC9 /* flatom_part.cpp */,
- F504A66D03CE39F501A80AC9 /* flitem.cpp */,
- F504A66E03CE39F501A80AC9 /* flmeth.cpp */,
- F504A66F03CE39F501A80AC9 /* flmsg.cpp */,
- F504A67103CE39F501A80AC9 /* flproxy.cpp */,
- F504A67203CE39F501A80AC9 /* flqueue.cpp */,
- F504A67303CE39F501A80AC9 /* flstk.cpp */,
- F5B1FAC8041191190179CFEF /* fltimer.cpp */,
- F598D263044CC4A001A80AC9 /* flbind.cpp */,
- F598D264044CC4A001A80AC9 /* flsimd.cpp */,
- E9BDCC4104F4D7C1008929A0 /* flattr_ed.cpp */,
- );
- name = Source;
- sourceTree = SOURCE_ROOT;
- };
- F55CEDB50383E50D01A80AC9 /* Headers */ = {
- isa = PBXGroup;
- children = (
- F5CBC61C04757BDA01A0C81C /* Defs */,
- F504A67003CE39F501A80AC9 /* flprefix.h */,
- F55CED7F0383E50201A80AC9 /* flbase.h */,
- F55CED810383E50201A80AC9 /* flclass.h */,
- F55CED870383E50201A80AC9 /* fldoxygen.h */,
- F55CED890383E50201A80AC9 /* fldsp.h */,
- F55CED8B0383E50201A80AC9 /* flext.h */,
- F55CED8C0383E50201A80AC9 /* flinternal.h */,
- F55CED8E0383E50201A80AC9 /* flmspbuffer.h */,
- F55CED910383E50201A80AC9 /* flsndobj.h */,
- F55CED920383E50201A80AC9 /* flstdc.h */,
- F55CED940383E50201A80AC9 /* flsupport.h */,
- F504A67403CE39F501A80AC9 /* flstk.h */,
- );
- name = Headers;
- sourceTree = SOURCE_ROOT;
- };
- F5CBC61C04757BDA01A0C81C /* Defs */ = {
- isa = PBXGroup;
- children = (
- F55CED860383E50201A80AC9 /* fldefs.h */,
- F5CBC5B804757BC801A0C81C /* fldefs_attradd.h */,
- F5CBC5B904757BC801A0C81C /* fldefs_attrcb.h */,
- F5CBC5BA04757BC801A0C81C /* fldefs_attrvar.h */,
- F5CBC5BB04757BC801A0C81C /* fldefs_hdr.h */,
- F5CBC5BC04757BC801A0C81C /* fldefs_methadd.h */,
- F5CBC5BD04757BC801A0C81C /* fldefs_methbind.h */,
- F5CBC5BE04757BC801A0C81C /* fldefs_methcall.h */,
- F5CBC5BF04757BC801A0C81C /* fldefs_methcb.h */,
- F5CBC5C004757BC801A0C81C /* fldefs_meththr.h */,
- F5CBC5C104757BC801A0C81C /* fldefs_setup.h */,
- );
- name = Defs;
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
- E99747C90770545100206F68 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E99747FA0770548F00206F68 /* flprefix.h in Headers */,
- E99747E80770548F00206F68 /* flbase.h in Headers */,
- E99747E90770548F00206F68 /* flclass.h in Headers */,
- E99747F50770548F00206F68 /* fldoxygen.h in Headers */,
- E99747F60770548F00206F68 /* fldsp.h in Headers */,
- E99747F70770548F00206F68 /* flext.h in Headers */,
- E99747F80770548F00206F68 /* flinternal.h in Headers */,
- E99747F90770548F00206F68 /* flmspbuffer.h in Headers */,
- E99747FC0770548F00206F68 /* flstdc.h in Headers */,
- E99747FE0770548F00206F68 /* flsupport.h in Headers */,
- E99747EA0770548F00206F68 /* fldefs.h in Headers */,
- E99747EB0770548F00206F68 /* fldefs_attradd.h in Headers */,
- E99747EC0770548F00206F68 /* fldefs_attrcb.h in Headers */,
- E99747ED0770548F00206F68 /* fldefs_attrvar.h in Headers */,
- E99747EE0770548F00206F68 /* fldefs_hdr.h in Headers */,
- E99747EF0770548F00206F68 /* fldefs_methadd.h in Headers */,
- E99747F00770548F00206F68 /* fldefs_methbind.h in Headers */,
- E99747F10770548F00206F68 /* fldefs_methcall.h in Headers */,
- E99747F20770548F00206F68 /* fldefs_methcb.h in Headers */,
- E99747F30770548F00206F68 /* fldefs_meththr.h in Headers */,
- E99747F40770548F00206F68 /* fldefs_setup.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E997480E0770570800206F68 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E997480F0770570800206F68 /* flprefix.h in Headers */,
- E99748100770570800206F68 /* flbase.h in Headers */,
- E99748110770570800206F68 /* flclass.h in Headers */,
- E99748120770570800206F68 /* fldoxygen.h in Headers */,
- E99748130770570800206F68 /* fldsp.h in Headers */,
- E99748140770570800206F68 /* flext.h in Headers */,
- E99748150770570800206F68 /* flinternal.h in Headers */,
- E99748160770570800206F68 /* flmspbuffer.h in Headers */,
- E99748170770570800206F68 /* flstdc.h in Headers */,
- E99748180770570800206F68 /* flsupport.h in Headers */,
- E99748190770570800206F68 /* fldefs.h in Headers */,
- E997481A0770570800206F68 /* fldefs_attradd.h in Headers */,
- E997481B0770570800206F68 /* fldefs_attrcb.h in Headers */,
- E997481C0770570800206F68 /* fldefs_attrvar.h in Headers */,
- E997481D0770570800206F68 /* fldefs_hdr.h in Headers */,
- E997481E0770570800206F68 /* fldefs_methadd.h in Headers */,
- E997481F0770570800206F68 /* fldefs_methbind.h in Headers */,
- E99748200770570800206F68 /* fldefs_methcall.h in Headers */,
- E99748210770570800206F68 /* fldefs_methcb.h in Headers */,
- E99748220770570800206F68 /* fldefs_meththr.h in Headers */,
- E99748230770570800206F68 /* fldefs_setup.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974882077058C100206F68 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E99748B00770595E00206F68 /* fldefs.h in Headers */,
- E99748B10770595E00206F68 /* fldefs_attradd.h in Headers */,
- E99748B20770595E00206F68 /* fldefs_attrcb.h in Headers */,
- E99748B30770595E00206F68 /* fldefs_attrvar.h in Headers */,
- E99748B40770595E00206F68 /* fldefs_hdr.h in Headers */,
- E99748B50770595E00206F68 /* fldefs_methadd.h in Headers */,
- E99748B60770595E00206F68 /* fldefs_methbind.h in Headers */,
- E99748B70770595E00206F68 /* fldefs_methcall.h in Headers */,
- E99748B80770595E00206F68 /* fldefs_methcb.h in Headers */,
- E99748B90770595E00206F68 /* fldefs_meththr.h in Headers */,
- E99748BA0770595E00206F68 /* fldefs_setup.h in Headers */,
- E99748A40770595500206F68 /* flprefix.h in Headers */,
- E99748A50770595500206F68 /* flbase.h in Headers */,
- E99748A60770595500206F68 /* flclass.h in Headers */,
- E99748A70770595500206F68 /* fldoxygen.h in Headers */,
- E99748A80770595500206F68 /* fldsp.h in Headers */,
- E99748A90770595600206F68 /* flext.h in Headers */,
- E99748AA0770595600206F68 /* flinternal.h in Headers */,
- E99748AB0770595600206F68 /* flmspbuffer.h in Headers */,
- E99748AC0770595600206F68 /* flsndobj.h in Headers */,
- E99748AD0770595600206F68 /* flstdc.h in Headers */,
- E99748AE0770595600206F68 /* flsupport.h in Headers */,
- E99748AF0770595600206F68 /* flstk.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E997498D07705CC400206F68 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E997498E07705CC400206F68 /* flprefix.h in Headers */,
- E997498F07705CC400206F68 /* flbase.h in Headers */,
- E997499007705CC400206F68 /* flclass.h in Headers */,
- E997499107705CC400206F68 /* fldoxygen.h in Headers */,
- E997499207705CC400206F68 /* fldsp.h in Headers */,
- E997499307705CC400206F68 /* flext.h in Headers */,
- E997499407705CC400206F68 /* flinternal.h in Headers */,
- E997499507705CC400206F68 /* flmspbuffer.h in Headers */,
- E997499607705CC400206F68 /* flstdc.h in Headers */,
- E997499707705CC400206F68 /* flsupport.h in Headers */,
- E997499807705CC400206F68 /* fldefs.h in Headers */,
- E997499907705CC400206F68 /* fldefs_attradd.h in Headers */,
- E997499A07705CC400206F68 /* fldefs_attrcb.h in Headers */,
- E997499B07705CC400206F68 /* fldefs_attrvar.h in Headers */,
- E997499C07705CC400206F68 /* fldefs_hdr.h in Headers */,
- E997499D07705CC400206F68 /* fldefs_methadd.h in Headers */,
- E997499E07705CC400206F68 /* fldefs_methbind.h in Headers */,
- E997499F07705CC400206F68 /* fldefs_methcall.h in Headers */,
- E99749A007705CC400206F68 /* fldefs_methcb.h in Headers */,
- E99749A107705CC400206F68 /* fldefs_meththr.h in Headers */,
- E99749A207705CC400206F68 /* fldefs_setup.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974B9307705F1400206F68 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E9974B9407705F1400206F68 /* flprefix.h in Headers */,
- E9974B9507705F1400206F68 /* flbase.h in Headers */,
- E9974B9607705F1400206F68 /* flclass.h in Headers */,
- E9974B9707705F1400206F68 /* fldoxygen.h in Headers */,
- E9974B9807705F1400206F68 /* fldsp.h in Headers */,
- E9974B9907705F1400206F68 /* flext.h in Headers */,
- E9974B9A07705F1400206F68 /* flinternal.h in Headers */,
- E9974B9B07705F1400206F68 /* flmspbuffer.h in Headers */,
- E9974B9C07705F1400206F68 /* flstdc.h in Headers */,
- E9974B9D07705F1400206F68 /* flsupport.h in Headers */,
- E9974B9E07705F1400206F68 /* fldefs.h in Headers */,
- E9974B9F07705F1400206F68 /* fldefs_attradd.h in Headers */,
- E9974BA007705F1400206F68 /* fldefs_attrcb.h in Headers */,
- E9974BA107705F1400206F68 /* fldefs_attrvar.h in Headers */,
- E9974BA207705F1400206F68 /* fldefs_hdr.h in Headers */,
- E9974BA307705F1400206F68 /* fldefs_methadd.h in Headers */,
- E9974BA407705F1400206F68 /* fldefs_methbind.h in Headers */,
- E9974BA507705F1400206F68 /* fldefs_methcall.h in Headers */,
- E9974BA607705F1400206F68 /* fldefs_methcb.h in Headers */,
- E9974BA707705F1400206F68 /* fldefs_meththr.h in Headers */,
- E9974BA807705F1400206F68 /* fldefs_setup.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BC607705F4F00206F68 /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E9974BC707705F4F00206F68 /* fldefs.h in Headers */,
- E9974BC807705F4F00206F68 /* fldefs_attradd.h in Headers */,
- E9974BC907705F4F00206F68 /* fldefs_attrcb.h in Headers */,
- E9974BCA07705F4F00206F68 /* fldefs_attrvar.h in Headers */,
- E9974BCB07705F4F00206F68 /* fldefs_hdr.h in Headers */,
- E9974BCC07705F4F00206F68 /* fldefs_methadd.h in Headers */,
- E9974BCD07705F4F00206F68 /* fldefs_methbind.h in Headers */,
- E9974BCE07705F4F00206F68 /* fldefs_methcall.h in Headers */,
- E9974BCF07705F4F00206F68 /* fldefs_methcb.h in Headers */,
- E9974BD007705F4F00206F68 /* fldefs_meththr.h in Headers */,
- E9974BD107705F4F00206F68 /* fldefs_setup.h in Headers */,
- E9974BD207705F4F00206F68 /* flprefix.h in Headers */,
- E9974BD307705F4F00206F68 /* flbase.h in Headers */,
- E9974BD407705F4F00206F68 /* flclass.h in Headers */,
- E9974BD507705F4F00206F68 /* fldoxygen.h in Headers */,
- E9974BD607705F4F00206F68 /* fldsp.h in Headers */,
- E9974BD707705F4F00206F68 /* flext.h in Headers */,
- E9974BD807705F4F00206F68 /* flinternal.h in Headers */,
- E9974BD907705F4F00206F68 /* flmspbuffer.h in Headers */,
- E9974BDA07705F4F00206F68 /* flsndobj.h in Headers */,
- E9974BDB07705F4F00206F68 /* flstdc.h in Headers */,
- E9974BDC07705F4F00206F68 /* flsupport.h in Headers */,
- E9974BDD07705F4F00206F68 /* flstk.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
- E99747CC0770545100206F68 /* PD static single */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E9A5BCA10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static single" */;
- buildPhases = (
- E99747C90770545100206F68 /* Headers */,
- E99747CA0770545100206F68 /* Sources */,
- E99747CB0770545100206F68 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "PD static single";
- productName = "PD static single";
- productReference = E99747CD0770545100206F68 /* libflext_s.a */;
- productType = "com.apple.product-type.library.static";
- };
- E997480D0770570800206F68 /* PD static multi */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E9A5BCA50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static multi" */;
- buildPhases = (
- E997480E0770570800206F68 /* Headers */,
- E99748240770570800206F68 /* Sources */,
- E997483D0770570800206F68 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "PD static multi";
- productName = "PD static single";
- productReference = E997483F0770570800206F68 /* libflext_t.a */;
- productType = "com.apple.product-type.library.static";
- };
- E9974885077058C100206F68 /* PD shared */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E9A5BCA90A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD shared" */;
- buildPhases = (
- E9974882077058C100206F68 /* Headers */,
- E9974883077058C100206F68 /* Sources */,
- E9974884077058C100206F68 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "PD shared";
- productName = "PD shared";
- productReference = E9974886077058C100206F68 /* flext.dylib */;
- productType = "com.apple.product-type.library.dynamic";
- };
- E997498C07705CC400206F68 /* Max static single */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E9A5BCAD0A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static single" */;
- buildPhases = (
- E997498D07705CC400206F68 /* Headers */,
- E99749A307705CC400206F68 /* Sources */,
- E99749BC07705CC400206F68 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "Max static single";
- productName = "PD static single";
- productReference = E99749BE07705CC400206F68 /* libflext-max_s.a */;
- productType = "com.apple.product-type.library.static";
- };
- E9974B9207705F1400206F68 /* Max static multi */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E9A5BCB10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static multi" */;
- buildPhases = (
- E9974B9307705F1400206F68 /* Headers */,
- E9974BA907705F1400206F68 /* Sources */,
- E9974BC207705F1400206F68 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "Max static multi";
- productName = "PD static single";
- productReference = E9974BC407705F1400206F68 /* libflext-max_t.a */;
- productType = "com.apple.product-type.library.static";
- };
- E9974BC507705F4F00206F68 /* Max shared */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = E9A5BCB50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max shared" */;
- buildPhases = (
- E9974BC607705F4F00206F68 /* Headers */,
- E9974BDE07705F4F00206F68 /* Sources */,
- E9974BF707705F4F00206F68 /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = "Max shared";
- productName = "PD shared";
- productReference = E9974BFA07705F4F00206F68 /* flext-max.dylib */;
- productType = "com.apple.product-type.library.dynamic";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 0867D690FE84028FC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = E9A5BCB90A3381C400AD9F03 /* Build configuration list for PBXProject "flext" */;
- hasScannedForEncodings = 1;
- mainGroup = 0867D691FE84028FC02AAC07 /* flext-PB */;
- productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */;
- projectDirPath = "";
- targets = (
- E99747CC0770545100206F68 /* PD static single */,
- E997480D0770570800206F68 /* PD static multi */,
- E9974885077058C100206F68 /* PD shared */,
- E997498C07705CC400206F68 /* Max static single */,
- E9974B9207705F1400206F68 /* Max static multi */,
- E9974BC507705F4F00206F68 /* Max shared */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- E99747CA0770545100206F68 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E99747CE0770548700206F68 /* flatom.cpp in Sources */,
- E99747D00770548700206F68 /* flatom_part.cpp in Sources */,
- E99747D10770548700206F68 /* flatom_pr.cpp in Sources */,
- E99747D20770548700206F68 /* flattr.cpp in Sources */,
- E99747D30770548700206F68 /* flattr_ed.cpp in Sources */,
- E99747D40770548700206F68 /* flbase.cpp in Sources */,
- E99747D50770548700206F68 /* flbind.cpp in Sources */,
- E99747D60770548700206F68 /* flbuf.cpp in Sources */,
- E99747D70770548700206F68 /* fldsp.cpp in Sources */,
- E99747D80770548700206F68 /* flext.cpp in Sources */,
- E99747D90770548700206F68 /* flitem.cpp in Sources */,
- E99747DA0770548700206F68 /* fllib.cpp in Sources */,
- E99747DB0770548700206F68 /* flmeth.cpp in Sources */,
- E99747DC0770548700206F68 /* flmsg.cpp in Sources */,
- E99747DD0770548700206F68 /* flout.cpp in Sources */,
- E99747DE0770548700206F68 /* flproxy.cpp in Sources */,
- E99747DF0770548700206F68 /* flqueue.cpp in Sources */,
- E99747E00770548700206F68 /* flsimd.cpp in Sources */,
- E99747E30770548700206F68 /* flsupport.cpp in Sources */,
- E99747E40770548700206F68 /* flthr.cpp in Sources */,
- E99747E50770548700206F68 /* fltimer.cpp in Sources */,
- E99747E60770548700206F68 /* flutil.cpp in Sources */,
- E99747E70770548700206F68 /* flxlet.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99748240770570800206F68 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E99748250770570800206F68 /* flatom.cpp in Sources */,
- E99748270770570800206F68 /* flatom_part.cpp in Sources */,
- E99748280770570800206F68 /* flatom_pr.cpp in Sources */,
- E99748290770570800206F68 /* flattr.cpp in Sources */,
- E997482A0770570800206F68 /* flattr_ed.cpp in Sources */,
- E997482B0770570800206F68 /* flbase.cpp in Sources */,
- E997482C0770570800206F68 /* flbind.cpp in Sources */,
- E997482D0770570800206F68 /* flbuf.cpp in Sources */,
- E997482E0770570800206F68 /* fldsp.cpp in Sources */,
- E997482F0770570800206F68 /* flext.cpp in Sources */,
- E99748300770570800206F68 /* flitem.cpp in Sources */,
- E99748310770570800206F68 /* fllib.cpp in Sources */,
- E99748320770570800206F68 /* flmeth.cpp in Sources */,
- E99748330770570800206F68 /* flmsg.cpp in Sources */,
- E99748340770570800206F68 /* flout.cpp in Sources */,
- E99748350770570800206F68 /* flproxy.cpp in Sources */,
- E99748360770570800206F68 /* flqueue.cpp in Sources */,
- E99748370770570800206F68 /* flsimd.cpp in Sources */,
- E99748380770570800206F68 /* flsupport.cpp in Sources */,
- E99748390770570800206F68 /* flthr.cpp in Sources */,
- E997483A0770570800206F68 /* fltimer.cpp in Sources */,
- E997483B0770570800206F68 /* flutil.cpp in Sources */,
- E997483C0770570800206F68 /* flxlet.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974883077058C100206F68 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E997488C0770593C00206F68 /* flatom.cpp in Sources */,
- E997488E0770593C00206F68 /* flatom_part.cpp in Sources */,
- E997488F0770593C00206F68 /* flatom_pr.cpp in Sources */,
- E99748900770593C00206F68 /* flattr.cpp in Sources */,
- E99748910770593C00206F68 /* flattr_ed.cpp in Sources */,
- E99748920770593C00206F68 /* flbase.cpp in Sources */,
- E99748930770593C00206F68 /* flbind.cpp in Sources */,
- E99748940770593C00206F68 /* flbuf.cpp in Sources */,
- E99748950770593C00206F68 /* fldsp.cpp in Sources */,
- E99748960770593C00206F68 /* flext.cpp in Sources */,
- E99748970770593C00206F68 /* flitem.cpp in Sources */,
- E99748980770593C00206F68 /* fllib.cpp in Sources */,
- E99748990770593C00206F68 /* flmeth.cpp in Sources */,
- E997489A0770593C00206F68 /* flmsg.cpp in Sources */,
- E997489B0770593C00206F68 /* flout.cpp in Sources */,
- E997489C0770593C00206F68 /* flproxy.cpp in Sources */,
- E997489D0770593C00206F68 /* flqueue.cpp in Sources */,
- E997489E0770593C00206F68 /* flsimd.cpp in Sources */,
- E997489F0770593C00206F68 /* flsupport.cpp in Sources */,
- E99748A00770593C00206F68 /* flthr.cpp in Sources */,
- E99748A10770593C00206F68 /* fltimer.cpp in Sources */,
- E99748A20770593C00206F68 /* flutil.cpp in Sources */,
- E99748A30770593C00206F68 /* flxlet.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E99749A307705CC400206F68 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E99749A407705CC400206F68 /* flatom.cpp in Sources */,
- E99749A607705CC400206F68 /* flatom_part.cpp in Sources */,
- E99749A707705CC400206F68 /* flatom_pr.cpp in Sources */,
- E99749A807705CC400206F68 /* flattr.cpp in Sources */,
- E99749A907705CC400206F68 /* flattr_ed.cpp in Sources */,
- E99749AA07705CC400206F68 /* flbase.cpp in Sources */,
- E99749AB07705CC400206F68 /* flbind.cpp in Sources */,
- E99749AC07705CC400206F68 /* flbuf.cpp in Sources */,
- E99749AD07705CC400206F68 /* fldsp.cpp in Sources */,
- E99749AE07705CC400206F68 /* flext.cpp in Sources */,
- E99749AF07705CC400206F68 /* flitem.cpp in Sources */,
- E99749B007705CC400206F68 /* fllib.cpp in Sources */,
- E99749B107705CC400206F68 /* flmeth.cpp in Sources */,
- E99749B207705CC400206F68 /* flmsg.cpp in Sources */,
- E99749B307705CC400206F68 /* flout.cpp in Sources */,
- E99749B407705CC400206F68 /* flproxy.cpp in Sources */,
- E99749B507705CC400206F68 /* flqueue.cpp in Sources */,
- E99749B607705CC400206F68 /* flsimd.cpp in Sources */,
- E99749B707705CC400206F68 /* flsupport.cpp in Sources */,
- E99749B807705CC400206F68 /* flthr.cpp in Sources */,
- E99749B907705CC400206F68 /* fltimer.cpp in Sources */,
- E99749BA07705CC400206F68 /* flutil.cpp in Sources */,
- E99749BB07705CC400206F68 /* flxlet.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BA907705F1400206F68 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E9974BAA07705F1400206F68 /* flatom.cpp in Sources */,
- E9974BAC07705F1400206F68 /* flatom_part.cpp in Sources */,
- E9974BAD07705F1400206F68 /* flatom_pr.cpp in Sources */,
- E9974BAE07705F1400206F68 /* flattr.cpp in Sources */,
- E9974BAF07705F1400206F68 /* flattr_ed.cpp in Sources */,
- E9974BB007705F1400206F68 /* flbase.cpp in Sources */,
- E9974BB107705F1400206F68 /* flbind.cpp in Sources */,
- E9974BB207705F1400206F68 /* flbuf.cpp in Sources */,
- E9974BB307705F1400206F68 /* fldsp.cpp in Sources */,
- E9974BB407705F1400206F68 /* flext.cpp in Sources */,
- E9974BB507705F1400206F68 /* flitem.cpp in Sources */,
- E9974BB607705F1400206F68 /* fllib.cpp in Sources */,
- E9974BB707705F1400206F68 /* flmeth.cpp in Sources */,
- E9974BB807705F1400206F68 /* flmsg.cpp in Sources */,
- E9974BB907705F1400206F68 /* flout.cpp in Sources */,
- E9974BBA07705F1400206F68 /* flproxy.cpp in Sources */,
- E9974BBB07705F1400206F68 /* flqueue.cpp in Sources */,
- E9974BBC07705F1400206F68 /* flsimd.cpp in Sources */,
- E9974BBD07705F1400206F68 /* flsupport.cpp in Sources */,
- E9974BBE07705F1400206F68 /* flthr.cpp in Sources */,
- E9974BBF07705F1400206F68 /* fltimer.cpp in Sources */,
- E9974BC007705F1400206F68 /* flutil.cpp in Sources */,
- E9974BC107705F1400206F68 /* flxlet.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
- E9974BDE07705F4F00206F68 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- E9974BDF07705F4F00206F68 /* flatom.cpp in Sources */,
- E9974BE107705F4F00206F68 /* flatom_part.cpp in Sources */,
- E9974BE207705F4F00206F68 /* flatom_pr.cpp in Sources */,
- E9974BE307705F4F00206F68 /* flattr.cpp in Sources */,
- E9974BE407705F4F00206F68 /* flattr_ed.cpp in Sources */,
- E9974BE507705F4F00206F68 /* flbase.cpp in Sources */,
- E9974BE607705F4F00206F68 /* flbind.cpp in Sources */,
- E9974BE707705F4F00206F68 /* flbuf.cpp in Sources */,
- E9974BE807705F4F00206F68 /* fldsp.cpp in Sources */,
- E9974BE907705F4F00206F68 /* flext.cpp in Sources */,
- E9974BEA07705F4F00206F68 /* flitem.cpp in Sources */,
- E9974BEB07705F4F00206F68 /* fllib.cpp in Sources */,
- E9974BEC07705F4F00206F68 /* flmeth.cpp in Sources */,
- E9974BED07705F4F00206F68 /* flmsg.cpp in Sources */,
- E9974BEE07705F4F00206F68 /* flout.cpp in Sources */,
- E9974BEF07705F4F00206F68 /* flproxy.cpp in Sources */,
- E9974BF007705F4F00206F68 /* flqueue.cpp in Sources */,
- E9974BF107705F4F00206F68 /* flsimd.cpp in Sources */,
- E9974BF207705F4F00206F68 /* flsupport.cpp in Sources */,
- E9974BF307705F4F00206F68 /* flthr.cpp in Sources */,
- E9974BF407705F4F00206F68 /* fltimer.cpp in Sources */,
- E9974BF507705F4F00206F68 /* flutil.cpp in Sources */,
- E9974BF607705F4F00206F68 /* flxlet.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- 089C1666FE841158C02AAC07 /* InfoPlist.strings */ = {
- isa = PBXVariantGroup;
- children = (
- 089C1667FE841158C02AAC07 /* English */,
- );
- name = InfoPlist.strings;
- sourceTree = "<group>";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- E9A5BCA20A3381C400AD9F03 /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=2",
- FLEXT_DEBUG,
- );
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = flext_s;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = YES;
- };
- name = Development;
- };
- E9A5BCA30A3381C400AD9F03 /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2";
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = flext_s;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = NO;
- };
- name = Deployment;
- };
- E9A5BCA40A3381C400AD9F03 /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=2";
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = flext_s;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- };
- name = Default;
- };
- E9A5BCA60A3381C400AD9F03 /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=2",
- FLEXT_THREADS,
- FLEXT_DEBUG,
- );
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = flext_t;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = YES;
- };
- name = Development;
- };
- E9A5BCA70A3381C400AD9F03 /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=2",
- FLEXT_THREADS,
- );
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = flext_t;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = NO;
- };
- name = Deployment;
- };
- E9A5BCA80A3381C400AD9F03 /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=2",
- FLEXT_THREADS,
- );
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = flext_t;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- };
- name = Default;
- };
- E9A5BCAA0A3381C400AD9F03 /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_FAST_MATH = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=2",
- FLEXT_SHARED,
- FLEXT_DEBUG,
- );
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = BUNDLE;
- MACH_O_TYPE = mh_dylib;
- MACOSX_DEPLOYMENT_TARGET = 10.3;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PREBINDING = YES;
- PRODUCT_NAME = flext;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = YES;
- };
- name = Development;
- };
- E9A5BCAB0A3381C400AD9F03 /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_FAST_MATH = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=2",
- FLEXT_SHARED,
- );
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = BUNDLE;
- MACH_O_TYPE = mh_dylib;
- MACOSX_DEPLOYMENT_TARGET = 10.3;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PREBINDING = YES;
- PRODUCT_NAME = flext;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = NO;
- };
- name = Deployment;
- };
- E9A5BCAC0A3381C400AD9F03 /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=2",
- FLEXT_SHARED,
- );
- HEADER_SEARCH_PATHS = "$(PD)/src";
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = BUNDLE;
- MACH_O_TYPE = mh_bundle;
- OTHER_CFLAGS = "";
- OTHER_LDFLAGS = (
- "-bundle_loader",
- "$(PD)/bin/pd",
- );
- OTHER_REZFLAGS = "";
- PREBINDING = YES;
- PRODUCT_NAME = flext;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- };
- name = Default;
- };
- E9A5BCAE0A3381C400AD9F03 /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=1",
- FLEXT_DEBUG,
- );
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "flext-max_s";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = YES;
- };
- name = Development;
- };
- E9A5BCAF0A3381C400AD9F03 /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1";
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "flext-max_s";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = NO;
- };
- name = Deployment;
- };
- E9A5BCB00A3381C400AD9F03 /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = "FLEXT_SYS=1";
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "flext-max_s";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- };
- name = Default;
- };
- E9A5BCB20A3381C400AD9F03 /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=1",
- FLEXT_THREADS,
- FLEXT_DEBUG,
- );
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "flext-max_t";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = YES;
- };
- name = Development;
- };
- E9A5BCB30A3381C400AD9F03 /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=1",
- FLEXT_THREADS,
- );
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "flext-max_t";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = NO;
- };
- name = Deployment;
- };
- E9A5BCB40A3381C400AD9F03 /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=1",
- FLEXT_THREADS,
- );
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_STYLE = STATIC;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PRODUCT_NAME = "flext-max_t";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- };
- name = Default;
- };
- E9A5BCB60A3381C400AD9F03 /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=1",
- FLEXT_SHARED,
- FLEXT_DEBUG,
- );
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_SEARCH_PATHS = (
- "$(Max",
- "SDK)/msp-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- LIBRARY_STYLE = DYNAMIC;
- MACH_O_TYPE = mh_dylib;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PREBINDING = YES;
- PRODUCT_NAME = "flext-max";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = YES;
- };
- name = Development;
- };
- E9A5BCB70A3381C400AD9F03 /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- GCC_ALTIVEC_EXTENSIONS = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = source/flext.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=1",
- FLEXT_SHARED,
- );
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_SEARCH_PATHS = (
- "$(Max",
- "SDK)/msp-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- LIBRARY_STYLE = DYNAMIC;
- MACH_O_TYPE = mh_dylib;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PREBINDING = YES;
- PRODUCT_NAME = "flext-max";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- ZERO_LINK = NO;
- };
- name = Deployment;
- };
- E9A5BCB80A3381C400AD9F03 /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- DYLIB_COMPATIBILITY_VERSION = 1;
- DYLIB_CURRENT_VERSION = 1;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = "$(Max SDK)/max-includes/ext_carbon_prefix.h";
- GCC_PREPROCESSOR_DEFINITIONS = (
- "FLEXT_SYS=1",
- FLEXT_SHARED,
- );
- HEADER_SEARCH_PATHS = (
- "$(Max",
- "SDK)/max-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- INSTALL_PATH = /usr/local/lib;
- LIBRARY_SEARCH_PATHS = (
- "$(Max",
- "SDK)/msp-includes",
- "$(Max",
- "SDK)/msp-includes",
- );
- LIBRARY_STYLE = DYNAMIC;
- MACH_O_TYPE = mh_dylib;
- OTHER_CFLAGS = "";
- OTHER_REZFLAGS = "";
- PREBINDING = YES;
- PRODUCT_NAME = "flext-max";
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = (
- "-Wmost",
- "-Wno-four-char-constants",
- "-Wno-unknown-pragmas",
- );
- };
- name = Default;
- };
- E9A5BCBA0A3381C400AD9F03 /* Development */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = YES;
- };
- name = Development;
- };
- E9A5BCBB0A3381C400AD9F03 /* Deployment */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- };
- name = Deployment;
- };
- E9A5BCBC0A3381C400AD9F03 /* Default */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- };
- name = Default;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- E9A5BCA10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static single" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E9A5BCA20A3381C400AD9F03 /* Development */,
- E9A5BCA30A3381C400AD9F03 /* Deployment */,
- E9A5BCA40A3381C400AD9F03 /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
- E9A5BCA50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD static multi" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E9A5BCA60A3381C400AD9F03 /* Development */,
- E9A5BCA70A3381C400AD9F03 /* Deployment */,
- E9A5BCA80A3381C400AD9F03 /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
- E9A5BCA90A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "PD shared" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E9A5BCAA0A3381C400AD9F03 /* Development */,
- E9A5BCAB0A3381C400AD9F03 /* Deployment */,
- E9A5BCAC0A3381C400AD9F03 /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
- E9A5BCAD0A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static single" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E9A5BCAE0A3381C400AD9F03 /* Development */,
- E9A5BCAF0A3381C400AD9F03 /* Deployment */,
- E9A5BCB00A3381C400AD9F03 /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
- E9A5BCB10A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max static multi" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E9A5BCB20A3381C400AD9F03 /* Development */,
- E9A5BCB30A3381C400AD9F03 /* Deployment */,
- E9A5BCB40A3381C400AD9F03 /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
- E9A5BCB50A3381C400AD9F03 /* Build configuration list for PBXNativeTarget "Max shared" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E9A5BCB60A3381C400AD9F03 /* Development */,
- E9A5BCB70A3381C400AD9F03 /* Deployment */,
- E9A5BCB80A3381C400AD9F03 /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
- E9A5BCB90A3381C400AD9F03 /* Build configuration list for PBXProject "flext" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- E9A5BCBA0A3381C400AD9F03 /* Development */,
- E9A5BCBB0A3381C400AD9F03 /* Deployment */,
- E9A5BCBC0A3381C400AD9F03 /* Default */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Default;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
-}
diff --git a/externals/grill/flext/gpl.txt b/externals/grill/flext/gpl.txt
deleted file mode 100644
index 5ea29a7d..00000000
--- a/externals/grill/flext/gpl.txt
+++ /dev/null
@@ -1,346 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
diff --git a/externals/grill/flext/license.txt b/externals/grill/flext/license.txt
deleted file mode 100644
index 9488294f..00000000
--- a/externals/grill/flext/license.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (C) 2001-2005 Thomas Grill
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-In the official flext distribution, the GNU General Public License is
-in the file gpl.txt \ No newline at end of file
diff --git a/externals/grill/flext/notes.txt b/externals/grill/flext/notes.txt
deleted file mode 100644
index 93c71227..00000000
--- a/externals/grill/flext/notes.txt
+++ /dev/null
@@ -1,69 +0,0 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-----------------------------------------------------------------------------
-
-VARIOUS NOTES:
-
-Platform specific:
-- PD does not allow signal and message to go into the same inlet (except leftmost inlet)
-- PD: with DSP objects all float messages to the leftmost inlet are converted to signal
-
-Restrictions in compatibility mode:
-- Max allows only 9 float/int inlets
-
-Porting to new compilers/platforms:
-- enums must be int-sized!!!
-- compiler must support bool type
-- an STL implementation must exist
-- C++ exceptions and RTTI must be enabled
-
-----------------------------------------------------------------------------
-
-KNOWN BUGS:
-- Some few external libraries have troubles with flext's global new and delete overloadings.
- In these cases one can switch back to the C library memory operators by defining the FLEXT_NOGLOBALNEW macro before
- inclusion of the flext.h header file (e.g. as a -D compiler option)
-
-- PD: floats into the leftmost inlet of DSP objects can't be used as messages
- even if there's no signal inlet at all
-
-----------------------------------------------------------------------------
-
-TODO LIST:
-
-- optimizations for object initialization and messaging
-- speed up message handling (usage of other containers?)
-- SIMD for gcc
-- lock-free code for old AMD 64-bit architectures
-
-- update documentation
-- add log messages for debugging version
-- use PD's t_float and t_int types (or comparable for 32-bit safety)
-
-- add double handlers
-- add signal in/out connection query function
-
-- support for Max qelem style
-
-- flext::post and flext::error should print via a worker thread (and should be unlimited in characters)
-
-- manage running threads individually (stop, isrunning?, priority etc.)
-
-----------------------------------------------------------------------------
-
-TESTS TO DO:
-
-- PD: problems with timed buffer redrawing (takes a lot of cpu time)
-- hard thread termination upon object destruction doesn't seem to work properly -> crash
-- Max rounding bug ... buffer resize could be one sample less!
-
-- PD: figure out what "pointer" messages do and whether they are correctly implemented in flext
-
-- Max buffer~ resize: flext_base::buffer::Frames(): must we use buffer or system sample rate?
-
-- check whether m_dsp gets called upon deletion of a used buffer (PD and MaxMSP may behave differently).
- -> PD does call m_dsp, Max/MSP does not
diff --git a/externals/grill/flext/package.txt b/externals/grill/flext/package.txt
deleted file mode 100644
index c4b2d9a9..00000000
--- a/externals/grill/flext/package.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# flext - C++ layer for Max/MSP and pd (pure data) externals
-#
-# Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-# For information on usage and redistribution, and for a DISCLAIMER OF ALL
-# WARRANTIES, see the file, "license.txt," in this distribution.
-#
-# more information on http://grrrr.org/ext
-# ------------------------------------------------------------------------
-#
-# This file contains information for the building process
-#
-# DO NOT EDIT!!
-#
-# ------------------------------------------------------------------------
-
-NAME=flext
-
-BUILDCLASS=flext
-BUILDMODE=all
-BUILDTYPE=all
-
-BUILDDIR=build
-
-SRCDIR=source
-
-PRECOMPILE=flext.h
-
-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_part.cpp flitem.cpp flmeth.cpp flmsg.cpp \
- flproxy.cpp flqueue.cpp flbind.cpp flmap.cpp
-HDRS= \
- flext.h flprefix.h flstdc.h flinternal.h flfeatures.h \
- flbase.h flclass.h flsupport.h fldsp.h \
- flmap.h flcontainers.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/readme.txt b/externals/grill/flext/readme.txt
deleted file mode 100644
index 30d55aba..00000000
--- a/externals/grill/flext/readme.txt
+++ /dev/null
@@ -1,91 +0,0 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-This package seeks to encourage the development of open source software
-for the pd and Max/MSP platforms.
-
-Donations for further development of the package are highly appreciated.
-https://www.paypal.com/xclick/business=gr%40grrrr.org&item_name=flext&no_note=1&tax=0&currency_code=EUR
-
-----------------------------------------------------------------------------
-
-Abstract:
-
-flext seeks to represent a uniform programming interface for extending the most common
-modular real-time audio systems Max/MSP and Pure Data (PD) with external modules, or
-short externals. These modules provide a way to tailor such a system for one’s
-special needs and supply additional functionality.
-
-Source code based on flext is able to exploit most common features of the
-respective real-time framework while staying completely independent of the
-actual host system and platform (hardware and operating system).
-
-flext currently supports development for PD under Linux, Windows and OSX as well as
-Max/MSP under OS9, OSX and Windows with various programming environments.
-
-----------------------------------------------------------------------------
-
-Goals/features of the package:
-
-pros:
-- better readability of code compared to straight C externals
-- faster development, more robust coding
-- sharing of common methods and data by using base classes
-- any input to any inlet (with the exception of signal streams)
-- transparent use of threads for methods
-- libraries of externals in Max/MSP
-- more than 3 typed creation arguments possible for Max/MSP
-
-cons:
-- introduces a small overhead to speed of message and signal handling
-- larger memory footprint
-
-----------------------------------------------------------------------------
-
-Prerequisites:
-
---- PD ---
- You need the pd source code which is most likely part of the distribution.
- Otherwise download from: http://www-crca.ucsd.edu/~msp/software.html
-
---- Max/MSP ---
- You will need the latest Max/MSP SDK
- for Windows (http://synthesisters.com/pluggo3/downloadMaxWinSDK.php)
- for OSX (http://www.synthesisters.com/sdk/max.php)
- or for OS9 (ask Cycling'74 where to find that)
-
- For OS9 threading support you'll also need the Multiprocessing library
- (download at http://developer.apple.com/sdk/)
-
---- SndObj ---
- If you choose to compile with SndObj support you will need the respective library
- download from: http://www.may.ie/academic/music/musictec/SndObj/main.html
-
---- STK ---
- If you choose to compile with STK support you will need the respective package
- and build a library.
- download from: http://ccrma-www.stanford.edu/software/stk/
- For linking it may preferable to use a library of all the STK objects.
- Under linux you can create one from the STK directory with something like
- "g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o"
-
-----------------------------------------------------------------------------
-
-Building and installing of flext and flext-based externals:
-
- See the build.txt document
-
-----------------------------------------------------------------------------
-
-Various notes / limitations / bug list:
-
- Read the notes.txt document
-
-----------------------------------------------------------------------------
-
-History of changes:
-
- Read the changes.txt document
diff --git a/externals/grill/flext/source/Makefile.am b/externals/grill/flext/source/Makefile.am
deleted file mode 100755
index a07525a2..00000000
--- a/externals/grill/flext/source/Makefile.am
+++ /dev/null
@@ -1,129 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-lib_LIBRARIES = libflext-pd_s.a libflext-pd_sd.a libflext-pd_t.a libflext-pd_td.a
-
-SRCS_FLEXT = \
- 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 \
- flmap.cpp
-
-pkginclude_HEADERS = \
- 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
-
-
-# handling for stk / sndobj
-SRCS_STK = flstk.cpp
-HDRS_STK = flstk.cpp
-
-SRCS_SNDOBJ = flsndobj.cpp
-HDRS_SNDOBJ = flsndobj.cpp
-
-if SNDOBJ
-SRCS_FLEXT += $(SRCS_SNDOBJ)
-pkginclude_HEADERS += $(HDRS_SNDOBJ)
-LIB_SNDOBJ = -lsndobj
-endif
-
-if STK
-SRCS_FLEXT += $(SRCS_STK)
-pkginclude_HEADERS += $(HDRS_STK)
-LIB_STK = -lstk
-endif
-
-FRAMEWORKS = @FRAMEWORKS@
-
-# for static libraries we can use automake
-libflext_pd_s_a_SOURCES = $(SRCS_FLEXT)
-libflext_pd_sd_a_SOURCES = $(SRCS_FLEXT)
-libflext_pd_t_a_SOURCES = $(SRCS_FLEXT)
-libflext_pd_td_a_SOURCES = $(SRCS_FLEXT)
-
-libflext_pd_s_a_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@
-libflext_pd_sd_a_CXXFLAGS = @INCLUDEDIR@ -g -DFLEXT_DEBUG
-libflext_pd_t_a_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ -DFLEXT_THREADS
-libflext_pd_td_a_CXXFLAGS = @INCLUDEDIR@ -g -DFLEXT_DEBUG -DFLEXT_THREADS
-
-libflext_pd_s_a_LDFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-libflext_pd_sd_a_LDFLAGS = @INCLUDEDIR@ -g -DFLEXT_DEBUG \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-libflext_pd_t_a_LDFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ -DFLEXT_THREADS \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-libflext_pd_td_a_LDFLAGS = @INCLUDEDIR@ -g -DFLEXT_DEBUG -DFLEXT_THREADS \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-# for shared libraries, we can't ...
-libflext_pd_la_CXXFLAGS = @OPT_FLAGS@ @INCLUDEDIR@ -DFLEXT_SHARED \
- -DFLEXT_EXPORTS $(DEFS)
-libflext_pd_d_la_CXXFLAGS = @INCLUDEDIR@ -g -DFLEXT_DEBUG -DFLEXT_SHARED \
- -DFLEXT_EXPORTS $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES)
-libflext_pd_la_LDFLAGS = @DYNAMIC_LDFLAGS@ $(LIB_STK) $(LIB_SNDOBJ) $(LDFLAGS) \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-libflext_pd_d_la_LDFLAGS = @DYNAMIC_LDFLAGS@ $(LIB_STK) $(LIB_SNDOBJ) $(LDFLAGS)
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-libflext_pd_la_NAME = libflext-pd.@SOEXT@
-libflext_pd_d_la_NAME = libflext-pd_d.@SOEXT@
-
-all-local: $(libflext_pd_la_NAME) $(libflext_pd_d_la_NAME)
-
-$(libflext_pd_la_NAME): $(patsubst %.cpp,libflext_pd_la-%.o,$(SRCS_FLEXT))
- $(CXX) $(libflext_pd_la_LDFLAGS) $(LIBS) -o $(libflext_pd_la_NAME) $^
-
-libflext_pd_la-%.o : %.cpp
- $(CXX) -c $(libflext_pd_la_CXXFLAGS) $< -o $@
-
-$(libflext_pd_d_la_NAME): $(patsubst %.cpp,libflext_pd_d_la-%.o,$(SRCS_FLEXT))
- $(CXX) $(libflext_pd_d_la_LDFLAGS) $(LIBS) -o $(libflext_pd_d_la_NAME) $^
-
-libflext_pd_d_la-%.o: %.cpp
- $(CXX) -c $(libflext_pd_d_la_CXXFLAGS) $< -o $@
-
-install-exec-local:
- $(libLIBRARIES_INSTALL) $(libflext_pd_la_NAME) $(DESTDIR)$(libdir)
- $(libLIBRARIES_INSTALL) $(libflext_pd_d_la_NAME) $(DESTDIR)$(libdir)
-
diff --git a/externals/grill/flext/source/flatom.cpp b/externals/grill/flext/source/flatom.cpp
deleted file mode 100644
index ea0191c1..00000000
--- a/externals/grill/flext/source/flatom.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flatom.cpp
- \brief Definitions for handling the t_atom type and lists thereof.
-*/
-
-#include "flext.h"
-#include <string.h> // for memcpy
-
-#if FLEXT_SYS != FLEXT_SYS_JMAX
-int flext::CmpAtom(const t_atom &a,const t_atom &b)
-{
- if(GetType(a) == GetType(b)) {
- switch(GetType(a)) {
- case A_FLOAT: return GetFloat(a) == GetFloat(b)?0:(GetFloat(a) < GetFloat(b)?-1:1);
-#if FLEXT_SYS == FLEXT_SYS_MAX
- case A_INT: return GetInt(a) == GetInt(b)?0:(GetInt(a) < GetInt(b)?-1:1);
-#endif
- case A_SYMBOL: return GetSymbol(a) == GetSymbol(b)?0:strcmp(GetString(a),GetString(b));
-#if FLEXT_SYS == FLEXT_SYS_PD
- case A_POINTER: return GetPointer(a) == GetPointer(b)?0:(GetPointer(a) < GetPointer(b)?-1:1);
-#endif
- default:
- // can't be compared.....
- FLEXT_ASSERT(false);
- return 0;
- }
- }
- else
- return GetType(a) < GetType(b)?-1:1;
-}
-#else
-#error Not implemented
-#endif
-
-t_atom *flext::CopyList(int argc,const t_atom *argv)
-{
- t_atom *dst = new t_atom[argc];
- memcpy(dst,argv,argc*sizeof(t_atom));
- return dst;
-}
-
-void flext::CopyAtoms(int cnt,t_atom *dst,const t_atom *src)
-{
- if(dst < src)
- // forward
- memcpy(dst,src,cnt*sizeof(t_atom));
- else
- // backwards
- while(cnt--) dst[cnt] = src[cnt];
-}
-
-void flext::AtomList::Alloc(int sz,int keepix,int keeplen,int keepto)
-{
- if(lst) {
- if(cnt == sz) {
- if(keepix >= 0 && keepix != keepto) {
- int c = keeplen >= 0?keeplen:cnt;
- FLEXT_ASSERT(c+keepto <= cnt);
- FLEXT_ASSERT(c+keepix <= cnt);
- CopyAtoms(c,lst+keepto,lst+keepix);
- }
-
- return; // no change
- }
-
- t_atom *l;
- if(sz) {
- l = new t_atom[sz];
- if(keepix >= 0) {
- // keep contents
- int c = keeplen >= 0?keeplen:(cnt > sz?sz:cnt);
- FLEXT_ASSERT(c+keepto <= sz);
- FLEXT_ASSERT(c+keepix <= cnt);
- CopyAtoms(c,l+keepto,lst+keepix);
- }
- }
- else
- l = NULL;
-
- Free();
- lst = l,cnt = sz;
- }
- else {
- FLEXT_ASSERT(cnt == 0);
- if(sz) lst = new t_atom[cnt = sz];
- }
-}
-
-flext::AtomList::~AtomList() { Free(); }
-
-void flext::AtomList::Free()
-{
- if(lst) {
- delete[] lst; lst = NULL;
- cnt = 0;
- }
- else
- FLEXT_ASSERT(cnt == 0);
-}
-
-flext::AtomList &flext::AtomList::Set(int argc,const t_atom *argv,int offs,bool resize)
-{
- int ncnt = argc+offs;
- if(resize) Alloc(ncnt);
-
- // argv can be NULL independently from argc
- if(argv) CopyAtoms(argc,lst+offs,argv);
-
- return *this;
-}
-
-int flext::AtomList::Compare(const AtomList &a) const
-{
- if(Count() == a.Count()) {
- for(int i = 0; i < Count(); ++i) {
- int cmp = CmpAtom(lst[i],a[i]);
- if(cmp) return cmp;
- }
- return 0;
- }
- else
- return Count() < a.Count()?-1:1;
-}
-
-flext::AtomListStaticBase::~AtomListStaticBase() { Free(); }
-
-void flext::AtomListStaticBase::Alloc(int sz,int keepix,int keeplen,int keepto)
-{
- if(sz <= precnt) {
- // small enough for pre-allocated space
-
- if(lst != predata && lst) {
- // currently allocated memory is larger than what we need
-
- if(keepix >= 0) {
- // keep contents
- int c = keeplen >= 0?keeplen:(cnt > sz?sz:cnt);
- FLEXT_ASSERT(c+keepto <= precnt);
- FLEXT_ASSERT(c+keepix <= cnt);
- CopyAtoms(c,predata+keepto,lst+keepix);
- }
-
- // free allocated memory
- AtomList::Free();
- }
- lst = predata,cnt = sz;
- }
- else
- AtomList::Alloc(sz,keepix,keeplen,keepto);
-}
-
-void flext::AtomListStaticBase::Free()
-{
- if(lst != predata) AtomList::Free();
- else lst = NULL,cnt = 0;
-}
diff --git a/externals/grill/flext/source/flatom_part.cpp b/externals/grill/flext/source/flatom_part.cpp
deleted file mode 100644
index b6d4661c..00000000
--- a/externals/grill/flext/source/flatom_part.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flatom_part.cpp
- \brief Definitions for handling the t_atom type and lists thereof.
-*/
-
-#include "flext.h"
-
-int flext::AtomList::Get(t_atom *argv,int mxsz) const
-{
- int argc = Count();
- if(mxsz >= 0 && argc > mxsz) argc = mxsz;
-
- for(int i = 0; i < argc; ++i) SetAtom(argv[i],lst[i]);
-
- return argc;
-}
-
-
-void flext::AtomList::GetPart(int offs,int len,AtomList &ret) const
-{
- if(offs+len > Count()) {
- len = Count()-offs;
- if(len < 0) len = 0;
- }
-
- ret(len,Atoms()+offs);
-}
-
diff --git a/externals/grill/flext/source/flatom_pr.cpp b/externals/grill/flext/source/flatom_pr.cpp
deleted file mode 100644
index 9b9231ed..00000000
--- a/externals/grill/flext/source/flatom_pr.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flatom_pr.cpp
- \brief Definitions for printing and scanning the t_atom type.
-*/
-
-#include "flext.h"
-#include <ctype.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-#ifdef _MSC_VER
-#define snprintf _snprintf
-#endif
-
-// \TODO take bufsz into account!
-bool flext::PrintAtom(const t_atom &a,char *buf,size_t bufsz)
-{
- bool ok = true;
- if(IsFloat(a)) {
- ok = STD::snprintf(buf,bufsz,"%g",GetFloat(a)) > 0;
- }
- else if(IsInt(a)) {
- ok = STD::snprintf(buf,bufsz,"%i",GetInt(a)) > 0;
- }
- else if(IsSymbol(a)) {
- const char *c = GetString(a);
- size_t len = strlen(c);
- if(len < bufsz) {
- memcpy(buf,c,len); buf[len] = 0;
- ok = true;
- }
- else
- ok = false;
- }
-#if FLEXT_SYS == FLEXT_SYS_PD
-#ifndef FLEXT_COMPATIBLE
- else if(IsPointer(a)) {
- ok = STD::snprintf(buf,bufsz,"%p",GetPointer(a)) > 0;
- }
-#endif
- else if(a.a_type == A_DOLLAR) {
- ok = STD::snprintf(buf,bufsz,"$%d",a.a_w.w_index) > 0;
- }
- else if(a.a_type == A_DOLLSYM) {
- ok = STD::snprintf(buf,bufsz,"$%s",GetString(a)) > 0;
- }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- else if(a.a_type == A_DOLLAR) {
- ok = STD::snprintf(buf,bufsz,"$%d",a.a_w.w_long) > 0;
- }
-#else
-//#pragma message("Not implemented")
-#endif
- else {
- error("flext: atom type unknown");
- ok = false;
- }
- return ok;
-}
-
-bool flext::PrintList(int argc,const t_atom *argv,char *buf,size_t bufsz)
-{
- bool ok = true;
- for(int i = 0; ok && i < argc && bufsz > 0; ++i) {
- if(i) { *(buf++) = ' '; --bufsz; } // prepend space
-
- if(PrintAtom(argv[i],buf,bufsz)) {
- size_t len = strlen(buf);
- buf += len,bufsz -= len;
- }
- else
- ok = false;
- }
- *buf = 0;
- return ok;
-}
-
-
-const char *flext::ScanAtom(t_atom &a,const char *c)
-{
- // skip leading whitespace
- while(*c && isspace(*c)) ++c;
- if(!*c) return NULL;
-
- // go to next space and save character
- char *end = const_cast<char *>(c);
- while(*end && !isspace(*end)) ++end;
- char sv = *end;
-
- float fres;
- // first try float
- char *endp;
- // see if it's a float - thanks to Frank Barknecht
- fres = (float)strtod(c,&endp);
- if(!*c && endp != c) {
- int ires = (int)fres; // try a cast
- if(fres == ires)
- SetInt(a,ires);
- else
- SetFloat(a,fres);
- }
- // no, it's a symbol
- else
- SetString(a,c);
-
- *end = sv;
-
- return c;
-}
diff --git a/externals/grill/flext/source/flattr.cpp b/externals/grill/flext/source/flattr.cpp
deleted file mode 100644
index 2054f7d4..00000000
--- a/externals/grill/flext/source/flattr.cpp
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flattr.cpp
- \brief Attribute handling for the flext base class
-*/
-
-#include "flext.h"
-#include <string.h>
-#include <ctype.h>
-
-#include <set>
-
-
-#ifdef __MWERKS__
-#define STD std
-#else
-#define STD
-#endif
-
-flext_base::AttrItem::AttrItem(const t_symbol *t,metharg tp,methfun f,int fl):
- Item(NULL),index(0),
- flags(fl|afl_shown),
- argtp(tp),fun(f),
- counter(NULL),tag(t)
-{}
-
-
-/*
-flext_base::AttrDataCont::AttrDataCont() {}
-
-flext_base::AttrDataCont::~AttrDataCont()
-{
- for(iterator it = begin(); it != end(); ++it)
- if(it.data()) delete it.data();
-}
-*/
-
-flext_base::AttrDataCont::~AttrDataCont() { clear(); }
-
-void flext_base::AttrDataCont::clear()
-{
- for(iterator it(*this); it; ++it) delete it.data();
- TablePtrMap<const t_symbol *,AttrData *,8>::clear();
-}
-
-//! Add get and set attributes
-void flext_base::AddAttrib(ItemCont *aa,ItemCont *ma,const t_symbol *asym,metharg tp,methfun gfun,methfun sfun)
-{
- AttrItem *a,*b;
-
- FLEXT_ASSERT(asym != sym__ && asym != sym_list && asym != sym_float && asym != sym_symbol && asym != sym_anything);
-
- if(sfun) // if commented out, there will be a warning at run-time (more user-friendly)
- {
- a = new AttrItem(asym,tp,sfun,AttrItem::afl_set);
- a->index = aa->Members();
- aa->Add(a,asym);
-
- // bind attribute to a method
- MethItem *mi = new MethItem(a);
- mi->SetArgs(sfun,1,new metharg(tp));
- ma->Add(mi,asym);
- }
- else
- a = NULL;
-
- if(gfun) // if commented out, there will be a warning at run-time (more user-friendly)
- {
- b = new AttrItem(asym,tp,gfun,AttrItem::afl_get);
- b->index = aa->Members();
- aa->Add(b,asym);
-
- static char tmp[256] = "get";
- strcpy(tmp+3,GetString(asym));
-
- // bind attribute to a method
- MethItem *mi = new MethItem(b);
- mi->SetArgs(gfun,0,NULL);
- ma->Add(mi,MakeSymbol(tmp));
- }
- else
- b = NULL;
-
- if(a && b) {
- a->counter = b;
- b->counter = a;
- }
-}
-
-void flext_base::AddAttrib(const t_symbol *attr,metharg tp,methfun gfun,methfun sfun)
-{
- if(HasAttributes())
- AddAttrib(ThAttrs(),ThMeths(),attr,tp,gfun,sfun);
- else
- error("%s - attribute procession is not enabled!",thisName());
-}
-
-void flext_base::AddAttrib(t_classid c,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun)
-{
- AddAttrib(ClAttrs(c),ClMeths(c),attr,tp,gfun,sfun);
-}
-
-void flext_base::ListAttrib(AtomList &la) const
-{
- typedef TablePtrMap<int,const t_symbol *,32> AttrList;
- AttrList list[2];
- ItemCont *clattrhead = ClAttrs(thisClassId());
-
- int i;
- for(i = 0; i <= 1; ++i) {
- ItemCont *a = i?attrhead:clattrhead;
- if(a && a->Contained(0)) {
- ItemSet &ai = a->GetInlet();
- for(ItemSet::iterator as(ai); as; ++as) {
- for(Item *al = as.data(); al; al = al->nxt) {
- AttrItem *aa = (AttrItem *)al;
- list[i].insert(aa->index,as.key());
- break;
- }
- }
- }
- }
-
- la((int)(list[0].size()+list[1].size()));
- int ix = 0;
- for(i = 0; i <= 1; ++i)
- for(AttrList::iterator it(list[i]); it; ++it)
- SetSymbol(la[ix++],it.data());
-}
-
-int flext_base::CheckAttrib(int argc,const t_atom *argv)
-{
- int offs = 0;
- for(; offs < argc; ++offs)
- if(IsString(argv[offs]) && *GetString(argv[offs]) == '@') break;
- return offs;
-}
-
-bool flext_base::InitAttrib(int argc,const t_atom *argv)
-{
- int cur,nxt;
- for(cur = 0; cur < argc; cur = nxt) {
- // find next @symbol
- for(nxt = cur+1; nxt < argc; ++nxt)
- if(IsString(argv[nxt]) && *GetString(argv[nxt]) == '@') break;
-
- const t_symbol *tag = MakeSymbol(GetString(argv[cur])+1);
-
- // find puttable attribute
- AttrItem *attr = FindAttrib(tag,false,true);
- if(attr) {
- // make an entry (there are none beforehand...)
-/*
- AttrDataCont::iterator it = attrdata->find(tag);
- if(it == attrdata->end()) {
- AttrDataCont::pair pair;
- pair.key() = tag;
- pair.data() = new AttrData;
- it = attrdata->insert(attrdata->begin(),pair);
- }
-
- AttrData &a = *it.data();
- a.SetInit(true);
- a.SetInitValue(nxt-cur-1,argv+cur+1);
-
- // pass value to object
- SetAttrib(tag,attr,a.GetInitValue());
-*/
- AttrData *a = attrdata->find(tag);
- if(!a) {
- AttrData *old = attrdata->insert(tag,a = new AttrData);
- FLEXT_ASSERT(!old);
- }
-
- a->SetInit(true);
- a->SetInitValue(nxt-cur-1,argv+cur+1);
-
- // pass value to object
- SetAttrib(tag,attr,a->GetInitValue());
- }
- }
- return true;
-}
-
-bool flext_base::ListAttrib() const
-{
- if(HasAttributes()) {
- // defined in flsupport.cpp
- AtomListStatic<32> la;
- ListAttrib(la);
- ToOutAnything(GetOutAttr(),sym_attributes,la.Count(),la.Atoms());
- return true;
- }
- else
- return false;
-}
-
-flext_base::AttrItem *flext_base::FindAttrib(const t_symbol *tag,bool get,bool msg) const
-{
- ItemCont *clattrhead = ClAttrs(thisClassId());
-
- // first search within object scope
- AttrItem *a = NULL;
- {
- for(Item *lst = attrhead->FindList(tag); lst; lst = lst->nxt) {
- AttrItem *b = (AttrItem *)lst;
- if(get?b->IsGet():b->IsSet()) { a = b; break; }
- }
- }
-
- // then (if nothing found) search within class scope
- if(!a) {
- for(Item *lst = clattrhead->FindList(tag); lst; lst = lst->nxt) {
- AttrItem *b = (AttrItem *)lst;
- if(get?b->IsGet():b->IsSet()) { a = b; break; }
- }
- }
-
- if(!a && msg) {
- // print a message
- error("%s - %s: attribute not found",thisName(),GetString(tag));
- }
- return a;
-}
-
-bool flext_base::SetAttrib(const t_symbol *tag,int argc,const t_atom *argv)
-{
- // search for matching attribute
- AttrItem *a = FindAttrib(tag,false,true);
- return a && SetAttrib(tag,a,argc,argv);
-}
-
-bool flext_base::SetAttrib(const t_symbol *tag,AttrItem *a,int argc,const t_atom *argv)
-{
- if(a->fun) {
- bool ok = true;
-
- t_any any;
- switch(a->argtp) {
- case a_float:
- if(argc == 1 && CanbeFloat(argv[0])) {
- any.ft = GetAFloat(argv[0]);
- ((methfun_1)a->fun)(this,any);
- }
- else ok = false;
- break;
- case a_int:
- if(argc == 1 && CanbeInt(argv[0])) {
- any.it = GetAInt(argv[0]);
- ((methfun_1)a->fun)(this,any);
- }
- else ok = false;
- break;
- case a_symbol:
- if(argc == 1 && IsSymbol(argv[0])) {
- t_atom at;
- GetParamSym(at,GetSymbol(argv[0]),thisCanvas());
- any.st = const_cast<t_symbol *>(GetSymbol(at));
- ((methfun_1)a->fun)(this,any);
- }
- else ok = false;
- break;
- case a_bool:
- if(argc == 1 && CanbeBool(argv[0])) {
- any.bt = GetABool(argv[0]);
- ((methfun_1)a->fun)(this,any);
- }
- else ok = false;
- break;
- case a_LIST: {
- AtomListStatic<16> la(argc);
- for(int i = 0; i < argc; ++i)
- if(IsSymbol(argv[i]))
- GetParamSym(la[i],GetSymbol(argv[i]),thisCanvas());
- else
- la[i] = argv[i];
-
- any.vt = &la;
- ((methfun_1)a->fun)(this,any);
- break;
- }
- default:
- ERRINTERNAL();
- }
-
- if(!ok)
- post("%s - wrong arguments for attribute %s",thisName(),GetString(tag));
- }
- else
- post("%s - attribute %s has no get method",thisName(),GetString(tag));
- return true;
-}
-
-
-bool flext_base::GetAttrib(const t_symbol *tag,AttrItem *a,AtomList &la) const
-{
- bool ok = true;
- // main attribute tag
- if(a) {
- if(a->fun) {
- t_any any;
- switch(a->argtp) {
- case a_float: {
- ((methfun_1)a->fun)(const_cast<flext_base *>(this),any);
- la(1);
- SetFloat(la[0],any.ft);
- break;
- }
- case a_int: {
- ((methfun_1)a->fun)(const_cast<flext_base *>(this),any);
- la(1);
- SetInt(la[0],any.it);
- break;
- }
- case a_bool: {
- ((methfun_1)a->fun)(const_cast<flext_base *>(this),any);
- la(1);
- SetBool(la[0],any.bt);
- break;
- }
- case a_symbol: {
- ((methfun_1)a->fun)(const_cast<flext_base *>(this),any);
- la(1);
- SetSymbol(la[0],any.st);
- break;
- }
- case a_LIST: {
- any.vt = &la;
- ((methfun_1)a->fun)(const_cast<flext_base *>(this),any);
- break;
- }
- default:
- ERRINTERNAL();
- ok = false;
- }
- }
- else {
- post("%s - attribute %s has no get method",thisName(),GetString(tag));
- ok = false;
- }
- }
- else {
- error("%s - %s: attribute not found",thisName(),GetString(tag));
- ok = false;
- }
- return ok;
-}
-
-bool flext_base::GetAttrib(const t_symbol *s,AtomList &a) const
-{
- AttrItem *attr = FindAttrib(s,true);
- return attr && GetAttrib(s,attr,a);
-}
-
-//! \param tag symbol "get[attribute]"
-bool flext_base::DumpAttrib(const t_symbol *tag,AttrItem *a) const
-{
- AtomListStatic<16> la;
- bool ret = GetAttrib(tag,a,la);
- if(ret) {
- ToOutAnything(GetOutAttr(),a->tag,la.Count(),la.Atoms());
- }
- return ret;
-}
-
-bool flext_base::DumpAttrib(const t_symbol *attr) const
-{
- AttrItem *item = FindAttrib(attr,true);
- return item && DumpAttrib(attr,item);
-}
-
-bool flext_base::BangAttrib(const t_symbol *attr,AttrItem *item)
-{
- AtomListStatic<16> val;
- AttrItem *item2;
- if(!item->IsGet())
- item = item->Counterpart();
- if(item) {
- item2 = item->Counterpart();
- return item2 && GetAttrib(attr,item,val) && SetAttrib(attr,item2,val);
- }
- else
- return false;
-}
-
-bool flext_base::BangAttrib(const t_symbol *attr)
-{
- AttrItem *item = FindAttrib(attr,true);
- return item && BangAttrib(attr,item);
-}
-
-bool flext_base::BangAttribAll()
-{
- ItemCont *clattrhead = ClAttrs(thisClassId());
-
- for(int i = 0; i <= 1; ++i) {
- ItemCont *a = i?attrhead:clattrhead;
- if(a) {
- ItemSet &ai = a->GetInlet(); // \todo need to check for presence of inlet 0?
-/*
- for(ItemSet::iterator as = ai.begin(); as != ai.end(); ++as) {
- for(Item *al = as.data(); al; al = al->nxt) {
- AttrItem *a = (AttrItem *)al;
- if(a->IsGet() && a->BothExist()) BangAttrib(as.key(),a);
- }
- }
-*/
- for(ItemSet::iterator as(ai); as; ++as) {
- for(Item *al = as.data(); al; al = al->nxt) {
- AttrItem *a = (AttrItem *)al;
- if(a->IsGet() && a->BothExist()) BangAttrib(as.key(),a);
- }
- }
- }
- }
- return true;
-}
-
-bool flext_base::ShowAttrib(AttrItem *a,bool show) const
-{
- if(show) a->flags |= AttrItem::afl_shown;
- else a->flags &= ~AttrItem::afl_shown;
-
- // also change counterpart, if present
- AttrItem *ca = a->Counterpart();
- if(ca) {
- if(show) ca->flags |= AttrItem::afl_shown;
- else ca->flags &= ~AttrItem::afl_shown;
- }
- return true;
-}
-
-bool flext_base::ShowAttrib(const t_symbol *attr,bool show) const
-{
- AttrItem *item = FindAttrib(attr,true);
- return item && ShowAttrib(item,show);
-}
diff --git a/externals/grill/flext/source/flattr_ed.cpp b/externals/grill/flext/source/flattr_ed.cpp
deleted file mode 100644
index 115dad13..00000000
--- a/externals/grill/flext/source/flattr_ed.cpp
+++ /dev/null
@@ -1,872 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flattr_ed.cpp
- \brief Attribute editor (property dialog) for PD
-*/
-
-#include "flext.h"
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-
-#ifdef _MSC_VER
-#pragma warning( disable : 4091 )
-#endif
-
-
-#if defined(FLEXT_ATTRHIDE) || PD_MINOR_VERSION < 37
-#define __FLEXT_WIDGETBEHAVIOR
-#endif
-
-//////////////////////////////////////////////////////
-#ifdef __FLEXT_WIDGETBEHAVIOR
-// we need non-public headers!
-#pragma message("Attention: non-public headers used - binary is bound to a specific version")
-
-#include <g_canvas.h>
-
-/*
-#ifdef PD_DEVEL_VERSION
-#define __FLEXT_CLONEWIDGET
-#endif
-*/
-
-#ifndef __FLEXT_CLONEWIDGET
-#include <m_imp.h>
-#endif
-
-#endif
-//////////////////////////////////////////////////////
-
-
-#include <string.h>
-#include <stdio.h>
-
-
-#ifdef FLEXT_ATTRHIDE
-#ifndef __FLEXT_CLONEWIDGET
-static t_visfn ori_vis = NULL;
-static t_selectfn ori_select = NULL;
-#endif
-#endif
-
-
-#ifdef FLEXT_ATTRHIDE
-#define ST_DISABLED ""
-#else
-#define ST_DISABLED " -state disabled"
-#endif
-
-
-#ifndef FLEXT_NOATTREDIT
-
-//! generate the script for the property dialog
-static void tclscript()
-{
- static bool havecode = false;
- if(havecode) return;
- else havecode = true;
-
- sys_vgui(
- "proc flext_escatoms {lst} {\n"
- "set tmp {}\n"
- "foreach a $lst {\n"
-// "set a [regsub {\\\\} $a \\\\\\\\]\n" // replace \ with \\ ... must be first
- "set a [regsub {\\$} $a \\\\$]\n" // replace $ with \$
-// "set a [regsub {\\{} $a \\\\\\{]\n" // replace { with \{
-// "set a [regsub {\\}} $a \\\\\\}]\n" // replace } with \}
-// "set a [regsub {\\ } $a \\\\\\ ]\n" // replace space with \space
- "set a [regsub {,} $a \\\\,]\n" // replace , with \,
- "set a [regsub {;} $a \\\\\\;]\n" // replace ; with \;
- "lappend tmp $a\n"
- "}\n"
- "return $tmp\n"
- "}\n"
- );
- sys_vgui(
- "proc flext_makevalue {id ix} {\n"
- // strip "." from the TK id to make a variable name suffix
- "set vid [string trimleft $id .]\n"
-
- "set var_attr_name [concat [concat var_name_$ix]_$vid ]\n"
- "set var_attr_init [concat [concat var_init_$ix]_$vid ]\n"
- "set var_attr_val [concat [concat var_val_$ix]_$vid ]\n"
- "set var_attr_save [concat [concat var_save_$ix]_$vid ]\n"
- "set var_attr_type [concat [concat var_type_$ix]_$vid ]\n"
-
- "global $var_attr_name $var_attr_init $var_attr_val $var_attr_save $var_attr_type\n"
-
- "set lst {}\n"
-
- "if { [expr $$var_attr_type] != 0 } {\n"
- // attribute is puttable
-
- "lappend lst [eval concat $$var_attr_name]\n"
-
- // process current value
- "set tmp [flext_escatoms [eval concat $$var_attr_val]]\n"
- "set lst [concat $lst [llength $tmp] $tmp]\n"
-
- // process init value
- "set tmp [flext_escatoms [eval concat $$var_attr_init]]\n"
- "set lst [concat $lst [llength $tmp] $tmp]\n"
-
- "lappend lst [eval concat $$var_attr_save]\n"
- "}\n"
-
- // return list
- "return $lst\n"
- "}\n"
- );
- sys_vgui(
- "proc flext_apply {id ix} {\n"
- "set lst [flext_makevalue $id $ix]\n"
- "set lst [eval concat $lst]\n" // remove curly braces from character escaping
- "pd [concat $id attributedialog $lst \\;]\n"
- "}\n"
-
- "proc flext_applyall {id alen} {\n"
- // make a list of the attribute values (including save flags)
-
- "set lst {}\n"
- "for {set ix 1} {$ix <= $alen} {incr ix} {\n"
- "set lst [concat $lst [flext_makevalue $id $ix]]\n"
- "}\n"
- "set lst [eval concat $lst]\n" // remove curly braces from character escaping
-
- "pd [concat $id attributedialog $lst \\;]\n"
- "}\n"
-
- "proc flext_cancel {id} {\n"
- "pd [concat $id cancel \\;]\n"
- "}\n"
-
- "proc flext_ok {id alen} {\n"
- "flext_applyall $id $alen\n"
- "flext_cancel $id\n"
- "}\n"
- );
- sys_vgui(
- "proc flext_help {id} {\n"
- "toplevel $id.hw\n"
- "wm title $id.hw \"Flext attribute editor help\"\n"
-
- "frame $id.hw.buttons\n"
- "pack $id.hw.buttons -side bottom -fill x -pady 2m\n"
-
- "text $id.hw.text -relief sunken -bd 2 -yscrollcommand \"$id.hw.scroll set\" -setgrid 1 -width 80 -height 10 -wrap word\n"
- "scrollbar $id.hw.scroll -command \"$id.hw.text yview\"\n"
- "pack $id.hw.scroll -side right -fill y\n"
- "pack $id.hw.text -expand yes -fill both\n"
-
- "button $id.hw.buttons.ok -text OK -command \"destroy $id.hw\"\n"
- "pack $id.hw.buttons.ok -side left -expand 1\n"
- "bind $id.hw {<KeyPress-Escape>} \"destroy $id.hw\"\n"
-
- "$id.hw.text tag configure big -font {Arial 10 bold}\n"
- "$id.hw.text configure -font {Arial 8 bold}\n"
- "$id.hw.text insert end \""
- "The flext attribute editor lets you query or change attribute values exposed by an external object. \" big \"\n\n"
- "Local variable names ($-values) will only be saved as such for init values. "
- "Alternatively, # can be used instead of $.\n"
- "Ctrl-Button on a text field will open an editor window where text can be entered more comfortably.\n"
- "\"\n"
- "$id.hw.text configure -state disabled\n"
- "}\n"
- );
- sys_vgui(
- "proc flext_copyval {dst src} {\n"
- "global $src $dst\n"
- "set $dst [expr $$src]\n"
- "}\n"
-
- "proc flext_textcopy {id idtxt var} {\n"
- "global $var\n"
- "set txt [eval $idtxt get 0.0 end]\n"
- // strip newline characters
- "set tmp {}\n"
- "foreach t $txt { lappend tmp [string trim $t] }\n"
- "set $var $tmp\n"
- "destroy $id\n"
- "}\n"
- );
- sys_vgui(
- "proc flext_textzoom {id var title attr edit} {\n"
- "global $var\n"
- "toplevel $id.w\n"
- "wm title $id.w [concat $title \" @\" $attr]\n"
-// "wm iconname $w \"text\"\n"
-// "positionWindow $id.w\n"
-
- "frame $id.w.buttons\n"
- "pack $id.w.buttons -side bottom -fill x -pady 2m\n"
-
- "text $id.w.text -relief sunken -bd 2 -yscrollcommand \"$id.w.scroll set\" -setgrid 1 -width 80 -height 20\n"
- "scrollbar $id.w.scroll -command \"$id.w.text yview\"\n"
- "pack $id.w.scroll -side right -fill y\n"
- "pack $id.w.text -expand yes -fill both\n"
-
- // insert text with newlines
- "set txt [split [expr $$var] ,]\n"
- "set lines [llength $txt]\n"
- "for {set ix 0} {$ix < ($lines-1)} {incr ix} {\n"
- "$id.w.text insert end [string trim [lindex $txt $ix] ]\n"
- "$id.w.text insert end \" ,\\n\"\n"
- "}\n"
- "$id.w.text insert end [string trim [lindex $txt end] ]\n"
-
- "$id.w.text mark set insert 0.0\n"
-
- "if { $edit != 0 } then {\n"
- "button $id.w.buttons.ok -text OK -command \"flext_textcopy $id.w $id.w.text $var\"\n"
- "pack $id.w.buttons.ok -side left -expand 1\n"
-// "bind $id.w {<Shift-KeyPress-Return>} \"flext_textcopy $id.w $id.w.text $var\"\n"
- "} "
- "else { $id.w.text configure -state disabled }\n"
-
- "button $id.w.buttons.cancel -text Cancel -command \"destroy $id.w\"\n"
- "pack $id.w.buttons.cancel -side left -expand 1\n"
- "bind $id.w {<KeyPress-Escape>} \"destroy $id.w\"\n"
- "}\n"
- );
- sys_vgui(
- "proc pdtk_flext_dialog {id title attrlist} {\n"
- "set vid [string trimleft $id .]\n"
- "set alen [expr [llength $attrlist] / 6 ]\n"
-
- "toplevel $id\n"
- "wm title $id $title\n"
- "wm protocol $id WM_DELETE_WINDOW [concat flext_cancel $id]\n"
-
- "frame $id.frame\n"
- "set row 0\n"
-
- // set grow parameters
- "grid columnconfigure $id.frame 0 -weight 1\n" // label
- "grid columnconfigure $id.frame {1 4} -weight 3\n" // value entry
- "grid columnconfigure $id.frame {2 3} -weight 0\n" // copy buttons
- "grid columnconfigure $id.frame 5 -weight 1\n" // apply button
- "grid columnconfigure $id.frame {6 7 8} -weight 0\n" // radio buttons
-
- "grid rowconfigure $id.frame {0 1} -weight 0\n"
-
- // set column labels
- "label $id.frame.label -text {attribute} -font {Helvetica 9 bold}\n"
- "label $id.frame.init -text {initial value} -font {Helvetica 9 bold}\n"
- "label $id.frame.copy -text {copy} -font {Helvetica 9 bold}\n"
- "label $id.frame.val -text {current value} -font {Helvetica 9 bold}\n"
- "label $id.frame.apply -text {} -font {Helvetica 9 bold}\n" // why must this be empty?
- "foreach {i txt} {0 {don't\rsave} 1 {do\rinit} 2 {always\rsave} } {\n"
- "label $id.frame.b$i -text $txt -font {Helvetica 7 bold}\n"
- "}\n"
-
- "grid config $id.frame.label -column 0 -row $row \n"
- "grid config $id.frame.init -column 1 -row $row \n"
- "grid config $id.frame.copy -column 2 -columnspan 2 -row $row \n"
- "grid config $id.frame.val -column 4 -row $row \n"
- "grid config $id.frame.apply -column 5 -row $row \n"
- "foreach i {0 1 2} { grid config $id.frame.b$i -column [expr $i + 6] -row $row }\n"
- "incr row\n"
-
- // Separator
- "frame $id.frame.sep -relief ridge -bd 1 -height 2\n"
- "grid config $id.frame.sep -column 0 -columnspan 9 -row $row -pady 2 -sticky {snew}\n"
- "incr row\n"
- );
- sys_vgui(
- "set ix 1\n"
- "foreach {an av ai atp asv afl} $attrlist {\n"
- "grid rowconfigure $id.frame $row -weight 1\n"
-
- // get attribute name
- "set var_attr_name [concat [concat var_name_$ix]_$vid ]\n"
- "global $var_attr_name\n"
- "set $var_attr_name $an\n"
-
- // get attribute init value (list)
- "set var_attr_init [concat [concat var_init_$ix]_$vid ]\n"
- "global $var_attr_init\n"
- "set $var_attr_init $ai\n"
-
- // get attribute value (list)
- "set var_attr_val [concat [concat var_val_$ix]_$vid ]\n"
- "global $var_attr_val\n"
- "set $var_attr_val $av\n"
-
- // get save flag
- "set var_attr_save [concat [concat var_save_$ix]_$vid ]\n"
- "global $var_attr_save\n"
- "set $var_attr_save $asv\n"
-
- // get type flag
- "set var_attr_type [concat [concat var_type_$ix]_$vid ]\n"
- "global $var_attr_type\n"
- "set $var_attr_type $afl\n"
-
- // add dialog elements to window
-
- // attribute label
- "label $id.frame.label-$ix -text \"$an :\" -font {Helvetica 8 bold}\n"
- "grid config $id.frame.label-$ix -column 0 -row $row -padx 5 -sticky {e}\n"
- );
- sys_vgui(
- "if { $afl != 0 } {\n"
- // attribute is puttable
-
- // entry field for initial value
- // entry field for current value
-
- // choose entry field type
- "switch $atp {\n"
- "0 - 1 {\n" // int or float
- "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n"
- "entry $id.frame.val-$ix -textvariable $var_attr_val\n"
- "}\n"
- "2 {\n" // boolean
- "checkbutton $id.frame.init-$ix -variable $var_attr_init" ST_DISABLED "\n"
- "checkbutton $id.frame.val-$ix -variable $var_attr_val\n"
- "}\n"
- "3 {\n" // symbol
- "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n"
- "entry $id.frame.val-$ix -textvariable $var_attr_val\n"
- "}\n"
- "4 - 5 {\n" // list or unknown
- "entry $id.frame.init-$ix -textvariable $var_attr_init" ST_DISABLED "\n"
- "bind $id.frame.init-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.init-$ix $var_attr_init { $title } $an 1\"\n"
- "entry $id.frame.val-$ix -textvariable $var_attr_val\n"
- "bind $id.frame.val-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.val-$ix $var_attr_val { $title } $an 1\"\n"
- "}\n"
- "}\n"
-
- "grid config $id.frame.init-$ix -column 1 -row $row -padx 5 -sticky {ew}\n"
- "grid config $id.frame.val-$ix -column 4 -row $row -padx 5 -sticky {ew}\n"
-
- // copy buttons
- "button $id.frame.b2i-$ix -text {<-} -height 1 -command \" flext_copyval $var_attr_init $var_attr_val \"" ST_DISABLED "\n"
- "grid config $id.frame.b2i-$ix -column 2 -row $row -sticky {ew}\n"
- "button $id.frame.b2c-$ix -text {->} -height 1 -command \" flext_copyval $var_attr_val $var_attr_init \"\n"
- "grid config $id.frame.b2c-$ix -column 3 -row $row -sticky {ew}\n"
-
- // apply button
- "button $id.frame.apply-$ix -text {Apply} -height 1 -command \" flext_apply $id $ix \"\n"
- "grid config $id.frame.apply-$ix -column 5 -row $row -sticky {ew}\n"
-
- // radiobuttons
- "foreach {i c} {0 black 1 blue 2 red} {\n"
- "radiobutton $id.frame.b$i-$ix -value $i -foreground $c -variable $var_attr_save" ST_DISABLED "\n"
- "grid config $id.frame.b$i-$ix -column [expr $i + 6] -row $row\n"
- "}\n"
- );
- sys_vgui(
- "} else {\n"
- // attribute is gettable only
-
- // entry field for current value (read-only)
-
- // choose display field type
- "switch $atp {\n"
- "0 - 1 {\n" // int or float
- "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n"
- "}\n"
- "2 {\n" // boolean
- "checkbutton $id.frame.val-$ix -variable $var_attr_val -state disabled\n"
- "}\n"
- "3 {\n" // symbol
- "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n"
- "}\n"
- "4 - 5 {\n" // list or unknown
- "entry $id.frame.val-$ix -textvariable $var_attr_val -state disabled\n"
- "bind $id.frame.val-$ix {<Control-Button-1>} \" flext_textzoom $id.frame.val-$ix $var_attr_val { $title } $an 0\"\n"
- "}\n"
- "}\n"
-
-// "entry $id.fval.val-$ix -textvariable $var_attr_val -state disabled\n"
- "grid config $id.frame.val-$ix -column 4 -row $row -padx 5 -sticky {ew}\n"
-
- "label $id.frame.readonly-$ix -text \"read-only\"\n"
- "grid config $id.frame.readonly-$ix -column 6 -columnspan 3 -row $row -padx 5 -sticky {ew}\n"
- "}\n"
-
- // increase counter
- "incr ix\n"
- "incr row\n"
- "}\n"
-
- // empty space
- "grid rowconfigure $id.frame $row -weight 1\n"
- "frame $id.frame.dummy\n"
- "grid config $id.frame.dummy -column 0 -columnspan 9 -row $row\n"
- "incr row\n"
- );
- sys_vgui(
- // Separator
- "frame $id.sep2 -relief ridge -bd 1 -height 2\n"
-
- // Buttons
- "frame $id.buttonframe\n"
-
- "button $id.buttonframe.cancel -text {Leave} -width 20 -command \" flext_cancel $id \"\n"
- "button $id.buttonframe.apply -text {Apply all} -width 20 -command \" flext_applyall $id $alen \"\n"
- "button $id.buttonframe.ok -text {Apply & Leave} -width 20 -command \" flext_ok $id $alen \"\n"
- "button $id.buttonframe.help -text {Help} -width 10 -command \" flext_help $id \"\n"
-
- "grid columnconfigure $id.buttonframe {0 1 2 3} -weight 1\n"
- "grid config $id.buttonframe.cancel $id.buttonframe.apply $id.buttonframe.ok $id.buttonframe.help -padx 2 -sticky {snew}\n"
-
-// "scrollbar $id.scroll -command \"$id.frame yview\"\n"
-
- "pack $id.buttonframe $id.sep2 -pady 2 -expand 0 -side bottom -fill x\n"
-// "pack $id.scroll -side right -fill y\n"
- "pack $id.frame -expand 1 -side top -fill both\n"
-
- // Key bindings
- "bind $id {<KeyPress-Escape>} \" flext_cancel $id \"\n"
- "bind $id {<KeyPress-Return>} \" flext_ok $id $alen \"\n"
- "bind $id {<Shift-KeyPress-Return>} \" flext_applyall $id $alen \"\n"
- "}\n"
- );
-}
-
-#endif
-
-
-#ifdef __FLEXT_WIDGETBEHAVIOR
-static t_widgetbehavior widgetbehavior;
-#endif
-
-void flext_base::SetGfx(t_classid c)
-{
- t_class *cl = getClass(c);
- // widgetbehavior struct MUST be resident... (static is just ok here)
-
-#ifdef __FLEXT_WIDGETBEHAVIOR
-#ifndef __FLEXT_CLONEWIDGET
- widgetbehavior.w_visfn = cl->c_wb->w_visfn;
- widgetbehavior.w_selectfn = cl->c_wb->w_selectfn;
- widgetbehavior.w_getrectfn = cl->c_wb->w_getrectfn;
- widgetbehavior.w_displacefn = cl->c_wb->w_displacefn;
- widgetbehavior.w_activatefn = cl->c_wb->w_activatefn;
- widgetbehavior.w_deletefn = cl->c_wb->w_deletefn;
- widgetbehavior.w_selectfn = cl->c_wb->w_selectfn;
- widgetbehavior.w_clickfn = cl->c_wb->w_clickfn;
-#else
- widgetbehavior.w_visfn = text_widgetbehavior.w_visfn;
- widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn;
- widgetbehavior.w_getrectfn = text_widgetbehavior.w_getrectfn;
- widgetbehavior.w_displacefn = text_widgetbehavior.w_displacefn;
- widgetbehavior.w_activatefn = text_widgetbehavior.w_activatefn;
- widgetbehavior.w_deletefn = text_widgetbehavior.w_deletefn;
- widgetbehavior.w_selectfn = text_widgetbehavior.w_selectfn;
- widgetbehavior.w_clickfn = text_widgetbehavior.w_clickfn;
-#endif
-#endif
-
-#ifdef FLEXT_ATTRHIDE
-
-#ifndef __FLEXT_CLONEWIDGET
- ori_vis = widgetbehavior.w_visfn;
- ori_select = widgetbehavior.w_selectfn;
-#endif
- widgetbehavior.w_visfn = (t_visfn)cb_GfxVis;
- widgetbehavior.w_selectfn = (t_selectfn)cb_GfxSelect;
-
-#if PD_MINOR_VERSION >= 37
- class_setsavefn(cl,(t_savefn)cb_GfxSave);
-#else
- widgetbehavior.w_savefn = (t_savefn)cb_GfxSave;
-#endif
-
-#endif // FLEXT_ATTRHIDE
-
-
-#ifndef FLEXT_NOATTREDIT
-
-#if PD_MINOR_VERSION >= 37
- class_setpropertiesfn(cl,(t_propertiesfn)cb_GfxProperties);
-#else
- widgetbehavior.w_propertiesfn = (t_propertiesfn)cb_GfxProperties;
-#endif
-
- tclscript();
-#endif // FLEXT_NOATTREDIT
-
-#ifdef __FLEXT_WIDGETBEHAVIOR
- class_setwidget(cl, &widgetbehavior);
-#endif
-}
-
-
-#ifndef FLEXT_NOATTREDIT
-
-static size_t escapeit(char *dst,size_t maxlen,const char *src)
-{
- char *d;
- for(d = dst; *src && (d-dst) < (int)maxlen; ++src) {
- if(*src == '%')
- *(d++) = '%',*(d++) = '%';
- else
- *(d++) = *src;
- }
- *d = 0;
- return d-dst;
-}
-
-void flext_base::cb_GfxProperties(flext_hdr *c, t_glist *)
-{
- flext_base *th = thisObject(c);
- char buf[1000];
-
- // beginning of proc
- sys_vgui("proc pdtk_flext_dialog_%p {title} {\n",th);
-
- sys_vgui("pdtk_flext_dialog $title {\n");
-
- // add title
- t_text *x = (t_text *)c;
- FLEXT_ASSERT(x->te_binbuf);
-
- int argc = binbuf_getnatom(x->te_binbuf);
- t_atom *argv = binbuf_getvec(x->te_binbuf);
-
- PrintList(argc,argv,buf,sizeof(buf));
- sys_vgui("%s } {\n",buf);
-
- AtomListStatic<32> la;
- th->ListAttrib(la);
- int cnt = la.Count();
-
- for(int i = 0; i < cnt; ++i) {
- const t_symbol *sym = GetSymbol(la[i]);
-
- // get attribute
- AttrItem *gattr = th->FindAttrib(sym,true);
- // get puttable attribute
- AttrItem *pattr = gattr?gattr->Counterpart():th->FindAttrib(sym,false);
-
- // get flags
- int sv;
- const AtomList *initdata;
- const AttrData *a = th->attrdata->find(sym);
-// AttrDataCont::iterator it = th->attrdata->find(sym);
-// if(it == th->attrdata->end())
- if(!a)
- sv = 0,initdata = NULL;
- else {
-// const AttrData &a = *it.data();
- if(a->IsSaved())
- sv = 2;
- else if(a->IsInit())
- sv = 1;
- else
- sv = 0;
- initdata = a->IsInitValue()?&a->GetInitValue():NULL;
- }
-
- // get attribute type
- int tp;
- bool list;
- switch((gattr?gattr:pattr)->argtp) {
- case a_int: tp = 0; list = false; break;
- case a_float: tp = 1; list = false; break;
- case a_bool: tp = 2; list = false; break;
- case a_symbol: tp = 3; list = true; break;
- case a_list:
- case a_LIST: tp = 4; list = true; break;
- default:
- tp = 5; list = true;
- FLEXT_ASSERT(false);
- }
-
- sys_vgui(const_cast<char *>(list?"%s {":"%s "),GetString(sym));
-
- AtomListStatic<32> lv;
- if(gattr) { // gettable attribute is present
- // Retrieve attribute value
- th->GetAttrib(sym,gattr,lv);
-
- char *b = buf; *b = 0;
- for(int i = 0; i < lv.Count(); ++i) {
- char tmp[100];
- PrintAtom(lv[i],tmp,sizeof tmp);
- b += escapeit(b,sizeof(buf)+buf-b,tmp);
- if(i < lv.Count()-1) { *(b++) = ' '; *b = 0; }
- }
- sys_vgui("%s",buf);
- }
- else
- sys_vgui("{}");
-
- sys_vgui(const_cast<char *>(list?"} {":" "));
-
- if(pattr) {
- // if there is initialization data take this, otherwise take the current data
- const AtomList &lp = initdata?*initdata:static_cast<const AtomList &>(lv);
-
- char *b = buf; *b = 0;
- for(int i = 0; i < lp.Count(); ++i) {
- char tmp[256];
- PrintAtom(lp[i],tmp,sizeof(tmp));
- b += escapeit(b,sizeof(buf)+buf-b,tmp);
- if(i < lp.Count()-1) { *(b++) = ' '; *b = 0; }
- }
- sys_vgui("%s",buf);
- }
- else
- sys_vgui("{}");
-
-
- sys_vgui(const_cast<char *>(list?"} %i %i %i \n":" %i %i %i \n"),tp,sv,pattr?(pattr->BothExist()?2:1):0);
- }
-
- sys_vgui(" } }\n"); // end of proc
-
- STD::sprintf(buf,"pdtk_flext_dialog_%p %%s\n",th);
- gfxstub_new((t_pd *)th->thisHdr(), th->thisHdr(),buf);
-
- //! \todo delete proc in TCL space
-}
-
-bool flext_base::cb_AttrDialog(flext_base *th,int argc,const t_atom *argv)
-{
- for(int i = 0; i < argc; ) {
- FLEXT_ASSERT(IsSymbol(argv[i]));
-
- // get name
- const t_symbol *aname = GetSymbol(argv[i]);
- i++;
-
- // get current value
- FLEXT_ASSERT(CanbeInt(argv[i]));
- int ccnt,coffs;
- ccnt = GetAInt(argv[i]);
- coffs = ++i;
- i += ccnt;
-
- // get init value
- FLEXT_ASSERT(CanbeInt(argv[i]));
- int icnt,ioffs;
- icnt = GetAInt(argv[i]);
- ioffs = ++i;
- i += icnt;
-
- FLEXT_ASSERT(i < argc);
- int sv = GetAInt(argv[i]);
- ++i;
-
- // find puttable attribute
- AttrItem *attr = th->FindAttrib(aname,false);
- if(attr) {
- bool ret = th->SetAttrib(aname,attr,ccnt,argv+coffs);
- FLEXT_ASSERT(ret);
-
- AttrData *a = th->attrdata->find(aname);
- if(sv >= 1) {
- // if data not present create it
- if(!a) {
- AttrData *old = th->attrdata->insert(aname,a = new AttrData);
- FLEXT_ASSERT(!old);
- }
-
- a->SetSave(sv == 2);
- a->SetInit(true);
- a->SetInitValue(icnt,argv+ioffs);
- }
- else {
- if(a) {
- // if data is present reset flags
- a->SetSave(false);
- a->SetInit(false);
-
- // let init data as is
- }
- }
- }
- else {
- post("%s - Attribute %s can't be set",th->thisName(),GetString(aname));
- }
- }
- return true;
-}
-
-#endif // FLEXT_NOATTREDIT
-
-
-#ifdef FLEXT_ATTRHIDE
-
-static void BinbufAdd(t_binbuf *b,const t_atom &at,bool transdoll)
-{
- if(transdoll && at.a_type == A_DOLLAR) {
- char tbuf[MAXPDSTRING];
- sprintf(tbuf, "$%d", at.a_w.w_index);
- binbuf_addv(b,"s",flext::MakeSymbol(tbuf));
- }
- else if(transdoll && at.a_type == A_DOLLSYM) {
- char tbuf[MAXPDSTRING];
- sprintf(tbuf, "$%s", at.a_w.w_symbol->s_name);
- binbuf_addv(b,"s",flext::MakeSymbol(tbuf));
- }
- else
- binbuf_add(b,1,const_cast<t_atom *>(&at));
-}
-
-void flext_base::BinbufArgs(t_binbuf *b,t_binbuf *args,bool withname,bool transdoll)
-{
- int argc = binbuf_getnatom(args);
- t_atom *argv = binbuf_getvec(args);
- int i,cnt = CheckAttrib(argc,argv);
- // process the creation arguments
- for(i = withname?0:1; i < cnt; ++i) BinbufAdd(b,argv[i],transdoll);
-}
-
-void flext_base::BinbufAttr(t_binbuf *b,bool transdoll)
-{
- // process the attributes
- AtomListStatic<32> la,lv;
- ListAttrib(la);
- int i,cnt = la.Count();
-
- for(i = 0; i < cnt; ++i) {
- const t_symbol *sym = GetSymbol(la[i]);
- const AtomList *lref = NULL;
-
- AttrData *a = attrdata->find(sym);
- if(a) {
- if(a->IsInit() && a->IsInitValue()) {
- lref = &a->GetInitValue();
-
-#if 0 /////////////////////////////////////////////////////////////
- // check for $-parameters
- lv = lref->Count();
- for(int j = 0; j < lref->Count(); ++j) {
- const char *s = IsSymbol((*lref)[j])?GetString((*lref)[j]):NULL;
- if(s && s[0] == '$') { // TODO: More refined checking?
- // prepend a "\"
- char tmp[256]; *tmp = '\\';
- strcpy(tmp+1,s);
- SetString(lv[j],tmp);
- }
- else
- lv[i] = (*lref)[j];
- }
-
- lref = &lv;
-#endif /////////////////////////////////////////////////////////////
- }
-// else if(a.IsSaved()) {
- else if(a->IsSaved()) {
- AttrItem *attr = FindAttrib(sym,true);
-
- // attribute must be gettable (so that the data can be retrieved) and puttable (so that the data can be inited)
- if(attr && attr->BothExist()) {
- GetAttrib(sym,attr,lv);
- lref = &lv;
- }
- }
- }
-
- if(lref) {
- char attrname[256]; *attrname= '@';
- // store name
- strcpy(attrname+1,GetString(sym));
- binbuf_addv(b,"s",MakeSymbol(attrname));
-
- // store value
- for(int j = 0; j < lref->Count(); ++j) BinbufAdd(b,(*lref)[j],transdoll);
- }
- }
-}
-
-//! Strip the attributes off the object command line
-void flext_base::cb_GfxVis(flext_hdr *c, t_glist *gl, int vis)
-{
- if(!gl->gl_isgraph || gl->gl_havewindow) {
- // show object if it's not inside a GOP
-
- flext_base *th = thisObject(c);
- t_text *x = (t_text *)c;
- FLEXT_ASSERT(x->te_binbuf);
-
- t_binbuf *b = binbuf_new();
- th->BinbufArgs(b,x->te_binbuf,true,false);
-
- // delete old object box text
- binbuf_free(x->te_binbuf);
- // set new one
- x->te_binbuf = b;
-
- t_rtext *rt = glist_findrtext(gl,x);
- rtext_retext(rt);
-
- // now display the changed text with the normal drawing function
- #ifdef __FLEXT_CLONEWIDGET
- text_widgetbehavior.w_visfn((t_gobj *)c,gl,vis);
- #else
- ori_vis((t_gobj *)c,gl,vis);
- #endif
- }
- // else don't show
-}
-
-void flext_base::cb_GfxSelect(flext_hdr *c,t_glist *gl,int state)
-{
- t_text *x = (t_text *)c;
- flext_base *th = thisObject(c);
-
- if(!gl->gl_isgraph || gl->gl_havewindow) {
- if(state || !gl->gl_editor->e_textdirty) {
- // change text only on selection
- // OR if text has _not_ been changed
- // -> since object will not be recreated we have to get rid
- // of the attribute text
-
- FLEXT_ASSERT(x->te_binbuf);
-
- t_binbuf *b = binbuf_new();
- th->BinbufArgs(b,x->te_binbuf,true,false);
- if(state) th->BinbufAttr(b,false);
-
- // delete old object box text
- binbuf_free(x->te_binbuf);
- // set new one
- x->te_binbuf = b;
-
- t_rtext *rt = glist_findrtext(gl,x);
- rtext_retext(rt);
-
- // fix lines
- canvas_fixlinesfor(gl,x);
- }
-
- // call original function
- #ifdef __FLEXT_CLONEWIDGET
- text_widgetbehavior.w_selectfn((t_gobj *)c,gl,state);
- #else
- ori_select((t_gobj *)c,gl,state);
- #endif
- }
-}
-
-void flext_base::cb_GfxSave(flext_hdr *c, t_binbuf *b)
-{
- flext_base *th = thisObject(c);
- t_text *t = (t_text *)c;
- binbuf_addv(b, "ssiis", gensym("#X"),gensym("obj"), t->te_xpix, t->te_ypix,MakeSymbol(th->thisName()));
-
- // process the object arguments
- th->BinbufArgs(b,t->te_binbuf,false,true);
- // process the attributes
- th->BinbufAttr(b,true);
- // add end sign
- binbuf_addv(b, ";");
-}
-
-#endif // FLEXT_ATTRHIDE
-
-#endif // FLEXT_SYS_PD
diff --git a/externals/grill/flext/source/flbase.cpp b/externals/grill/flext/source/flbase.cpp
deleted file mode 100644
index 404588d9..00000000
--- a/externals/grill/flext/source/flbase.cpp
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flbase.cpp
- \brief Implementation of the internal flext base classes.
-
- \remark This is all derived from GEM by Mark Danks
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-#ifdef _MSC_VER
- #pragma warning (push)
- #pragma warning (disable:4091)
-#endif
-// for canvas_realizedollar (should be noon-critical)
-#include <g_canvas.h>
-#ifdef _MSC_VER
- #pragma warning (pop)
-#endif
-#endif
-
-
-/////////////////////////////////////////////////////////
-//
-// flext_obj
-//
-/////////////////////////////////////////////////////////
-
-flext_hdr *flext_obj::m_holder = NULL;
-const t_symbol *flext_obj::m_holdname = NULL;
-flext_class *flext_obj::m_holdclass = NULL;
-int flext_obj::m_holdaargc = 0;
-const t_atom *flext_obj::m_holdaargv = NULL;
-//bool flext_obj::process_attributes = false;
-
-bool flext_obj::initing = false;
-bool flext_obj::exiting = false;
-bool flext_obj::init_ok;
-
-//void flext_obj::ProcessAttributes(bool attr) { process_attributes = attr; }
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-static const t_symbol *sym__shP = NULL;
-#endif
-
-/////////////////////////////////////////////////////////
-// Constructor
-//
-/////////////////////////////////////////////////////////
-flext_obj :: FLEXT_CLASSDEF(flext_obj)()
- : x_obj(m_holder)
- , clss(m_holdclass)
- , m_name(m_holdname)
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- m_canvas = canvas_getcurrent();
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- m_canvas = (t_patcher *)sym__shP->s_thing;
- x_obj->curinlet = 0;
-#endif
-}
-
-/////////////////////////////////////////////////////////
-// Destructor
-//
-/////////////////////////////////////////////////////////
-flext_obj :: ~FLEXT_CLASSDEF(flext_obj)()
-{
- x_obj = NULL;
-}
-
-void flext_obj::__setup__(t_classid)
-{
-#if FLEXT_SYS == FLEXT_SYS_MAX
- sym__shP = MakeSymbol("#P");
-#endif
- flext::Setup();
-}
-
-bool flext_obj::Init() { return true; }
-bool flext_obj::Finalize() { return true; }
-void flext_obj::Exit() {}
-
-void flext_obj::DefineHelp(t_classid c,const char *ref,const char *dir,bool addtilde)
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- char tmp[256];
- if(dir && *dir) {
- strcpy(tmp,dir);
- char *last = tmp+strlen(tmp)-1;
- if(*last != '/') strcat(last,"/");
- strcat(last,ref);
- }
- else
- strcpy(tmp,ref);
- if(addtilde) strcat(tmp,"~");
-
- ::class_sethelpsymbol(getClass(c),gensym(const_cast<char *>(tmp)));
-#else
- // no solution for Max/MSP yet
-#endif
-}
-
-bool flext_obj::GetParamSym(t_atom &dst,const t_symbol *sym,t_canvas *c)
-{
-#if FLEXT_SYS == FLEXT_SYS_PD && defined(PD_MINOR_VERSION) && PD_MINOR_VERSION >= 37
- if(!c) c = canvas_getcurrent();
-
- const char *s = GetString(sym);
- if((s[0] == '$' || s[0] == '#') && isdigit(s[1])) {
- const t_symbol *res;
- // patcher parameter detected... get value!
- if(s[0] != '$') {
- char tmp[MAXPDSTRING];
- strcpy(tmp,s);
- tmp[0] = '$';
- res = canvas_realizedollar(c,const_cast<t_symbol *>(MakeSymbol(tmp)));
- }
- else
- res = canvas_realizedollar(c,const_cast<t_symbol *>(sym));
-
- // check for number
- const char *c = GetString(res);
- while(*c && (isdigit(*c) || *c == '.')) ++c;
-
- if(!*c)
- SetFloat(dst,(float)atof(GetString(res)));
- else
- SetSymbol(dst,res);
- return true;
- }
- else
-#else
- #pragma message("Not implemented")
-#endif
- SetSymbol(dst,sym);
- return true;
-}
-
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-// this declaration is missing in m_pd.h (0.37-0 and -1)
-// but it is there in 0.37-2 (but how to tell which micro-version?)
-extern "C"
-#ifdef _MSC_VER
-__declspec(dllimport)
-#endif
-void canvas_getargs(int *argcp, t_atom **argvp);
-#endif
-
-
-void flext_obj::GetCanvasArgs(AtomList &args) const
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- int argc;
- t_atom *argv;
- canvas_getargs(&argc,&argv);
- args(argc,argv);
-#else
- #pragma message("Not implemented")
- args(0);
-#endif
-}
-
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-static short patcher_myvol(t_patcher *x)
-{
- t_box *w;
- if(x->p_vol)
- return x->p_vol;
- else if((w = (t_box *)x->p_vnewobj) != NULL)
- return patcher_myvol(w->b_patcher);
- else
- return 0;
-}
-#endif
-
-void flext_obj::GetCanvasDir(char *buf,size_t bufsz) const
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- const char *c = GetString(canvas_getdir(thisCanvas()));
- strncpy(buf,c,bufsz);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- short path = patcher_myvol(thisCanvas());
- // \TODO dangerous!! no check for path length (got to be long enough... like 1024 chars)
- path_topathname(path,NULL,buf);
-#else
-#error Not implemented
-#endif
-}
diff --git a/externals/grill/flext/source/flbase.h b/externals/grill/flext/source/flbase.h
deleted file mode 100644
index 640a4688..00000000
--- a/externals/grill/flext/source/flbase.h
+++ /dev/null
@@ -1,575 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flbase.h
- \brief Internal flext base classes
-
- \remark This uses some ideas of GEM invented by Mark Danks
-*/
-
-#ifndef __FLEXT_BASE_H
-#define __FLEXT_BASE_H
-
-#include "flstdc.h"
-#include "flsupport.h"
-
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj);
-typedef class FLEXT_CLASSDEF(flext_obj) flext_obj;
-
-// ----------------------------------------------------------------------------
-/*! \brief The obligatory PD or Max/MSP object header
- \internal
-
- This is in a separate struct to assure that obj is the very first thing.
- If it were the first thing in flext_obj, then there could be problems with
- the virtual table of the C++ class.
-*/
-// ----------------------------------------------------------------------------
-
-struct FLEXT_SHARE flext_hdr
-{
- /*! \defgroup FLEXT_OBJHEADER Actual PD or Max/MSP object
- \internal
- @{
- */
-
- /*! \brief The obligatory object header
- \note MUST reside at memory offset 0 (no virtual table possible)
- */
- t_sigobj obj;
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- //! PD only: float signal holder for pd
- float defsig;
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- //! Max/MSP only: current inlet used by proxy objects
- long curinlet;
-#endif
-
- /*! \brief This points to the actual polymorphic C++ class
- */
- FLEXT_CLASSDEF(flext_obj) *data;
-
- //! @} FLEXT_OBJHEADER
-};
-
-
-class flext_class;
-
-// ----------------------------------------------------------------------------
-/*! \brief The mother of base classes for all flext external objects
-
- Each extern which is written in C++ needs to use the #defines at the
- end of this header file.
-
- The define
-
- FLEXT_HEADER(NEW_CLASS, PARENT_CLASS)
-
- should be somewhere in your header file.
- One of the defines like
-
- FLEXT_NEW(NEW_CLASS)
- or
- FLEXT_NEW_2(NEW_CLASS, float, float)
-
- should be the first thing in your implementation file.
- NEW_CLASS is the name of your class and PARENT_CLASS is the
- parent of your class.
-*/
-// ----------------------------------------------------------------------------
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj):
- public flext
-{
- public:
-
-// --- creation -------------------------------------------------------
-
- /*! \defgroup FLEXT_OBJ_CREATION Object creation/destruction functionality
- @{
- */
-
- //! Constructor
- FLEXT_CLASSDEF(flext_obj)();
-
- //! Destructor
- virtual ~FLEXT_CLASSDEF(flext_obj)();
-
- /*! \brief Signal a construction problem
- \note This should only be used in the constructor. Object creation will be aborted.
- */
- static void InitProblem() { init_ok = false; }
-
- /*! \brief Enable/disable attribute procession (default = false)
- \note Use that in the static class setup function (also library setup function)
- */
-// static void ProcessAttributes(bool attr); //{ process_attributes = attr; }
-
- //! Virtual function called at creation time (but after the constructor)
- // this also guarantees that there are no instances of flext_obj
- virtual bool Init();
-
- //! Virtual function called after Init() has succeeded
- virtual bool Finalize();
-
- //! Virtual function called at destruction (before the destructor)
- virtual void Exit();
-
- //! @} FLEXT_OBJ_CREATION
-
-// --- info -------------------------------------------------------
-
- /*! \defgroup FLEXT_OBJ_INFO Get various information
- @{
- */
-
- //! Get the object's canvas
- t_canvas *thisCanvas() const { return m_canvas; }
-
- //! Get the PD or Max/MSP object
- t_sigobj *thisHdr() { FLEXT_ASSERT(x_obj); return &x_obj->obj; }
- const t_sigobj *thisHdr() const { FLEXT_ASSERT(x_obj); return &x_obj->obj; }
- //! Get the class name (as a string)
- const char *thisName() const { return GetString(m_name); }
- //! Get the class name (as a symbol)
- const t_symbol *thisNameSym() const { return m_name; }
- //! Get the class pointer
- t_class *thisClass() const;
-
- //! Typedef for unique class identifier
- typedef flext_class *t_classid;
-
- //! Get unique id for object class
- t_classid thisClassId() const { return clss; }
-
- //! Get class pointer from class id
- static t_class *getClass(t_classid id);
-
- static bool HasAttributes(t_classid id);
- static bool IsDSP(t_classid id);
- static bool HasDSPIn(t_classid id);
- static bool IsLib(t_classid id);
-
- bool HasAttributes() const;
- bool IsLib() const;
- bool IsDSP() const;
- bool HasDSPIn() const;
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // under Max/MSP it could be necessary to activate DSP also for message objects
- // namely for those coexisting with DSP objects in a library
- bool NeedDSP() const;
-#endif
-
- //! @} FLEXT_OBJ_INFO
-
-// --- help -------------------------------------------------------
-
- /*! \defgroup FLEXT_OBJ_HELP Help/assistance functionality
- \remark This is still PD only
- @{
- */
-
- /*! Define the help reference symbol for a class
- \internal
- */
- static void DefineHelp(t_classid c,const char *ref,const char *dir = NULL,bool addtilde = false);
-
- //! Define the help reference symbol for a class
- void DefineHelp(const char *ref,const char *dir = NULL,bool addtilde = false) { DefineHelp(thisClassId(),ref,dir,addtilde); }
-
- //! @} FLEXT_OBJ_HELP
-
-
-// --- internal stuff -------------------------------------------------------
-
- /*! \defgroup FLEXT_OBJ_INTERNAL Internal stuff
- \internal
- @{
- */
-
- protected:
-
- //! backpointer to object header
- mutable flext_hdr *x_obj;
-
- //! pointer to flext class definition
- flext_class *clss;
-
-// static bool process_attributes;
-
- private:
-
- //! The canvas (patcher) that the object is in
- mutable t_canvas *m_canvas;
-
- //! Flag for successful object construction
- static bool init_ok;
-
- // flags for init and exit procedure;
- static bool initing;
- static bool exiting;
-
- public:
-
- //! Creation callback
- static void __setup__(t_classid);
-
- /*! \brief This is a temporary holder
- \warning don't touch it!
- */
- static flext_hdr *m_holder;
- //! Hold object's class during construction
- static flext_class *m_holdclass;
- //! Hold object's name during construction
- static const t_symbol *m_holdname;
-
- //! Holders for attribute procession flag
- static int m_holdaargc;
- static const t_atom *m_holdaargv;
-
- /*! The object's name in the patcher
- \note objects of the same class can have various alias names!
- */
- const t_symbol *m_name;
-
- /*! Return true if in object initialization phase
- true when in constructor or Init, false when in Finalize
- */
- static bool Initing() { return initing; }
-
- //! Return true if in object destruction phase (Exit or destructor)
- static bool Exiting() { return exiting; }
-
- // Definitions for library objects
- static void lib_init(const char *name,void setupfun());
- static void obj_add(bool lib,bool dsp,bool noi,bool attr,const char *idname,const char *names,void setupfun(t_classid),FLEXT_CLASSDEF(flext_obj) *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...);
-#if FLEXT_SYS == FLEXT_SYS_MAX
- static flext_hdr *obj_new(const t_symbol *s,short argc,t_atom *argv);
-#else
- static flext_hdr *obj_new(const t_symbol *s,int argc,t_atom *argv);
-#endif
- static void obj_free(flext_hdr *o);
-
- //! Convert $0 or #0 symbol into appropriate value
- static bool GetParamSym(t_atom &dst,const t_symbol *s,t_canvas *c);
-
- //! Get the canvas arguments
- void GetCanvasArgs(AtomList &args) const;
-
- //! Get the canvas/patcher directory
- void GetCanvasDir(char *buf,size_t bufsz) const;
-
- //! @} FLEXT_OBJ_INTERNAL
-};
-
-
-// max. 4 creation args (see the following macros)
-#define FLEXT_MAXNEWARGS 4
-
-// max. 5 method args (see the following macros)
-#define FLEXT_MAXMETHARGS 5
-
-// prefixes for the macro generated handler functions
-#define FLEXT_CALL_PRE(F) flext_c_##F
-#define FLEXT_THR_PRE(F) flext_t_##F
-#define FLEXT_GET_PRE(F) flext_g_##F
-#define FLEXT_SET_PRE(F) flext_s_##F
-
-
-#ifndef FLEXT_ATTRIBUTES
-/*! \brief Switch for global attribute processing
- \note Should be set to 1 or 0 (or not be defined)
- \ingroup FLEXT_DEFS
-*/
-#define FLEXT_ATTRIBUTES \
-\
-0
-
-
-#elif FLEXT_ATTRIBUTES != 0 && FLEXT_ATTRIBUTES != 1
-#error "FLEXT_ATTRIBUTES must be 0 or 1"
-#endif
-
-// ----------------------------------------
-// These should be used in the header
-// ----------------------------------------
-
-
-#define FLEXT_REALHDR(NEW_CLASS, PARENT_CLASS) \
-public: \
-typedef NEW_CLASS thisType; \
-typedef PARENT_CLASS thisParent; \
-static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \
-static void __free__(flext_hdr *hdr) { \
- FLEXT_CLASSDEF(flext_obj) *mydata = hdr->data; delete mydata; \
- hdr->flext_hdr::~flext_hdr(); \
-} \
-static void __setup__(t_classid classid) { thisParent::__setup__(classid); }
-
-
-#define FLEXT_REALHDR_S(NEW_CLASS, PARENT_CLASS,SETUPFUN) \
-public: \
-typedef NEW_CLASS thisType; \
-typedef PARENT_CLASS thisParent; \
-static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \
-static void __free__(flext_hdr *hdr) { \
- FLEXT_CLASSDEF(flext_obj) *mydata = hdr->data; delete mydata; \
- hdr->flext_hdr::~flext_hdr(); \
-} \
-static void __setup__(t_classid classid) { \
- thisParent::__setup__(classid); \
- thisType::SETUPFUN(classid); \
-}
-
-#define FLEXT_REALHDR_T(NEW_CLASS, PARENT_CLASS) \
-public: \
-typedef NEW_CLASS thisType; \
-typedef PARENT_CLASS thisParent; \
-typedef typename thisParent::t_classid t_classid; \
-static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \
-static void __free__(flext_hdr *hdr) { \
- FLEXT_CLASSDEF(flext_obj) *mydata = hdr->data; delete mydata; \
- hdr->flext_hdr::~flext_hdr(); \
-} \
-static void __setup__(t_classid classid) { thisParent::__setup__(classid); }
-
-
-#define FLEXT_REALHDR_TS(NEW_CLASS, PARENT_CLASS,SETUPFUN) \
-public: \
-typedef NEW_CLASS thisType; \
-typedef PARENT_CLASS thisParent; \
-typedef typename thisParent::t_classid t_classid; \
-static FLEXT_CLASSDEF(flext_obj) *__init__(int argc,t_atom *argv); \
-static void __free__(flext_hdr *hdr) { \
- FLEXT_CLASSDEF(flext_obj) *mydata = hdr->data; delete mydata; \
- hdr->flext_hdr::~flext_hdr(); \
-} \
-static void __setup__(t_classid classid) { \
- thisParent::__setup__(classid); \
- thisType::SETUPFUN(classid); \
-}
-
-
-// generate name of dsp/non-dsp setup function
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
- #define FLEXT_STPF_0(NAME) NAME##_setup
- #define FLEXT_STPF_1(NAME) NAME##_tilde_setup
-#else
-#error Platform not supported
-#endif
-
-#define FLEXT_STPF_(DSP) FLEXT_STPF_##DSP
-#define FLEXT_STPF(NAME,DSP) FLEXT_STPF_(DSP)(NAME)
-
-
-// --------------------------------------------------------------------------------------
-
-
-// used in library setup functions to register the individual objects in the library
-#define REAL_SETUP(cl,DSP) extern void FLEXT_STPF(cl,DSP)(); FLEXT_STPF(cl,DSP)();
-
-// specify that to define the library itself
-#if FLEXT_SYS == FLEXT_SYS_PD
-#define REAL_LIB_SETUP(NAME,SETUPFUN) extern "C" FLEXT_EXT void NAME##_setup() { flext_obj::lib_init(#NAME,SETUPFUN); }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
-#define REAL_LIB_SETUP(NAME,SETUPFUN) extern "C" FLEXT_EXT int main() { flext_obj::lib_init(#NAME,SETUPFUN); return 0; }
-#else
-#error Platform not supported
-#endif
-
-
-// --------------------------------------------------
-
-
-#define FLEXT_EXP_0 extern "C" FLEXT_EXT
-#define FLEXT_EXP_1
-#define FLEXT_EXP(LIB) FLEXT_EXP_##LIB
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-#define FLEXT_OBJ_SETUP_0(NEW_CLASS,DSP)
-#elif FLEXT_SYS == FLEXT_SYS_MAX
-#define FLEXT_OBJ_SETUP_0(NEW_CLASS,DSP) extern "C" FLEXT_EXT int main() { FLEXT_STPF(NEW_CLASS,DSP)(); return 0; }
-#else
-#error not implemented
-#endif
-
-#define FLEXT_OBJ_SETUP_1(NEW_CLASS,DSP)
-
-#define FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB) FLEXT_OBJ_SETUP_##LIB(NEW_CLASS,DSP)
-
-
-
-// ----------------------------------------
-// These definitions are used below
-// ----------------------------------------
-
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
- // maybe that's not necessary
- #define FLEXTTPN_NULL A_NULL
- #if FLEXT_SYS == FLEXT_SYS_PD
- #define FLEXTTPN_PTR A_POINTER
- #else
- #define FLEXTTPN_INT A_INT
- #define FLEXTTPN_DEFINT A_DEFINT
- #endif
- #define FLEXTTPN_FLOAT A_FLOAT
- #define FLEXTTPN_DEFFLOAT A_DEFFLOAT
- #define FLEXTTPN_SYM A_SYMBOL
- #define FLEXTTPN_DEFSYM A_DEFSYMBOL
- #define FLEXTTPN_VAR A_GIMME
-#else
- #define FLEXTTPN_NULL 0
- #define FLEXTTPN_PTR 1
- #define FLEXTTPN_INT 2
- #define FLEXTTPN_FLOAT 3
- #define FLEXTTPN_SYM 4
- #define FLEXTTPN_VAR 5
- #define FLEXTTPN_DEFINT 6
- #define FLEXTTPN_DEFFLOAT 7
- #define FLEXTTPN_DEFSYM 8
-#endif
-
-// Shortcuts for PD/Max type arguments
-#define FLEXTTYPE_void FLEXTTPN_NULL
-#define CALLBTYPE_void void
-#define FLEXTTYPE_float FLEXTTPN_FLOAT
-#define FLEXTTYPE_float0 FLEXTTPN_DEFFLOAT
-#define CALLBTYPE_float float
-#define FLEXTTYPE_t_float FLEXTTPN_FLOAT
-#define CALLBTYPE_t_float t_float
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-#define FLEXTTYPE_int FLEXTTPN_FLOAT
-#define FLEXTTYPE_int0 FLEXTTPN_DEFFLOAT
-#define CALLBTYPE_int float
-#define FLEXTTYPE_bool FLEXTTPN_FLOAT
-#define FLEXTTYPE_bool0 FLEXTTPN_DEFFLOAT
-#define CALLBTYPE_bool float
-#elif FLEXT_SYS == FLEXT_SYS_MAX
-#define FLEXTTYPE_int FLEXTTPN_INT
-#define FLEXTTYPE_int0 FLEXTTPN_DEFINT
-#define CALLBTYPE_int int
-#define FLEXTTYPE_bool FLEXTTPN_INT
-#define FLEXTTYPE_bool0 FLEXTTPN_DEFINT
-#define CALLBTYPE_bool int
-#else
-#error Platform not supported
-#endif
-
-#define FLEXTTYPE_t_symptr FLEXTTPN_SYM
-#define FLEXTTYPE_t_symptr0 FLEXTTPN_DEFSYM
-#define CALLBTYPE_t_symptr t_symptr
-#define FLEXTTYPE_t_symtype FLEXTTYPE_t_symptr
-#define FLEXTTYPE_t_symtype0 FLEXTTYPE_t_symptr0
-#define CALLBTYPE_t_symtype t_symptr
-#define FLEXTTYPE_t_ptrtype FLEXTTPN_PTR
-#define CALLBTYPE_t_ptrtype t_ptrtype
-
-#define FLEXTTP(TP) FLEXTTYPE_ ## TP
-#define CALLBTP(TP) CALLBTYPE_ ## TP
-
-
-#define ARGMEMBER_bool(a) GetBool(a)
-#define ARGMEMBER_bool0(a) ARGMEMBER_bool(a)
-#define ARGMEMBER_int(a) GetInt(a)
-#define ARGMEMBER_int0(a) ARGMEMBER_int(a)
-#define ARGMEMBER_float(a) GetFloat(a)
-#define ARGMEMBER_float0(a) ARGMEMBER_float(a)
-#define ARGMEMBER_t_symptr(a) GetSymbol(a)
-#define ARGMEMBER_t_symptr0(a) ARGMEMBER_t_symptr(a)
-#define ARGMEMBER_t_symtype(a) ARGMEMBER_t_symptr(a)
-#define ARGMEMBER_t_symtype0(a) ARGMEMBER_t_symptr0(a)
-#define ARGCAST(a,tp) ARGMEMBER_##tp(a)
-
-#define REAL_NEW(NAME,NEW_CLASS,DSP,NOI,LIB) \
-flext_obj *NEW_CLASS::__init__(int ,t_atom *) \
-{ \
- return new NEW_CLASS; \
-} \
-FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \
-{ \
- flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_NULL); \
-} \
-FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
-
-#define REAL_NEW_V(NAME,NEW_CLASS,DSP,NOI,LIB) \
-flext_obj *NEW_CLASS::__init__(int argc,t_atom *argv) \
-{ \
- return new NEW_CLASS(argc,argv); \
-} \
-FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \
-{ \
- flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,&NEW_CLASS::__free__,FLEXTTPN_VAR,FLEXTTPN_NULL); \
-} \
-FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
-
-#define REAL_NEW_1(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1) \
-flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \
-{ \
- return new NEW_CLASS(ARGCAST(argv[0],TYPE1)); \
-} \
-FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \
-{ \
- flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTPN_NULL); \
-} \
-FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
-
-#define REAL_NEW_2(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1,TYPE2) \
-flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \
-{ \
- return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2)); \
-} \
-FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \
-{ \
- flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTPN_NULL); \
-} \
-FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
-
-#define REAL_NEW_3(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1, TYPE2, TYPE3) \
-flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \
-{ \
- return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2),ARGCAST(argv[2],TYPE3)); \
-} \
-FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \
-{ \
- flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTPN_NULL); \
-} \
-FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
-
-#define REAL_NEW_4(NAME,NEW_CLASS,DSP,NOI,LIB, TYPE1,TYPE2, TYPE3, TYPE4) \
-flext_obj *NEW_CLASS::__init__(int,t_atom *argv) \
-{ \
- return new NEW_CLASS(ARGCAST(argv[0],TYPE1),ARGCAST(argv[1],TYPE2),ARGCAST(argv[2],TYPE3),ARGCAST(argv[3],TYPE4)); \
-} \
-FLEXT_EXP(LIB) void FLEXT_STPF(NEW_CLASS,DSP)() \
-{ \
- flext_obj::obj_add(LIB,DSP,NOI,FLEXT_ATTRIBUTES,#NEW_CLASS,NAME,NEW_CLASS::__setup__,NEW_CLASS::__init__,NEW_CLASS::__free__,FLEXTTP(TYPE1),FLEXTTP(TYPE2),FLEXTTP(TYPE3),FLEXTTP(TYPE4),FLEXTTPN_NULL); \
-} \
-FLEXT_OBJ_SETUP(NEW_CLASS,DSP,LIB)
-
-
-// Shortcuts for method arguments:
-#define FLEXTARG_float a_float
-#define FLEXTARG_int a_int
-#define FLEXTARG_bool a_int
-#define FLEXTARG_t_float a_float
-#define FLEXTARG_t_symtype a_symbol
-#define FLEXTARG_t_symptr a_symbol
-#define FLEXTARG_t_ptrtype a_pointer
-
-#define FLEXTARG(TP) FLEXTARG_ ## TP
-
-
-#endif
diff --git a/externals/grill/flext/source/flbind.cpp b/externals/grill/flext/source/flbind.cpp
deleted file mode 100644
index 8f78c300..00000000
--- a/externals/grill/flext/source/flbind.cpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flbind.cpp
- \brief Functionality for symbol-bound methods.
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-
-
-t_class *flext_base::pxbnd_class = NULL;
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-t_object *px_freelist = NULL;
-t_messlist px_messlist[3];
-#endif
-
-/*! \brief Set up the proxy class for symbol-bound methods
-*/
-void flext_base::SetupBindProxy()
-{
- // already initialized?
- if(!pxbnd_class) {
-#if FLEXT_SYS == FLEXT_SYS_PD
- pxbnd_class = class_new(gensym("flext_base bind proxy"),NULL,NULL,sizeof(pxbnd_object),CLASS_PD|CLASS_NOINLET, A_NULL);
- add_anything(pxbnd_class,pxbnd_object::px_method); // for symbol-bound methods
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- pxbnd_class = new t_class;
-
- pxbnd_class->c_sym = const_cast<t_symbol *>(sym__);
- pxbnd_class->c_freelist = &px_freelist;
- pxbnd_class->c_freefun = NULL;
- pxbnd_class->c_size = sizeof(pxbnd_object);
- pxbnd_class->c_tiny = 0;
- pxbnd_class->c_noinlet = 1;
- px_messlist[0].m_sym = (t_symbol *)pxbnd_class;
-
- px_messlist[1].m_sym = const_cast<t_symbol *>(sym_anything);
- px_messlist[1].m_fun = (method)pxbnd_object::px_method;
- px_messlist[1].m_type[0] = A_GIMME;
- px_messlist[1].m_type[1] = 0;
-
- px_messlist[2].m_sym = 0;
-#else
-#pragma warning("Not implemented!")
-#endif
- }
-}
-
-
-flext_base::BindItem::BindItem(bool (*f)(flext_base *,t_symbol *s,int,t_atom *,void *data),pxbnd_object *p):
- Item(NULL),fun(f),px(p)
-{}
-
-flext_base::BindItem::~BindItem()
-{
- if(px) {
- FLEXT_ASSERT(!fun); // check if already unbound
- object_free(&px->obj);
- }
-}
-
-void flext_base::BindItem::Unbind(const t_symbol *tag)
-{
- if(px) {
- FLEXT_ASSERT(fun);
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- pd_unbind(&px->obj.ob_pd,const_cast<t_symbol *>(tag));
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- if(tag->s_thing == (t_object *)px)
- const_cast<t_symbol *>(tag)->s_thing = NULL;
- else
- error("flext - Binding to symbol %s not found",tag->s_name);
-#else
-# pragma warning("Not implemented")
-#endif
-
- fun = NULL;
- }
-}
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- //! Bind object to a symbol
- bool flext_base::Bind(const t_symbol *sym) { pd_bind(&thisHdr()->ob_pd,const_cast<t_symbol *>(sym)); return true; }
- //! Unbind object from a symbol
- bool flext_base::Unbind(const t_symbol *sym) { pd_unbind(&thisHdr()->ob_pd,const_cast<t_symbol *>(sym)); return true; }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- //! Bind object to a symbol
- bool flext_base::Bind(const t_symbol *sym) { if(sym->s_thing) return false; else { const_cast<t_symbol *>(sym)->s_thing = (t_object *)thisHdr(); return true; } }
- //! Unbind object from a symbol
- bool flext_base::Unbind(const t_symbol *sym) { if(sym->s_thing != (t_object *)thisHdr()) return false; else { const_cast<t_symbol *>(sym)->s_thing = NULL; return true; } }
-#endif
-
-bool flext_base::BindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void *data)
-{
- if(!bindhead)
- bindhead = new ItemCont;
- else {
- // Search for symbol
- for(Item *it = bindhead->FindList(sym); it; it = it->nxt) {
- BindItem *item = (BindItem *)it;
-
- // go through all items with matching tag
- if(item->fun == fun) {
- // function already registered -> bail out!
- post("%s - Symbol already bound with this method",thisName());
- return false;
- }
- }
- }
-
- SetupBindProxy();
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- pxbnd_object *px = (pxbnd_object *)object_new(pxbnd_class);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- pxbnd_object *px = (pxbnd_object *)newobject(px_messlist);
-#else
-#pragma warning("Not implemented!")
-#endif
-
- if(px) {
- BindItem *mi = new BindItem(fun,px);
- bindhead->Add(mi,sym);
-
- px->init(this,mi,data);
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- pd_bind(&px->obj.ob_pd,const_cast<t_symbol *>(sym));
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- if(!sym->s_thing)
- const_cast<t_symbol *>(sym)->s_thing = (t_object *)px;
- else
- error("%s - Symbol is already bound",thisName());
-#else
-# pragma warning("Not implemented")
-#endif
- }
- else
- error("%s - Symbol proxy could not be created",thisName());
-
- return true;
-}
-
-bool flext_base::UnbindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void **data)
-{
- bool ok = false;
-
- if(bindhead && bindhead->Contained(0)) {
- ItemSet &set = bindhead->GetInlet();
-
-/*
- ItemSet::iterator it1,it2;
- if(sym) {
- // specific tag
- it1 = it2 = set.find(sym); it2++;
- }
- else {
- // any tag
- it1 = set.begin(),it2 = set.end();
- }
-
- BindItem *it = NULL;
- for(ItemSet::iterator si = it1; si != it2 && !it; ++si) {
- for(Item *i = si.data(); i; i = i->nxt) {
- BindItem *item = (BindItem *)i;
- if(!fun || item->fun == fun)
- {
- it = item;
- if(!sym) sym = si.key();
- break;
- }
- }
- }
-*/
- BindItem *item = NULL;
- if(sym) {
- // symbol is given
- Item *it = set.find(sym);
- if(fun) {
- // check if function matches
- for(; it && static_cast<BindItem *>(it)->fun != fun; it = it->nxt) {}
- }
- item = static_cast<BindItem *>(it);
- }
- else {
- // take any entry that matches
- for(ItemSet::iterator si(set); si && !item; ++si) {
- for(Item *i = si.data(); i; i = i->nxt) {
- BindItem *bit = (BindItem *)i;
- if(!fun || bit->fun == fun) {
- item = bit;
- if(!sym) sym = si.key();
- break;
- }
- }
- }
- }
-
- if(item) {
- if(data) *data = item->px->data;
- ok = bindhead->Remove(item,sym,0,false);
- if(ok) {
- item->Unbind(sym);
- delete item;
- }
- }
- }
- return ok;
-}
-
-bool flext_base::GetBoundMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_symbol *s,int argc,t_atom *argv,void *data),void *&data)
-{
- if(bindhead) {
- // Search for symbol
- for(Item *it = bindhead->FindList(sym); it; it = it->nxt) {
- BindItem *item = (BindItem *)it;
-
- // go through all items with matching tag
- if(item->fun == fun) {
- data = item->px->data;
- return true;
- }
- }
- }
- return false;
-}
-
-bool flext_base::UnbindAll()
-{
- if(bindhead && bindhead->Contained(0)) {
- ItemSet &set = bindhead->GetInlet();
-// for(ItemSet::iterator si = set.begin(); si != set.end(); ++si) {
- for(ItemSet::iterator si(set); si; ++si) {
- Item *lst = si.data();
- while(lst) {
- Item *nxt = lst->nxt;
- BindItem *it = (BindItem *)lst;
- it->Unbind(si.key());
- delete it;
- lst = nxt;
- }
- }
- set.clear();
- }
- return true;
-}
-
-void flext_base::pxbnd_object::px_method(pxbnd_object *c,const t_symbol *s,int argc,t_atom *argv)
-{
- c->item->fun(c->base,(t_symbol *)s,argc,(t_atom *)argv,c->data);
-}
diff --git a/externals/grill/flext/source/flbuf.cpp b/externals/grill/flext/source/flbuf.cpp
deleted file mode 100644
index a807c20b..00000000
--- a/externals/grill/flext/source/flbuf.cpp
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flbuf.cpp
- \brief Implementation of the buffer abstraction class.
-*/
-
-#include "flext.h"
-#include "flfeatures.h"
-
-#if FLEXT_SYS != FLEXT_SYS_JMAX
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-#define DIRTY_INTERVAL 0 // buffer dirty check in msec
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-// defined in flsupport.cpp
-extern const t_symbol *sym_buffer,*sym_size;
-#endif
-
-flext::buffer::buffer(const t_symbol *bn,bool delayed):
- sym(NULL),data(NULL),
- chns(0),frames(0)
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- arr = NULL;
- interval = DIRTY_INTERVAL;
- isdirty = false;
- ticking = false;
- tick = clock_new(this,(t_method)cb_tick);
-#endif
-
- if(bn) Set(bn,delayed);
-
- ClearDirty();
-}
-
-flext::buffer::~buffer()
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- clock_free(tick);
-#endif
-}
-
-int flext::buffer::Set(const t_symbol *s,bool nameonly)
-{
- int ret = 0;
- bool valid = data != NULL; // valid now? (before change)
-
- if(s && sym != s) {
- ret = 1;
- data = NULL;
- frames = 0;
- chns = 0;
- }
-
- if(s && *GetString(s)) sym = s;
-
- if(!sym) {
- if(valid) ret = -1;
- }
- else if(!nameonly) {
-#if FLEXT_SYS == FLEXT_SYS_PD
- int frames1;
- t_sample *data1;
-
- arr = (t_garray *)pd_findbyclass(const_cast<t_symbol *>(sym), garray_class);
- if(!arr)
- {
- if (*GetString(sym)) FLEXT_LOG1("buffer: no such array '%s'",GetString(sym));
-// sym = NULL;
- if(valid) ret = -1;
- }
- else if(!garray_getfloatarray(arr, &frames1, &data1))
- {
- error("buffer: bad template '%s'",GetString(sym));
- data = NULL;
- frames = 0;
- if(valid) ret = -1;
- }
- else {
- ret = 0;
- garray_usedindsp(arr);
- if(frames != frames1) { frames = frames1; if(!ret) ret = 1; }
- if(data != data1) { data = data1; if(!ret) ret = 1; }
- chns = 1;
- }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- if(sym->s_thing) {
- const t_buffer *p = (const t_buffer *)sym->s_thing;
-
- FLEXT_ASSERT(!NOGOOD(p));
-
- if(ob_sym(p) != sym_buffer) {
- post("buffer: object '%s' not valid (type %s)",GetString(sym),GetString(ob_sym(p)));
- if(valid) ret = -2;
- }
- else {
-#ifdef FLEXT_DEBUG
-// post("flext: buffer object '%s' - valid:%i samples:%i channels:%i frames:%i",GetString(sym),p->b_valid,p->b_frames,p->b_nchans,p->b_frames);
-#endif
- if(data != p->b_samples) { data = p->b_samples; if(!ret) ret = 1; }
- if(chns != p->b_nchans) { chns = p->b_nchans; if(!ret) ret = 1; }
- if(frames != p->b_frames) { frames = p->b_frames; if(!ret) ret = 1; }
- }
- }
- else {
- FLEXT_LOG1("buffer: symbol '%s' not defined", GetString(sym));
- /*if(valid)*/ ret = -1;
- }
-#else
-#error not implemented
-#endif
- }
-
- return ret;
-}
-
-bool flext::buffer::Update()
-{
- FLEXT_ASSERT(sym);
-
- bool upd = false;
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- if(!arr) return data == NULL;
-
- int frames1;
- t_sample *data1;
- if(!garray_getfloatarray(arr, &frames1, &data1)) {
- data = NULL;
- chns = 0;
- frames = 0;
- upd = true;
- }
- else if(data != data1 || frames != frames1) {
- data = data1;
- frames = frames1;
- upd = true;
- }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- const t_buffer *p = (const t_buffer *)sym->s_thing;
- if(p) {
- FLEXT_ASSERT(!NOGOOD(p) && ob_sym(p) == sym_buffer);
-
- if(data != p->b_samples || chns != p->b_nchans || frames != p->b_frames) {
- data = p->b_samples;
- chns = p->b_nchans;
- frames = p->b_frames;
- upd = true;
- }
- }
- else {
- // buffer~ has e.g. been renamed
- data = NULL;
- chns = 0;
- frames = 0;
- upd = true;
- }
-#else
-#error not implemented
-#endif
- return upd;
-}
-
-flext::buffer::lock_t flext::buffer::Lock()
-{
- FLEXT_ASSERT(sym);
-#if FLEXT_SYS == FLEXT_SYS_PD
- FLEXT_ASSERT(arr);
-#ifdef _FLEXT_HAVE_PD_GARRAYLOCKS
- garray_lock(arr);
-#endif
- return false;
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- t_buffer *p = (t_buffer *)sym->s_thing;
- FLEXT_ASSERT(p);
-#ifdef _FLEXT_HAVE_MAX_INUSEFLAG
- long old = p->b_inuse;
- p->b_inuse = 1;
- return old;
-#else
- return 0;
-#endif
-#else
-#error not implemented
-#endif
-}
-
-void flext::buffer::Unlock(flext::buffer::lock_t prv)
-{
- FLEXT_ASSERT(sym);
-#if FLEXT_SYS == FLEXT_SYS_PD
- FLEXT_ASSERT(arr);
-#ifdef _FLEXT_HAVE_PD_GARRAYLOCKS
- garray_unlock(arr);
-#endif
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- t_buffer *p = (t_buffer *)sym->s_thing;
- FLEXT_ASSERT(p);
-#ifdef _FLEXT_HAVE_MAX_INUSEFLAG
- p->b_inuse = prv;
-#endif
-#else
-#error not implemented
-#endif
-}
-
-void flext::buffer::Frames(int fr,bool keep,bool zero)
-{
- FLEXT_ASSERT(sym);
-#if FLEXT_SYS == FLEXT_SYS_PD
- // is this function guaranteed to keep memory and set rest to zero?
- ::garray_resize(arr,(float)fr);
- Update();
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- t_sample *tmp = NULL;
- int sz = frames;
- if(fr < sz) sz = fr;
-
- if(keep) {
- // copy buffer data to tmp storage
- tmp = (t_sample *)NewAligned(sz*sizeof(t_sample));
- FLEXT_ASSERT(tmp);
- CopySamples(tmp,data,sz);
- }
-
- t_atom msg;
- t_buffer *buf = (t_buffer *)sym->s_thing;
- // b_msr reflects buffer sample rate... is this what we want?
- // Max bug: adding half a sample to prevent roundoff errors....
- float ms = (fr+0.5)/buf->b_msr;
-
- SetFloat(msg,ms);
- ::typedmess((object *)buf,(t_symbol *)sym_size,1,&msg);
-
- Update();
-
- if(tmp) {
- // copy data back
- CopySamples(data,tmp,sz);
- FreeAligned(tmp);
- if(zero && sz < fr) ZeroSamples(data+sz,fr-sz);
- }
- else
- if(zero) ZeroSamples(data,fr);
-#else
-#error
-#endif
-}
-
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-void flext::buffer::SetRefrIntv(float intv)
-{
- interval = intv;
- if(interval == 0 && ticking) {
- clock_unset(tick);
- ticking = false;
- }
-}
-#elif FLEXT_SYS == FLEXT_SYS_MAX
-void flext::buffer::SetRefrIntv(float) {}
-#else
-#error
-#endif
-
-
-void flext::buffer::Dirty(bool force)
-{
- FLEXT_ASSERT(sym);
-#if FLEXT_SYS == FLEXT_SYS_PD
- if((!ticking) && (interval || force)) {
- ticking = true;
- cb_tick(this); // immediately redraw
- }
- else {
- if(force) clock_delay(tick,0);
- isdirty = true;
- }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- t_buffer *p = (t_buffer *)sym->s_thing;
- FLEXT_ASSERT(p && !NOGOOD(p));
- p->b_modtime = gettime();
-#else
-#error Not implemented
-#endif
-}
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-void flext::buffer::cb_tick(buffer *b)
-{
- if(b->arr) garray_redraw(b->arr);
-#ifdef FLEXT_DEBUG
- else error("buffer: array is NULL");
-#endif
-
- if(b->isdirty && b->interval) {
- b->isdirty = false;
- b->ticking = true;
- clock_delay(b->tick,b->interval);
- }
- else
- b->ticking = false;
-}
-#endif
-
-void flext::buffer::ClearDirty()
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- cleantime = clock_getlogicaltime();
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- cleantime = gettime();
-#else
-#error Not implemented
-#endif
-}
-
-bool flext::buffer::IsDirty() const
-{
- if(!sym) return false;
-#if FLEXT_SYS == FLEXT_SYS_PD
- #ifdef _FLEXT_HAVE_PD_GARRAYUPDATETIME
- return arr && (isdirty || garray_updatetime(arr) > cleantime);
- #else
- // Don't know.... (no method in PD judging whether buffer has been changed from outside flext...)
- return true;
- #endif
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- t_buffer *p = (t_buffer *)sym->s_thing;
- FLEXT_ASSERT(p && !NOGOOD(p));
- return p->b_modtime > cleantime;
-#else
-#error Not implemented
-#endif
-}
-
-#endif // Jmax
-
-
diff --git a/externals/grill/flext/source/flclass.h b/externals/grill/flext/source/flclass.h
deleted file mode 100644
index 3da63719..00000000
--- a/externals/grill/flext/source/flclass.h
+++ /dev/null
@@ -1,1098 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flclass.h
- \brief User accessible flext base classes
-
-*/
-
-#ifndef __FLCLASS_H
-#define __FLCLASS_H
-
-// include the header file declaring the base classes
-#include "flbase.h"
-#include "flsupport.h"
-#include "flmap.h"
-#include "flinternal.h"
-
-#ifdef _MSC_VER
-#pragma warning(disable: 4786)
-#endif
-
-#ifdef __BORLANDC__
-#pragma warn -8008 // Condition is always false
-#pragma warn -8057 // Parameter is never used
-#pragma warn -8066 // Unreachable code
-#endif
-
-
-// === flext_base ==================================================
-
-/*! \brief Flext message only base object
-
- This is the base class from which typical external objects derive.
- DSP objects should use the flext_dsp class which inherits from flext_base and
- provides the necessary functionality.
-
- For a valid external object class you would also need FLEXT_HEADER, also if it's only
- a base class without instantiated objects again.
- To make an instance of an object class you would typically use FLEXT_NEW or
- its companions.
-
- See the flext_obj class for additional information.
-*/
-
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_base);
-typedef class FLEXT_SHARE FLEXT_CLASSDEF(flext_base) flext_base;
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_base):
- public flext_obj
-{
- FLEXT_HEADER_S(FLEXT_CLASSDEF(flext_base),flext_obj,Setup)
-
- friend class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj);
-
-public:
-
-// --- inheritable virtual methods --------------------------------
-
- /*! \defgroup FLEXT_C_VIRTUAL Virtual base class functions
-
- @{
- */
-
- //! called on patcher load (not on mere object creation!)
- virtual void CbLoadbang();
- virtual void m_loadbang();
-
- //! called on (double-)click into object box
- virtual void CbClick();
-
- /*! \brief Called for every incoming message.
- All method handling is done in there
- \return True if a handler was found and called
- */
- virtual bool CbMethodHandler(int inlet,const t_symbol *s,int argc,const t_atom *argv);
-
- /*! \brief Called for every unhandled message (by CbMethodHandler)
- */
- virtual bool CbMethodResort(int inlet,const t_symbol *s,int argc,const t_atom *argv);
- virtual bool m_method_(int inlet,const t_symbol *s,int argc,const t_atom *argv);
-
-//! @} FLEXT_C_VIRTUAL
-
-
-// --- inlet/outlet stuff -----------------------------------------
-
- /*! \defgroup FLEXT_C_INOUT Flext in-/outlet functions
- \note These must be called in the class' constructor
- \note All (also default) inlets must be defined
- @{
- */
-
- /*! \defgroup FLEXT_C_IO_ADD Announce in-/outlet functions
- @{
- */
-
- // argument m specifies multiple inlet/outlet count
-
-// void AddInDef() { AddInlet(xlet_def,1); }
-
- /*! \brief Add inlet(s) for anythings
- \remark That's the one to choose for the left-most (first) inlet unless it's a signal inlet.
- */
- void AddInAnything(int m = 1) { AddInlet(xlet_any,m); }
- /*! \brief Add inlet(s) for anythings (with description)
- \remark That's the one to choose for the left-most (first) inlet unless it's a signal inlet.
- */
- void AddInAnything(const char *desc,int m = 1) { AddInlet(xlet_any,m,desc); }
- //! Add inlet(s) for floats
- void AddInFloat(int m = 1) { AddInlet(xlet_float,m); }
- //! Add inlet(s) for floats (with description)
- void AddInFloat(const char *desc,int m = 1) { AddInlet(xlet_float,m,desc); }
- //! Add inlet(s) for integers
- void AddInInt(int m = 1) { AddInlet(xlet_int,m); }
- //! Add inlet(s) for integers (with description)
- void AddInInt(const char *desc,int m = 1) { AddInlet(xlet_int,m,desc); }
- //! Add inlet(s) for symbols
- void AddInSymbol(int m = 1) { AddInlet(xlet_sym,m); }
- //! Add inlet(s) for symbol (with description)
- void AddInSymbol(const char *desc,int m = 1) { AddInlet(xlet_sym,m,desc); }
- //! Add inlet(s) for bang
- void AddInBang(int m = 1) { AddInlet(xlet_sym,m); }
- //! Add inlet(s) for bangs (with description)
- void AddInBang(const char *desc,int m = 1) { AddInlet(xlet_sym,m,desc); }
- //! Add inlet(s) for lists
- void AddInList(int m = 1) { AddInlet(xlet_list,m); }
- //! Add inlet(s) for lists (with description)
- void AddInList(const char *desc,int m = 1) { AddInlet(xlet_list,m,desc); }
-
- //! Add outlet(s) for anythings
- void AddOutAnything(int m = 1) { AddOutlet(xlet_any,m); }
- //! Add outlet(s) for anythings (with description)
- void AddOutAnything(const char *desc,int m = 1) { AddOutlet(xlet_any,m,desc); }
- //! Add outlet(s) for floats
- void AddOutFloat(int m = 1) { AddOutlet(xlet_float,m); }
- //! Add outlet(s) for floats (with description)
- void AddOutFloat(const char *desc,int m = 1) { AddOutlet(xlet_float,m,desc); }
- //! Add outlet(s) for integers
- void AddOutInt(int m = 1) { AddOutlet(xlet_int,m); }
- //! Add outlet(s) for integers (with description)
- void AddOutInt(const char *desc,int m = 1) { AddOutlet(xlet_int,m,desc); }
- //! Add outlet(s) for symbols
- void AddOutSymbol(int m = 1) { AddOutlet(xlet_sym,m); }
- //! Add outlet(s) for symbols (with description)
- void AddOutSymbol(const char *desc,int m = 1) { AddOutlet(xlet_sym,m,desc); }
- //! Add outlet(s) for bangs
- void AddOutBang(int m = 1) { AddOutlet(xlet_sym,m); }
- //! Add outlet(s) for bangs (with description)
- void AddOutBang(const char *desc,int m = 1) { AddOutlet(xlet_sym,m,desc); }
- //! Add outlet(s) for lists
- void AddOutList(int m = 1) { AddOutlet(xlet_list,m); }
- //! Add outlet(s) for lists (with description)
- void AddOutList(const char *desc,int m = 1) { AddOutlet(xlet_list,m,desc); }
-
- //! \deprecated inlets and outlets are now set up automatically
- bool SetupInOut() { return true; }
-
- //! @} FLEXT_C_IO_ADD
-
- /*! \defgroup FLEXT_C_IO_MISC Miscellanous in-/outlet functionality
- @{
- */
-
- //! Get number of inlets
- int CntIn() const { return incnt; }
- //! Get number of outlets
- int CntOut() const { return outcnt; }
- //! Get number of signal inlets
- int CntInSig() const { return insigs; }
- //! Get number of signal outlets
- int CntOutSig() const { return outsigs; }
-
-
- //! Retrieve currently processed message tag (NULL if no message processing)
- static const t_symbol *thisTag() { return curtag; }
-
- class outlet;
-
- //! Get pointer to outlet (not in the constructor!)
- outlet *GetOut(int ix) const { return outlets[ix]; }
-
- int GetOutAttr() const { return HasAttributes()?CntOut():0; }
-
- //! @} FLEXT_C_IO_MISC
-
- /*! \defgroup FLEXT_C_IO_OUT Output data to inlets/outlets
- @{
- */
-
- // output messages
-
- //! Output bang (index n starts with 0)
- void ToOutBang(int n) const;
-
- //! Output float (index n starts with 0)
- void ToOutFloat(int n,float f) const;
-
- //! Output integer (index n starts with 0)
- void ToOutInt(int n,int f) const;
-
- //! Output boolean (index n starts with 0)
- void ToOutBool(int n,bool f) const { ToOutInt(n,f?1:0); }
-
- //! Output symbol (index n starts with 0)
- void ToOutSymbol(int n,const t_symbol *s) const;
- //! Output string aka symbol (index n starts with 0)
- void ToOutString(int n,const char *s) const { ToOutSymbol(n,MakeSymbol(s)); }
-
- //! Output atom (index n starts with 0)
- void ToOutAtom(int n,const t_atom &at) const;
-
- //! Output list (index n starts with 0)
- void ToOutList(int n,int argc,const t_atom *argv) const;
- //! Output list (index n starts with 0)
- void ToOutList(int n,const AtomList &list) const { ToOutList(n,list.Count(),list.Atoms()); }
-
- //! Output anything (index n starts with 0)
- void ToOutAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const;
- //! Output anything (index n starts with 0)
- void ToOutAnything(int n,const AtomAnything &any) const { ToOutAnything(n,any.Header(),any.Count(),any.Atoms()); }
- //! Output anything (index n starts with 0)
- void ToOutAnything(int n,const t_symbol *s,const AtomList &list) const { ToOutAnything(n,s,list.Count(),list.Atoms()); }
-
- //! @} FLEXT_C_IO_OUT
-
- /*! \defgroup FLEXT_C_IO_QUEUE Low-priority output of data to inlets/outlets
- @{
- */
-
- //! Output low priority bang (index n starts with 0)
- void ToQueueBang(int n) const;
-
- //! Output low priority float (index n starts with 0)
- void ToQueueFloat(int n,float f) const;
-
- //! Output low priority integer (index n starts with 0)
- void ToQueueInt(int n,int f) const;
-
- //! Output low priority boolean (index n starts with 0)
- void ToQueueBool(int n,bool f) const { ToQueueInt(n,f?1:0); }
-
- //! Output low priority symbol (index n starts with 0)
- void ToQueueSymbol(int n,const t_symbol *s) const;
- //! Output low priority string aka symbol (to appointed outlet)
- void ToQueueString(int n,const char *s) const { ToQueueSymbol(n,MakeSymbol(s)); }
-
- //! Output low priority atom (index n starts with 0)
- void ToQueueAtom(int n,const t_atom &at) const;
-
- //! Output low priority list (index n starts with 0)
- void ToQueueList(int n,int argc,const t_atom *argv) const;
- //! Output low priority list (index n starts with 0)
- void ToQueueList(int n,const AtomList &list) const { ToQueueList(n,list.Count(),list.Atoms()); }
-
- //! Output low priority anything (index n starts with 0)
- void ToQueueAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const;
- //! Output low priority anything (index n starts with 0)
- void ToQueueAnything(int n,const AtomAnything &any) const { ToQueueAnything(n,any.Header(),any.Count(),any.Atoms()); }
-
- //! @} FLEXT_C_IO_QUEUE
-
-
- /*! \defgroup FLEXT_C_IO_SELF Output of data to inlets/outlets of this object
- @{
- */
-
- //! Send bang to self (inlet n)
- void ToSelfBang(int n) const { ToQueueBang(-1-n); }
-
- //! Send float to self (inlet n)
- void ToSelfFloat(int n,float f) const { ToQueueFloat(-1-n,f); }
-
- //! Send integer to self (inlet n)
- void ToSelfInt(int n,int f) const { ToQueueInt(-1-n,f); }
-
- //! Send boolean to self (inlet n)
- void ToSelfBool(int n,bool f) const { ToSelfInt(n,f?1:0); }
-
- //! Send symbol to self (inlet n)
- void ToSelfSymbol(int n,const t_symbol *s) const { ToQueueSymbol(-1-n,s); }
- //! Send string aka symbol to self (inlet 0)
- void ToSelfString(int n,const char *s) const { ToSelfSymbol(n,MakeSymbol(s)); }
-
- //! Output atom (index n starts with 0)
- void ToSelfAtom(int n,const t_atom &at) const { ToQueueAtom(-1-n,at); }
-
- //! Send list to self (inlet n)
- void ToSelfList(int n,int argc,const t_atom *argv) const { ToQueueList(-1-n,argc,argv); }
- //! Send list to self (inlet n)
- void ToSelfList(int n,const AtomList &list) const { ToSelfList(n,list.Count(),list.Atoms()); }
-
- //! Send anything to self (inlet n)
- void ToSelfAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { ToQueueAnything(-1-n,s,argc,argv); }
- //! Send anything to self (inlet n)
- void ToSelfAnything(int n,const AtomAnything &any) const { ToSelfAnything(n,any.Header(),any.Count(),any.Atoms()); }
-
- //! @} FLEXT_C_IO_SELF
-
-
- /*! \defgroup FLEXT_C_IO_MESSAGEBUNDLE Output of data via message bundles
-
- These are used to assure the sending of several messages from a second thread to the same logical time
-
- @{
- */
-
- //! Output bang (index n starts with 0)
- void MsgAddBang(MsgBundle *mb,int n) const;
-
- //! Output float (index n starts with 0)
- void MsgAddFloat(MsgBundle *mb,int n,float f) const;
-
- //! Output integer (index n starts with 0)
- void MsgAddInt(MsgBundle *mb,int n,int f) const;
-
- //! Output boolean (index n starts with 0)
- void MsgAddBool(MsgBundle *mb,int n,bool f) const { MsgAddInt(mb,n,f?1:0); }
-
- //! Output symbol (index n starts with 0)
- void MsgAddSymbol(MsgBundle *mb,int n,const t_symbol *s) const;
- //! Output string aka symbol (to appointed outlet)
- void MsgAddString(MsgBundle *mb,int n,const char *s) const { MsgAddSymbol(mb,n,MakeSymbol(s)); }
-
- //! Output atom (index n starts with 0)
- void MsgAddAtom(MsgBundle *mb,int n,const t_atom &at) const;
-
- //! Output list (index n starts with 0)
- void MsgAddList(MsgBundle *mb,int n,int argc,const t_atom *argv) const;
- //! Output list (index n starts with 0)
- void MsgAddList(MsgBundle *mb,int n,const AtomList &list) const { MsgAddList(mb,n,list.Count(),list.Atoms()); }
-
- //! Output anything (index n starts with 0)
- void MsgAddAnything(MsgBundle *mb,int n,const t_symbol *s,int argc,const t_atom *argv) const;
- //! Output anything (index n starts with 0)
- void MsgAddAnything(MsgBundle *mb,int n,const AtomAnything &any) const { MsgAddAnything(mb,n,any.Header(),any.Count(),any.Atoms()); }
-
- void MsgSelfBang(MsgBundle *mb,int n) const { MsgAddBang(mb,-1-n); }
-
- //! Send float to self (inlet n)
- void MsgSelfFloat(MsgBundle *mb,int n,float f) const { MsgAddFloat(mb,-1-n,f); }
-
- //! Send integer to self (inlet n)
- void MsgSelfInt(MsgBundle *mb,int n,int f) const { MsgAddInt(mb,-1-n,f); }
-
- //! Send boolean to self (inlet n)
- void MsgSelfBool(MsgBundle *mb,int n,bool f) const { MsgSelfInt(mb,n,f?1:0); }
-
- //! Send symbol to self (inlet n)
- void MsgSelfSymbol(MsgBundle *mb,int n,const t_symbol *s) const { MsgAddSymbol(mb,-1-n,s); }
- //! Send string aka symbol to self (inlet 0)
- void MsgSelfString(MsgBundle *mb,int n,const char *s) const { MsgSelfSymbol(mb,n,MakeSymbol(s)); }
-
- //! Output atom (index n starts with 0)
- void MsgSelfAtom(MsgBundle *mb,int n,const t_atom &at) const { MsgAddAtom(mb,-1-n,at); }
-
- //! Send list to self (inlet n)
- void MsgSelfList(MsgBundle *mb,int n,int argc,const t_atom *argv) const { MsgAddList(mb,-1-n,argc,argv); }
- //! Send list to self (inlet n)
- void MsgSelfList(MsgBundle *mb,int n,const AtomList &list) const { MsgSelfList(mb,n,list.Count(),list.Atoms()); }
-
- //! Send anything to self (inlet n)
- void MsgSelfAnything(MsgBundle *mb,int n,const t_symbol *s,int argc,const t_atom *argv) const { MsgAddAnything(mb,-1-n,s,argc,argv); }
- //! Send anything to self (inlet n)
- void MsgSelfAnything(MsgBundle *mb,int n,const AtomAnything &any) const { MsgSelfAnything(mb,n,any.Header(),any.Count(),any.Atoms()); }
-
- //! @} FLEXT_C_IO_MESSAGEBUNDLE
-
-//! @} FLEXT_C_INOUT
-
-
-// --- message handling -------------------------------------------
-
- enum metharg {
- a_null = 0,
- a_float,a_int,a_bool,
- a_symbol,a_pointer,
- a_list,a_any, // (t_symbol *) / int / t_atom *
- a_LIST,a_ANY // AtomList, AtomAnything
- };
-
- typedef bool (*methfun)(flext_base *c);
-
- /*! \defgroup FLEXT_C_ADDMETHOD Method handling (object scope)
- \internal
- @{
- */
-
- void AddMethodDef(int inlet,const t_symbol *tag = NULL) { ThMeths()->Add(new MethItem,tag,inlet); }
- void AddMethodDef(int inlet,const char *tag = NULL) { AddMethodDef(inlet,MakeSymbol(tag)); }
-
- void AddMethod(int inlet,bool (*m)(flext_base *)) { AddMethod(ThMeths(),inlet,sym_bang,(methfun)m,a_null); }
- void AddMethod(int inlet,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_list,a_null); }
- void AddMethod(int inlet,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_list,a_null); }
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_null); } // pure method
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *)) { AddMethod(inlet,MakeSymbol(tag),m); }
- void AddMethod(int inlet,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ThMeths(),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything
- void AddMethod(int inlet,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything
- void AddMethod(int inlet,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ThMeths(),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol
- void AddMethod(int inlet,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ThMeths(),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol
- void AddMethod(int inlet,bool (*m)(flext_base *,float &)) { AddMethod(ThMeths(),inlet,sym_float,(methfun)m,a_float,a_null); } // single float
- void AddMethod(int inlet,bool (*m)(flext_base *,float &,float &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_float,a_float,a_null); } // list of 2 floats
- void AddMethod(int inlet,bool (*m)(flext_base *,float &,float &,float &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_float,a_float,a_float,a_null); } // list of 3 floats
-#if FLEXT_SYS == FLEXT_SYS_PD
- void AddMethod(int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,sym_float,(methfun)m,a_int,a_null); } // single float
-#else
- void AddMethod(int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,sym_int,(methfun)m,a_int,a_null); } // single float
-#endif
- void AddMethod(int inlet,bool (*m)(flext_base *,int &,int &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_int,a_int,a_null); } // list of 2 floats
- void AddMethod(int inlet,bool (*m)(flext_base *,int &,int &,int &)) { AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_int,a_int,a_int,a_null); } // list of 3 floats
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,float &)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_float,a_null); } // method+float
- void AddMethod(int inlet,const t_symbol *tag,bool (*m)(flext_base *,int &)) { AddMethod(ThMeths(),inlet,tag,(methfun)m,a_int,a_null); } // method+int
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); }
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); }
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); }
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(inlet,MakeSymbol(tag),m); }
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(inlet,MakeSymbol(tag),m); }
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(inlet,MakeSymbol(tag),m); }
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,float &)) { AddMethod(inlet,MakeSymbol(tag),m); }
- void AddMethod(int inlet,const char *tag,bool (*m)(flext_base *,int &)) { AddMethod(inlet,MakeSymbol(tag),m); }
-
- //! Set Max/MSP style of distributing list elements over (message) inlets
- static void SetDist(t_classid c,bool d = true);
- //! Query whether lists are distributed
- bool DoDist() const;
-
-
-//! @} FLEXT_C_ADDMETHOD
-
- /*! \defgroup FLEXT_C_CADDMETHOD Method handling (class scope)
- \internal
- @{
- */
-
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *)) { AddMethod(ClMeths(c),inlet,sym_bang,(methfun)m,a_null); }
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_list,a_null); }
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_list,a_null); }
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_null); } // pure method
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,sym_anything,(methfun)m,a_any,a_null); } // anything
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ClMeths(c),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ClMeths(c),inlet,sym_symbol,(methfun)m,a_symbol,a_null); } // single symbol
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &)) { AddMethod(ClMeths(c),inlet,sym_float,(methfun)m,a_float,a_null); } // single float
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &,float &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_float,a_float,a_null); } // list of 2 floats
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,float &,float &,float &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_float,a_float,a_float,a_null); } // list of 3 floats
-#if FLEXT_SYS == FLEXT_SYS_PD
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,sym_float,(methfun)m,a_int,a_null); } // single integer
-#else
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,sym_int,(methfun)m,a_int,a_null); } // single integer
-#endif
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &,int &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_int,a_int,a_null); } // list of 2 floats
- static void AddMethod(t_classid c,int inlet,bool (*m)(flext_base *,int &,int &,int &)) { AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_int,a_int,a_int,a_null); } // list of 3 floats
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_list,a_null); } // method+gimme
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_any,a_null); } // method+gimme
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_symbol,a_null); } // method+symbol
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,float &)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_float,a_null); } // method+float
- static void AddMethod(t_classid c,int inlet,const t_symbol *tag,bool (*m)(flext_base *,int &)) { AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_int,a_null); } // method+int
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int,t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int,const t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *,int,t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *,int,const t_atom *)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,t_symbol *&)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,const t_symbol *&)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,float &)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
- static void AddMethod(t_classid c,int inlet,const char *tag,bool (*m)(flext_base *,int &)) { AddMethod(c,inlet,MakeSymbol(tag),m); }
-
-//! @} FLEXT_C_CADDMETHOD
-
-// --- bind/unbind ---------------------------------------
-
- /*! \defgroup FLEXT_C_BIND Methods for binding a flext class to a symbol
-
- @{
- */
-
- //! Bind object to a symbol
- bool Bind(const t_symbol *sym);
- //! Unbind object from a symbol
- bool Unbind(const t_symbol *sym);
-
- //! Bind object to a symbol (as string)
- bool Bind(const char *sym) { return Bind(MakeSymbol(sym)); }
- //! Unbind object from a symbol (as string)
- bool Unbind(const char *sym) { return Unbind(MakeSymbol(sym)); }
-
- /*! \brief Bind a method to a symbol
- \param sym Symbol to bind to
- \param meth Function to bind
- \param data User data that is passed to the function
- \return true on success
- */
- bool BindMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *data = NULL);
- /*! \brief Unbind a method from a symbol
- \param sym Symbol to unbind from (if NULL... unbind all functions)
- \param meth Method to unbind (if NULL ... unbind all functions bound to symbol)
- \param data returns data pointer specified with BindMethod
- \return true on success
- */
- bool UnbindMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data) = NULL,void **data = NULL);
- /*! \brief Get data of bound method of a symbol
- \param sym Symbol to bind to
- \param meth Function to bind
- \param data Reference to returned user data
- \return true on success (symbol/method combination was found)
- */
- bool GetBoundMethod(const t_symbol *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *&data);
-
- //! \brief Bind a method to a symbol (as string)
- bool BindMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *data = NULL) { return BindMethod(MakeSymbol(sym),meth,data); }
- //! \brief Unbind a method from a symbol (as string)
- bool UnbindMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data) = NULL,void **data = NULL) { return UnbindMethod(MakeSymbol(sym),meth,data); }
- //! \brief Get data of bound method of a symbol (as string)
- bool GetBoundMethod(const char *sym,bool (*meth)(flext_base *obj,t_symbol *sym,int argc,t_atom *argv,void *data),void *&data) { return GetBoundMethod(MakeSymbol(sym),meth,data); }
-
- /*! Unbind all symbol bindings
- \note Memory associated to data pointers passed by BindMethod will not be freed!
- */
- bool UnbindAll();
-
-//! @} FLEXT_C_BIND
-
- // --- thread stuff -----------------------------------------------
-
-#ifdef FLEXT_THREADS
- /*! \defgroup FLEXT_C_THREAD Thread handling
-
- @{
- */
-
- //! Start a thread for this object
- bool StartThread(void (*meth)(thr_params *p),thr_params *p,const char * = NULL) { p->cl = this; return flext::LaunchThread(meth,p); }
-
- //! Terminate all threads of this object
- bool StopThreads();
-#endif // FLEXT_THREADS
-
-//! @} FLEXT_C_THREAD
-
-// xxx internal stuff xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
-public: // needed by VC++ 6
-
- enum xlettype {
- xlet_none = 0,
- xlet_float,xlet_int,xlet_sym,xlet_list,xlet_any,
- xlet_LIST,xlet_ANY, // use AtomList and AtomAnything
- xlet_sig
- };
-
-protected:
-
- FLEXT_CLASSDEF(flext_base)();
-
- /*! \brief Set up inlets and outlets, method and attribute lists
- */
- virtual bool Init();
-
- /*! \brief Deallocate all kinds of stuff
- */
- virtual void Exit();
-
-
- /*! \defgroup FLEXT_C_ATTR Attribute handling methods (object scope)
- @{
- */
-
- void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(attr,a_float,(methfun)get,(methfun)set); }
- void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(attr,a_int,(methfun)get,(methfun)set); }
- void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(attr,a_bool,(methfun)get,(methfun)set); }
- void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(attr,a_symbol,(methfun)get,(methfun)set); }
- void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(attr,a_symbol,(methfun)get,(methfun)set); }
- void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(attr,a_LIST,(methfun)get,(methfun)set); }
- void AddAttrib(const t_symbol *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(attr,a_ANY,(methfun)get,(methfun)set); }
- void AddAttrib(const char *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(MakeSymbol(attr),get,set); }
- void AddAttrib(const char *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(MakeSymbol(attr),get,set); }
- void AddAttrib(const char *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(MakeSymbol(attr),get,set); }
- void AddAttrib(const char *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(MakeSymbol(attr),get,set); }
- void AddAttrib(const char *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(MakeSymbol(attr),get,set); }
- void AddAttrib(const char *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(MakeSymbol(attr),get,set); }
- void AddAttrib(const char *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(MakeSymbol(attr),get,set); }
-
-//! @} FLEXT_C_ATTR
-
- /*! \defgroup FLEXT_C_CATTR Attribute handling methods (class scope)
- @{
- */
-
- static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(c,attr,a_float,(methfun)get,(methfun)set); }
- static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(c,attr,a_int,(methfun)get,(methfun)set); }
- static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(c,attr,a_bool,(methfun)get,(methfun)set); }
- static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(c,attr,a_symbol,(methfun)get,(methfun)set); }
- static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(c,attr,a_symbol,(methfun)get,(methfun)set); }
- static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(c,attr,a_LIST,(methfun)get,(methfun)set); }
- static void AddAttrib(t_classid c,const t_symbol *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(c,attr,a_ANY,(methfun)get,(methfun)set); }
- static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,float &),bool (*set)(flext_base *,float &)) { AddAttrib(c,MakeSymbol(attr),get,set); }
- static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,int &),bool (*set)(flext_base *,int &)) { AddAttrib(c,MakeSymbol(attr),get,set); }
- static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,bool &),bool (*set)(flext_base *,bool &)) { AddAttrib(c,MakeSymbol(attr),get,set); }
- static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,const t_symbol *&),bool (*set)(flext_base *,const t_symbol *&)) { AddAttrib(c,MakeSymbol(attr),get,set); }
- static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,t_symptr &),bool (*set)(flext_base *,t_symptr &)) { AddAttrib(c,MakeSymbol(attr),get,set); }
- static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,AtomList *&),bool (*set)(flext_base *,AtomList *&)) { AddAttrib(c,MakeSymbol(attr),get,set); }
- static void AddAttrib(t_classid c,const char *attr,bool (*get)(flext_base *,AtomAnything *&),bool (*set)(flext_base *,AtomAnything *&)) { AddAttrib(c,MakeSymbol(attr),get,set); }
-
-//! @} FLEXT_C_CATTR
-
- //! Dump an attribute to the attribute outlet
- bool DumpAttrib(const t_symbol *attr) const;
- //! Dump an attribute to the attribute outlet
- bool DumpAttrib(const char *attr) const { return DumpAttrib(MakeSymbol(attr)); }
-
- // check for attribute symbol @
- static int CheckAttrib(int argc,const t_atom *argv);
- // check for attribute symbol @
- static int CheckAttrib(const AtomList &args,int offset = 0) { return CheckAttrib(args.Count()-offset,args.Atoms()+offset)+offset; }
-
- //! List attributes
- bool ListAttrib() const;
- //! List attributes
- void ListAttrib(AtomList &a) const;
- //! Get an attribute value
- bool GetAttrib(const t_symbol *s,AtomList &a) const;
- //! Set an attribute value
- bool SetAttrib(const t_symbol *s,int argc,const t_atom *argv);
- //! Set an attribute value
- bool SetAttrib(const t_symbol *s,const AtomList &a) { return SetAttrib(s,a.Count(),a.Atoms()); }
-
- // get and set the attribute
- bool BangAttrib(const t_symbol *a);
- // get and set the attribute
- bool BangAttrib(const char *a) { return BangAttrib(MakeSymbol(a)); }
- // get and set all (both get- and settables)
- bool BangAttribAll();
- // show/hide the attribute
- bool ShowAttrib(const t_symbol *a,bool show) const;
- // show/hide the attribute
- bool ShowAttrib(const char *a,bool show) { return ShowAttrib(MakeSymbol(a),show); }
-
- //! List methods
- void ListMethods(AtomList &a,int inlet = 0) const;
-
-/*! \addtogroup FLEXT_C_INOUT
- @{
-*/
-
- //! \brief get a code for a list of inlets or outlets
- unsigned long XletCode(xlettype tp = xlet_none,...); // end list with 0 (= tp_none) !!
-
- /*! \brief Add some inlets by a special code representing the types
- \remark use XletCode function to get code value
- */
- void AddInlets(unsigned long code);
-
- //! \brief Add one or more inlet(s)
- void AddInlet(xlettype tp,int mult = 1,const char *desc = NULL);
-
- /*! \brief Add some inlets by a special code representing the types
- \remark use XletCode function to get code value
- */
- void AddOutlets(unsigned long code);
-
- //! \brief Add one or more outlet(s)
- void AddOutlet(xlettype tp,int mult = 1,const char *desc = NULL);
-
- //! \brief Set the description of an indexed inlet
- void DescInlet(int ix,const char *desc);
-
- //! \brief Set the description of an indexed outlet
- void DescOutlet(int ix,const char *desc);
-
-//! @} FLEXT_C_INOUT
-
-
-// method handling
-
- public:
-
- class AttrItem;
-
- class Item
- {
- public:
- Item(AttrItem *a): attr(a),nxt(NULL) {}
- virtual ~Item();
-
- bool IsAttr() const { return attr != NULL; }
-
- AttrItem *attr;
- Item *nxt;
- };
-
- class ItemSet
- :public TablePtrMap<const t_symbol *,Item *,8>
- {
- public:
- virtual ~ItemSet();
- virtual void clear();
- };
-
- /*! This class holds hashed item entries
- \note not thread-safe!
- */
- class FLEXT_SHARE ItemCont
- {
- public:
- ItemCont();
- ~ItemCont();
-
- int Min() const { return -1; }
- int Max() const { return size-2; }
-
- bool Contained(int i) const { return i+1 < size; }
-
- //! Add an entry
- void Add(Item *it,const t_symbol *tag,int inlet = 0);
- //! Remove an entry
- bool Remove(Item *it,const t_symbol *tag,int inlet,bool free);
- //! Find an entry list in the Item array
- Item *FindList(const t_symbol *tag,int inlet = 0);
-
- //! Get list for an inlet
- ItemSet &GetInlet(int inlet = 0)
- {
- FLEXT_ASSERT(inlet >= Min() && inlet <= Max());
- return *cont[inlet+1];
- }
-
- //! Get counter for total members (for index of new item)
- int Members() const { return members; }
-
- protected:
-
- void Resize(int nsz);
-
- int members;
- int memsize,size;
- ItemSet **cont;
- };
-
- //! \brief This represents an item of the method list
- class MethItem:
- public Item
- {
- public:
- MethItem(AttrItem *conn = NULL);
- virtual ~MethItem();
-
- void SetArgs(methfun fun,int argc,metharg *args);
-
- int index;
- int argc;
- metharg *args;
- methfun fun;
- };
-
- //! \brief This represents an item of the attribute list
- class AttrItem:
- public Item
- {
- public:
- AttrItem(const t_symbol *tag,metharg tp,methfun fun,int flags);
-
- enum {
- afl_get = 0x01, afl_set = 0x02,
- afl_getset = afl_get|afl_set,
- afl_shown = 0x08
- };
-
- bool IsGet() const { return (flags&afl_getset) == afl_get; }
- bool IsSet() const { return (flags&afl_getset) == afl_set; }
- bool IsShown() const { return (flags&afl_shown) != 0; }
- bool BothExist() const { return counter != NULL; }
- AttrItem *Counterpart() { return counter; }
-
- int index;
- int flags;
- metharg argtp;
- methfun fun;
- AttrItem *counter;
- const t_symbol *tag;
- };
-
- //! Represent a data value of an attribute
- class AttrData:
- public flext_root
- {
- public:
- AttrData(): flags(0) {}
-
- enum { afl_save = 0x01,afl_init = 0x02,afl_inited = 0x04 };
-
- void SetSave(bool s) { if(s) flags |= afl_save; else flags &= ~afl_save; }
- bool IsSaved() const { return (flags&afl_save) != 0; }
- void SetInit(bool s) { if(s) flags |= afl_init; else flags &= ~afl_init; }
- bool IsInit() const { return (flags&afl_init) != 0; }
- void SetInitValue(int argc,const t_atom *argv) { init(argc,argv); flags |= afl_inited; }
- void SetInitValue(const AtomList &l) { SetInitValue(l.Count(),l.Atoms()); }
- bool IsInitValue() const { return (flags&afl_inited) != 0; }
- const AtomList &GetInitValue() const { return init; }
-
- AtomList init;
- int flags;
- };
-
- class AttrDataCont
- :public TablePtrMap<const t_symbol *,AttrData *,8>
- {
- public:
- virtual ~AttrDataCont();
- virtual void clear();
- };
-
- // these outlet functions don't check for thread but send directly to the real-time system
- void ToSysBang(int n) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); } }
- void ToSysFloat(int n,float f) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); } }
- void ToSysInt(int n,int f) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); } }
- void ToSysSymbol(int n,const t_symbol *s) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); } }
- void ToSysString(int n,const char *s) const { ToSysSymbol(n,MakeSymbol(s)); }
- void ToSysList(int n,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_list((t_outlet *)o,const_cast<t_symbol *>(sym_list),argc,(t_atom *)argv); CRITOFF(); } }
- void ToSysList(int n,const AtomList &list) const { ToSysList(n,list.Count(),list.Atoms()); }
- void ToSysAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); } }
- void ToSysAnything(int n,const AtomAnything &any) const { ToSysAnything(n,any.Header(),any.Count(),any.Atoms()); }
- void ToSysAnything(int n,const t_symbol *s,const AtomList &list) const { ToSysAnything(n,s,list.Count(),list.Atoms()); }
-
- void ToSysBool(int n,bool f) const { ToSysInt(n,f?1:0); }
- void ToSysAtom(int n,const t_atom &at) const;
-
- static void ToSysMsg(MsgBundle *mb);
-
- // add class method handlers
- static void AddMessageMethods(t_class *c,bool dsp,bool dspin);
-
-private:
- class pxbnd_object;
-public:
-
- //! \brief This represents an item of the symbol-bound method list
- class BindItem:
- public Item
- {
- public:
- BindItem(bool (*f)(flext_base *,t_symbol *s,int,t_atom *,void *),pxbnd_object *px);
- virtual ~BindItem();
-
- void Unbind(const t_symbol *s);
-
- bool (*fun)(flext_base *,t_symbol *s,int,t_atom *,void *);
- pxbnd_object *px;
- };
-
- ItemCont *ThMeths() { if(!methhead) methhead = new ItemCont; return methhead; }
- static ItemCont *ClMeths(t_classid c);
-
- //! \brief This is the central function to add message handlers. It is used by all other AddMethod incarnations.
- static void AddMethod(ItemCont *ma,int inlet,const t_symbol *tag,methfun fun,metharg tp,...);
-
- ItemCont *ThAttrs() { return attrhead; }
- static ItemCont *ClAttrs(t_classid c);
-
- static void AddAttrib(ItemCont *aa,ItemCont *ma,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun);
- void AddAttrib(const t_symbol *attr,metharg tp,methfun gfun,methfun sfun);
- static void AddAttrib(t_classid c,const t_symbol *attr,metharg tp,methfun gfun,methfun sfun);
-
-private:
-
- static inline flext_base *thisObject(flext_hdr *c) { return FLEXT_CAST<flext_base *>(c->data); }
-
- static void Setup(t_classid c);
-
- //! \brief This represents either an inlet or outlet during construction
- class FLEXT_SHARE xlet {
- public:
- xlet();
- ~xlet();
-
- xlettype tp;
- char *desc;
-
- void Desc(const char *c);
- };
-
- static xlet inlist[];
- static xlet outlist[];
-
- //! current message tag
- static const t_symbol *curtag;
- //! number of message and signal inlets/outlets
- unsigned char incnt,outcnt,insigs,outsigs;
-
- outlet **outlets;
-
- union t_any {
- float ft;
- int it;
- bool bt;
- t_symbol *st;
-#if FLEXT_SYS == FLEXT_SYS_PD
- t_gpointer *pt;
-#endif
- void *vt;
- };
-
- typedef bool (*methfun_V)(flext_base *c,int argc,t_atom *argv);
- typedef bool (*methfun_A)(flext_base *c,const t_symbol *s,int argc,t_atom *argv);
- typedef bool (*methfun_0)(flext_base *c);
- typedef bool (*methfun_1)(flext_base *c,t_any &);
- typedef bool (*methfun_2)(flext_base *c,t_any &,t_any &);
- typedef bool (*methfun_3)(flext_base *c,t_any &,t_any &,t_any &);
- typedef bool (*methfun_4)(flext_base *c,t_any &,t_any &,t_any &,t_any &);
- typedef bool (*methfun_5)(flext_base *c,t_any &,t_any &,t_any &,t_any &,t_any &);
-
- mutable ItemCont *methhead;
- mutable ItemCont *bindhead;
-
- bool FindMeth(int inlet,const t_symbol *s,int argc,const t_atom *argv);
- bool FindMethAny(int inlet,const t_symbol *s,int argc,const t_atom *argv);
- bool TryMethTag(Item *lst,const t_symbol *tag,int argc,const t_atom *argv);
- bool TryMethSym(Item *lst,const t_symbol *s);
- bool TryMethAny(Item *lst,const t_symbol *s,int argc,const t_atom *argv);
-
- mutable ItemCont *attrhead;
- mutable AttrDataCont *attrdata;
-
- AttrItem *FindAttrib(const t_symbol *tag,bool get,bool msg = false) const;
-
- bool InitAttrib(int argc,const t_atom *argv);
-
- bool DumpAttrib(const t_symbol *tag,AttrItem *a) const;
- bool GetAttrib(const t_symbol *tag,AttrItem *a,AtomList &l) const;
- bool SetAttrib(const t_symbol *tag,AttrItem *a,int argc,const t_atom *argv);
- bool SetAttrib(const t_symbol *tag,AttrItem *a,const AtomList &l) { return SetAttrib(tag,a,l.Count(),l.Atoms()); }
- // get and set the attribute
- bool BangAttrib(const t_symbol *tag,AttrItem *a);
- // show/hide the attribute
- bool ShowAttrib(AttrItem *a,bool show) const;
-
- static bool cb_ListMethods(flext_base *c,int argc,const t_atom *argv);
- static bool cb_ListAttrib(flext_base *c) { return c->ListAttrib(); }
-
- // queue stuff
-
- //! Start message queue
- static void StartQueue();
-#if FLEXT_QMODE == 2
- //! Queue worker function
- static void QWorker(thr_params *);
-#endif
- //! Flush messages in the queue
- static void QFlush(flext_base *th = NULL);
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-
- static void SetGfx(t_classid c);
-
-#ifndef FLEXT_NOATTREDIT
- // attribute editor
- static bool cb_AttrDialog(flext_base *c,int argc,const t_atom *argv);
- static void cb_GfxProperties(flext_hdr *c, t_glist *);
-#endif
-
-#ifdef FLEXT_ATTRHIDE
- static void cb_GfxVis(flext_hdr *c, t_glist *gl, int vis);
- static void cb_GfxSave(flext_hdr *c, t_binbuf *b);
- static void cb_GfxSelect(flext_hdr *x, struct _glist *glist, int state);
-
- void BinbufArgs(t_binbuf *b,t_binbuf *args,bool withname,bool transdoll);
- void BinbufAttr(t_binbuf *b,bool transdoll);
-#endif
-
- static void cb_bang(flext_hdr *c);
- static void cb_float(flext_hdr *c,t_float f);
- static void cb_symbol(flext_hdr *c,const t_symbol *s);
-// static void cb_pointer(fltext_hdr *c,const t_gpointer *p);
- static void cb_anything(flext_hdr *c,const t_symbol *s,int argc,t_atom *argv);
-
- // proxy object (for additional inlets)
- static t_class *px_class;
-
- struct px_object // no virtual table!
- {
- t_object obj; // MUST reside at memory offset 0
- flext_base *base;
- int index;
-
- void init(flext_base *b,int ix) { base = b; index = ix; }
- static void px_bang(px_object *c);
- static void px_float(px_object *c,t_float f);
- static void px_symbol(px_object *c,const t_symbol *s);
-// static void px_pointer(px_object *c,const t_gpointer *p);
- static void px_anything(px_object *c,const t_symbol *s,int argc,t_atom *argv);
- };
-
- static void cb_px_ft1(flext_hdr *c,t_float f);
- static void cb_px_ft2(flext_hdr *c,t_float f);
- static void cb_px_ft3(flext_hdr *c,t_float f);
- static void cb_px_ft4(flext_hdr *c,t_float f);
- static void cb_px_ft5(flext_hdr *c,t_float f);
- static void cb_px_ft6(flext_hdr *c,t_float f);
- static void cb_px_ft7(flext_hdr *c,t_float f);
- static void cb_px_ft8(flext_hdr *c,t_float f);
- static void cb_px_ft9(flext_hdr *c,t_float f);
-
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- typedef object px_object;
- static void cb_bang(flext_hdr *c);
- static void cb_float(flext_hdr *c,double f);
- static void cb_int(flext_hdr *c,long v);
- static void cb_anything(flext_hdr *c,const t_symbol *s,short argc,t_atom *argv);
-
- static void cb_px_in1(flext_hdr *c,long v);
- static void cb_px_in2(flext_hdr *c,long v);
- static void cb_px_in3(flext_hdr *c,long v);
- static void cb_px_in4(flext_hdr *c,long v);
- static void cb_px_in5(flext_hdr *c,long v);
- static void cb_px_in6(flext_hdr *c,long v);
- static void cb_px_in7(flext_hdr *c,long v);
- static void cb_px_in8(flext_hdr *c,long v);
- static void cb_px_in9(flext_hdr *c,long v);
-
- static void cb_px_ft1(flext_hdr *c,double f);
- static void cb_px_ft2(flext_hdr *c,double f);
- static void cb_px_ft3(flext_hdr *c,double f);
- static void cb_px_ft4(flext_hdr *c,double f);
- static void cb_px_ft5(flext_hdr *c,double f);
- static void cb_px_ft6(flext_hdr *c,double f);
- static void cb_px_ft7(flext_hdr *c,double f);
- static void cb_px_ft8(flext_hdr *c,double f);
- static void cb_px_ft9(flext_hdr *c,double f);
-#endif
-
- px_object **inlets;
-
- // --------- symbol-bound proxy
-
- static t_class *pxbnd_class;
-
- class pxbnd_object:
- public flext_root
- // no virtual table!
- {
- public:
- t_object obj; // MUST reside at memory offset 0
- flext_base *base;
- BindItem *item;
- void *data;
-
- void init(flext_base *b,BindItem *it,void *d) { base = b; item = it; data = d; }
- static void px_method(pxbnd_object *c,const t_symbol *s,int argc,t_atom *argv);
- };
-
- //! create proxy class for symbol binding
- static void SetupBindProxy();
-
- // ---------
-
- //! set up inlet proxies
- static void SetProxies(t_class *c,bool dsp);
-
- //! initialize inlets (according to class or object constructor definitions)
- bool InitInlets();
-
- //! initialize outlets (according to class or object constructor definitions)
- bool InitOutlets();
-
- // callback functions
-
- static void cb_loadbang(flext_hdr *c);
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- char **indesc,**outdesc;
-
- static void cb_assist(flext_hdr *c,void *b,long msg,long arg,char *s);
- static void cb_click (flext_hdr *c, Point pt, short mods);
-
- static void cb_dsp(flext_hdr *c,t_signal **s,short *count);
-#elif FLEXT_SYS == FLEXT_SYS_PD
- static void cb_click(flext_hdr *z,t_floatarg xpos,t_floatarg ypos,t_floatarg shift,t_floatarg ctrl,t_floatarg alt);
-
- static void cb_dsp(flext_hdr *c,t_signal **s);
-#endif
-};
-
-#endif
diff --git a/externals/grill/flext/source/flcontainers.h b/externals/grill/flext/source/flcontainers.h
deleted file mode 100644
index 2b33c4e5..00000000
--- a/externals/grill/flext/source/flcontainers.h
+++ /dev/null
@@ -1,473 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flcontainers.h
- \brief Lock-free container classes
-
- This code has been adapted from the MidiShare project (c)Grame
- http://midishare.sourceforge.net
-*/
-
-#ifndef __FLCONTAINERS_H
-#define __FLCONTAINERS_H
-
-
-#include "flprefix.h"
-
-
-// define that precautiously...
-// it's faster without that but we can't really know...
-#define __SMP__
-
-
-class FLEXT_SHARE Lifo
-{
-public:
- class Cell
- {
- friend class Lifo;
- friend class Fifo;
- private:
- Cell *link;
- };
-
- inline Lifo() { Init(); }
-
- inline void Init() { ic = oc = 0; top = NULL; }
-
- inline Cell *Avail() { return (Cell *)top; }
-
-#if defined(_MSC_VER) && FLEXT_CPU == FLEXT_CPU_IA32
- #ifdef __SMP__
- #define LOCK lock
- #else
- #define LOCK
- #endif
-
- inline void Push(Cell *cell)
- {
- __asm
- {
- push eax
- push ebx
- push ecx
- push edx
- push esi
- mov esi, this
- mov eax, dword ptr [esi]
- mov ecx, cell
- mov edx, dword ptr [esi+4]
- _loop:
- mov ebx, eax
- inc ebx
- mov [ecx], edx
- LOCK cmpxchg8b qword ptr [esi]
- jnz _loop
- pop esi
- pop edx
- pop ecx
- pop ebx
- pop eax
- }
- }
-
- inline Cell *Pop()
- {
- __asm
- {
- push ebx
- push ecx
- push edx
- push esi
- mov esi, this
- add esi, 4 /* point to top */
- mov edx, dword ptr [esi+4]
- mov eax, dword ptr [esi]
- test eax, eax
- jz _end
- _loop:
- mov ebx, dword ptr [eax]
- mov ecx, edx
- inc ecx
- LOCK cmpxchg8b qword ptr [esi]
- jz _end
- test eax, eax
- jnz _loop
- _end:
- pop esi
- pop edx
- pop ecx
- pop ebx
- }
- }
-
- inline size_t Size() const { return ic-oc; }
-#elif defined(__GNUC__) && FLEXT_CPU == FLEXT_CPU_IA32
- #ifndef SMPLOCK
- # ifdef __SMP__
- # define SMPLOCK "lock ; "
- # else
- # define SMPLOCK ""
- # endif
- #endif
-
- inline void Push(Cell *cl)
- {
- __asm__ __volatile__ (
- "# LFPUSH \n\t"
- "pushl %%ebx \n\t"
- "pushl %%ecx \n\t"
- "movl 0(%%esi), %%eax \n\t"
- "movl 4(%%esi), %%edx \n"
- "1: \t"
- "movl %%eax, %%ebx \n\t"
- "incl %%ebx \n\t"
- "movl %%edx, (%%ecx) \n\t"
- SMPLOCK "cmpxchg8b (%%esi) \n\t"
- "jnz 1b \n\t"
- "popl %%ecx \n\t"
- "popl %%ebx \n\t"
- :/* no output */
- :"S" (this), "c" (cl)
- :"memory", "eax", "edx");
- }
-
- inline Cell *Pop()
- {
- Cell *v=0;
- __asm__ __volatile__ (
- "# LFPOP \n\t"
- "pushl %%ebx \n\t"
- "pushl %%ecx \n\t"
- "movl 4(%%esi), %%edx \n\t"
- "movl (%%esi), %%eax \n\t"
- "testl %%eax, %%eax \n\t"
- "jz 2f \n"
- "1: \t"
- "movl (%%eax), %%ebx \n\t"
- "movl %%edx, %%ecx \n\t"
- "incl %%ecx \n\t"
- SMPLOCK "cmpxchg8b (%%esi) \n\t"
- "jz 2f \n\t"
- "testl %%eax, %%eax \n\t"
- "jnz 1b \n"
- "2: \t"
- "popl %%ecx \n\t"
- "popl %%ebx \n\t"
- :"=a" (v)
- :"S" (&this->top)
- :"memory", "edx");
- return v;
- }
-
- inline size_t Size() const
- {
- size_t n;
- __asm__ __volatile__ (
- "# LFSIZE \n\t"
- "movl 8(%%esi), %%edx \n\t"
- "movl (%%esi), %%eax \n\t"
- "subl %%edx, %%eax \n\t"
- :"=a" (n)
- :"S" (this)
- :"memory", "edx");
- return n;
- }
-#elif 0 //defined(__GNUC__) && FLEXT_CPU == FLEXT_CPU_X86_64
-/* attention - this only works for EMT64 or newer revisions of AMD 64-bit cpus */
- #ifndef SMPLOCK
- # ifdef __SMP__
- # define SMPLOCK "lock ; "
- # else
- # define SMPLOCK ""
- # endif
- #endif
-
- inline void Push(Cell *cl)
- {
- __asm__ __volatile__ (
- "# LFPUSH \n\t"
- "push %%rbx \n\t"
- "push %%rcx \n\t"
- "mov 0(%%rsi), %%rax \n\t"
- "mov 8(%%rsi), %%rdx \n"
- "1: \t"
- "mov %%rax, %%rbx \n\t"
- "inc %%rbx \n\t"
- "mov %%rdx, (%%rcx) \n\t"
- SMPLOCK "cmpxchg16b (%%rsi) \n\t"
- "jnz 1b \n\t"
- "pop %%rcx \n\t"
- "pop %%rbx \n\t"
- :/* no output */
- :"S" (this), "c" (cl)
- :"memory", "rax", "rdx");
- }
-
- inline Cell *Pop()
- {
- Cell *v=0;
- __asm__ __volatile__ (
- "# LFPOP \n\t"
- "push %%rbx \n\t"
- "push %%rcx \n\t"
- "mov 8(%%rsi), %%rdx \n\t"
- "mov (%%rsi), %%rax \n\t"
- "test %%rax, %%rax \n\t"
- "jz 2f \n"
- "1: \t"
- "mov (%%rax), %%rbx \n\t"
- "mov %%rdx, %%rcx \n\t"
- "inc %%rcx \n\t"
- SMPLOCK "cmpxchg16b (%%rsi) \n\t"
- "jz 2f \n\t"
- "test %%rax, %%rax \n\t"
- "jnz 1b \n"
- "2: \t"
- "pop %%rcx \n\t"
- "pop %%rbx \n\t"
- :"=a" (v)
- :"S" (&this->top)
- :"memory", "rdx");
- return v;
- }
-
- inline size_t Size() const
- {
- size_t n;
- __asm__ __volatile__ (
- "# LFSIZE \n\t"
- "mov 16(%%rsi), %%rdx \n\t"
- "mov (%%rsi), %%rax \n\t"
- "sub %%rdx, %%rax \n\t"
- :"=a" (n)
- :"S" (this)
- :"memory", "rdx");
- return n;
- }
-
-#elif defined(__GNUC__) && FLEXT_CPU == FLEXT_CPU_PPC
- inline void Push(register Cell *cl)
- {
- register volatile long t1;
- register long t2=0;
- asm volatile (
- "# LFPUSH \n"
- "0: \n"
- " lwarx %0, %3, %1 \n"
- " stw %0, 0(%2) \n"
- " sync \n"
- " stwcx. %2, %3, %1 \n"
- " bne- 0b \n"
- "0: \n"
- " lwarx %0, %3, %4 \n"
- " addi %0, %0, 1 \n"
- " sync \n"
- " stwcx. %0, %3, %4 \n"
- " bne- 0b \n"
- : "=r" (t1)
- : "r" (&this->top), "r" (cl), "r" (t2), "r" (&this->oc), "0" (t1)
- : "r0" /* prevents using r0 because of the ambiguity of 'addi' coding: */
- /* gcc version 2.95.3 20010315 (release - Linux-Mandrake 8.0 for PPC) */
- /* compiles the instruction "addi 0, 0, n" as li 0, n */
- );
- }
-
- inline Cell *Pop()
- {
- register Cell *result;
- register volatile long a, b;
- register long c=0;
- asm volatile (
- "# LFPOP \n"
- "0: \n"
- " lwarx %4, %1, %2 \n" /* creates a reservation on lf */
- " cmpwi %4, 0 \n" /* test if the lifo is empty */
- " beq- 1f \n"
- " lwz %5, 0(%4) \n" /* next cell in b */
- " sync \n" /* synchronize instructions */
- " stwcx. %5, %1, %2 \n" /* if the reservation is not altered */
- /* modify lifo top */
- " bne- 0b \n" /* otherwise: loop and try again */
- "0: \n"
- " lwarx %5, %1, %3 \n" /* creates a reservation on lf->count */
- " addi %5, %5, -1 \n" /* dec count */
- " sync \n" /* synchronize instructions */
- " stwcx. %5, %1, %3 \n" /* conditionnal store */
- " bne- 0b \n"
- "1: \n"
- " mr %0, %4 \n"
- :"=r" (result), "=r" (c)
- : "r" (&this->top), "r" (&this->oc), "r" (a), "r" (b), "1" (c)
- : "r0" /* prevents using r0 because of the ambiguity of 'addi' coding: */
- /* gcc version 2.95.3 20010315 (release - Linux-Mandrake 8.0 for PPC) */
- /* compiles the instruction "addi 0, 0, n" as li 0, n */
- );
- return result;
- }
-
- inline size_t Size() const { return oc; }
-
-#else
- // no lock free code available for this compiler/platform
-
- inline void Push(Cell *c)
- {
-#ifdef FLEXT_THREADS
- mutex.Lock();
-#endif
- c->link = (Cell *)top;
- top = c;
- ++oc;
-#ifdef FLEXT_THREADS
- mutex.Unlock();
-#endif
- }
-
- inline Cell *Pop()
- {
- if(top) {
- Cell *r;
-#ifdef FLEXT_THREADS
- mutex.Lock();
-#endif
- r = (Cell *)top;
- top = r->link;
- --oc;
-#ifdef FLEXT_THREADS
- mutex.Unlock();
-#endif
- return r;
- }
- else
- return NULL;
- }
-
- inline size_t Size() const { return oc; }
-
-private:
-#ifdef FLEXT_THREADS
- flext::ThrMutex mutex;
-#endif
-
-#endif
-
-private:
- // don't change order!
- volatile size_t ic; // input (push) count
- volatile Cell *top; // top of the stack
- volatile size_t oc; // output (pop) count
-#ifdef __POWERPC__
- size_t unused[5]; // lifo size must be at least 32 bytes
- // to avoid livelock in multiprocessor
-#endif
-};
-
-template <typename T>
-class TypedLifo
- : public Lifo
-{
-public:
- inline T *Avail() { return static_cast<T *>(Lifo::Avail()); }
- inline void Push(T *c) { Lifo::Push(static_cast<T *>(c)); }
- inline T *Pop() { return static_cast<T *>(Lifo::Pop()); }
-};
-
-template <typename T,int M = 2,int O = 1>
-class PooledLifo
- : public TypedLifo<T>
-{
-public:
- inline T *New() { T *n = reuse.Pop(); return n?n:new T; }
- inline size_t Size() const { return TypedLifo<T>::Size(); }
- inline void Free(T *p) { if(reuse.Size() < Size()*M+O) reuse.Push(p); else delete p; }
-private:
- TypedLifo<T> reuse;
-};
-
-
-class FLEXT_SHARE Fifo
-{
-public:
- typedef Lifo::Cell Cell;
-
- void Init() { in.Init(); out.Init(); }
-
- inline size_t Size() const { return in.Size()+out.Size(); }
-
- inline void Put(Cell *cl) { in.Push(cl); }
-
- Cell *Get()
- {
- Cell *v1 = out.Pop();
- if(!v1) {
- v1 = in.Pop();
- if(v1)
- for(Cell *v2; (v2 = in.Pop()) != NULL; v1 = v2)
- out.Push(v1);
- }
- return v1;
- }
-
- Cell *Avail()
- {
- Cell *v1 = out.Avail();
- if(v1)
- return v1;
- else {
- for(Cell *v2; (v2 = in.Pop()) != NULL; )
- out.Push(v2);
- return out.Avail();
- }
- }
-
- Cell *Clear()
- {
- Cell *first = Get();
- if(!first) return NULL;
-
- Cell *next,*cur = first;
- while((next = Get()) != NULL) {
- cur->link = next;
- cur = next;
- }
- cur->link = NULL;
-
- Init();
- return first;
- }
-
- Lifo in,out;
-};
-
-template <typename T>
-class TypedFifo
- : public Fifo
-{
-public:
- inline T *Avail() { return static_cast<T *>(Fifo::Avail()); }
- inline void Put(T *c) { Fifo::Put(static_cast<T *>(c)); }
- inline T *Get() { return static_cast<T *>(Fifo::Get()); }
- inline T *Clear() { return static_cast<T *>(Fifo::Clear()); }
-};
-
-template <typename T,int M = 2,int O = 1>
-class PooledFifo
- : public TypedFifo<T>
-{
-public:
- inline T *New() { T *n = reuse.Pop(); return n?n:new T; }
- inline size_t Size() const { return TypedFifo<T>::Size(); }
- inline void Free(T *p) { if(reuse.Size() < Size()*M+O) reuse.Push(p); else delete p; }
-private:
- TypedLifo<T> reuse;
-};
-
-#endif
diff --git a/externals/grill/flext/source/flcwmax-thr.h b/externals/grill/flext/source/flcwmax-thr.h
deleted file mode 100644
index 4167be9f..00000000
--- a/externals/grill/flext/source/flcwmax-thr.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-
-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.
-
-*/
-
-/*! \file flcwmax-thr.h
- \brief Prefix file for CodeWarrior projects - OS 9 threaded version.
-*/
-
-#ifndef _FLEXT_CW_MAX_THR_H
-#define _FLEXT_CW_MAX_THR_H
-
-#define FLEXT_THREADS
-
-/*
- old CodeWarrior version (<= 6) don't have sigset_t defined which
- is needed for pthreads
-*/
-#if defined(__MWERKS__) && (__MWERKS__ == 1) // read __MWERKS__ numbering starts with CW7
- typedef unsigned int sigset_t;
- #define _CW_NOPRECOMP // no precompiled headers
-#endif
-
-#include "flcwmax.h"
-
-#endif
diff --git a/externals/grill/flext/source/flcwmax-x-thr.h b/externals/grill/flext/source/flcwmax-x-thr.h
deleted file mode 100644
index 93b78289..00000000
--- a/externals/grill/flext/source/flcwmax-x-thr.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-
-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.
-
-*/
-
-/*! \file flcwmax-x-thr.h
- \brief Prefix file for CodeWarrior projects - OS X threaded version.
-*/
-
-#ifndef _FLEXT_CW_MAX_X_THR_H
-#define _FLEXT_CW_MAX_X_THR_H
-
-#define FLEXT_THREADS
-
-/*
- old CodeWarrior version (<= 6) don't have sigset_t defined which
- is needed for pthreads
-*/
-#if defined(__MWERKS__) && (__MWERKS__ == 1) // read __MWERKS__ numbering starts with CW7
- typedef unsigned int sigset_t;
- #define _CW_NOPRECOMP // no precompiled headers
-#endif
-
-#include "flcwmax-x.h"
-
-#endif
diff --git a/externals/grill/flext/source/flcwmax-x.h b/externals/grill/flext/source/flcwmax-x.h
deleted file mode 100644
index e1e340d2..00000000
--- a/externals/grill/flext/source/flcwmax-x.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
-
-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.
-
-*/
-
-/*! \file flcwmax-x.h
- \brief Prefix file for CodeWarrior projects - OS X version.
-*/
-
-#ifndef _FLEXT_CW_MAX_X_H
-#define _FLEXT_CW_MAX_X_H
-
-//#define TARGET_API_MAC_CARBON 1
-#define _POSIX_C_SOURCE
-#define _POSIX_SOURCE
-
-#include "flcwmax.h"
-
-#endif
diff --git a/externals/grill/flext/source/flcwmax.h b/externals/grill/flext/source/flcwmax.h
deleted file mode 100644
index 4d108e2e..00000000
--- a/externals/grill/flext/source/flcwmax.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-
-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.
-
-*/
-
-/*! \file flcwmax.h
- \brief Prefix file for CodeWarrior projects - OS 9 version.
-*/
-
-#ifndef _FLEXT_CW_MAX_H
-#define _FLEXT_CW_MAX_H
-
-#ifndef __MWERKS__
- #error "This header file is for CodeWarrior only."
-#endif
-
-#define FLEXT_SYS 1
-#define FLEXT_USE_SIMD
-
-#ifndef _CW_NOPRECOMP
- #include <MacHeaders.h>
-#endif
-
-#if /*__option(sym) ||*/ !__option(opt_dead_code)
- #pragma message("Optimization disabled -> Compiling a debug version (with FLEXT_DEBUG)")
- #define FLEXT_DEBUG
-#endif
-
-/* #define _LOG */
-
-#endif
diff --git a/externals/grill/flext/source/flcwpd-x-thr.h b/externals/grill/flext/source/flcwpd-x-thr.h
deleted file mode 100644
index d3075069..00000000
--- a/externals/grill/flext/source/flcwpd-x-thr.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
-
-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.
-
-*/
-
-/* This is the prefix file for CodeWarrior projects - OS X version */
-
-#ifndef _FLEXT_CW_PD_X_THR_H
-#define _FLEXT_CW_PD_X_THR_H
-
-#define FLEXT_THREADS
-
-#if 0
-/*
- old CodeWarrior version (<= 6) don't have sigset_t defined which
- is needed for pthreads
-*/
-#if defined(__MWERKS__) && (__MWERKS__ <= 0x6000)
- typedef unsigned int sigset_t;
- #define _CW_NOPRECOMP // no precompiled headers
-#endif
-#endif
-
-#include "flcwpd-x.h"
-
-#endif
diff --git a/externals/grill/flext/source/flcwpd-x.h b/externals/grill/flext/source/flcwpd-x.h
deleted file mode 100644
index f6b5192b..00000000
--- a/externals/grill/flext/source/flcwpd-x.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-
-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.
-
-*/
-
-/* This is the prefix file for CodeWarrior projects - OS X version */
-
-#ifndef _FLEXT_CW_PD_X_H
-#define _FLEXT_CW_PD_X_H
-
-#ifndef __MWERKS__
- #error "This header file is for CodeWarrior only."
-#endif
-
-#define FLEXT_SYS 2
-#define FLEXT_USE_SIMD
-
-#define TARGET_API_MAC_CARBON 1
-#define _POSIX_C_SOURCE
-
-#ifndef _CW_NOPRECOMP
-// #include <MacHeadersMach-O.h>
-// #include <MSL MacHeadersMach-O.h>
-#endif
-
-#if __option(sym) || !__option(opt_dead_code)
- #define FLEXT_DEBUG
-#endif
-
-/* #define _LOG */
-
-#endif
diff --git a/externals/grill/flext/source/fldefs.h b/externals/grill/flext/source/fldefs.h
deleted file mode 100644
index fd31506b..00000000
--- a/externals/grill/flext/source/fldefs.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs.h
- \brief This file includes all the #define header files
-*/
-
-#ifndef __FLEXT_DEFS_H
-#define __FLEXT_DEFS_H
-
-/*! \defgroup FLEXT_DEFS Definitions for basic flext functionality
- @{
-*/
-
-/*! \brief Switch for compilation of derived virtual classes
- \remark These need dynamic type casts (and RTTI, naturally)
- \ingroup FLEXT_GLOBALS
-*/
-#ifdef FLEXT_VIRT
-#define FLEXT_CAST dynamic_cast
-#else
-#define FLEXT_CAST static_cast
-#endif
-
-//! @} FLEXT_DEFS
-
-#include "fldefs_hdr.h"
-
-#include "fldefs_setup.h"
-
-
-// ====================================================================================
-
-/*! \defgroup FLEXT_D_METHOD Declarations for flext methods
- @{
-*/
-
-#include "fldefs_methcb.h"
-#include "fldefs_meththr.h"
-#include "fldefs_methadd.h"
-#include "fldefs_methbind.h"
-#include "fldefs_methcall.h"
-
-//! @} FLEXT_D_METHOD
-
-
-
-#ifdef FLEXT_ATTRIBUTES
-
-/*! \defgroup FLEXT_D_ATTRIB Attribute definition
- \note These have to reside inside the class declaration
- @{
-*/
-
-#include "fldefs_attrcb.h"
-#include "fldefs_attrvar.h"
-#include "fldefs_attradd.h"
-
-//! @} FLEXT_D_ATTRIB
-
-#endif // FLEXT_ATTRIBUTES
-
-#endif // __FLEXT_DEFS_H
diff --git a/externals/grill/flext/source/fldefs_attradd.h b/externals/grill/flext/source/fldefs_attradd.h
deleted file mode 100644
index de48b0a4..00000000
--- a/externals/grill/flext/source/fldefs_attradd.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_attradd.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_ATTRADD_H
-#define __FLEXT_DEFS_ATTRADD_H
-
-
-/*! \defgroup FLEXT_D_CADDATTR Announce object attributes at class scope
- \ingroup FLEXT_D_ATTRIB
- \note These can only be used at class construction time
- @{
-*/
-
-//! Add handler for a gettable attribute
-#define FLEXT_CADDATTR_GET(CL,NAME,GFUN) \
-\
-AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),NULL)
-
-//! Add handler for a settable attribute
-#define FLEXT_CADDATTR_SET(CL,NAME,SFUN) \
-\
-AddAttrib(CL,flext::MakeSymbol(NAME),NULL,(FLEXT_SET_PRE(SFUN)))
-
-//! Add handlers for a both get- and settable attribute
-#define FLEXT_CADDATTR_VAR(CL,NAME,GFUN,SFUN) \
-\
-AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),(FLEXT_SET_PRE(SFUN)))
-
-//! Add handlers for a both get- and settable attribute
-#define FLEXT_CADDATTR_VAR1(CL,NAME,FUN) \
-\
-AddAttrib(CL,flext::MakeSymbol(NAME),(FLEXT_GET_PRE(FUN)),(FLEXT_SET_PRE(FUN)))
-
-
-//! Add handler for a gettable enum attribute
-#define FLEXT_CADDATTR_GET_E(CL,NAME,GFUN) \
-\
-AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),NULL)
-
-//! Add handler for a settable enum attribute
-#define FLEXT_CADDATTR_SET_E(CL,NAME,SFUN) \
-\
-AddAttrib(CL,flext::MakeSymbol(NAME),NULL,(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN)))
-
-//! Add handlers for a both get- and settable enum attribute
-#define FLEXT_CADDATTR_VAR_E(CL,NAME,GFUN,SFUN) \
-\
-AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN)))
-
-//! Add handlers for a both get- and settable enum attribute
-#define FLEXT_CADDATTR_VAR1_E(CL,NAME,FUN) \
-\
-AddAttrib(CL,flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(FUN)))
-
-//! @} FLEXT_D_CADDATTR
-
-
-/*! \defgroup FLEXT_D_ADDATTR Announce object attributes
- \ingroup FLEXT_D_ATTRIB
- \note These can only be used at object construction time
- \note (in constructor or in Init() function before call to parent's Init())
- @{
-*/
-
-//! Add handler for a gettable attribute
-#define FLEXT_ADDATTR_GET(NAME,GFUN) \
-\
-AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),NULL)
-
-//! Add handler for a settable attribute
-#define FLEXT_ADDATTR_SET(NAME,SFUN) \
-\
-AddAttrib(flext::MakeSymbol(NAME),NULL,(FLEXT_SET_PRE(SFUN)))
-
-//! Add handlers for a both get- and settable attribute
-#define FLEXT_ADDATTR_VAR(NAME,GFUN,SFUN) \
-\
-AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(GFUN)),(FLEXT_SET_PRE(SFUN)))
-
-//! Add handlers for a both get- and settable attribute
-#define FLEXT_ADDATTR_VAR1(NAME,FUN) \
-\
-AddAttrib(flext::MakeSymbol(NAME),(FLEXT_GET_PRE(FUN)),(FLEXT_SET_PRE(FUN)))
-
-
-//! Add handler for a gettable enum attribute
-#define FLEXT_ADDATTR_GET_E(NAME,GFUN) \
-\
-AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),NULL)
-
-//! Add handler for a settable enum attribute
-#define FLEXT_ADDATTR_SET_E(NAME,SFUN) \
-\
-AddAttrib(flext::MakeSymbol(NAME),NULL,(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN)))
-
-//! Add handlers for a both get- and settable enum attribute
-#define FLEXT_ADDATTR_VAR_E(NAME,GFUN,SFUN) \
-\
-AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(GFUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(SFUN)))
-
-//! Add handlers for a both get- and settable enum attribute
-#define FLEXT_ADDATTR_VAR1_E(NAME,FUN) \
-\
-AddAttrib(flext::MakeSymbol(NAME),(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(flext_base *,int &))(FLEXT_SET_PRE(FUN)))
-
-//! @} FLEXT_D_ADDATTR
-
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_attrcb.h b/externals/grill/flext/source/fldefs_attrcb.h
deleted file mode 100644
index 13ca8014..00000000
--- a/externals/grill/flext/source/fldefs_attrcb.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_attrcb.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_ATTRCB_H
-#define __FLEXT_DEFS_ATTRCB_H
-
-
-
-/*! \brief Declare a attribute set function
- \internal
-*/
-#define FLEXT_CALLSET_(FUN,TP) \
-static bool FLEXT_SET_PRE(FUN)(flext_base *c,TP &arg) \
-{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; }
-
-/*! \brief Declare a attribute get function
- \internal
-*/
-#define FLEXT_CALLGET_(FUN,TP) \
-static bool FLEXT_GET_PRE(FUN)(flext_base *c,TP &arg) \
-{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; }
-
-
-
-/*! \defgroup FLEXT_DA_CALLSET Definition of attribute set handlers
- \ingroup FLEXT_D_ATTRIB
- @{
-*/
-
-//! Declare a set function for a float attribute
-#define FLEXT_CALLSET_F(SFUN) \
-\
-FLEXT_CALLSET_(SFUN,float)
-
-//! Declare a set function for an integer attribute
-#define FLEXT_CALLSET_I(SFUN) \
-\
-FLEXT_CALLSET_(SFUN,int)
-
-//! Declare a set function for a boolean attribute
-#define FLEXT_CALLSET_B(SFUN) \
-\
-FLEXT_CALLSET_(SFUN,bool)
-/*
-static bool FLEXT_SET_PRE(FUN)(flext_base *c,int &arg) \
-{ bool b = arg != 0; FLEXT_CAST<thisType *>(c)->FUN(b); return true; }
-*/
-
-//! Declare a set function for an enum attribute
-#define FLEXT_CALLSET_E(SFUN,TP) \
-\
-FLEXT_CALLSET_(SFUN,TP)
-
-//! Declare a set function for a symbol attribute
-#define FLEXT_CALLSET_S(FUN) \
-static bool FLEXT_SET_PRE(FUN)(flext_base *c,const t_symbol *&arg) \
-{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; }
-
-//! Declare a set function for a variable list attribute
-#define FLEXT_CALLSET_V(FUN) \
-static bool FLEXT_SET_PRE(FUN)(flext_base *c,AtomList *&arg) \
-{ FLEXT_CAST<thisType *>(c)->FUN(*arg); return true; }
-
-//! @} FLEXT_DA_CALLSET
-
-/*! \defgroup FLEXT_DA_CALLGET Definition of attribute get handlers
- \ingroup FLEXT_D_ATTRIB
- @{
-*/
-
-//! Declare a get function for a float attribute
-#define FLEXT_CALLGET_F(GFUN) \
-\
-FLEXT_CALLGET_(GFUN,float)
-
-//! Declare a get function for an integer attribute
-#define FLEXT_CALLGET_I(GFUN) \
-\
-FLEXT_CALLGET_(GFUN,int)
-
-//! Declare a get function for a boolean attribute
-#define FLEXT_CALLGET_B(GFUN) \
-\
-FLEXT_CALLGET_(GFUN,bool)
-/*
-static bool FLEXT_GET_PRE(FUN)(flext_base *c,int &arg) \
-{ bool b; FLEXT_CAST<thisType *>(c)->FUN(b); arg = b?1:0; return true; }
-*/
-
-//! Declare a get function for an enum attribute
-#define FLEXT_CALLGET_E(GFUN,TP) \
-\
-FLEXT_CALLGET_(GFUN,TP)
-
-//! Declare a get function for a symbol attribute
-#define FLEXT_CALLGET_S(FUN) \
-static bool FLEXT_GET_PRE(FUN)(flext_base *c,const t_symbol *&arg) \
-{ FLEXT_CAST<thisType *>(c)->FUN(arg); return true; }
-
-//! Declare a get function for a variable list attribute
-#define FLEXT_CALLGET_V(FUN) \
-static bool FLEXT_GET_PRE(FUN)(flext_base *c,AtomList *&arg) \
-{ FLEXT_CAST<thisType *>(c)->FUN(*arg); return true; }
-
-//! @} FLEXT_DA_CALLGET
-
-
-/*! \defgroup FLEXT_DA_CALLVAR Definition of attribute transfer handlers (both get and set)
- \ingroup FLEXT_D_ATTRIB
- @{
-*/
-
-//! Declare both get and set functions for a float attribute
-#define FLEXT_CALLVAR_F(GFUN,SFUN) \
-\
-FLEXT_CALLGET_F(GFUN) FLEXT_CALLSET_F(SFUN)
-
-//! Declare both get and set functions for an integer attribute
-#define FLEXT_CALLVAR_I(GFUN,SFUN) \
-\
-FLEXT_CALLGET_I(GFUN) FLEXT_CALLSET_I(SFUN)
-
-//! Declare both get and set functions for a symbol attribute
-#define FLEXT_CALLVAR_S(GFUN,SFUN) \
-\
-FLEXT_CALLGET_S(GFUN) FLEXT_CALLSET_S(SFUN)
-
-//! Declare both get and set functions for a boolean attribute
-#define FLEXT_CALLVAR_B(GFUN,SFUN) \
-\
-FLEXT_CALLGET_B(GFUN) FLEXT_CALLSET_B(SFUN)
-
-//! Declare both get and set functions for an enum attribute
-#define FLEXT_CALLVAR_E(GFUN,SFUN,TP) \
-\
-FLEXT_CALLGET_E(GFUN,TP) FLEXT_CALLSET_E(SFUN,TP)
-
-//! Declare both get and set functions for a variable list attribute
-#define FLEXT_CALLVAR_V(GFUN,SFUN) \
-\
-FLEXT_CALLGET_V(GFUN) FLEXT_CALLSET_V(SFUN)
-
-//! @} FLEXT_DA_CALLVAR
-
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_attrvar.h b/externals/grill/flext/source/fldefs_attrvar.h
deleted file mode 100644
index e996b460..00000000
--- a/externals/grill/flext/source/fldefs_attrvar.h
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_attrvar.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_ATTRVAR_H
-#define __FLEXT_DEFS_ATTRVAR_H
-
-
-/*! \brief Declare an implicit attribute set function
- \internal
-*/
-#define FLEXT_ATTRSET_(VAR,TP) \
-static bool FLEXT_SET_PRE(VAR)(flext_base *c,TP &arg) \
-{ FLEXT_CAST<thisType *>(c)->VAR = arg; return true; }
-
-/*! \brief Declare an implicit attribute get function
- \internal
-*/
-#define FLEXT_ATTRGET_(VAR,TP) \
-static bool FLEXT_GET_PRE(VAR)(flext_base *c,TP &arg) \
-{ arg = (TP)FLEXT_CAST<thisType *>(c)->VAR; return true; }
-
-
-
-/*! \defgroup FLEXT_DA_ATTRSET Definition of implicit attribute set handlers
- \ingroup FLEXT_D_ATTRIB
- @{
-*/
-
-//! Declare an implicit set function for a float attribute
-#define FLEXT_ATTRSET_F(VAR) \
-\
-FLEXT_ATTRSET_(VAR,float)
-
-//! Declare an implicit set function for an integer attribute
-#define FLEXT_ATTRSET_I(VAR) \
-\
-FLEXT_ATTRSET_(VAR,int)
-
-//! Declare an implicit set function for a symbol attribute
-#define FLEXT_ATTRSET_S(VAR) \
-\
-FLEXT_ATTRSET_(VAR,const t_symbol *)
-
-//! Declare an implicit set function for a boolean attribute
-#define FLEXT_ATTRSET_B(VAR) \
-\
-FLEXT_ATTRSET_(VAR,bool)
-/*
-static bool FLEXT_SET_PRE(VAR)(flext_base *c,int &arg) \
-{ FLEXT_CAST<thisType *>(c)->VAR = arg != 0; return true; }
-*/
-
-//! Declare an implicit set function for an enum attribute
-#define FLEXT_ATTRSET_E(VAR,TP) \
-\
-FLEXT_ATTRSET_(VAR,TP)
-
-//! Declare an implicit set function for a variable list attribute
-#define FLEXT_ATTRSET_V(VAR) \
-static bool FLEXT_SET_PRE(VAR)(flext_base *c,AtomList *&arg) \
-{ FLEXT_CAST<thisType *>(c)->VAR = *arg; return true; }
-
-//! @} FLEXT_DA_ATTRSET
-
-/*! \defgroup FLEXT_DA_ATTRGET Definition of implicit attribute get handlers
- \ingroup FLEXT_D_ATTRIB
- @{
-*/
-
-//! Declare an implicit get function for a float attribute
-#define FLEXT_ATTRGET_F(VAR) \
-\
-FLEXT_ATTRGET_(VAR,float)
-
-//! Declare an implicit get function for an integer attribute
-#define FLEXT_ATTRGET_I(VAR) \
-\
-FLEXT_ATTRGET_(VAR,int)
-
-//! Declare an implicit get function for a symbol attribute
-#define FLEXT_ATTRGET_S(VAR) \
-\
-FLEXT_ATTRGET_(VAR,const t_symbol *)
-
-//! Declare an implicit get function for a boolean attribute
-#define FLEXT_ATTRGET_B(VAR) \
-\
-FLEXT_ATTRGET_(VAR,bool)
-/*
-static bool FLEXT_GET_PRE(VAR)(flext_base *c,int &arg) \
-{ arg = FLEXT_CAST<thisType *>(c)->VAR?1:0; return true; }
-*/
-
-//! Declare an implicit get function for an enum attribute
-#define FLEXT_ATTRGET_E(VAR,TP) \
-\
-FLEXT_ATTRGET_(VAR,TP)
-
-//! Declare an implicit get function for a variable list attribute
-#define FLEXT_ATTRGET_V(VAR) \
-static bool FLEXT_GET_PRE(VAR)(flext_base *c,AtomList *&arg) \
-{ *arg = FLEXT_CAST<thisType *>(c)->VAR; return true; }
-
-//! @} FLEXT_DA_ATTRGET
-
-
-/*! \defgroup FLEXT_DA_ATTRVAR Definition of implicit attribute transfer handlers (both get and set)
- \ingroup FLEXT_D_ATTRIB
- @{
-*/
-
-//! Declare both implicit get and set functions for a float attribute
-#define FLEXT_ATTRVAR_F(VAR) \
-\
-FLEXT_ATTRGET_F(VAR) FLEXT_ATTRSET_F(VAR)
-
-//! Declare both implicit get and set functions for an integer attribute
-#define FLEXT_ATTRVAR_I(VAR) \
-\
-FLEXT_ATTRGET_I(VAR) FLEXT_ATTRSET_I(VAR)
-
-//! Declare both implicit get and set functions for a symbol attribute
-#define FLEXT_ATTRVAR_S(VAR) \
-\
-FLEXT_ATTRGET_S(VAR) FLEXT_ATTRSET_S(VAR)
-
-//! Declare both implicit get and set functions for a boolean attribute
-#define FLEXT_ATTRVAR_B(VAR) \
-\
-FLEXT_ATTRGET_B(VAR) FLEXT_ATTRSET_B(VAR)
-
-//! Declare both implicit get and set functions for an enum attribute
-#define FLEXT_ATTRVAR_E(VAR,TP) \
-\
-FLEXT_ATTRGET_(VAR,TP) FLEXT_ATTRSET_(VAR,TP)
-
-//! Declare both implicit get and set functions for a variable list attribute
-#define FLEXT_ATTRVAR_V(VAR) \
-\
-FLEXT_ATTRGET_V(VAR) FLEXT_ATTRSET_V(VAR)
-
-
-//! @} FLEXT_DA_ATTRVAR
-
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_hdr.h b/externals/grill/flext/source/fldefs_hdr.h
deleted file mode 100644
index 01bcd477..00000000
--- a/externals/grill/flext/source/fldefs_hdr.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_hdr.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_HEADER_H
-#define __FLEXT_DEFS_HEADER_H
-
-
-/*! \defgroup FLEXT_D_HEADER Flext class header
- \note One (and only one!) of these definitions is compulsory for the class declaration.
- \note It has to be placed somewhere in the class definition (not necessarily in a public section).
-
- @{
-*/
-
-/*! \brief Plain flext class header
- \param NEW_CLASS name of the current C++ class
- \param PARENT_CLASS name of the base C++ class (e.g. flext_base or flext_dsp)
-*/
-#define FLEXT_HEADER(NEW_CLASS,PARENT_CLASS) \
-\
-FLEXT_REALHDR(NEW_CLASS, PARENT_CLASS)
-
-#define FLEXT_HEADER_T(NEW_CLASS,PARENT_CLASS) \
-\
-FLEXT_REALHDR_T(NEW_CLASS, PARENT_CLASS)
-
-/*! \brief Flext class header with setup function
- \param NEW_CLASS name of the current C++ class
- \param PARENT_CLASS name of the base C++ class (e.g. flext_base or flext_dsp)
- \param SETUPFUN setup function, of type "void (*setupfn)(t_class *)"
-
- The setup function is called after class creation. It corresponds to the
- original PD "[object]_setup" function, apart from the
- fact that all necessary class initializations have already been taken care of by flext.
- The setup function can e.g. be used for a message to the console upon first creation of an object.
-*/
-#define FLEXT_HEADER_S(NEW_CLASS, PARENT_CLASS, SETUPFUN)\
-\
-FLEXT_REALHDR_S(NEW_CLASS, PARENT_CLASS, SETUPFUN)
-
-#define FLEXT_HEADER_TS(NEW_CLASS, PARENT_CLASS, SETUPFUN)\
-\
-FLEXT_REALHDR_TS(NEW_CLASS, PARENT_CLASS, SETUPFUN)
-
-
-//! @} FLEXT_D_HEADER
-
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_methadd.h b/externals/grill/flext/source/fldefs_methadd.h
deleted file mode 100644
index 0798f702..00000000
--- a/externals/grill/flext/source/fldefs_methadd.h
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_methadd.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_METHADD_H
-#define __FLEXT_DEFS_METHADD_H
-
-
-/*! \defgroup FLEXT_D_CADDMETHOD Add flext methods within class scope
- \ingroup FLEXT_D_METHOD
- \note These can only be used at class construction time
- @{
-*/
-
-/*! Add a method handler for bang
- \note This is for compatibility - better use the method below
-*/
-#define FLEXT_CADDBANG(CL,IX,M_FUN) \
-\
-AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN))
-
-//! Add a handler for a method with either no, list or anything arguments
-#define FLEXT_CADDMETHOD(CL,IX,M_FUN) \
-\
-AddMethod(CL,IX,FLEXT_CALL_PRE(M_FUN))
-
-//! Add a a handler for a method with implicit arguments
-#define FLEXT_CADDMETHOD_(CL,IX,M_TAG,M_FUN) \
-\
-AddMethod(CL,IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN))
-
-//! Add a handler for a method with 1 enum type argument
-#define FLEXT_CADDMETHOD_E(CL,IX,M_TAG,M_FUN) \
-\
-AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null)
-
-//! Add a handler for a method with 1 argument
-#define FLEXT_CADDMETHOD_1(CL,IX,M_TAG,M_FUN,TP1) \
-\
-AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null)
-
-//! Add a handler for a method with 2 arguments
-#define FLEXT_CADDMETHOD_2(CL,IX,M_TAG,M_FUN,TP1,TP2) \
-\
-AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null)
-
-//! Add a handler for a method with 3 arguments
-#define FLEXT_CADDMETHOD_3(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3) \
-\
-AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null)
-
-//! Add a handler for a method with 4 arguments
-#define FLEXT_CADDMETHOD_4(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4) \
-\
-AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),a_null)
-
-//! Add a handler for a method with 5 arguments
-#define FLEXT_CADDMETHOD_5(CL,IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4,TP5) \
-\
-AddMethod(ClMeths(CL),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),FLEXTARG(TP5),a_null)
-
-
-// Shortcuts
-
-//! Add a handler for a method with a boolean argument
-#define FLEXT_CADDMETHOD_B(CL,IX,M_TAG,M_FUN) \
-\
-FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,bool)
-
-//! Add a handler for a method with 1 float argument
-#define FLEXT_CADDMETHOD_F(CL,IX,M_TAG,M_FUN) \
-\
-FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float)
-
-//! Add a handler for a method with 2 float arguments
-#define FLEXT_CADDMETHOD_FF(CL,IX,M_TAG,M_FUN) \
-\
-FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float)
-
-//! Add a handler for a method with 3 float arguments
-#define FLEXT_CADDMETHOD_FFF(CL,IX,M_TAG,M_FUN) \
-\
-FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float)
-
-//! Add a handler for a method with 1 integer argument
-#define FLEXT_CADDMETHOD_I(CL,IX,M_TAG,M_FUN) \
-\
-FLEXT_CADDMETHOD_1(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int)
-
-//! Add a handler for a method with 2 integer arguments
-#define FLEXT_CADDMETHOD_II(CL,IX,M_TAG,M_FUN) \
-\
-FLEXT_CADDMETHOD_2(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int)
-
-//! Add a handler for a method with 3 integer arguments
-#define FLEXT_CADDMETHOD_III(CL,IX,M_TAG,M_FUN) \
-\
-FLEXT_CADDMETHOD_3(CL,IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int)
-
-//! @} FLEXT_D_CADDMETHOD
-
-
-/*! \defgroup FLEXT_D_ADDMETHOD Add flext methods
- \ingroup FLEXT_D_METHOD
- \note These can only be used at object construction time
- \note (in constructor or in Init() function before call to parent's Init())
- @{
-*/
-
-//! Set timer callback
-#define FLEXT_ADDTIMER(TMR,M_FUN) \
-\
-TMR.SetCallback(*this,FLEXT_CALL_PRE(M_FUN))
-
-//! Enable list element distribution over inlets (if no better handler found)
-#define FLEXT_ADDDIST() \
-\
-SetDist(true)
-
-//! Add a method handler for bang
-#define FLEXT_ADDBANG(IX,M_FUN) \
-\
-AddMethod(IX,"bang",FLEXT_CALL_PRE(M_FUN))
-
-//! Add a handler for a method with either no, list or anything arguments
-#define FLEXT_ADDMETHOD(IX,M_FUN) \
-AddMethod(IX,FLEXT_CALL_PRE(M_FUN))
-
-/*! \brief Add a handler for a method with a (variable argument) list
- \deprecated This definition obscures that _ indicates the usage of a message tag - use FLEXT_ADDMETHOD instead
- \note This is already covered by FLEXT_ADDMETHOD, but here for the sake of clarity
-*/
-#define FLEXT_ADDMETHOD_V(IX,M_FUN) \
-\
-AddMethod(IX,FLEXT_CALL_PRE(M_FUN))
-
-/*! \brief Add a handler for a method with an anything argument
- \deprecated This definition obscures that _ indicates the usage of a message tag - use FLEXT_ADDMETHOD instead
- \note This is already covered by FLEXT_ADDMETHOD, but here for the sake of clarity
-*/
-#define FLEXT_ADDMETHOD_A(IX,M_FUN) \
-\
-AddMethod(IX,FLEXT_CALL_PRE(M_FUN))
-
-//! Add a a handler for a tagged method with implicit arguments
-#define FLEXT_ADDMETHOD_(IX,M_TAG,M_FUN) \
-\
-AddMethod(IX,flext::MakeSymbol(M_TAG),FLEXT_CALL_PRE(M_FUN))
-
-//! Add a handler for a method with 1 enum type argument
-#define FLEXT_ADDMETHOD_E(IX,M_TAG,M_FUN) \
-\
-AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),a_int,a_null)
-
-//! Add a handler for a method with 1 argument
-#define FLEXT_ADDMETHOD_1(IX,M_TAG,M_FUN,TP1) \
-\
-AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),a_null)
-
-//! Add a handler for a method with 2 arguments
-#define FLEXT_ADDMETHOD_2(IX,M_TAG,M_FUN,TP1,TP2) \
-\
-AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),a_null)
-
-//! Add a handler for a method with 3 arguments
-#define FLEXT_ADDMETHOD_3(IX,M_TAG,M_FUN,TP1,TP2,TP3) \
-\
-AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),a_null)
-
-//! Add a handler for a method with 4 arguments
-#define FLEXT_ADDMETHOD_4(IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4) \
-\
-AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),a_null)
-
-//! Add a handler for a method with 5 arguments
-#define FLEXT_ADDMETHOD_5(IX,M_TAG,M_FUN,TP1,TP2,TP3,TP4,TP5) \
-\
-AddMethod(ThMeths(),IX,flext::MakeSymbol(M_TAG),(methfun)(FLEXT_CALL_PRE(M_FUN)),FLEXTARG(TP1),FLEXTARG(TP2),FLEXTARG(TP3),FLEXTARG(TP4),FLEXTARG(TP5),a_null)
-
-
-// Shortcuts
-
-//! Add a handler for a method with a boolean argument
-#define FLEXT_ADDMETHOD_B(IX,M_TAG,M_FUN) \
-\
-FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,bool)
-
-//! Add a handler for a method with 1 float argument
-#define FLEXT_ADDMETHOD_F(IX,M_TAG,M_FUN) \
-\
-FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,float)
-
-//! Add a handler for a method with 2 float arguments
-#define FLEXT_ADDMETHOD_FF(IX,M_TAG,M_FUN) \
-\
-FLEXT_ADDMETHOD_2(IX,flext::MakeSymbol(M_TAG),M_FUN,float,float)
-
-//! Add a handler for a method with 3 float arguments
-#define FLEXT_ADDMETHOD_FFF(IX,M_TAG,M_FUN) \
-\
-FLEXT_ADDMETHOD_3(IX,flext::MakeSymbol(M_TAG),M_FUN,float,float,float)
-
-//! Add a handler for a method with 1 integer argument
-#define FLEXT_ADDMETHOD_I(IX,M_TAG,M_FUN) \
-\
-FLEXT_ADDMETHOD_1(IX,flext::MakeSymbol(M_TAG),M_FUN,int)
-
-//! Add a handler for a method with 2 integer arguments
-#define FLEXT_ADDMETHOD_II(IX,M_TAG,M_FUN) \
-\
-FLEXT_ADDMETHOD_2(IX,flext::MakeSymbol(M_TAG),M_FUN,int,int)
-
-//! Add a handler for a method with 3 integer arguments
-#define FLEXT_ADDMETHOD_III(IX,M_TAG,M_FUN) \
-\
-FLEXT_ADDMETHOD_3(IX,flext::MakeSymbol(M_TAG),M_FUN,int,int,int)
-
-
-//! @} FLEXT_D_ADDMETHOD
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_methbind.h b/externals/grill/flext/source/fldefs_methbind.h
deleted file mode 100644
index 46dd8186..00000000
--- a/externals/grill/flext/source/fldefs_methbind.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_methbind.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_METHBIND_H
-#define __FLEXT_DEFS_METHBIND_H
-
-
-/*! \defgroup FLEXT_D_BINDMETHOD Bind flext methods to symbols
- @{
-*/
-
-/*! \brief Bind a handler for a method with an anything argument to a symbol
-*/
-#define FLEXT_BINDMETHOD(SYM,M_FUN,DATA) \
-\
-BindMethod(SYM,FLEXT_CALL_PRE(M_FUN),DATA)
-
-/*! \brief Unbind any handler for a method from a symbol
- \note Memory associated to the DATA parameter of FLEXT_BINDMETHOD will *not* be freed here.
-*/
-#define FLEXT_UNBINDMETHOD(SYM) \
-\
-UnbindMethod(SYM)
-
-/*! \brief Unbind any handler for a method from a symbol and return user data pointer by DATA
- \note Memory associated to the DATA parameter of FLEXT_BINDMETHOD will *not* be freed here.
-*/
-#define FLEXT_UNBINDMETHOD_X(SYM,DATA) \
-\
-UnbindMethod(SYM,&DATA)
-
-
-//! @} FLEXT_D_BINDMETHOD
-
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_methcall.h b/externals/grill/flext/source/fldefs_methcall.h
deleted file mode 100644
index 1602faf0..00000000
--- a/externals/grill/flext/source/fldefs_methcall.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_methbind.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_METHCALL_H
-#define __FLEXT_DEFS_METHCALL_H
-
-
-/*! \defgroup FLEXT_D_CALLMETHOD Call flext methods manually
- \ingroup FLEXT_D_METHOD
- @{
-*/
-
-//! Call a (already defined) method with no arguments
-#define FLEXT_CALLMETHOD(M_FUN) \
-\
-FLEXT_CALL_PRE(M_FUN)(this)
-
-//! Call a (already defined) method with variable list arguments
-#define FLEXT_CALLMETHOD_V(M_FUN,ARGC,ARGV) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,ARGC,(t_atom *)(ARGV))
-
-//! Call a (already defined) method with anything arguments
-#define FLEXT_CALLMETHOD_A(M_FUN,HDR,ARGC,ARGV) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,(t_symbol *)(HDR),ARGC,(t_atom *)(ARGV))
-
-//! Call a (already defined) method with a data package (void *)
-#define FLEXT_CALLMETHOD_X(M_FUN,DATA) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,DATA)
-
-//! Call a (already defined) method with 1 enum type argument
-#define FLEXT_CALLMETHOD_E(M_FUN,ARG) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,ARG)
-
-//! Call a (already defined) method with 1 argument
-#define FLEXT_CALLMETHOD_1(M_FUN,ARG) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,ARG)
-
-//! Call a (already defined) method with 2 arguments
-#define FLEXT_CALLMETHOD_2(M_FUN,ARG1,ARG2) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2)
-
-//! Call a (already defined) method with 3 arguments
-#define FLEXT_CALLMETHOD_3(M_FUN,ARG1,ARG2,ARG3) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3)
-
-//! Call a (already defined) method with 4 arguments
-#define FLEXT_CALLMETHOD_4(M_FUN,ARG1,ARG2,ARG3,ARG4) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3,ARG4)
-
-//! Call a (already defined) method with 5 arguments
-#define FLEXT_CALLMETHOD_5(M_FUN,ARG1,ARG2,ARG3,ARG4,ARG5) \
-\
-FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3,ARG4,ARG5)
-
-//! @} FLEXT_D_CALLMETHOD
-
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_methcb.h b/externals/grill/flext/source/fldefs_methcb.h
deleted file mode 100644
index c1112b85..00000000
--- a/externals/grill/flext/source/fldefs_methcb.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_methcb.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_METHCB_H
-#define __FLEXT_DEFS_METHCB_H
-
-
-/*! \defgroup FLEXT_D_CALLBACK Declare callbacks for class methods
- \ingroup FLEXT_D_METHOD
- @{
-*/
-
-//! Set up a method callback with no arguments
-#define FLEXT_CALLBACK(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(); return true; }
-
-//! Set up a method callback for an anything argument
-#define FLEXT_CALLBACK_A(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(s,argc,argv); return true; }
-
-//! Set up a method callback for a variable argument list
-#define FLEXT_CALLBACK_V(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int argc,t_atom *argv) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(argc,argv); return true; }
-
-//! Set up a method callback for a data package (void *) argument
-#define FLEXT_CALLBACK_X(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,void *data) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(data); return true; }
-
-//! Set up a method callback for an anything argument and a data package (e.g. for symbol-bound methods).
-#define FLEXT_CALLBACK_AX(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv,void *data) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(s,argc,argv,data); return true; }
-
-//! Set up a timer callback
-#define FLEXT_CALLBACK_T(M_FUN) \
-\
-FLEXT_CALLBACK_X(M_FUN)
-
-//! Set up a method callback for a boolean argument
-#define FLEXT_CALLBACK_B(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int &arg1) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1 != 0); return true; }
-
-//! Set up a method callback for 1 argument
-#define FLEXT_CALLBACK_1(M_FUN,TP1) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1); return true; }
-
-//! Set up a method callback for 2 arguments
-#define FLEXT_CALLBACK_2(M_FUN,TP1,TP2) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2); return true; }
-
-//! Set up a method callback for 3 arguments
-#define FLEXT_CALLBACK_3(M_FUN,TP1,TP2,TP3) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3); return true; }
-
-//! Set up a method callback for 4 arguments
-#define FLEXT_CALLBACK_4(M_FUN,TP1,TP2,TP3,TP4) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3,arg4); return true; }
-
-//! Set up a method callback for 5 arguments
-#define FLEXT_CALLBACK_5(M_FUN,TP1,TP2,TP3,TP4,TP5) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4,TP5 &arg5) \
-{ FLEXT_CAST<thisType *>(c)->M_FUN(arg1,arg2,arg3,arg4,arg5); return true; }
-
-
-// Shortcuts
-
-//! Set up a method callback for 1 float argument
-#define FLEXT_CALLBACK_F(M_FUN) \
-\
-FLEXT_CALLBACK_1(M_FUN,float)
-
-//! Set up a method callback for 2 float arguments
-#define FLEXT_CALLBACK_FF(M_FUN) \
-\
-FLEXT_CALLBACK_2(M_FUN,float,float)
-
-//! Set up a method callback for 3 float arguments
-#define FLEXT_CALLBACK_FFF(M_FUN) \
-\
-FLEXT_CALLBACK_3(M_FUN,float,float,float)
-
-//! Set up a method callback for 1 integer argument
-#define FLEXT_CALLBACK_I(M_FUN) \
-\
-FLEXT_CALLBACK_1(M_FUN,int)
-
-//! Set up a method callback for 2 integer arguments
-#define FLEXT_CALLBACK_II(M_FUN) \
-\
-FLEXT_CALLBACK_2(M_FUN,int,int)
-
-//! Set up a method callback for 3 integer arguments
-#define FLEXT_CALLBACK_III(M_FUN) \
-\
-FLEXT_CALLBACK_3(M_FUN,int,int,int)
-
-//! Set up a method callback for 1 symbol argument
-#define FLEXT_CALLBACK_S(M_FUN) \
-\
-FLEXT_CALLBACK_1(M_FUN,t_symptr)
-
-
-//! \deprecated
-#define FLEXT_CALLBACK_G FLEXT_CALLBACK_V
-
-//! @} FLEXT_D_CALLBACK
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_meththr.h b/externals/grill/flext/source/fldefs_meththr.h
deleted file mode 100644
index f68aa507..00000000
--- a/externals/grill/flext/source/fldefs_meththr.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_meththr.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_METHTHR_H
-#define __FLEXT_DEFS_METHTHR_H
-
-
-#ifdef FLEXT_THREADS
-
-
-/*! \defgroup FLEXT_D_THREAD Declare threaded method callbacks
- @{
-*/
-
-//! Set up a threaded method callback with no arguments
-#define FLEXT_THREAD(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c) { \
- thr_params *p = new thr_params; \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- delete p; \
- if(ok) { \
- th->M_FUN(); \
- th->PopThread(); \
- } \
-}
-
-//! Set up a threaded method callback for an anything argument
-#define FLEXT_THREAD_A(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,t_symbol *s,int argc,t_atom *argv) { \
- thr_params *p = new thr_params; p->set_any(s,argc,argv); \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- AtomAnything *args = p->var[0]._any; \
- delete p; \
- if(ok) { \
- th->M_FUN(args->Header(),args->Count(),args->Atoms()); \
- th->PopThread(); \
- } \
- delete args; \
-}
-
-//! Set up a threaded method callback for a variable argument list
-#define FLEXT_THREAD_V(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int argc,t_atom *argv) { \
- thr_params *p = new thr_params; p->set_list(argc,argv); \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- AtomList *args = p->var[0]._list; \
- delete p; \
- if(ok) { \
- th->M_FUN(args->Count(),args->Atoms()); \
- th->PopThread(); \
- } \
- delete args; \
-}
-
-/*! \brief Set up a threaded method callback for an arbitrary data struct.
- \note Data is pure... no destructor is called upon delete
-*/
-#define FLEXT_THREAD_X(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,void *data) { \
- thr_params *p = new thr_params; p->var[0]._ext = data; \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- void *data = p->var[0]._ext; \
- delete p; \
- if(ok) { \
- th->M_FUN(data); \
- th->PopThread(); \
- } \
- /* delete (char *)data; */ \
-}
-
-//! Set up a threaded method callback for a boolean argument
-#define FLEXT_THREAD_B(M_FUN) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,int &arg1) { \
- thr_params *p = new thr_params; p->var[0]._bool = arg1 != 0; \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- bool b = p->var[0]._bool; \
- delete p; \
- if(ok) { \
- th->M_FUN(b); \
- th->PopThread(); \
- } \
-}
-
-//! Set up a threaded method callback for 1 argument
-#define FLEXT_THREAD_1(M_FUN,TP1) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1) { \
- thr_params *p = new thr_params(1); \
- p->var[0]._ ## TP1 = arg1; \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- const TP1 v1 = p->var[0]._ ## TP1; \
- delete p; \
- if(ok) { \
- th->M_FUN(v1); \
- th->PopThread(); \
- } \
-}
-
-//! Set up a threaded method callback for 2 arguments
-#define FLEXT_THREAD_2(M_FUN,TP1,TP2) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2) { \
- thr_params *p = new thr_params(2); \
- p->var[0]._ ## TP1 = arg1; \
- p->var[1]._ ## TP2 = arg2; \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- const TP1 v1 = p->var[0]._ ## TP1; \
- const TP1 v2 = p->var[1]._ ## TP2; \
- delete p; \
- if(ok) { \
- th->M_FUN(v1,v2); \
- th->PopThread(); \
- } \
-}
-
-//! Set up a threaded method callback for 3 arguments
-#define FLEXT_THREAD_3(M_FUN,TP1,TP2,TP3) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3) { \
- thr_params *p = new thr_params(3); \
- p->var[0]._ ## TP1 = arg1; \
- p->var[1]._ ## TP2 = arg2; \
- p->var[2]._ ## TP3 = arg3; \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- const TP1 v1 = p->var[0]._ ## TP1; \
- const TP2 v2 = p->var[1]._ ## TP2; \
- const TP3 v3 = p->var[2]._ ## TP3; \
- delete p; \
- if(ok) { \
- th->M_FUN(v1,v2,v3); \
- th->PopThread(); \
- } \
-}
-
-//! Set up a threaded method callback for 4 arguments
-#define FLEXT_THREAD_4(M_FUN,TP1,TP2,TP3,TP4) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4) { \
- thr_params *p = new thr_params(4); \
- p->var[0]._ ## TP1 = arg1; \
- p->var[1]._ ## TP2 = arg2; \
- p->var[2]._ ## TP3 = arg3; \
- p->var[3]._ ## TP4 = arg4; \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- const TP1 v1 = p->var[0]._ ## TP1; \
- const TP2 v2 = p->var[1]._ ## TP2; \
- const TP3 v3 = p->var[2]._ ## TP3; \
- const TP4 v4 = p->var[3]._ ## TP4; \
- delete p; \
- if(ok) { \
- th->M_FUN(v1,v2,v3,v4); \
- th->PopThread(); \
- } \
-}
-
-//! Set up a threaded method callback for 5 arguments
-#define FLEXT_THREAD_5(M_FUN,TP1,TP2,TP3,TP4,TP5) \
-static bool FLEXT_CALL_PRE(M_FUN)(flext_base *c,TP1 &arg1,TP2 &arg2,TP3 &arg3,TP4 &arg4,TP5 &arg5) { \
- thr_params *p = new thr_params(5); \
- p->var[0]._ ## TP1 = arg1; \
- p->var[1]._ ## TP2 = arg2; \
- p->var[2]._ ## TP3 = arg3; \
- p->var[3]._ ## TP4 = arg4; \
- p->var[4]._ ## TP5 = arg5; \
- return c->StartThread(FLEXT_THR_PRE(M_FUN),p,#M_FUN); \
-} \
-static void FLEXT_THR_PRE(M_FUN)(thr_params *p) { \
- thisType *th = FLEXT_CAST<thisType *>(p->cl); \
- bool ok = th->PushThread(); \
- const TP1 v1 = p->var[0]._ ## TP1; \
- const TP2 v2 = p->var[1]._ ## TP2; \
- const TP3 v3 = p->var[2]._ ## TP3; \
- const TP4 v4 = p->var[3]._ ## TP4; \
- const TP5 v5 = p->var[4]._ ## TP5; \
- delete p; \
- if(ok) { \
- th->M_FUN(v1,v2,v3,v4,v5); \
- th->PopThread(); \
- } \
-}
-
-
-//! Shortcuts
-
-//! Set up a threaded method callback for 1 float argument
-#define FLEXT_THREAD_F(M_FUN) \
-\
-FLEXT_THREAD_1(M_FUN,float)
-
-//! Set up a threaded method callback for 2 float arguments
-#define FLEXT_THREAD_FF(M_FUN) \
-\
-FLEXT_THREAD_2(M_FUN,float,float)
-
-//! Set up a threaded method callback for 3 float arguments
-#define FLEXT_THREAD_FFF(M_FUN) \
-\
-FLEXT_THREAD_3(M_FUN,float,float,float)
-
-//! Set up a threaded method callback for 1 integer argument
-#define FLEXT_THREAD_I(M_FUN) \
-\
-FLEXT_THREAD_1(M_FUN,int)
-
-//! Set up a threaded method callback for 2 integer arguments
-#define FLEXT_THREAD_II(M_FUN) \
-\
-FLEXT_THREAD_2(M_FUN,int,int)
-
-//! Set up a threaded method callback for 3 integer arguments
-#define FLEXT_THREAD_III(M_FUN) \
-\
-FLEXT_THREAD_3(M_FUN,int,int,int)
-
-//! Set up a threaded method callback for 1 symbol argument
-#define FLEXT_THREAD_S(M_FUN) \
-\
-FLEXT_THREAD_1(M_FUN,t_symptr)
-
-// deprecated
-#define FLEXT_THREAD_G FLEXT_THREAD_V
-
-//! @} FLEXT_D_THREAD
-
-
-#endif // FLEXT_THREADS
-
-
-#endif
diff --git a/externals/grill/flext/source/fldefs_setup.h b/externals/grill/flext/source/fldefs_setup.h
deleted file mode 100644
index 17455b39..00000000
--- a/externals/grill/flext/source/fldefs_setup.h
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldefs_setup.h
- \brief This file contains all #defines for actual usage
-
-*/
-
-#ifndef __FLEXT_DEFS_SETUP_H
-#define __FLEXT_DEFS_SETUP_H
-
-// ====================================================================================
-
-/*! \defgroup FLEXT_D_INSTANCE Class instantiation
- \note For stand-alone externals (not part of a library) the name of your class
- \note is of importance! It must be the same as the external (excluded an eventual ~ (tilde))
-
- There are additional parameters that can be included in the NAME field of FLEXT_NEW etc.:
-
- - There may be additional names (aliases) appened, separated by spaces
- - There may be a help path prepended, separated by a colon
- - This help path doesn't work for Max/MSP. There you'll have to use a object mapping file (Max/MSP version >= 4.2)
-
- @{
-*/
-
-
-/*! \defgroup FLEXT_D_NEW Stand-alone class instantiation
- Makes an actual instance of a stand-alone class.
-*/
-
-/*! \defgroup FLEXT_D_NEW_DSP Dsp class instantiation
- Makes an actual instance of a dsp (aka "tilde") class (with signal processing).
-*/
-
-/*! \defgroup FLEXT_D_LIB Library class instantiation
- Makes an actual instance of a class which is part of an object library (and not stand-alone).
-*/
-
-/*! \defgroup FLEXT_D_LIB_DSP Dsp library class instantiation
- Makes an actual instance of a dsp (aka "tilde") class with signal processing
- which is part of an object library (and not stand-alone).
-*/
-
-// NO ARGUMENTS
-// ----------------------------------------
-
-/*! \brief Implementation of a flext class with no arguments
- \ingroup FLEXT_D_NEW
- \param NAME the object's actual name(s) as a string (like "*", "trigger", "noise~", etc.)
- \param NEW_CLASS the object's C++ class name
-*/
-#define FLEXT_NEW(NAME,NEW_CLASS) \
-\
-REAL_NEW(NAME,NEW_CLASS,0,0,0)
-
-/*! \brief Implementation of a flext dsp class with no arguments
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP(NAME,NEW_CLASS) \
-\
-REAL_NEW(NAME,NEW_CLASS,1,0,0)
-
-/*! \brief Implementation of a flext dsp class with no arguments and no dsp inlet
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP0(NAME,NEW_CLASS) \
-\
-REAL_NEW(NAME,NEW_CLASS,1,1,0)
-
-/*! \brief Implementation of a flext class (part of a library) with no arguments
- \ingroup FLEXT_D_LIB
-*/
-#define FLEXT_LIB(NAME,NEW_CLASS) \
-\
-REAL_NEW(NAME,NEW_CLASS,0,0,1)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with no arguments
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP(NAME,NEW_CLASS) \
-\
-REAL_NEW(NAME,NEW_CLASS,1,0,1)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with no arguments and no dsp inlet
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP0(NAME,NEW_CLASS) \
-\
-REAL_NEW(NAME,NEW_CLASS,1,1,1)
-
-
-// VARIABLE ARGUMENT LIST
-// ----------------------------------------
-
-/*! \brief Implementation of a flext class with a variable argument list
- \ingroup FLEXT_D_NEW
-*/
-#define FLEXT_NEW_V(NAME,NEW_CLASS) \
-\
-REAL_NEW_V(NAME,NEW_CLASS,0,0,0)
-
-/*! \brief Implementation of a flext dsp class with a variable argument list
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP_V(NAME,NEW_CLASS) \
-\
-REAL_NEW_V(NAME,NEW_CLASS,1,0,0)
-
-/*! \brief Implementation of a flext dsp class with a variable argument list and no dsp inlet
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP0_V(NAME,NEW_CLASS) \
-\
-REAL_NEW_V(NAME,NEW_CLASS,1,1,0)
-
-/*! \brief Implementation of a flext class (part of a library) with a variable argument list
- \ingroup FLEXT_D_LIB
-*/
-#define FLEXT_LIB_V(NAME,NEW_CLASS) \
-\
-REAL_NEW_V(NAME,NEW_CLASS, 0,0,1)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP_V(NAME,NEW_CLASS) \
-\
-REAL_NEW_V(NAME,NEW_CLASS, 1,0,1)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with a variable argument list and no dsp inlet
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP0_V(NAME,NEW_CLASS) \
-\
-REAL_NEW_V(NAME,NEW_CLASS, 1,1,1)
-
-
-// ONE ARGUMENT
-// ----------------------------------------
-
-/*! \brief Implementation of a flext class with one argument
- \ingroup FLEXT_D_NEW
-*/
-#define FLEXT_NEW_1(NAME,NEW_CLASS, TYPE) \
-\
-REAL_NEW_1(NAME,NEW_CLASS, 0,0,0, TYPE)
-
-/*! \brief Implementation of a flext dsp class with one argument
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP_1(NAME,NEW_CLASS, TYPE) \
-\
-REAL_NEW_1(NAME,NEW_CLASS, 1,0,0, TYPE)
-
-/*! \brief Implementation of a flext dsp class with one argument and no dsp inlet
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP0_1(NAME,NEW_CLASS, TYPE) \
-\
-REAL_NEW_1(NAME,NEW_CLASS, 1,1,0, TYPE)
-
-/*! \brief Implementation of a flext class (part of a library) with one argument
- \ingroup FLEXT_D_LIB
-*/
-#define FLEXT_LIB_1(NAME,NEW_CLASS, TYPE) \
-\
-REAL_NEW_1(NAME,NEW_CLASS, 0,0,1, TYPE)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with one argument
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP_1(NAME,NEW_CLASS, TYPE) \
-\
-REAL_NEW_1(NAME,NEW_CLASS, 1,0,1, TYPE)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with one argument and no dsp inlet
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP0_1(NAME,NEW_CLASS, TYPE) \
-\
-REAL_NEW_1(NAME,NEW_CLASS, 1,1,1, TYPE)
-
-
-// TWO ARGUMENTS
-// ----------------------------------------
-
-/*! \brief Implementation of a flext class with 2 arguments
- \ingroup FLEXT_D_NEW
-*/
-#define FLEXT_NEW_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
-\
-REAL_NEW_2(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2)
-
-/*! \brief Implementation of a flext dsp class with 2 arguments
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
-\
-REAL_NEW_2(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2)
-
-/*! \brief Implementation of a flext dsp class with 2 arguments and no dsp inlet
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
-\
-REAL_NEW_2(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2)
-
-/*! \brief Implementation of a flext class (part of a library) with 2 arguments
- \ingroup FLEXT_D_LIB
-*/
-#define FLEXT_LIB_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
-\
-REAL_NEW_2(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
-\
-REAL_NEW_2(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with 2 arguments and no dsp inlet
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP0_2(NAME,NEW_CLASS, TYPE1, TYPE2) \
-\
-REAL_NEW_2(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2)
-
-
-// THREE ARGUMENTS
-// ----------------------------------------
-
-/*! \brief Implementation of a flext class with 3 arguments
- \ingroup FLEXT_D_NEW
-*/
-#define FLEXT_NEW_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
-\
-REAL_NEW_3(NAME,NEW_CLASS, 0,0,0, TYPE1, TYPE2, TYPE3)
-
-/*! \brief Implementation of a flext dsp class with 3 arguments
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
-\
-REAL_NEW_3(NAME,NEW_CLASS, 1,0,0, TYPE1, TYPE2, TYPE3)
-
-/*! \brief Implementation of a flext dsp class with 3 arguments and no dsp inlet
- \ingroup FLEXT_D_NEW_DSP
-*/
-#define FLEXT_NEW_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
-\
-REAL_NEW_3(NAME,NEW_CLASS, 1,1,0, TYPE1, TYPE2, TYPE3)
-
-/*! \brief Implementation of a flext class (part of a library) with 3 arguments
- \ingroup FLEXT_D_LIB
-*/
-#define FLEXT_LIB_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
-\
-REAL_NEW_3(NAME,NEW_CLASS, 0,0,1, TYPE1, TYPE2, TYPE3)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
-\
-REAL_NEW_3(NAME,NEW_CLASS, 1,0,1, TYPE1, TYPE2, TYPE3)
-
-/*! \brief Implementation of a flext dsp class (part of a library) with 3 arguments and no dsp inlet
- \ingroup FLEXT_D_LIB_DSP
-*/
-#define FLEXT_LIB_DSP0_3(NAME,NEW_CLASS, TYPE1, TYPE2, TYPE3) \
-\
-REAL_NEW_3(NAME,NEW_CLASS, 1,1,1, TYPE1, TYPE2, TYPE3)
-
-
-// deprecated stuff
-
-/*! \defgroup FLEXT_D_DEPRECATED Deprecated definitions
- \deprecated
- @{
-*/
-
-#define FLEXT_NEW_G FLEXT_NEW_V
-
-#define FLEXT_NEW_TILDE FLEXT_NEW_DSP
-#define FLEXT_NEW_TILDE_G FLEXT_NEW_DSP_V
-#define FLEXT_NEW_TILDE_1 FLEXT_NEW_DSP_1
-#define FLEXT_NEW_TILDE_2 FLEXT_NEW_DSP_2
-#define FLEXT_NEW_TILDE_3 FLEXT_NEW_DSP_3
-
-#define FLEXT_LIB_G FLEXT_LIB_V
-
-#define FLEXT_LIB_TILDE FLEXT_LIB_DSP
-#define FLEXT_LIB_TILDE_G FLEXT_LIB_DSP_V
-#define FLEXT_LIB_TILDE_1 FLEXT_LIB_DSP_1
-#define FLEXT_LIB_TILDE_2 FLEXT_LIB_DSP_2
-#define FLEXT_LIB_TILDE_3 FLEXT_LIB_DSP_3
-
-#define FLEXT_TILDE_SETUP FLEXT_DSP_SETUP
-
-//! @} FLEXT_D_DEPRECATED
-
-
-/*! \defgroup FLEXT_D_LIBRARY Definitions for library objects
- @{
-*/
-
-/*! \brief Specify that to declare the library itself.
- \note If you have a library this is compulsory (to register all the objects of the library)
-*/
-#define FLEXT_LIB_SETUP(NAME,SETUPFUN) REAL_LIB_SETUP(NAME,SETUPFUN)
-
-/*! \brief Register an object in the library.
- \note This is used in the library setup function
-*/
-#define FLEXT_SETUP(cl) REAL_SETUP(cl,0)
-
-/*! \brief Register a DSP object in the library.
- \note This is used in the library setup function
-*/
-#define FLEXT_DSP_SETUP(cl) REAL_SETUP(cl,1)
-
-//! @} FLEXT_D_LIBRARY
-
-
-//! @} FLEXT_D_INSTANCE
-
-
-#endif
diff --git a/externals/grill/flext/source/fldoxygen.h b/externals/grill/flext/source/fldoxygen.h
deleted file mode 100644
index 96343528..00000000
--- a/externals/grill/flext/source/fldoxygen.h
+++ /dev/null
@@ -1,216 +0,0 @@
-#ifndef __FLEXT_DOXYGEN_H
-#define __FLEXT_DOXYGEN_H
-
-/*! \file fldoxygen.h
- \brief Doxygen definitions
- \remark There is no code in here, just documentation stuff.
-*/
-
-/*!
-
-\mainpage flext - a C++ layer for cross-platform development of PD and Max/MSP objects
-
-\section INTRO Introduction
-
-Currently there exist two widely used modular systems for real-time audio that can be
-extended by self-written objects (so called "externals"):<br>
-Max/MSP (http://www.cycling74.com) and Pure Data (http://www.pure-data.org) .
-
-Both come with APIs that are not very different (as they share their origin), but as well not quite the same.
-Flext seeks to provide a unifying interface for the APIs of those real-time systems while also
-concentrating on making use of the advantages of the object orientation of the C++ language.
-
-Consequently, flext allows to write externals (or libraries of a number of these), that can
-be compiled for both systems (with various compilers on a few platforms) without changes to the
-source code.
-Flext also tries to overcome some limitations of the real-time systems and introduces new features.
-
-The advantages of flext are:
-<ul>
-<li>Identical source code for PD and Max/MSP objects on a number of platforms
-<li>Better readability of code compared to straight C externals
-<li>Faster development, more robust coding
-<li>Sharing of common methods and data by using base classes
-<li>Transparent use of threads for methods
-<li>Libraries of externals in Max/MSP
-<li>More than 3 typed creation arguments possible for Max/MSP
-<li>Any input to any object's inlet (with the exception of signal streams)
-<li>Control of the object state by use of Max/Jitter-like "attributes"
-</ul>
-
-Naturally there are some cons, too:
-<ul>
-<li>Introduces a small overhead to speed of message handling
-<li>Overhead in object size (due to possibly unneeded library code) when statically linked
-</ul>
-
-Currently, flext supports
-<ul>
-<li>PD on Windows with Microsoft Visual C++, Borland C++ and gcc(cygwin) compilers
-<li>PD on Linux with gcc
-<li>PD on Mac OSX with gcc (makefile or Xcode)
-<li>Max/MSP on Mac OS9 and OSX with Metrowerks CodeWarrior
-</ul>
-
-\section LICENSE License
-
-Flext is covered by the GPL.
-
-flext - C++ layer for Max/MSP and pd (pure data) externals<BR>
-Copyright (C) 2001-2005 Thomas Grill
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.<BR>
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.<BR>
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-In the official flext distribution, the GNU General Public License is
-in the file gpl.txt<BR>
-Also see the file license.txt for notes on
-referenced works and their license texts.
-
-\section DOWNLOAD Download
-
-Download the latest flext version from http://grrrr.org/ext/flext .<br>
-Alternatively, you can check out the cvs version from http://sourceforge.net/projects/pure-data .
-
-\section USAGE Usage
-
-As a developer, you should know the C++ language, how to use a makefile (especially necessary for linux)
-and how to steer your compiler.<br>
-Flext can be compiled as a static library which has then to be linked to the code of your external.
-For most applications you won't have to use any of the native PD or Max/MSP API functions as they are all
-encapsulated by flext.
-
-So let's come to the point... how does a typical flext object look like?
-
-This is the object "attr1", one of the flext tutorial examples:
-
-\verbatim
-// enable attribute processing
-#define FLEXT_ATTRIBUTES 1
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-\endverbatim
-
-With these lines, all the necessary definitions from the flext package have been included.
-
-\verbatim
-class attr1:
- public flext_base
-{
- FLEXT_HEADER(attr1,flext_base)
-\endverbatim
-
-A flext class is simply defined by inheriting from the flext_base (see also \ref FLEXT_CLASS)
-or flext_dsp (see also \ref FLEXT_DSP) classes.
-Additionally some information has to be added using FLEXT_HEADER (see \ref FLEXT_D_HEADER)
-
-\verbatim
-public:
- // constructor
- attr1();
-\endverbatim
-
-Normally the constructor takes the creation arguments of an object. Here there are none.
-
-\verbatim
-protected:
- void m_trigger(float f);
-
- // stored argument
- float arg;
-\endverbatim
-
-These are methods and data elements for internal class usage. Flext doesn't know about them
-as long as they are not registered.
-
-\verbatim
-private:
- // callback for method "m_trigger" (with one float argument)
- FLEXT_CALLBACK_F(m_trigger);
-
- // define attribute callbacks for variable "arg" (with GET and SET properties)
- FLEXT_ATTRVAR_F(arg);
-};
-\endverbatim
-
-For each method that shall be exposed to the realtime-system (for receiving messages) and
-every attribute (for setting and getting values) callbacks have to be set up.
-The functions in the groups \ref FLEXT_D_CALLBACK and \ref FLEXT_D_ATTRIB allow for their
-convenient definition.
-
-\verbatim
-// instantiate the class
-FLEXT_NEW("attr1",attr1)
-\endverbatim
-
-With FLEXT_NEW the class is registered for the real-time system.
-The number of creation arguments and their types must be taken into account here.
-There are several variants depending on whether a message oriented (see \ref FLEXT_D_NEW)
-or a DSP object (see \ref FLEXT_D_NEW_DSP) is created and whether it resides in a object library
-(see \ref FLEXT_D_LIB and \ref FLEXT_D_LIB_DSP).<BR>
-
-\verbatim
-attr1::attr1():
- arg(0) // initialize argument
-{
- // define inlets
- AddInAnything(); // first inlet of type anything (index 0)
-
- // define outlets
- AddOutFloat(); // one float outlet (has index 0)
-\endverbatim
-
-Every inlet and outlet that the object shall have has to be registered.
-This is done with the functions in \ref FLEXT_C_IO_ADD.
-
-\verbatim
- // register methods
- FLEXT_ADDMETHOD(0,m_trigger); // register method (for floats) "m_trigger" for inlet 0
-
- FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg" with variable arg
-}
-\endverbatim
-
-Likewise, every method (called by a message) (see \ref FLEXT_D_ADDMETHOD) and every
-attribute (see \ref FLEXT_D_ADDATTR) exposed to the system has to be registered.
-Here the registration at instance creation is shown - there's another way by registering at
-class setup level, which is more efficient but can only be used if the methods or attributes
-used are known beforehand (see \ref FLEXT_D_CADDMETHOD and \ref FLEXT_D_CADDATTR).
-
-\verbatim
-void attr1::m_trigger(float f)
-{
- float res = arg+f;
-
- // output value to outlet
- ToOutFloat(0,res); // (0 stands for the outlet index 0)
-}
-\endverbatim
-
-This is a method that is triggered with a message. It does some calculation and then outputs
-a value to an outlet. There are numerous functions (see \ref FLEXT_C_IO_OUT) supporting
-that functionality.
-
-Be sure to work through the examples provided with the flext tutorial. These should give you
-an overview about the possibilities of flext.
-The "modules" link at the top of the page leads to a complete reference
-of flext functions and classes.
-
-*/
-
-#endif
diff --git a/externals/grill/flext/source/fldsp.cpp b/externals/grill/flext/source/fldsp.cpp
deleted file mode 100644
index e741c22a..00000000
--- a/externals/grill/flext/source/fldsp.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldsp.cpp
- \brief Implementation of the flext dsp base class.
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-#include <string.h>
-
-// === flext_dsp ==============================================
-
-void flext_dsp::Setup(t_classid id)
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
-// add_method1(c,cb_enable,"enable",A_FLOAT);
- AddMethod(id,0,MakeSymbol("enable"),&cb_enable);
-#endif
-}
-
-flext_dsp::FLEXT_CLASSDEF(flext_dsp)()
- : srate(sys_getsr()),blksz(sys_getblksize())
- , vecs(NULL)
-#if FLEXT_SYS != FLEXT_SYS_MAX
- , dspon(true)
-#endif
-{}
-
-void flext_dsp::Exit()
-{
- flext_base::Exit();
-
- if(vecs) delete[] vecs;
-}
-
-
-t_int *flext_dsp::dspmeth(t_int *w)
-{
- flext_dsp *obj = (flext_dsp *)(size_t)w[1];
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- if(!obj->thisHdr()->z_disabled)
-#else
- if(LIKELY(obj->dspon))
-#endif
- {
- flext_base::indsp = true;
- obj->CbSignal();
- flext_base::indsp = false;
- }
- return w+2;
-}
-
-void flext_dsp::SetupDsp(t_signal **sp)
-{
- int i;
- int in = CntInSig();
- int out = CntOutSig();
-#if FLEXT_SYS == FLEXT_SYS_PD
- // min. 1 input channel! (CLASS_MAININLET in pd...)
- if(!in) in = 1;
-#endif
-
- // store current dsp parameters
- srate = sp[0]->s_sr;
- blksz = sp[0]->s_n; // is this guaranteed to be the same as sys_getblksize() ?
-
- // store in and out signal vectors
-
- if((in+out) && !vecs)
- vecs = new t_signalvec[in+out];
-
- for(i = 0; i < in; ++i)
- vecs[i] = sp[i]->s_vec;
- for(i = 0; i < out; ++i)
- vecs[in+i] = sp[in+i]->s_vec;
-
- // with the following call derived classes can do their eventual DSP setup
- if(CbDsp()) {
- // set the DSP function
- dsp_add((t_dspmethod)dspmeth,1,this);
- }
-}
-
-void flext_dsp::m_dsp(int /*n*/,t_signalvec const * /*insigs*/,t_signalvec const * /*outsigs*/) {}
-
-bool flext_dsp::CbDsp()
-{
- // invoke legacy method
- m_dsp(Blocksize(),InSig(),OutSig());
- return true;
-}
-
-// this function will be overridden anyway - the probably useless default is clearing all outputs
-void flext_dsp::m_signal(int n,t_sample *const * /*insigs*/,t_sample *const *outs)
-{
- for(int i = 0; i < CntOutSig(); ++i) ZeroSamples(outs[i],n);
-}
-
-void flext_dsp::CbSignal()
-{
- // invoke legacy method
- m_signal(Blocksize(),InSig(),OutSig());
-}
-
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-//void flext_dsp::cb_enable(flext_hdr *c,t_float on) { thisObject(c)->dspon = on != 0; }
-bool flext_dsp::cb_enable(flext_base *b,float &on) { static_cast<flext_dsp *>(b)->dspon = on != 0; return true; }
-#endif
diff --git a/externals/grill/flext/source/fldsp.h b/externals/grill/flext/source/fldsp.h
deleted file mode 100644
index f4c6f470..00000000
--- a/externals/grill/flext/source/fldsp.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fldsp.h
- \brief Declares the flext dsp class
-
-*/
-
-#ifndef __FLDSP_H
-#define __FLDSP_H
-
-// include the header file declaring the base classes
-#include "flext.h"
-
-
-// === flext_dsp ==================================================
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp);
-typedef class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp) flext_dsp;
-
-
-/*! \brief Flext dsp enabled base object
-*/
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_dsp):
- public flext_base
-{
- FLEXT_HEADER_S(FLEXT_CLASSDEF(flext_dsp),flext_base,Setup)
-
- friend class FLEXT_SHARE FLEXT_CLASSDEF(flext_base);
-
-public:
-
-/*! \defgroup FLEXT_DSP Flext dsp class
-
- @{
-*/
-
-/*! \defgroup FLEXT_C_DSP Basic dsp functionality
-
- @{
-*/
-
- //! returns current sample rate
- float Samplerate() const { return srate; }
-
- //! returns current block (aka vector) size
- int Blocksize() const { return blksz; }
-
- //! returns array of input vectors (CntInSig() vectors)
- t_sample *const *InSig() const { return vecs; }
-
- //! returns input vector
- t_sample *InSig(int i) const { return InSig()[i]; }
-
- //! returns array of output vectors (CntOutSig() vectors)
- // \todo cache that returned pointer
- t_sample *const *OutSig() const
- {
- int i = CntInSig();
- // in PD we have at least one actual dsp in vector
-#if FLEXT_SYS == FLEXT_SYS_PD
- return vecs+(i?i:1);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- return vecs+i;
-#else
-#error
-#endif
- }
-
- //! returns output vector
- t_sample *OutSig(int i) const { return OutSig()[i]; }
-
- //! typedef describing a signal vector
- typedef t_sample *t_signalvec;
-
-//! @}
-
-// --- inheritable virtual methods --------------------------------
-
-/*! \defgroup FLEXT_C_DSP_VIRTUAL Flext virtual dsp functions
-
- @{
-*/
- /*! \brief Called on every dsp init.
- \note Don't expect any valid data in the signal vectors!
- flext_dsp::CbDsp should not be called by the derived class
-
- \return true (default)... use DSP, false, don't use DSP
- */
- virtual bool CbDsp();
-
- /*! \brief Called with every signal vector - here you do the dsp calculation
- flext_dsp::CbSignal fills all output vectors with silence
- */
- virtual void CbSignal();
-
-
- /*! \brief Deprecated method for CbSignal
- \deprecated
- \param n: frames (aka samples) in one signal vector
- \param insigs: array of input vectors (get number with function CntInSig())
- \param outsigs: array of output vectors (get number with function CntOutSig())
- */
- virtual void m_dsp(int n,t_signalvec const *insigs,t_signalvec const *outsigs);
-
- /*! \brief Deprecated method for CbSignal
- \deprecated
- \param n: frames (aka samples) in one signal vector
- \param insigs: array of input vectors (get number with function CntInSig())
- \param outsigs: array of output vectors (get number with function CntOutSig())
- */
- virtual void m_signal(int n,t_sample *const *insigs,t_sample *const *outsigs);
-
-//! @}
-
-
-/*! \defgroup FLEXT_C_DSP_INOUT Flext dsp in-/outlet functions
- \note These must be called in the class' constructor
-
- @{
-*/
-// --- inlet/outlet stuff -----------------------------------------
-
- /*! \brief Add signal inlet(s)
- \param m Number of inlets to add
- */
- void AddInSignal(int m = 1) { AddInlet(xlet_sig,m); }
-
- /*! \brief Add signal inlet (with description)
- \param desc Description of inlet
- */
- void AddInSignal(const char *desc) { AddInlet(xlet_sig,1,desc); }
-
- /*! \brief Add signal outlet(s)
- \param m Number of inlets to add
- */
- void AddOutSignal(int m = 1) { AddOutlet(xlet_sig,m); }
-
- /*! \brief Add signal outlet (with description)
- \param desc Description of outlet
- */
- void AddOutSignal(const char *desc) { AddOutlet(xlet_sig,1,desc); }
-
-//! @}
-
-//! @}
-
-protected:
-
- FLEXT_CLASSDEF(flext_dsp)();
-
- virtual void Exit();
-
-private:
-
- // not static, could be different in different patchers..
- float srate;
- int blksz;
- t_signalvec *vecs;
-
- // setup function
- static void Setup(t_classid c);
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- static bool cb_enable(flext_base *c,float &on);
- bool dspon;
-#endif
-
- static inline flext_dsp *thisObject(flext_hdr *c) { return FLEXT_CAST<flext_dsp *>(c->data); }
-
- void SetupDsp(t_signal **sp);
-
- // dsp stuff
- static t_int *dspmeth(t_int *w);
-};
-
-#endif
diff --git a/externals/grill/flext/source/flext.cpp b/externals/grill/flext/source/flext.cpp
deleted file mode 100644
index 4a8e65e2..00000000
--- a/externals/grill/flext/source/flext.cpp
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flext.cpp
- \brief Implementation of the flext base class.
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-#include "fldsp.h"
-#include <string.h>
-
-// === flext_base ============================================
-
-const t_symbol *flext_base::curtag = NULL;
-
-flext_base::FLEXT_CLASSDEF(flext_base)()
- : incnt(0),outcnt(0)
- , insigs(0),outsigs(0)
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
- ,outlets(NULL),inlets(NULL)
-#endif
-#if FLEXT_SYS == FLEXT_SYS_MAX
- ,indesc(NULL),outdesc(NULL)
-#endif
-{
- FLEXT_LOG1("%s - flext logging is on",thisName());
-
- methhead = NULL;
- bindhead = NULL;
-
- if(HasAttributes()) {
- // initialize when attribute processing is enabled
- attrhead = new ItemCont;
- attrdata = new AttrDataCont;
- }
- else {
- attrhead = NULL;
- attrdata = NULL;
- }
-}
-
-/*! This virtual function is called after the object has been created, that is,
- after the constructor has been processed.
- It creates the inlets and outlets and the message and attribute lists.
- \note You can override it in your own class, but be sure to call it,
- \note otherwise no inlets/outlets will be created
- \note All inlet, outlets, method and attribute declarations must be made before a call to Init!
- \remark Creation of inlets/outlets can't be done upon declaration, as Max/MSP needs creation
- \remark in reverse.
-*/
-bool flext_base::Init()
-{
- bool ok = flext_obj::Init();
-
- if(ok) ok = InitInlets() && InitOutlets();
-
- if(ok) {
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // according to the Max/MSP SDK this should be prior to any inlet creation, BUT
- // that doesn't seem to be true... multiple signal ins and additional inlets don't seem to work then
- if(NeedDSP()) dsp_setup(thisHdr(),CntInSig()); // signal inlets
-#endif
-
- if(HasAttributes() && m_holdaargc && m_holdaargv) {
- // initialize creation attributes
- ok = InitAttrib(m_holdaargc,m_holdaargv);
- }
- }
-
- return ok;
-}
-
-
-/*! This virtual function is called before the destructor.
- We do this because here we can still call virtual methods.
-*/
-void flext_base::Exit()
-{
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // according to David Z. one should do that first...
- if(NeedDSP()) dsp_free(thisHdr());
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_NOATTREDIT)
- // attribute editor window may still be open -> close it
- gfxstub_deleteforkey(thisHdr());
-#endif
-
-#ifdef FLEXT_THREADS
- StopThreads();
-#endif
-
- // send remaining pending messages for this object
- QFlush(this);
-
- // delete message lists
- if(bindhead) delete bindhead; // ATTENTION: the object must free all memory associated to bindings itself
- if(methhead) delete methhead;
- if(attrhead) delete attrhead;
- if(attrdata) delete attrdata;
-
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
- if(outlets) delete[] outlets;
-
- if(inlets) {
- FLEXT_ASSERT(incnt > 1);
- for(int ix = 1; ix < incnt; ++ix)
- if(inlets[ix-1]) {
- // release proxy object
-#if FLEXT_SYS == FLEXT_SYS_PD
- pd_free(&inlets[ix-1]->obj.ob_pd);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- freeobject((object *)inlets[ix-1]);
-#endif
- }
- delete[] inlets;
- }
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- if(indesc) {
- for(int i = 0; i < incnt; ++i) if(indesc[i]) delete[] indesc[i];
- delete[] indesc;
- }
- if(outdesc) {
- for(int i = 0; i < outcnt; ++i) if(outdesc[i]) delete[] outdesc[i];
- delete[] outdesc;
- }
-#endif
-
- flext_obj::Exit();
-}
-
-
-void flext_base::AddMessageMethods(t_class *c,bool dsp,bool dspin)
-{
- add_loadbang(c,cb_loadbang);
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- class_addmethod(c,(t_method)cb_click,gensym("click"),A_FLOAT,A_FLOAT,A_FLOAT,A_FLOAT,A_FLOAT,A_NULL);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- add_assist(c,cb_assist);
- add_dblclick(c,cb_click);
-#endif
-
- SetProxies(c,dsp);
- StartQueue();
-
- if(dsp) {
-#if FLEXT_SYS == FLEXT_SYS_MAX
- add_dsp(c,cb_dsp);
- dsp_initclass();
-#elif FLEXT_SYS == FLEXT_SYS_PD
- if(dspin)
- CLASS_MAINSIGNALIN(c,flext_hdr,defsig); // float messages going into the left inlet are converted to signal
- add_dsp(c,cb_dsp);
-#else
-#error Platform not supported!
-#endif
- }
-}
-
-
-/*! Set up proxy classes and basic methods at class creation time
- This ensures that they are processed before the registered flext messages
-*/
-void flext_base::Setup(t_classid id)
-{
- t_class *c = getClass(id);
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- if(!IsLib(id))
-#endif
- AddMessageMethods(c,IsDSP(id),HasDSPIn(id));
-
- if(HasAttributes(id)) {
- AddMethod(id,0,"getattributes",cb_ListAttrib);
- AddMethod(id,0,"getmethods",cb_ListMethods);
-
-#if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_NOATTREDIT)
- AddMethod(id,0,"attributedialog",cb_AttrDialog);
-#endif
- }
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- SetGfx(id);
-#endif
-}
-
-void flext_base::cb_loadbang(flext_hdr *c) { thisObject(c)->CbLoadbang(); }
-
-void flext_base::m_loadbang() {}
-void flext_base::CbLoadbang() { m_loadbang(); }
-
-void flext_base::CbClick() {}
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-void flext_base::cb_click(flext_hdr *c,t_floatarg xpos,t_floatarg ypos,t_floatarg shift,t_floatarg ctrl,t_floatarg alt)
-{
- if(shift) thisObject(c)->CbClick();
-}
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-void flext_base::cb_click(flext_hdr *c, Point pt, short mods)
-{
- thisObject(c)->CbClick();
-}
-
-void flext_base::cb_assist(flext_hdr *c,void * /*b*/,long msg,long arg,char *s)
-{
- flext_base *th = thisObject(c);
-
- switch(msg) {
- case 1: //ASSIST_INLET:
- if(arg < th->incnt && th->indesc[arg]) strcpy(s,th->indesc[arg]);
- break;
- case 2: //ASSIST_OUTLET:
- if(arg < th->outcnt) {
- if(th->outdesc[arg]) strcpy(s,th->outdesc[arg]);
- }
- else
- if(arg == th->outcnt && th->HasAttributes()) strcpy(s,"Attributes");
- break;
- }
-}
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-void flext_base::cb_dsp(flext_hdr *c,t_signal **sp,short *count)
-#else
-void flext_base::cb_dsp(flext_hdr *c,t_signal **sp)
-#endif
-{
- flext_base *bobj = thisObject(c);
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // we must extra-check here if it is really a DSP object
- // obviously, for objects that are part of a library, one dsp_initclass enables DSP for all
- if(!bobj->IsDSP()) return;
-#endif
-
- flext_dsp *obj;
-#ifdef FLEXT_DEBUG
- obj = dynamic_cast<flext_dsp *>(bobj);
-#else
- obj = static_cast<flext_dsp *>(bobj);
-#endif
-
- FLEXT_ASSERT(obj);
- obj->SetupDsp(sp);
-}
-
diff --git a/externals/grill/flext/source/flext.h b/externals/grill/flext/source/flext.h
deleted file mode 100644
index 71a35ea6..00000000
--- a/externals/grill/flext/source/flext.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flext.h
- \brief This is the main flext include file.
-
- The basic definitions are set here and the necessary header files are included
-*/
-
-#ifndef __FLEXT_H
-#define __FLEXT_H
-
-
-/*! \defgroup FLEXT_GLOBAL Flext global definitions
- @{
-*/
-
-//! \brief flext version number
-#define FLEXT_VERSION 501
-
-//! \brief flext version string
-#define FLEXT_VERSTR "0.5.1pre"
-
-//! @}
-
-
-// determine System/OS/CPU
-#include "flprefix.h"
-
-// include headers necessary for multi-threading
-#ifdef FLEXT_THREADS
- #if FLEXT_THREADS == FLEXT_THR_POSIX
- extern "C" {
- #include <pthread.h>
- #include <sched.h>
- }
- #elif FLEXT_THREADS == FLEXT_THR_MP
- #include <multiprocessing.h>
- #elif FLEXT_THREADS == FLEXT_THR_WIN32
- #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x500
- #include <windows.h>
- #include <process.h>
- #else
- #error "Win32 threading model only supported for Win2000/XP or newer"
- #endif
- #else
- #error "Thread model not supported"
- #endif
-#endif
-
-
-// include all the flext interface definitions
-#include "fldefs.h"
-
-// include the basic flext object classes
-#include "flclass.h"
-
-// include the flext dsp class
-#include "fldsp.h"
-
-#endif // FLEXT_H
diff --git a/externals/grill/flext/source/flfeatures.h b/externals/grill/flext/source/flfeatures.h
deleted file mode 100644
index efb198d0..00000000
--- a/externals/grill/flext/source/flfeatures.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flfeatures.h
- \brief Detect version-specific features.
-*/
-
-#ifndef __FLFEATURES_H
-#define __FLFEATURES_H
-
-// check if PD API supports buffer dirty time
-#if defined(PD_DEVEL_VERSION) && defined(PD_MAJOR_VERSION) && defined(PD_MINOR_VERSION)
-#if PD_MINOR_VERSION >= 36 && PD_MINOR_VERSION <= 38
-// array locks have been removed in devel_0_39
- #define _FLEXT_HAVE_PD_GARRAYLOCKS
-#endif
-#if PD_MINOR_VERSION >= 36
- #define _FLEXT_HAVE_PD_GARRAYUPDATETIME
-#endif
-#endif
-
-#if defined(MAC_VERSION) || defined(WIN_VERSION)
- // not for OS9
- #define _FLEXT_HAVE_MAX_INUSEFLAG
-#endif
-
-#endif
diff --git a/externals/grill/flext/source/flinternal.h b/externals/grill/flext/source/flinternal.h
deleted file mode 100644
index d0d76eba..00000000
--- a/externals/grill/flext/source/flinternal.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flinternal.h
- \brief Definitions for internal flext usage
- \internal
-
- Here, a few shortcuts for common Max/MSP or PD library calls and type definitions
- are declared
-*/
-
-#ifndef __FLEXT_INTERNALS_H
-#define __FLEXT_INTERNALS_H
-
-#include "flstdc.h"
-
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-
-#define object_new(clss) pd_new(clss)
-#define object_free(obj) pd_free(&(obj)->ob_pd)
-
-
-
-#define add_dsp(clss,meth) class_addmethod(clss, (t_method)meth,gensym("dsp"),A_NULL)
-#define add_bang(clss,meth) class_addbang(clss, (t_method)meth)
-#define add_float(clss,meth) class_addfloat(clss, (t_method)meth)
-#define add_floatn(clss,meth,n) class_addmethod(clss, (t_method)meth,gensym("ft" #n),A_FLOAT,A_NULL)
-#define add_flint(clss,meth) class_addfloat(clss, (t_method)meth)
-#define add_flintn(clss,meth,n) class_addmethod(clss, (t_method)meth,gensym("ft" #n),A_FLOAT,A_NULL)
-#define add_method(clss,meth,text) class_addmethod(clss, (t_method)meth, gensym(text), A_NULL)
-#define add_methodG(clss,meth,text) class_addmethod(clss, (t_method)meth, gensym(text), A_GIMME,A_NULL)
-#define add_method1(clss,meth,text,a1) class_addmethod(clss, (t_method)meth, gensym(text), a1,A_NULL)
-#define add_method2(clss,meth,text,a1,a2) class_addmethod(clss, (t_method)meth, gensym(text), a1,a2,A_NULL)
-#define add_method3(clss,meth,text,a1,a2,a3) class_addmethod(clss, (t_method)meth, gensym(text), a1,a2,a3,A_NULL)
-#define add_method4(clss,meth,text,a1,a2,a3,a4) class_addmethod(clss, (t_method)meth, gensym(text), a1,a2,a3,a4,A_NULL)
-#define add_method5(clss,meth,text,a1,a2,a3,a5) class_addmethod(clss, (t_method)meth, gensym(text), a1,a2,a3,a4,a5,A_NULL)
-#define add_loadbang(clss,meth) class_addmethod(clss,(t_method)meth, gensym("loadbang"), A_CANT, A_NULL)
-#define add_anything(clss,meth) class_addanything(clss,meth)
-
-
-#define newout_signal(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_signal))
-#define newout_float(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_float))
-#define newout_flint(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_float))
-#define newout_list(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_list))
-#define newout_symbol(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_symbol))
-#define newout_anything(clss) outlet_new(clss,const_cast<t_symbol *>(flext::sym_anything))
-
-#define outlet_flint(o,v) outlet_float(o,(float)(v))
-
-typedef t_perfroutine t_dspmethod;
-
-#define qelem_new clock_new
-#define qelem_free clock_free
-#define qelem_set clock_delay
-#define qelem_front clock_delay
-#define qelem_unset clock_unset
-
-#define CRITON()
-#define CRITOFF()
-
-
-#elif FLEXT_SYS == FLEXT_SYS_MAX
-
-typedef void t_outlet;
-
-
-#define object_new(clss) newobject(clss)
-#define object_free(obj) freeobject((object *)(obj))
-
-#define add_dsp(clss,meth) addmess((method)meth,"dsp",A_CANT,A_NOTHING)
-#define add_bang(clss,meth) addbang((method)meth)
-#define add_float(clss,meth) addfloat((method)meth)
-#define add_floatn(clss,meth,n) addftx((method)meth,n)
-#define add_flint(clss,meth) addint((method)meth)
-#define add_flintn(clss,meth,n) addinx((method)meth,n)
-#define add_method(clss,meth,text) addmess((method)meth, text, A_NOTHING)
-#define add_methodG(clss,meth,text) addmess((method)meth, text, A_GIMME,A_NOTHING)
-#define add_method1(clss,meth,text,a1) addmess((method)meth, text, a1,A_NOTHING)
-#define add_method2(clss,meth,text,a1,a2) addmess((method)meth, text, a1,a2,A_NOTHING)
-#define add_method3(clss,meth,text,a1,a2,a3) addmess((method)meth, text, a1,a2,a3,A_NOTHING)
-#define add_method4(clss,meth,text,a1,a2,a3,a4) addmess((method)meth, text, a1,a2,a3,a4,A_NOTHING)
-#define add_method5(clss,meth,text,a1,a2,a3,a5) addmess((method)meth, text, a1,a2,a3,a4,a5,A_NOTHING)
-#define add_anything(clss,meth) addmess((method)meth, "anything", A_GIMME,A_NOTHING)
-
-#define add_assist(clss,meth) addmess((method)meth, "assist", A_CANT, A_NULL)
-#define add_loadbang(clss,meth) addmess((method)meth, "loadbang", A_CANT, A_NULL)
-#define add_dblclick(clss,meth) addmess((method)meth, "dblclick", A_CANT, A_NULL)
-
-#define newout_signal(clss) outlet_new(clss,"signal")
-#define newout_float(clss) outlet_new(clss,"float")
-#define newout_flint(clss) outlet_new(clss,"int")
-#define newout_list(clss) outlet_new(clss,"list")
-#define newout_symbol(clss) outlet_new(clss,"symbol")
-#define newout_anything(clss) outlet_new(clss,0)
-
-#define outlet_flint(o,v) outlet_int(o,(int)(v))
-#define outlet_symbol(o,s) outlet_anything(o,s,0,NULL)
-
-typedef t_perfroutine t_dspmethod;
-
-#define CRITON() short state = lockout_set(1)
-#define CRITOFF() lockout_set(state)
-
-
-#elif FLEXT_SYS == FLEXT_SYS_JMAX
-
-
-#endif
-
-
-#endif
diff --git a/externals/grill/flext/source/flitem.cpp b/externals/grill/flext/source/flitem.cpp
deleted file mode 100644
index 1ae65fa8..00000000
--- a/externals/grill/flext/source/flitem.cpp
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flitem.cpp
- \brief Processing of method and attribute lists.
-*/
-
-#include "flext.h"
-#include <string.h>
-
-flext_base::ItemSet::~ItemSet() { clear(); }
-
-void flext_base::ItemSet::clear()
-{
- for(iterator it(*this); it; ++it) delete it.data();
- TablePtrMap<const t_symbol *,Item *,8>::clear();
-}
-
-
-flext_base::Item::~Item()
-{
- if(nxt) delete nxt;
-}
-
-flext_base::ItemCont::ItemCont():
- members(0),memsize(0),size(0),cont(NULL)
-{}
-
-flext_base::ItemCont::~ItemCont()
-{
- if(cont) {
- for(int i = 0; i < size; ++i) delete cont[i];
- delete[] cont;
- }
-}
-
-void flext_base::ItemCont::Resize(int nsz)
-{
- if(nsz > memsize) {
- int nmemsz = nsz+10; // increment maximum allocation size
- ItemSet **ncont = new ItemSet *[nmemsz]; // make new array
- if(cont) {
- memcpy(ncont,cont,size*sizeof(*cont)); // copy existing entries
- delete[] cont;
- }
- cont = ncont; // set current array
- memsize = nmemsz; // set new allocation size
- }
-
- // make new items
- while(size < nsz) cont[size++] = new ItemSet;
-}
-
-void flext_base::ItemCont::Add(Item *item,const t_symbol *tag,int inlet)
-{
- FLEXT_ASSERT(tag);
-
- if(!Contained(inlet)) Resize(inlet+2);
- ItemSet &set = GetInlet(inlet);
- Item *lst = set.find(tag);
- if(!lst) {
- Item *old = set.insert(tag,lst = item);
- FLEXT_ASSERT(!old);
- }
- else
- for(;;)
- if(!lst->nxt) { lst->nxt = item; break; }
- else lst = lst->nxt;
- members++;
-}
-
-bool flext_base::ItemCont::Remove(Item *item,const t_symbol *tag,int inlet,bool free)
-{
- FLEXT_ASSERT(tag);
-
- if(Contained(inlet)) {
- ItemSet &set = GetInlet(inlet);
- Item *lit = set.find(tag);
- for(Item *prv = NULL; lit; prv = lit,lit = lit->nxt) {
- if(lit == item) {
- if(prv) prv->nxt = lit->nxt;
- else if(lit->nxt) {
- Item *old = set.insert(tag,lit->nxt);
- FLEXT_ASSERT(!old);
- }
- else {
- Item *l = set.remove(tag);
- FLEXT_ASSERT(l == lit);
- }
-
- lit->nxt = NULL;
- if(free) delete lit;
- return true;
- }
- }
- }
- return false;
-}
-
-flext_base::Item *flext_base::ItemCont::FindList(const t_symbol *tag,int inlet)
-{
- FLEXT_ASSERT(tag);
- return Contained(inlet)?GetInlet(inlet).find(tag):NULL;
-}
-
-// --- class item lists (methods and attributes) ----------------
-
-/*
-typedef TablePtrMap<flext_base::t_classid,flext_base::ItemCont *,8> ClassMap;
-
-static ClassMap classarr[2];
-
-flext_base::ItemCont *flext_base::GetClassArr(t_classid c,int ix)
-{
- ClassMap &map = classarr[ix];
- ItemCont *cont = map.find(c);
- if(!cont) map.insert(c,cont = new ItemCont);
- return cont;
-}
-*/
diff --git a/externals/grill/flext/source/fllib.cpp b/externals/grill/flext/source/fllib.cpp
deleted file mode 100644
index 3b196f55..00000000
--- a/externals/grill/flext/source/fllib.cpp
+++ /dev/null
@@ -1,578 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fllib.cpp
- \brief Code for handling of object (and library) creation functions.
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-
-#include <stdarg.h>
-#include <string.h>
-#include <ctype.h>
-#include <map>
-
-#define ALIASDEL ','
-
-#define ALIASSLASHES ":/\\"
-#if FLEXT_OS == FLEXT_OS_MAC
- #define ALIASSLASH ':'
-#elif FLEXT_OS == FLEXT_OS_WIN
- #if FLEXT_SYS == FLEXT_SYS_PD
- #define ALIASSLASH '/'
- #elif FLEXT_SYS == FLEXT_SYS_MAX
- #define ALIASSLASH '/'
- #else
- #error "Undefined"
- #endif
-#else
- // default to "/"
- #define ALIASSLASH '/'
-#endif
-
-//! Extract space-delimited words from a string
-static const char *extract(const char *name,int ix = 0)
-{
- char tmp[1024];
- const char *n = name;
-
- const char *del = strchr(name,ALIASDEL);
-
- if(del) {
-#if 0
- char *t = tmp;
- while(n < del && (isspace(*n) || strchr(ALIASSLASHES,*n))) ++n;
- while(n < del && !isspace(*n)) {
- char c = *(n++);
- *(t++) = strchr(ALIASSLASHES,c)?ALIASSLASH:c;
- }
- while(*t == ALIASSLASH && t > tmp) --t;
- *t = 0;
-#endif
- if(ix < 0) {
- // eat white space in front of help definition
- ++del;
- while(*del && isspace(*del)) ++del;
- return del;
- }
-
- strncpy(tmp,name,del-name);
- tmp[del-name] = 0;
- n = tmp;
- }
- else if(ix < 0)
- return NULL; // no explicit help name
-
- while(*n && isspace(*n)) ++n;
-
- for(int i = 0; n && *n; ++i) {
- if(i == ix) {
- char *t = tmp;
-
- for(; *n && !isspace(*n); ++t,++n) *t = *n;
- *t = 0;
- return *tmp?tmp:NULL;
- }
- else {
- while(*n && !isspace(*n)) ++n;
- while(*n && isspace(*n)) ++n;
- }
- }
-
- return NULL;
-}
-
-
-//! Check if object's name ends with a tilde
-bool flext::chktilde(const char *objname)
-{
-// int stplen = strlen(setupfun);
- bool tilde = true; //!strncmp(setupfun,"_tilde",6);
-
- if((objname[strlen(objname)-1] == '~'?1:0)^(tilde?1:0)) {
- if(tilde)
- error("flext: %s (no trailing ~) is defined as a tilde object",objname);
- else
- error("flext::check_tilde: %s is no tilde object",objname);
- return true;
- }
- else
- return false;
-}
-
-// this class stands for one library of objects
-// there can be more if flext is a shared library
-class flext_library
-{
-public:
- flext_library(const t_symbol *nm)
- : name(nm)
-#if FLEXT_SYS == FLEXT_SYS_MAX
- , clss(NULL),dsp(false)
-#endif
- {}
-
- const t_symbol *name;
-#if FLEXT_SYS == FLEXT_SYS_MAX
- t_class *clss;
- bool dsp;
-#endif
-};
-
-// this class stands for one registered object
-// it holds the class, type flags, constructor and destructor of the object and the creation arg types
-// it will never be destroyed
-class flext_class:
- public flext_root
-{
-public:
- flext_class(t_class *&cl,flext_obj *(*newf)(int,t_atom *),void (*freef)(flext_hdr *));
-
- t_class *const &clss;
-
- flext_obj *(*newfun)(int,t_atom *);
- void (*freefun)(flext_hdr *c);
-
- int argc;
- int *argv;
-
- flext_library *lib;
- bool dsp:1,noi:1,attr:1,dist:1;
-
- flext_base::ItemCont meths,attrs;
-};
-
-flext_class::flext_class(t_class *&cl,flext_obj *(*newf)(int,t_atom *),void (*freef)(flext_hdr *)):
- clss(cl),
- newfun(newf),freefun(freef),
- argc(0),argv(NULL)
- , dist(false)
-{}
-
-typedef TablePtrMap<const t_symbol *,flext_class *,8> LibMap;
-// static initialization (with constructor) doesn't work for Codewarrior
-static LibMap *libnames = NULL;
-
-//! Store or retrieve registered classes
-static flext_class *FindName(const t_symbol *s,flext_class *o = NULL)
-{
- if(!libnames) libnames = new LibMap;
- flext_class *cl = libnames->find(s);
- if(!cl && o)
- libnames->insert(s,cl = o);
- return cl;
-}
-
-
-t_class *flext_obj::getClass(t_classid cl) { return cl->clss; }
-bool flext_obj::HasAttributes(t_classid cl) { return cl->attr; }
-bool flext_obj::IsDSP(t_classid cl) { return cl->dsp; }
-bool flext_obj::HasDSPIn(t_classid cl) { return !cl->noi; }
-bool flext_obj::IsLib(t_classid cl) { return cl->lib != NULL; }
-
-bool flext_obj::HasAttributes() const { return clss->attr; }
-bool flext_obj::IsDSP() const { return clss->dsp; }
-bool flext_obj::HasDSPIn() const { return !clss->noi; }
-bool flext_obj::IsLib() const { return clss->lib != NULL; }
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-bool flext_obj::NeedDSP() const { return clss->dsp || (clss->lib && clss->lib->dsp); }
-#endif
-
-static flext_library *curlib = NULL;
-
-void flext_obj::lib_init(const char *name,void setupfun())
-{
- // make new library instance
- curlib = new flext_library(MakeSymbol(name));
-
- flext::Setup();
-
- // first register all classes
- try {
- setupfun();
- }
- catch(std::exception &x) {
- error("%s - %s",name,x.what());
- return;
- }
- catch(char *txt) {
- error("%s - %s",name,txt);
- return;
- }
- catch(...) {
- error("%s - Unknown exception at library setup",name);
- return;
- }
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // then see if we got DSP classes
-
- // for Max/MSP, the library is represented by a special object (class) registered at startup
- // all objects in the library are clones of that library object - they share the same class
- ::setup(
- (t_messlist **)&curlib->clss,
- (t_newmethod)obj_new,(t_method)obj_free,
- sizeof(flext_hdr),NULL,A_GIMME,A_NULL);
-
- // for all classes in library add methods
- flext_base::AddMessageMethods(curlib->clss,curlib->dsp,true);
-#endif
-
- curlib = NULL;
-}
-
-void flext_obj::obj_add(bool lib,bool dsp,bool noi,bool attr,const char *idname,const char *names,void setupfun(t_classid),flext_obj *(*newfun)(int,t_atom *),void (*freefun)(flext_hdr *),int argtp1,...)
-{
- // get first possible object name
- const t_symbol *nsym = MakeSymbol(extract(names));
-
-#ifdef FLEXT_DEBUG
- if(dsp) chktilde(GetString(nsym));
-#endif
-
- if(lib) {
- FLEXT_ASSERT(curlib);
-#if FLEXT_SYS == FLEXT_SYS_MAX
- curlib->dsp |= dsp;
-#endif
- }
- else {
- FLEXT_ASSERT(!curlib);
-// process_attributes = attr;
- }
-
- // set dynamic class pointer
- t_class **cl =
-#if FLEXT_SYS == FLEXT_SYS_MAX
- lib?&curlib->clss:
-#endif
- new t_class *;
-
- // register object class
-#if FLEXT_SYS == FLEXT_SYS_PD
- *cl = ::class_new(
- (t_symbol *)nsym,
- (t_newmethod)obj_new,(t_method)obj_free,
- sizeof(flext_hdr),CLASS_DEFAULT,A_GIMME,A_NULL);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- if(!lib) {
- ::setup(
- (t_messlist **)cl,
- (t_newmethod)obj_new,(t_method)obj_free,
- sizeof(flext_hdr),NULL,A_GIMME,A_NULL);
- // attention: in Max/MSP the *cl variable is not initialized after that call.
- // just the address is stored, the initialization then occurs with the first object instance!
- }
-#else
-#error Platform not implemented
-#endif
-
- // make new dynamic object
- flext_class *lo = new flext_class(*cl,newfun,freefun);
- lo->lib = curlib;
- lo->dsp = dsp;
- lo->noi = noi;
- lo->attr = attr;
-
-// post("ADDCLASS %s,%s = %p -> LIBOBJ %p -> %p (lib=%i,dsp=%i)",idname,names,*cl,lo,lo->clss,lib?1:0,dsp?1:0);
-
- // parse the argument type list and store it with the object
- if(argtp1 == FLEXTTPN_VAR)
- lo->argc = -1;
- else {
- int argtp,i;
- va_list marker;
-
- // parse a first time and count only
- va_start(marker,argtp1);
- for(argtp = argtp1; argtp != FLEXTTPN_NULL; ++lo->argc) argtp = (int)va_arg(marker,int);
- va_end(marker);
-
- lo->argv = new int[lo->argc];
-
- // now parse and store
- va_start(marker,argtp1);
- for(argtp = argtp1,i = 0; i < lo->argc; ++i) {
- lo->argv[i] = argtp;
- argtp = (int)va_arg(marker,int);
- }
- va_end(marker);
- }
-
- // get unique class id
- t_classid clid = lo;
-
- // make help reference
- const char *helptxt = extract(names,-1);
- if(helptxt) {
- const char *sl = strchr(helptxt,'/');
- if(sl && !sl[1])
- // helptxt is only the path (path with trailing /)
- flext_obj::DefineHelp(clid,idname,helptxt,dsp);
- else
- // helptxt is path and patch name
- flext_obj::DefineHelp(clid,helptxt,NULL,dsp);
- }
-
- for(int ix = 0; ; ++ix) {
- // in this loop register all the possible aliases of the object
-
- const char *c = ix?extract(names,ix):GetString(nsym);
- if(!c || !*c) break;
-
- // add to name list
- const t_symbol *lsym = MakeSymbol(c);
- FindName(lsym,lo);
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- if(ix > 0)
- // in PD the first name is already registered with class creation
- ::class_addcreator((t_newmethod)obj_new,(t_symbol *)lsym,A_GIMME,A_NULL);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- if(ix > 0 || lib)
- // in Max/MSP the first alias gets its name from the name of the object file,
- // unless it is a library (then the name can be different)
- ::alias(const_cast<char *>(c));
-#else
-#error
-#endif
- }
-
- try {
- // call class setup function
- setupfun(clid);
- }
- catch(std::exception &x) {
- error("%s: %s",idname,x.what());
- }
- catch(char *txt) {
- error("%s: %s",idname,txt);
- }
- catch(...) {
- error("%s - Unknown exception while initializing class",idname);
- }
-}
-
-
-#define NEWARGS 256 // must be larger than FLEXT_NEWARGS = 5
-
-typedef flext_obj *(*libfun)(int,t_atom *);
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-flext_hdr *flext_obj::obj_new(const t_symbol *s,short _argc_,t_atom *argv)
-#else
-flext_hdr *flext_obj::obj_new(const t_symbol *s,int _argc_,t_atom *argv)
-#endif
-{
- flext_hdr *obj = NULL;
- flext_class *lo = FindName(s);
- if(lo) {
-// post("NEWOBJ %s = %p -> %p",GetString(s),lo,lo->clss);
-
- bool ok = true;
- t_atom args[NEWARGS];
-
- int argc = _argc_;
- if(lo->attr) {
- argc = flext_base::CheckAttrib(argc,argv);
- }
-
- if(lo->argc >= 0) {
-#ifdef FLEXT_DEBUG
- if(lo->argc > FLEXT_MAXNEWARGS) { ERRINTERNAL(); ok = false; }
-#endif
-
- int misnum = 0;
- if(argc > lo->argc) { ok = false; misnum = 1; }
-
- for(int i = 0; ok && i < lo->argc; ++i) {
- switch(lo->argv[i]) {
-#if FLEXT_SYS != FLEXT_SYS_PD
- case FLEXTTPN_INT:
- case FLEXTTPN_DEFINT:
- if(i >= argc)
- if(lo->argv[i] == FLEXTTPN_DEFINT) SetInt(args[i],0);
- else { misnum = -1,ok = false; break; }
- else if(IsInt(argv[i])) args[i] = argv[i];
- else if(IsFloat(argv[i])) SetInt(args[i],(int)GetFloat(argv[i]));
- else ok = false;
- break;
-#endif
- case FLEXTTPN_FLOAT:
- case FLEXTTPN_DEFFLOAT:
- if(i >= argc)
- if(lo->argv[i] == FLEXTTPN_DEFFLOAT) SetFloat(args[i],0);
- else { misnum = -1,ok = false; break; }
- else if(IsInt(argv[i])) SetFloat(args[i],(float)GetInt(argv[i]));
- else if(IsFloat(argv[i])) args[i] = argv[i];
- else ok = false;
- break;
- case FLEXTTPN_SYM:
- case FLEXTTPN_DEFSYM:
- // \todo shall we analyze the patcher args????... should already be done!
- if(i >= argc)
- if(lo->argv[i] == FLEXTTPN_DEFSYM) SetSymbol(args[i],sym__);
- else { misnum = -1,ok = false; break; }
- else if(IsSymbol(argv[i]))
-// SetSymbol(args[i],GetParamSym(GetSymbol(argv[i]),NULL));
- args[i] = argv[i];
- else ok = false;
- break;
- }
- }
-
- if(!ok)
- if(misnum)
- error("%s: %s creation arguments",GetString(s),misnum < 0?"Not enough":"Too many");
- else
- error("%s: Creation arguments do not match",GetString(s));
- }
-
-
- if(ok) {
- try {
-#if FLEXT_SYS == FLEXT_SYS_PD
- obj = (flext_hdr *)::pd_new(lo->clss);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- obj = (flext_hdr *)::newobject(lo->clss);
-#else
-#error
-#endif
-
- flext_obj::m_holder = obj;
- flext_obj::m_holdclass = lo;
- flext_obj::m_holdname = s;
- flext_obj::initing = true;
- flext_obj::init_ok = true;
-
- // get actual flext object (newfun calls "new flext_obj()")
- if(lo->argc >= 0)
- obj->data = lo->newfun(lo->argc,args);
- else
- obj->data = lo->newfun(argc,argv);
-
- flext_obj::m_holder = NULL;
- flext_obj::m_holdclass = NULL;
- flext_obj::m_holdname = NULL;
-
- ok = obj->data &&
- // check constructor exit flag
- flext_obj::init_ok;
-
- if(ok) {
- if(lo->attr) {
- // DON'T convert eventual patcher args here... this is done by the actual attribute stuff
- // so that the initial $- or #- be preserved!
-
- // store creation args for attribute initialization (inside flext_base::Init())
- flext_obj::m_holdaargc = _argc_-argc;
- flext_obj::m_holdaargv = argv+argc;
- }
- else {
- flext_obj::m_holdaargc = 0;
- flext_obj::m_holdaargv = NULL;
- }
-
- // call virtual init function
- // here, inlets, outlets, methods and attributes can be set up
- ok = obj->data->Init();
-
- flext_obj::initing = false;
-
- // call another virtual init function
- if(ok) ok = obj->data->Finalize();
-
- flext_obj::m_holdaargc = 0;
- flext_obj::m_holdaargv = NULL;
- }
-
- } //try
- catch(std::exception &x) {
- error("%s - Exception while creating object: %s",GetString(s),x.what());
- ok = false;
- }
- catch(char *txt) {
- error("%s - Exception while creating object: %s",GetString(s),txt);
- ok = false;
- }
- catch(...) {
- error("%s - Unknown exception while creating object",GetString(s));
- ok = false;
- }
-
- flext_obj::initing = false;
-
- if(!ok) {
- // there was some init error, free object
- lo->freefun(obj);
- obj = NULL;
- }
- }
- }
-#ifdef FLEXT_DEBUG
- else
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // in Max/MSP an object with the name of the library exists, even if not explicitly declared!
-// if(!lo->lib || s != lo->lib->name)
-#endif
- error("Class %s not found in library!",s->s_name);
-#endif
-
- return obj;
-}
-
-void flext_obj::obj_free(flext_hdr *h)
-{
- flext_hdr *hdr = (flext_hdr *)h;
- const t_symbol *name = hdr->data->thisNameSym();
- flext_class *lcl = FindName(name);
-
- if(lcl) {
- try {
- flext_obj::exiting = true;
-
- // call virtual exit function
- hdr->data->Exit();
-
- // now call object destructor and deallocate
- lcl->freefun(hdr);
- } //try
- catch(std::exception &x) {
- error("%s - Exception while destroying object: %s",GetString(name),x.what());
- }
- catch(char *txt) {
- error("%s - Exception while destroying object: %s",GetString(name),txt);
- }
- catch(...) {
- error("%s - Unknown exception while destroying object",GetString(name));
- }
-
- flext_obj::exiting = false;
- }
-#ifdef FLEXT_DEBUG
- else
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // in Max/MSP an object with the name of the library exists, even if not explicitely declared!
-// if(!lo->lib || s != lo->lib->name)
-#endif
- error("Class %s not found in library!",name);
-#endif
-}
-
-
-t_class *flext_obj::thisClass() const { FLEXT_ASSERT(x_obj); return thisClassId()->clss; }
-
-void flext_base::SetDist(t_classid c,bool d) { c->dist = d; }
-bool flext_base::DoDist() const { return thisClassId()->dist; }
-
-flext_base::ItemCont *flext_base::ClMeths(t_classid c) { return &c->meths; }
-flext_base::ItemCont *flext_base::ClAttrs(t_classid c) { return &c->attrs; }
diff --git a/externals/grill/flext/source/flmap.cpp b/externals/grill/flext/source/flmap.cpp
deleted file mode 100644
index 5afcf51c..00000000
--- a/externals/grill/flext/source/flmap.cpp
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flmap.cpp
- \brief flext container classes.
-*/
-
-#include "flext.h"
-#include "flmap.h"
-
-TableAnyMap::~TableAnyMap() { clear(); }
-
-void TableAnyMap::clear()
-{
- if(left) { _delmap(left); left = NULL; }
- if(right) { _delmap(right); right = NULL; }
- n = 0;
-}
-
-
-void *TableAnyMap::_set(int tsize,size_t k,void *t)
-{
- FLEXT_ASSERT(n);
-
- if(n < tsize) {
- // fall through
- }
- else if(k < data[0].key)
- return _toleft(tsize,k,t);
- else if(k > data[tsize-1].key)
- return _toright(tsize,k,t);
-
- int ix = _tryix(k);
- if(ix >= n) {
- FLEXT_ASSERT(ix == n);
- // after last entry
- data[n++](k,t);
- return NULL;
- }
-
- size_t dk = data[ix].key;
- if(k == dk) {
- // update data in existing slot (same key)
- void *a = data[ix].value;
- data[ix] = t;
- return a;
- }
- else {
- // insert new slot by shifting the higher ones
- FLEXT_ASSERT(k < dk);
- void *a;
- if(n == tsize)
- a = _toright(tsize,data[tsize-1]);
- else {
- ++n;
- a = NULL;
- }
-
- Data *tg = data+ix;
- for(Data *d = data+n-1; d > tg; d--) d[0] = d[-1];
- (*tg)(k,t);
- return a;
- }
-}
-
-void *TableAnyMap::_find(int tsize,size_t k) const
-{
- FLEXT_ASSERT(n);
- if(n < tsize) {
- // fall through
- }
- else if(k < data[0].key)
- return left?left->_find(tsize,k):NULL;
- else if(k > data[n-1].key)
- return right?right->_find(tsize,k):NULL;
-
- const int ix = _tryix(k);
- return ix < n && data[ix].key == k?data[ix].value:NULL;
-}
-
-#ifdef FLEXT_DEBUG
-void TableAnyMap::_check(int tsize)
-{
- FLEXT_ASSERT(n);
-
- size_t k = data[0].key;
- for(int i = 1; i < n; ++i) {
- size_t k2 = data[i].key;
- FLEXT_ASSERT(k < k2);
- k = k2;
- }
-
- if(left || right) FLEXT_ASSERT(n == tsize);
-
- if(left) {
- FLEXT_ASSERT(flext::MemCheck(left));
- left->_check(tsize);
- }
- if(right) {
- FLEXT_ASSERT(flext::MemCheck(right));
- right->_check(tsize);
- }
-}
-#endif
-
-void *TableAnyMap::_remove(int tsize,size_t k)
-{
- FLEXT_ASSERT(n);
- if(n < tsize) {
- // fall through
- }
- else if(k < data[0].key) {
- void *r = left?left->_remove(tsize,k):NULL;
- if(r) _eraseempty(left);
- return r;
- }
- else if(k > data[n-1].key) {
- void *r = right?right->_remove(tsize,k):NULL;
- if(r) _eraseempty(right);
- return r;
- }
-
- const int ix = _tryix(k);
- if(ix >= n || data[ix].key != k)
- return NULL;
- else {
- // found key in this map
- void *ret = data[ix].value;
-
- Data dt;
- bool fnd,ins = false;
- if(n >= tsize) {
- // if this table is full get fill-in elements from branches
- if(left) {
- // try to get biggest element from left branch
- left->_getbig(dt);
- _eraseempty(left);
- fnd = true,ins = true;
- }
- else if(right) {
- // try to get smallest element from right branch
- right->_getsmall(dt);
- _eraseempty(right);
- fnd = true;
- }
- else
- fnd = false;
- }
- else fnd = false;
-
- if(ins) {
- // insert smaller element from left
- for(int i = ix; i; --i) data[i] = data[i-1];
- data[0] = dt;
- }
- else {
- // shift elements
- for(int i = ix+1; i < n; ++i) data[i-1] = data[i];
- // insert bigger element from right or reduce table size
- if(fnd)
- data[n-1] = dt;
- else
- --n;
- }
-
- return ret;
- }
-}
-
-void TableAnyMap::_getbig(Data &dt)
-{
- FLEXT_ASSERT(n);
-
- if(right) {
- right->_getbig(dt);
- _eraseempty(right);
- }
- else {
- dt = data[n-1];
- if(left) {
- for(int i = n-1; i; --i) data[i] = data[i-1];
- left->_getbig(data[0]);
- _eraseempty(left);
- }
- else
- --n;
- }
-}
-
-void TableAnyMap::_getsmall(Data &dt)
-{
- FLEXT_ASSERT(n);
-
- if(left) {
- left->_getsmall(dt);
- _eraseempty(left);
- }
- else {
- dt = data[0];
- for(int i = 1; i < n; ++i) data[i-1] = data[i];
- if(right) {
- right->_getsmall(data[n-1]);
- _eraseempty(right);
- }
- else
- --n;
- }
-}
-
-void TableAnyMap::iterator::forward()
-{
- FLEXT_ASSERT(map || ix >= map->n);
-
- if(++ix >= map->n) {
- TableAnyMap *nmap;
-
- // we reached the end of the slots
- if(map->right) {
- // climb up one
- map = map->right;
- leftmost();
- ix = 0;
- }
- else {
- // fall back
- for(;;) {
- nmap = map->parent;
- if(!nmap) break; // no parent
- if(nmap->left == map) {
- // ok, we are in front of the slots now
- ix = 0;
- map = nmap;
- break;
- }
- else {
- FLEXT_ASSERT(nmap->right == map);
- ix = (map = nmap)->n;
- }
- }
- }
- }
-}
diff --git a/externals/grill/flext/source/flmap.h b/externals/grill/flext/source/flmap.h
deleted file mode 100644
index 796e9549..00000000
--- a/externals/grill/flext/source/flmap.h
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flmap.h
- \brief special map class (faster and less memory-consuming than std::map)
-*/
-
-#ifndef __FLMAP_H
-#define __FLMAP_H
-
-#include "flprefix.h"
-
-/*! \defgroup FLEXT_SUPPORT Flext support classes
- @{
-*/
-
-class FLEXT_SHARE TableAnyMap
-{
-public:
-
- virtual TableAnyMap *_newmap(TableAnyMap *parent) = 0;
- virtual void _delmap(TableAnyMap *map) = 0;
-
- struct Data {
- void operator()(size_t k,void *v) { key = k,value = v; }
- void operator =(void *v) { value = v; }
-
- size_t key;
- void *value;
- };
-
-protected:
- // constructor and destructor are protected so that they can't be directly instantiated
-
- TableAnyMap(TableAnyMap *p,Data *dt)
- : data(dt)
- , parent(p),left(0),right(0)
- , n(0)
- {}
-
- virtual ~TableAnyMap();
-
-public:
-
-#if 0 // set 1 for asserting the map structure (very cpu-intensive!)
- void check(int tsize) { if(n) _check(tsize); }
-#else
-// void check(int tsize) {}
-#endif
-
- void *insert(int tsize,size_t k,void *t)
- {
- void *r;
- if(LIKELY(n))
- r = _set(tsize,k,t);
- else {
- data[n++](k,t);
- r = 0;
- }
-// check(tsize);
- return r;
- }
-
- void *find(int tsize,size_t k) const { return LIKELY(n)?_find(tsize,k):0; }
-
- void *remove(int tsize,size_t k)
- {
- void *r = LIKELY(n)?_remove(tsize,k):0;
-// check(tsize);
- return r;
- }
-
- virtual void clear();
-
- class FLEXT_SHARE iterator
- {
- public:
- iterator(): map(0) {}
- iterator(const TableAnyMap &m): map(&m),ix(0) { leftmost(); }
- iterator(const iterator &it): map(it.map),ix(it.ix) {}
-
- iterator &operator =(const iterator &it) { map = it.map,ix = it.ix; return *this; }
-
- operator bool() const { return map && ix < map->n; }
-
- // no checking here!
- void *data() const { return map->data[ix].value; }
- size_t key() const { return map->data[ix].key; }
-
- iterator &operator ++() { forward(); return *this; }
-
- protected:
- void leftmost()
- {
- // search smallest branch (go left as far as possible)
- const TableAnyMap *nmap;
- while((nmap = map->left) != 0) map = nmap;
- }
-
- void forward();
-
- // pointers to map and index within
- const TableAnyMap *map;
- int ix;
- };
-
- void _init(size_t k,void *t) { data[0](k,t); n = 1; }
-
- void *_toleft(int tsize,size_t k,void *t)
- {
- if(left)
- return left->_set(tsize,k,t);
- else {
- (left = _newmap(this))->_init(k,t);
- return 0;
- }
- }
-
- void *_toright(int tsize,size_t k,void *t)
- {
- if(right)
- return right->_set(tsize,k,t);
- else {
- (right = _newmap(this))->_init(k,t);
- return 0;
- }
- }
-
- void *_toleft(int tsize,Data &v) { return _toleft(tsize,v.key,v.value); }
- void *_toright(int tsize,Data &v) { return _toright(tsize,v.key,v.value); }
-
- void *_set(int tsize,size_t k,void *t);
- void *_find(int tsize,size_t k) const;
- void *_remove(int tsize,size_t k);
-
-#ifdef FLEXT_DEBUG
- void _check(int tsize);
-#endif
-
- Data *data;
- TableAnyMap *parent,*left,*right;
- int n;
-
- //! return index of data item with key <= k
- //! \note index can point past the last item!
- unsigned int _tryix(size_t k) const
- {
- unsigned int ix = 0,b = n;
- while(ix != b) {
- const unsigned int c = (ix+b)>>1;
- const size_t dk = data[c].key;
- if(k == dk)
- return c;
- else if(k < dk)
- b = c;
- else if(ix < c)
- ix = c;
- else
- return b;
- }
- return ix;
- }
-
- void _eraseempty(TableAnyMap *&b)
- {
- if(!b->n) {
- // remove empty branch
- _delmap(b); b = 0;
- }
- }
-
- void _getsmall(Data &dt);
- void _getbig(Data &dt);
-
-private:
- // hide, so that it can't be used.....
- explicit TableAnyMap(const TableAnyMap &): data(NULL) {}
- TableAnyMap &operator =(const TableAnyMap &) { return *this; }
-};
-
-template <typename K,typename T,int N = 8>
-class TablePtrMap
- :
-#if (defined(_MSC_VER) && _MSC_VER < 1300) || defined(__BORLANDC__) || defined(__MWERKS__)
- public // necessary for VC6
-#endif
- TableAnyMap
-{
-public:
- TablePtrMap(): TableAnyMap(0,slots),count(0) {}
- virtual ~TablePtrMap() { clear(); }
-
- virtual void clear() { TableAnyMap::clear(); count = 0; }
-
- inline int size() const { return count; }
-
- inline T insert(K k,T t)
- {
- void *d = TableAnyMap::insert(N,*(size_t *)&k,(void *)t);
- if(!d) ++count;
- return (T)d;
- }
-
- inline T find(K k) const { return (T)TableAnyMap::find(N,*(size_t *)&k); }
-
- inline T remove(K k)
- {
- void *d = TableAnyMap::remove(N,*(size_t *)&k);
- if(LIKELY(d)) --count;
- return (T)d;
- }
-
-
- class iterator
- : TableAnyMap::iterator
- {
- public:
- iterator() {}
- iterator(const TablePtrMap &m): TableAnyMap::iterator(m) {}
- iterator(const iterator &it): TableAnyMap::iterator(it) {}
-
- // this ugly syntax (cast to parent class) is needed for MSVC6
-
- inline iterator &operator =(const iterator &it) { ((TableAnyMap::iterator &)*this) = it; return *this; }
-
- inline operator bool() const { return (bool)((TableAnyMap::iterator &)*this); }
- inline T data() const { return (T)(((TableAnyMap::iterator &)*this).data()); }
- inline K key() const { return (K)(((TableAnyMap::iterator &)*this).key()); }
-
- inline iterator &operator ++() { ++((TableAnyMap::iterator &)*this); return *this; }
- };
-
-protected:
- TablePtrMap(TableAnyMap *p): TableAnyMap(p,slots),count(0) {}
-
- virtual TableAnyMap *_newmap(TableAnyMap *parent) { return new TablePtrMap(parent); }
- virtual void _delmap(TableAnyMap *map) { delete (TablePtrMap *)map; }
-
- int count;
- Data slots[N];
-
-private:
- explicit TablePtrMap(const TableAnyMap &p) {}
-};
-
-//! @} // FLEXT_SUPPORT
-
-#endif
diff --git a/externals/grill/flext/source/flmeth.cpp b/externals/grill/flext/source/flmeth.cpp
deleted file mode 100644
index 6355dd08..00000000
--- a/externals/grill/flext/source/flmeth.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flmeth.cpp
- \brief Method processing of flext base class.
-*/
-
-#include "flext.h"
-#include <string.h>
-#include <stdarg.h>
-#include "flinternal.h"
-
-flext_base::MethItem::MethItem(AttrItem *conn):
- Item(conn),index(0),
- argc(0),args(NULL)
- ,fun(NULL)
-{}
-
-flext_base::MethItem::~MethItem()
-{
- if(args) delete[] args;
-}
-
-void flext_base::MethItem::SetArgs(methfun _fun,int _argc,metharg *_args)
-{
- fun = _fun;
- if(args) delete[] args;
- argc = _argc,args = _args;
-}
-
-/*! \brief Add a method to the queue
-*/
-void flext_base::AddMethod(ItemCont *ma,int inlet,const t_symbol *tag,methfun fun,metharg tp,...)
-{
-#ifdef FLEXT_LOG_MSGS
- post("addmethod %i:%s",inlet,GetString(tag));
-#endif
-
- va_list marker;
-
- // at first just count the arg type list (in argc)
- int argc = 0;
- va_start(marker,tp);
- metharg *args = NULL,arg = tp;
- for(; arg != a_null; ++argc) arg = (metharg)va_arg(marker,int); //metharg);
- va_end(marker);
-
- if(argc > 0) {
- if(argc > FLEXT_MAXMETHARGS) {
- error("flext - method %s: only %i arguments are type-checkable: use variable argument list for more",tag?GetString(tag):"?",FLEXT_MAXMETHARGS);
- argc = FLEXT_MAXMETHARGS;
- }
-
- args = new metharg[argc];
-
- va_start(marker,tp);
- metharg a = tp;
- for(int ix = 0; ix < argc; ++ix) {
-#ifdef FLEXT_DEBUG
- if(a == a_list && ix > 0) {
- ERRINTERNAL();
- }
-#endif
-#if FLEXT_SYS == FLEXT_SYS_PD && defined(FLEXT_COMPATIBLE)
- if(a == a_pointer) {
- post("Pointer arguments are not allowed in compatibility mode");
- }
-#endif
- args[ix] = a;
- a = (metharg)va_arg(marker,int); //metharg);
- }
- va_end(marker);
- }
-
- MethItem *mi = new MethItem;
- mi->index = ma->Members();
- mi->SetArgs(fun,argc,args);
- ma->Add(mi,tag,inlet);
-}
-
-void flext_base::ListMethods(AtomList &la,int inlet) const
-{
- typedef TablePtrMap<int,const t_symbol *,32> MethList;
- MethList list[2];
- ItemCont *clmethhead = ClMeths(thisClassId());
-
- int i;
- for(i = 0; i <= 1; ++i) {
- ItemCont *a = i?methhead:clmethhead;
- if(a && a->Contained(inlet)) {
- ItemSet &ai = a->GetInlet(inlet);
- for(ItemSet::iterator as(ai); as; ++as) {
- for(Item *al = as.data(); al; al = al->nxt) {
- MethItem *aa = (MethItem *)al;
- // check it's not related to an attribute
- if(!aa->IsAttr()) {
- list[i].insert(aa->index,as.key());
- break;
- }
- }
- }
- }
- }
-
- la((int)list[0].size()+(int)list[1].size());
- int ix = 0;
- for(i = 0; i <= 1; ++i)
- for(MethList::iterator it(list[i]); it; ++it)
- SetSymbol(la[ix++],it.data());
-}
-
-bool flext_base::cb_ListMethods(flext_base *c,int argc,const t_atom *argv)
-{
- if(c->HasAttributes() && (argc == 0 || (argc == 1 && CanbeInt(argv[0])))) {
- // defined in flsupport.cpp
- int inlet = argc?GetAInt(argv[0]):0;
- AtomListStatic<32> la;
- c->ListMethods(la,inlet);
- c->ToOutAnything(c->GetOutAttr(),sym_methods,la.Count(),la.Atoms());
- return true;
- }
- else
- return false;
-}
-
diff --git a/externals/grill/flext/source/flmsg.cpp b/externals/grill/flext/source/flmsg.cpp
deleted file mode 100644
index 1d42b5fb..00000000
--- a/externals/grill/flext/source/flmsg.cpp
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flmsg.cpp
- \brief Message processing of flext base class.
-*/
-
-#include "flext.h"
-
-
-bool flext_base::TryMethTag(Item *lst,const t_symbol *tag,int argc,const t_atom *argv)
-{
- for(; lst; lst = lst->nxt) {
- MethItem *m = (MethItem *)lst;
-
-// FLEXT_LOG3("found method tag %s: inlet=%i, argc=%i",GetString(tag),m->inlet,argc);
-
- if(m->attr) {
- // attributes are treated differently
-
- if(m->attr->IsGet())
- return DumpAttrib(tag,m->attr);
- else
- return SetAttrib(tag,m->attr,argc,argv);
- }
- else {
- if(m->argc == 1) {
- if(m->args[0] == a_list) {
- // try list
- if(((methfun_V)m->fun)(this,argc,const_cast<t_atom *>(argv))) return true;
- }
- else if(m->args[0] == a_any) {
- // try anything
- if(((methfun_A)m->fun)(this,tag,argc,const_cast<t_atom *>(argv))) return true;
- }
- }
-
- // try matching number of args
- if(m->argc == argc) {
- int ix;
- t_any aargs[FLEXT_MAXMETHARGS];
- bool ok = true;
- for(ix = 0; ix < argc && ok; ++ix) {
- switch(m->args[ix]) {
- case a_float: {
- if(IsFloat(argv[ix])) aargs[ix].ft = GetFloat(argv[ix]);
- else if(IsInt(argv[ix])) aargs[ix].ft = (float)GetInt(argv[ix]);
- else ok = false;
-
- if(ok) FLEXT_LOG2("int arg %i = %f",ix,aargs[ix].ft);
- break;
- }
- case a_int: {
- if(IsFloat(argv[ix])) aargs[ix].it = (int)GetFloat(argv[ix]);
- else if(IsInt(argv[ix])) aargs[ix].it = GetInt(argv[ix]);
- else ok = false;
-
- if(ok) FLEXT_LOG2("float arg %i = %i",ix,aargs[ix].it);
- break;
- }
- case a_symbol: {
- if(IsSymbol(argv[ix])) aargs[ix].st = GetSymbol(argv[ix]);
- else ok = false;
-
- if(ok) FLEXT_LOG2("symbol arg %i = %s",ix,GetString(aargs[ix].st));
- break;
- }
-#if FLEXT_SYS == FLEXT_SYS_PD
- case a_pointer: {
- if(IsPointer(argv[ix])) aargs[ix].pt = (t_gpointer *)GetPointer(argv[ix]);
- else ok = false;
- break;
- }
-#endif
- default:
- error("Argument type illegal");
- ok = false;
- }
- }
-
- if(ok && ix == argc) {
- switch(argc) {
- case 0: return ((methfun_0)m->fun)(this);
- case 1: return ((methfun_1)m->fun)(this,aargs[0]);
- case 2: return ((methfun_2)m->fun)(this,aargs[0],aargs[1]);
- case 3: return ((methfun_3)m->fun)(this,aargs[0],aargs[1],aargs[2]);
- case 4: return ((methfun_4)m->fun)(this,aargs[0],aargs[1],aargs[2],aargs[3]);
- case 5: return ((methfun_5)m->fun)(this,aargs[0],aargs[1],aargs[2],aargs[3],aargs[4]);
- default:
- FLEXT_ASSERT(false);
- }
- }
- }
- }
- }
- return false;
-}
-
-
-bool flext_base::TryMethAny(Item *lst,const t_symbol *s,int argc,const t_atom *argv)
-{
- for(; lst; lst = lst->nxt) {
- MethItem *m = (MethItem *)lst;
-
- if(!m->IsAttr() && m->argc == 1 && m->args[0] == a_any) {
-// FLEXT_LOG4("found any method for %s: inlet=%i, symbol=%s, argc=%i",GetString(m->tag),m->inlet,GetString(s),argc);
-
- if(((methfun_A)m->fun)(this,s,argc,const_cast<t_atom *>(argv))) return true;
- }
- }
- return false;
-}
-
-/*! \brief Find a method item for a specific tag and arguments
- \remark All attributes are also stored in the method list and retrieved by a member of the method item
-*/
-bool flext_base::FindMeth(int inlet,const t_symbol *s,int argc,const t_atom *argv)
-{
- Item *lst;
- ItemCont *clmethhead = ClMeths(thisClassId());
-
- // search for exactly matching tag
- if(UNLIKELY(methhead) && (lst = methhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
- if((lst = clmethhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
-
- // if nothing found try any inlet
- if(UNLIKELY(methhead) && (lst = methhead->FindList(s,-1)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
- if((lst = clmethhead->FindList(s,-1)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
-
- return false;
-}
-
-bool flext_base::FindMethAny(int inlet,const t_symbol *s,int argc,const t_atom *argv)
-{
- Item *lst;
- ItemCont *clmethhead = ClMeths(thisClassId());
-
- if(UNLIKELY(methhead) && (lst = methhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
- if((lst = clmethhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
-
- // if nothing found try any inlet
- if(UNLIKELY(methhead) && (lst = methhead->FindList(sym_anything,-1)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
- if((lst = clmethhead->FindList(sym_anything,-1)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
-
- return false;
-}
-
-/*! \brief All the message processing
- The messages of all the inlets go here and are promoted to the registered callback functions
-*/
-bool flext_base::CbMethodHandler(int inlet,const t_symbol *s,int argc,const t_atom *argv)
-{
- static bool trap = false;
- bool ret;
-
- curtag = s;
-
-#ifdef FLEXT_LOG_MSGS
- post("methodmain inlet:%i args:%i symbol:%s",inlet,argc,s?GetString(s):"");
-#endif
-
- try {
- ret = FindMeth(inlet,s,argc,argv);
-#ifdef FLEXT_LOG_MSGS
- if(ret) post("found %s message in %s,%i",GetString(s),__FILE__,__LINE__);
-#endif
- if(ret) goto end;
-
- if(argc == 1) {
- if(s == sym_list) {
- // for 1-element lists try the single atom (this is the format output by [route])
- if(IsFloat(argv[0]))
- ret = FindMeth(inlet,sym_float,1,argv);
- else if(IsInt(argv[0]))
- ret = FindMeth(inlet,sym_int,1,argv);
- else if(IsSymbol(argv[0]))
- ret = FindMeth(inlet,sym_symbol,1,argv);
- #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE)
- else if(IsPointer(argv[0]))
- ret = FindMeth(inlet,sym_pointer,1,argv);
- #endif
- if(ret) goto end;
- }
- else {
- if(s == sym_float) {
- #if FLEXT_SYS == FLEXT_SYS_MAX
- t_atom at;
- // If float message is not explicitly handled: try int handler instead
- SetInt(at,(int)GetFloat(argv[0]));
- ret = FindMeth(inlet,sym_int,1,&at);
- if(ret) goto end;
- #endif
- // If not explicitly handled: try list handler instead
- ret = FindMeth(inlet,sym_list,1,argv);
- if(ret) goto end;
- }
- #if FLEXT_SYS == FLEXT_SYS_MAX
- else if(s == sym_int) {
- t_atom at;
- // If int message is not explicitly handled: try float handler instead
- SetFloat(at,(float)GetInt(argv[0]));
- ret = FindMeth(inlet,sym_float,1,&at);
- if(ret) goto end;
- // If not explicitly handled: try list handler instead
- ret = FindMeth(inlet,sym_list,1,argv);
- if(ret) goto end;
- }
- #endif
- else if(s == sym_symbol) {
- ret = FindMeth(inlet,sym_list,1,argv);
- if(ret) goto end;
- }
- #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE)
- else if(s == sym_pointer) {
- ret = FindMeth(inlet,sym_list,1,argv);
- if(ret) goto end;
- }
- #endif
- }
- }
- else if(argc == 0) {
- // If symbol message (pure anything without args) is not explicitly handled: try list handler instead
- t_atom at;
- SetSymbol(at,s);
- ret = FindMeth(inlet,sym_list,1,&at);
-#ifdef FLEXT_LOG_MSGS
- if(ret) post("found %s message in %s,%i",GetString(sym_list),__FILE__,__LINE__);
-#endif
- if(ret) goto end;
- }
-
- // if distmsgs is switched on then distribute list elements over inlets (Max/MSP behavior)
- if(DoDist() && inlet == 0 && s == sym_list && insigs <= 1 && !trap) {
- int i = incnt;
- if(i > argc) i = argc;
- for(--i; i >= 0; --i) { // right to left distribution
- const t_symbol *sym = NULL;
- if(IsFloat(argv[i])) sym = sym_float;
- else if(IsInt(argv[i])) sym = sym_int;
- else if(IsSymbol(argv[i])) sym = sym_symbol;
- #if FLEXT_SYS == FLEXT_SYS_PD && !defined(FLEXT_COMPATIBLE)
- else if(IsPointer(argv[i])) sym = sym_pointer; // can pointer atoms occur here?
- #endif
-
- if(sym) {
- trap = true;
- CbMethodHandler(i,sym,1,argv+i);
- trap = false;
- }
- }
-
- goto end;
- }
-
- ret = FindMethAny(inlet,s,argc,argv);
-
- if(!ret) ret = CbMethodResort(inlet,s,argc,argv);
- }
- catch(std::exception &x) {
- error("%s - %s: %s",thisName(),GetString(s),x.what());
- ret = false;
- }
- catch(const char *txt) {
- error("%s - %s: %s",thisName(),GetString(s),txt);
- ret = false;
- }
- catch(...) {
- error("%s - %s : Unknown exception while processing method",thisName(),GetString(s));
- ret = false;
- }
-
-end:
- curtag = NULL;
-
- return ret; // true if appropriate handler was found and called
-}
-
-bool flext_base::m_method_(int inlet,const t_symbol *s,int argc,const t_atom *argv)
-{
- post("%s: message unhandled - inlet:%i args:%i symbol:%s",thisName(),inlet,argc,s?GetString(s):"");
- return false;
-}
-
-bool flext_base::CbMethodResort(int inlet,const t_symbol *s,int argc,const t_atom *argv)
-{
- // call deprecated version
- return m_method_(inlet,s,argc,argv);
-}
diff --git a/externals/grill/flext/source/flmspbuffer.h b/externals/grill/flext/source/flmspbuffer.h
deleted file mode 100644
index 7810e7bc..00000000
--- a/externals/grill/flext/source/flmspbuffer.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flmspbuffer.h
- \brief Definition of the Max/MSP buffer structure
- \internal
-
- This file comes from David Zicarellis inofficial package index.sit
- The latter is not easily found so i included the original file buffer.h with flext
-*/
-
-#if (FLEXT_SYS == FLEXT_SYS_MAX) && !defined(__FLEXT_MSPBUFFER_H)
-#define __FLEXT_MSPBUFFER_H
-
-enum {
- MAXCHAN = 4
-};
-
-enum {
- bi_basefreq = 0,
- bi_detune,
- bi_lowfreq,
- bi_hifreq,
- bi_lowvel,
- bi_hivel,
- bi_gain,
- bi_numparams
-};
-
-typedef struct _buffer
-{
- t_object b_obj; // doesn't have any signals so it doesn't need to be pxobject
- long b_valid; // flag is off during read replacement or editing operation
- float *b_samples; // stored with interleaved channels if multi-channel
- long b_frames; // number of sample frames (each one is sizeof(float) * b_nchans bytes)
- long b_nchans; // number of channels
- long b_size; // size of buffer in floats
- float b_sr; // sampling rate of the buffer
- float b_1oversr; // 1 / sr
- float b_msr; // sr * .001
- // Mac-specific stuff
- float *b_memory; // pointer to where memory starts (initial padding for interp)
- t_symbol *b_name;
- short b_vol;
- short b_space;
- // looping info (from AIFF file)
- long b_susloopstart; // in samples
- long b_susloopend; // in samples
- long b_relloopstart; // in samples
- long b_relloopend; // in samples
- // instrument info (from AIFF file)
- short b_inst[bi_numparams];
- // window stuff
- void *b_wind;
- double b_pixperfr;
- double b_frperpix;
- long b_imagesize;
- Point b_scroll;
- long b_scrollscale;
- long b_selbegin[MAXCHAN];
- long b_selend[MAXCHAN];
- long b_zoom;
- long b_zim[11];
- void *b_mouseout;
- long b_format; // 'AIFF' or 'Sd2f'
- t_symbol *b_filename; // last file read (not written) for readagain message
- long b_oldnchans; // used for resizing window in case of # of channels change
- void *b_doneout;
- long b_outputbytes; // number of bytes used for output sample (1-4)
- long b_modtime; // last modified time ("dirty" method)
-} t_buffer;
-
-#define BUFWIND(x) ((t_wind *)(x->b_wind))
-
-
-#endif
diff --git a/externals/grill/flext/source/flout.cpp b/externals/grill/flext/source/flout.cpp
deleted file mode 100644
index dae256a7..00000000
--- a/externals/grill/flext/source/flout.cpp
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flout.cpp
- \brief Implementation of the flext outlet functionality.
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-#include <string.h>
-
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
-void flext_base::ToSysAtom(int n,const t_atom &at) const
-{
- outlet *o = GetOut(n);
- if(LIKELY(o)) {
- CRITON();
- if(IsSymbol(at))
- outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(GetSymbol(at)));
- else if(IsFloat(at))
- outlet_float((t_outlet *)o,GetFloat(at));
-#if FLEXT_SYS == FLEXT_SYS_MAX
- else if(IsInt(at))
- outlet_flint((t_outlet *)o,GetInt(at));
-#endif
-#if FLEXT_SYS == FLEXT_SYS_PD
- else if(IsPointer(at))
- outlet_pointer((t_outlet *)o,GetPointer(at));
-#endif
- else
- error("Atom type not supported");
- CRITOFF();
- }
-}
-#else
-#error Not implemented
-#endif
-
-#if defined(FLEXT_THREADS)
- #if FLEXT_QMODE == 2
- #define CHKTHR() (LIKELY((IsSystemThread() || IsThread(flext::thrmsgid)) && !InDSP()))
- #else
- #define CHKTHR() (LIKELY(IsSystemThread() && !InDSP()))
- #endif
-#else
- #define CHKTHR() (LIKELY(!InDSP()))
-#endif
-
-void flext_base::ToOutBang(int n) const { if(CHKTHR()) ToSysBang(n); else ToQueueBang(n); }
-void flext_base::ToOutFloat(int n,float f) const { if(CHKTHR()) ToSysFloat(n,f); else ToQueueFloat(n,f); }
-void flext_base::ToOutInt(int n,int f) const { if(CHKTHR()) ToSysInt(n,f); else ToQueueInt(n,f); }
-void flext_base::ToOutSymbol(int n,const t_symbol *s) const { if(CHKTHR()) ToSysSymbol(n,s); else ToQueueSymbol(n,s); }
-void flext_base::ToOutAtom(int n,const t_atom &at) const { if(CHKTHR()) ToSysAtom(n,at); else ToQueueAtom(n,at); }
-void flext_base::ToOutList(int n,int argc,const t_atom *argv) const { if(CHKTHR()) ToSysList(n,argc,argv); else ToQueueList(n,argc,argv); }
-void flext_base::ToOutAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { if(CHKTHR()) ToSysAnything(n,s,argc,argv); else ToQueueAnything(n,s,argc,argv); }
-
-void flext::ToOutMsg(MsgBundle *mb) { if(CHKTHR()) ToSysMsg(mb); else ToQueueMsg(mb); }
-
-bool flext::Forward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv)
-{
- return CHKTHR()?SysForward(recv,s,argc,argv):QueueForward(recv,s,argc,argv);
-}
-
-
-bool flext_base::InitInlets()
-{
- bool ok = true;
-
- // incnt has number of inlets (any type)
- // insigs should be 0
-
- FLEXT_ASSERT(!insigs && !inlets);
-
- // ----------------------------------
- // create inlets
- // ----------------------------------
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // copy inlet descriptions
- indesc = new char *[incnt];
- for(int i = 0; i < incnt; ++i) {
- xlet &x = inlist[i];
- indesc[i] = x.desc;
- x.desc = NULL;
- }
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
- inlets = incnt > 1?new px_object *[incnt]:NULL;
-#endif
-
- // type info is now in list array
-#if FLEXT_SYS == FLEXT_SYS_PD
- {
- int cnt = 0;
- if(incnt >= 1) {
- xlet &xi = inlist[0]; // points to first inlet
- if(xi.tp == xlet_sig) ++insigs;
- // else leftmost inlet is already there...
- ++cnt;
-
-#if PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION)
- // set tooltip
-// this is on a per-class basis... we cannot really use it here
-// if(xi.desc && *xi.desc) class_settip(thisClass(),gensym(xi.desc));
-#endif
- }
-
- for(int ix = 1; ix < incnt; ++ix,++cnt) {
- xlet &xi = inlist[ix]; // points to first inlet
- t_inlet *in = NULL;
- switch(xi.tp) {
- case xlet_float:
- case xlet_int: {
- if(ix > 9) {
- // proxy inlet needed
- (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages
- in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_float, (t_symbol *)sym_float);
- }
- else {
- inlets[ix-1] = NULL;
- static char sym[] = " ft ?";
- sym[4] = '0'+ix;
- in = inlet_new(&x_obj->obj, &x_obj->obj.ob_pd, (t_symbol *)sym_float, gensym(sym));
- }
- break;
- }
- case xlet_sym:
- (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages
- in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_symbol, (t_symbol *)sym_symbol);
- break;
- case xlet_list:
- (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages
- in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, (t_symbol *)sym_list, (t_symbol *)sym_list);
- break;
- case xlet_any:
- (inlets[ix-1] = (px_object *)pd_new(px_class))->init(this,ix); // proxy for 2nd inlet messages
- in = inlet_new(&x_obj->obj,&inlets[ix-1]->obj.ob_pd, 0, 0);
- break;
- case xlet_sig:
- inlets[ix-1] = NULL;
-#ifdef FLEXT_COMPATIBLE
- if(inlist[ix-1].tp != xlet_sig) {
- post("%s: All signal inlets must be left-aligned in compatibility mode",thisName());
- ok = false;
- }
- else
-#endif
- {
- // pd is not able to handle signals and messages into the same inlet...
- in = inlet_new(&x_obj->obj, &x_obj->obj.ob_pd, (t_symbol *)sym_signal, (t_symbol *)sym_signal);
- ++insigs;
- }
- break;
- default:
- inlets[ix-1] = NULL;
- error("%s: Wrong type for inlet #%i: %i",thisName(),ix,(int)inlist[ix].tp);
- ok = false;
- }
-
-#if PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION)
- // set tooltip
- if(in && xi.desc && *xi.desc) inlet_settip(in,gensym(xi.desc));
-#endif
- }
-
- incnt = cnt;
- }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- {
- int ix,cnt;
- // count leftmost signal inlets
- while(insigs < incnt && inlist[insigs].tp == xlet_sig) ++insigs;
-
- for(cnt = 0,ix = incnt-1; ix >= insigs; --ix,++cnt) {
- xlet &xi = inlist[ix];
- if(ix == 0) {
- if(xi.tp != xlet_any) {
- error("%s: Leftmost inlet must be of type signal or anything",thisName());
- ok = false;
- }
- }
- else {
- switch(xi.tp) {
- case xlet_sig:
- inlets[ix-1] = NULL;
- error("%s: All signal inlets must be left-aligned",thisName());
- ok = false;
- break;
- case xlet_float: {
- if(ix < 10) {
- inlets[ix-1] = NULL;
- floatin(x_obj,ix);
- break;
- }
- else
- goto makeproxy;
- }
- case xlet_int: {
- if(ix < 10) {
- inlets[ix-1] = NULL;
- intin(x_obj,ix);
- break;
- }
- else
- goto makeproxy;
- }
- makeproxy:
- case xlet_any: // non-leftmost
- case xlet_sym:
- case xlet_list:
- inlets[ix-1] = (px_object *)proxy_new(x_obj,ix,&((flext_hdr *)x_obj)->curinlet);
- break;
- default:
- inlets[ix-1] = NULL;
- error("%s: Wrong type for inlet #%i: %i",thisName(),ix,(int)xi.tp);
- ok = false;
- }
- }
- }
-
- while(ix > 0) inlets[ix--] = NULL;
- }
-#else
-#error
-#endif
-
- return ok;
-}
-
-bool flext_base::InitOutlets()
-{
- bool ok = true;
- int procattr = HasAttributes()?1:0;
-
- // outcnt has number of inlets (any type)
- // outsigs should be 0
-
- FLEXT_ASSERT(outsigs == 0);
-
- // ----------------------------------
- // create outlets
- // ----------------------------------
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // for Max/MSP the rightmost outlet has to be created first
- outlet *attrtmp = NULL;
- if(procattr)
- attrtmp = (outlet *)newout_anything(thisHdr());
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
- // copy outlet descriptions
- outdesc = new char *[outcnt];
- for(int i = 0; i < outcnt; ++i) {
- xlet &xi = outlist[i];
- outdesc[i] = xi.desc;
- xi.desc = NULL;
- }
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
- if(outcnt+procattr)
- outlets = new outlet *[outcnt+procattr];
- else
- outlets = NULL;
-
- // type info is now in list array
-#if FLEXT_SYS == FLEXT_SYS_PD
- for(int ix = 0; ix < outcnt; ++ix)
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- for(int ix = outcnt-1; ix >= 0; --ix)
-#else
-#error
-#endif
- {
- switch(outlist[ix].tp) {
- case xlet_float:
- outlets[ix] = (outlet *)newout_float(&x_obj->obj);
- break;
- case xlet_int:
- outlets[ix] = (outlet *)newout_flint(&x_obj->obj);
- break;
- case xlet_sig:
- outlets[ix] = (outlet *)newout_signal(&x_obj->obj);
- ++outsigs;
- break;
- case xlet_sym:
- outlets[ix] = (outlet *)newout_symbol(&x_obj->obj);
- break;
- case xlet_list:
- outlets[ix] = (outlet *)newout_list(&x_obj->obj);
- break;
- case xlet_any:
- outlets[ix] = (outlet *)newout_anything(&x_obj->obj);
- break;
-#ifdef FLEXT_DEBUG
- default:
- ERRINTERNAL();
- ok = false;
-#endif
- }
- }
-#else
-#error
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
- if(procattr) {
- // attribute dump outlet is the last one
- outlets[outcnt] =
-#if FLEXT_SYS == FLEXT_SYS_PD
- // attribute dump outlet is the last one
- (outlet *)newout_anything(&x_obj->obj);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- attrtmp;
-#endif
-
- }
-#endif
-
- return ok;
-}
-
-
diff --git a/externals/grill/flext/source/flprefix.h b/externals/grill/flext/source/flprefix.h
deleted file mode 100644
index 094dacf7..00000000
--- a/externals/grill/flext/source/flprefix.h
+++ /dev/null
@@ -1,433 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flprefix.h
- \brief Try to find out the platform.
-*/
-
-#ifndef __FLEXT_PREFIX_H
-#define __FLEXT_PREFIX_H
-
-// --- definitions for FLEXT_SYS ---------------------
-#define FLEXT_SYS_UNKNOWN 0
-
-#ifndef FLEXT_SYS_MAX
- #define FLEXT_SYS_MAX 1
-#else
- // already defined
- #undef FLEXT_SYS_MAX
- #define FLEXT_SYS_MAX 1
- #define FLEXT_SYS FLEXT_SYS_MAX
-#endif
-
-#ifndef FLEXT_SYS_PD
- #define FLEXT_SYS_PD 2
-#else
- // already defined
- #undef FLEXT_SYS_PD
- #define FLEXT_SYS_PD 2
- #define FLEXT_SYS FLEXT_SYS_PD
-#endif
-
-#ifndef FLEXT_SYS_JMAX
- #define FLEXT_SYS_JMAX 3
-#else
- // already defined
- #undef FLEXT_SYS_JMAX
- #define FLEXT_SYS_JMAX 3
- #define FLEXT_SYS FLEXT_SYS_JMAX
-#endif
-
-// --- definitions for FLEXT_OS ----------------------
-#define FLEXT_OS_UNKNOWN 0
-#define FLEXT_OS_WIN 1
-#define FLEXT_OS_MAC 2
-#define FLEXT_OS_LINUX 3
-#define FLEXT_OS_IRIX 4
-
-// --- definitions for FLEXT_OS_API ---------------------
-#define FLEXT_OSAPI_UNKNOWN 0
-
-#define FLEXT_OSAPI_UNIX_POSIX 1
-
-#define FLEXT_OSAPI_MAC_CLASSIC 2
-#define FLEXT_OSAPI_MAC_CARBON 3
-#define FLEXT_OSAPI_MAC_MACH 4
-
-#define FLEXT_OSAPI_WIN_NATIVE 5 // WIN32 Platform
-#define FLEXT_OSAPI_WIN_POSIX 6 // POSIX API (e.g. cygwin)
-
-// --- definitions for FLEXT_CPU ---------------------
-#define FLEXT_CPU_UNKNOWN 0
-#define FLEXT_CPU_IA32 1
-#define FLEXT_CPU_PPC 2
-#define FLEXT_CPU_MIPS 3
-#define FLEXT_CPU_ALPHA 4
-
-#define FLEXT_CPU_IA64 5 // Itanium
-#define FLEXT_CPU_X86_64 6 // AMD-K8, EMT64
-
-// compatibility
-#define FLEXT_CPU_INTEL FLEXT_CPU_IA32
-
-// --- definitions for FLEXT_THREADS -----------------
-#define FLEXT_THR_POSIX 1 // pthreads
-#define FLEXT_THR_WIN32 2 // Win32 native
-#define FLEXT_THR_MP 3 // MacOS MPThreads
-
-// ---------------------------------------------------
-// support old definitions
-
-#ifndef FLEXT_SYS
- #if defined(MAXMSP)
- #define FLEXT_SYS FLEXT_SYS_MAX
- // #undef MAXMSP
- #elif defined(PD)
- #define FLEXT_SYS FLEXT_SYS_PD
- // #undef PD
- // #undef NT
- #endif
-#endif
-
-#if defined(_DEBUG) && !defined(FLEXT_DEBUG)
- #define FLEXT_DEBUG
-#endif
-
-// ---------------------------------------------------
-
-// Definition of supported real-time systems
-#if FLEXT_SYS == FLEXT_SYS_MAX
-#elif FLEXT_SYS == FLEXT_SYS_PD
-#elif FLEXT_SYS == FLEXT_SYS_JMAX
-#else
- #error "System must be defined by either FLEXT_SYS_MAX, FLEXT_SYS_PD or FLEXT_SYS_JMAX"
-#endif
-
-// Definition of OS/CPU
-#if defined(_MSC_VER) || (defined(__ICC) && (FLEXT_OS == FLEXT_OS_WIN || defined(_WIN32)))
- // Microsoft C++
- // and Intel C++ (as guessed)
-
- #ifndef FLEXT_CPU
- #if defined(_M_AMD64)
- #define FLEXT_CPU FLEXT_CPU_X86_64
- #elif defined(_M_IA64)
- #define FLEXT_CPU FLEXT_CPU_IA64
- #elif defined(_M_IX86)
- #define FLEXT_CPU FLEXT_CPU_IA32
- #elif defined(_M_PPC)
- #define FLEXT_CPU FLEXT_CPU_PPC
- #elif defined(_M_MRX000)
- #define FLEXT_CPU FLEXT_CPU_MIPS
- #elif defined(_M_ALPHA)
- #define FLEXT_CPU FLEXT_CPU_ALPHA
- #else
- #define FLEXT_CPU FLEXT_CPU_UNKNOWN
- #endif
- #endif
-
- #ifndef FLEXT_OS
- #if defined(_WIN32) || defined(_WIN64)
- #define FLEXT_OS FLEXT_OS_WIN
- #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE
- #else
- #define FLEXT_OS FLEXT_OS_UNKNOWN
- #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN
- #endif
- #endif
-
-
-#elif defined(__BORLANDC__)
- // Borland C++
-
- #ifndef FLEXT_CPU
- #define FLEXT_CPU FLEXT_CPU_INTEL
- #endif
- #ifndef FLEXT_OS
- #define FLEXT_OS FLEXT_OS_WIN
- #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE
- #else
- #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN
- #endif
-
-
-#elif defined(__MWERKS__)
- // Metrowerks CodeWarrior
-
- #ifdef __MACH__
- // quick fix for OSX Mach-O
- #define TARGET_CPU_PPC 1
- #define TARGET_OS_MAC 1
- #define TARGET_API_MAC_OSX 1
- #else
- #ifndef __CONDITIONALMACROS__
- #include <ConditionalMacros.h>
- #endif
- #endif
-
- #ifndef FLEXT_CPU
- #if TARGET_CPU_X86
- #define FLEXT_CPU FLEXT_CPU_INTEL
- #elif TARGET_CPU_PPC
- #define FLEXT_CPU FLEXT_CPU_PPC
- #elif TARGET_CPU_MIPS
- #define FLEXT_CPU FLEXT_CPU_MIPS
- #elif TARGET_CPU_ALPHA
- #define FLEXT_CPU FLEXT_CPU_ALPHA
- #else
- #define FLEXT_CPU FLEXT_CPU_UNKNOWN
- #endif
- #endif
-
- #ifndef FLEXT_OS
- #if TARGET_OS_MAC
- #define FLEXT_OS FLEXT_OS_MAC
- #elif TARGET_OS_WIN32
- // assume Windows
- #define FLEXT_OS FLEXT_OS_WIN
- #else
- #define FLEXT_OS FLEXT_OS_UNKNOWN
- #endif
- #endif
-
- #ifndef FLEXT_OSAPI
- #if TARGET_API_MAC_MACH
- // this is for Mach-O
- // this has the precedence (MACH also supports Carbon, of course)
- #define FLEXT_OSAPI FLEXT_OSAPI_MAC_MACH
- #elif TARGET_API_MAC_CARBON
- // this is for CFM
- #define FLEXT_OSAPI FLEXT_OSAPI_MAC_CARBON
- #else
- #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN
- #endif
- #endif
-
- // This is important for method and attribute callbacks
- #pragma enumsalwaysint on
- // This is important for everything
- #pragma bool on
-
-#elif defined(__GNUG__) || (defined(__ICC) && (FLEXT_OS == FLEXT_OS_LINUX || defined(linux) || defined(__linux__)))
-
- // GNU C++
- // and Intel (as suggested by Tim Blechmann)
-
- #ifndef FLEXT_CPU
- #if defined(__x86_64__) // not sure about this one
- #define FLEXT_CPU FLEXT_CPU_X86_64
- #elif defined(_X86_) || defined(__i386__) || defined(__i586__) || defined(__i686__)
- #define FLEXT_CPU FLEXT_CPU_IA32
- #elif defined(__POWERPC__)
- #define FLEXT_CPU FLEXT_CPU_PPC
- #elif defined(__MIPS__)
- #define FLEXT_CPU FLEXT_CPU_MIPS
- #else
- #define FLEXT_CPU FLEXT_CPU_UNKNOWN
- #endif
- #endif
-
- #ifndef FLEXT_OS
- #if defined(linux) || defined(__linux__)
- #define FLEXT_OS FLEXT_OS_LINUX
- #elif defined(__CYGWIN__) || defined(__CYGWIN32__) || defined(__MINGW32__)
- #define FLEXT_OS FLEXT_OS_WIN
- #elif defined(__APPLE__) && defined(__MACH__)
- #define FLEXT_OS FLEXT_OS_MAC
- // how about IRIX??
- #else
- #define FLEXT_OS FLEXT_OS_UNKNOWN
- #endif
- #endif
-
- #ifndef FLEXT_OSAPI
- #if FLEXT_OS == FLEXT_OS_MAC
- #define FLEXT_OSAPI FLEXT_OSAPI_MAC_MACH
- #elif FLEXT_OS == FLEXT_OS_WIN
- #if defined(__MINGW32__)
- #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE
- #else
- #define FLEXT_OSAPI FLEXT_OSAPI_WIN_POSIX
- #endif
- #elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX
- #define FLEXT_OSAPI FLEXT_OSAPI_UNIX_POSIX
- #else
- #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN
- #endif
- #endif
-
-#elif defined(__MRC__) && defined(MPW_CPLUS)
- // Apple MPW MrCpp
-
- #if __MRC__ < 0x500
- #error Apple MPW MrCpp v.5.0.0 or later compiler required
- #endif
-
- #ifndef FLEXT_CPU
- #if defined(__POWERPC__)
- #define FLEXT_CPU FLEXT_CPU_PPC
- #else
- #define FLEXT_CPU FLEXT_CPU_UNKNOWN
- #endif
- #endif
-
- #ifndef FLEXT_OS
- #if defined(macintosh)
- #define FLEXT_OS FLEXT_OS_MAC
- #else
- #define FLEXT_OS FLEXT_OS_UNKNOWN
- #endif
- #endif
-
- #ifndef FLEXT_OSAPI
- #if FLEXT_OS == FLEXT_OS_MAC
- #define FLEXT_OSAPI FLEXT_OSAPI_MAC_CLASSIC
- #else
- #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN
- #endif
- #endif
-#endif
-
-
-
-#if FLEXT_OS == FLEXT_OS_WIN
-// #pragma message("Compiling for Windows")
-
- #if FLEXT_SYS == FLEXT_SYS_MAX
-// #define WIN_VERSION 1
- #elif FLEXT_SYS == FLEXT_SYS_PD
-// #define PD
-// #define NT
- #endif
-#elif FLEXT_OS == FLEXT_OS_LINUX
-// #pragma message("Compiling for Linux")
-
- #if FLEXT_SYS == FLEXT_SYS_PD
-// #define PD
- #else
- #error "Flext SYS/OS combination unknown"
- #endif
-#elif FLEXT_OS == FLEXT_OS_IRIX
-// #pragma message("Compiling for Irix")
-
- #if FLEXT_SYS == FLEXT_SYS_PD
-// #define PD
- #else
- #error "Flext SYS/OS combination unknown"
- #endif
-#elif FLEXT_OS == FLEXT_OS_MAC
-// #pragma message("Compiling for MacOS")
-
- #if FLEXT_SYS == FLEXT_SYS_PD
-// #define PD
- #endif
-#else
- #error "Operating system could not be determined"
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-// #pragma message("Compiling for Max/MSP")
-#elif FLEXT_SYS == FLEXT_SYS_PD
-// #pragma message("Compiling for PD")
-#endif
-
-// ----- set threading model -----
-// shared builds are always threaded
-#ifdef FLEXT_SHARED
- #undef FLEXT_THREADS
- #define FLEXT_THREADS
-#endif
-
-#ifdef FLEXT_THREADS
- #undef FLEXT_THREADS
- #if FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_MAC && FLEXT_OSAPI != FLEXT_OSAPI_MAC_MACH
- // Max for CFM doesn't like posix threads
- #define FLEXT_THREADS FLEXT_THR_MP
- #elif FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_WIN
- // for wmax use native Windows threads
- #define FLEXT_THREADS FLEXT_THR_WIN32
- #else
- #define FLEXT_THREADS FLEXT_THR_POSIX
- #endif
-#endif
-
-// ----- macros for class names -----
-/*
- With linux (flat linker namespace) and more than one flext-based external loaded all calls to static
- exported functions refer to the first instance loaded!
- Therefore different class names are used so that the correct type of flext function is called.
-*/
-#ifdef __DOXYGEN__
- #define FLEXT_CLASSDEF(CL) CL
-#elif defined(FLEXT_DEBUG)
- #if defined(FLEXT_SHARED)
- #define FLEXT_CLASSDEF(CL) CL##_shared_d
- #elif defined(FLEXT_THREADS)
- #define FLEXT_CLASSDEF(CL) CL##_multi_d
- #else
- #define FLEXT_CLASSDEF(CL) CL##_single_d
- #endif
-#else
- #if defined(FLEXT_SHARED)
- #define FLEXT_CLASSDEF(CL) CL##_shared
- #elif defined(FLEXT_THREADS)
- #define FLEXT_CLASSDEF(CL) CL##_multi
- #else
- #define FLEXT_CLASSDEF(CL) CL##_single
- #endif
-#endif
-
-
-/* Set the right calling convention (and exporting) for the OS */
-
-#if defined(_WIN32)
- #ifdef FLEXT_SHARED
- // for compiling a shared flext library FLEXT_EXPORTS must be defined
- #ifdef FLEXT_EXPORTS
- #define FLEXT_SHARE __declspec(dllexport)
- #else
- #define FLEXT_SHARE __declspec(dllimport)
- #endif
- #else
- #define FLEXT_SHARE
- #endif
- #define FLEXT_EXT __declspec(dllexport)
-#else // other OS's
- #define FLEXT_SHARE
- #define FLEXT_EXT
-#endif
-
-
-// std namespace
-#ifdef __MWERKS__
-# define STD std
-#else
-# define STD
-#endif
-
-// branching hints
-#ifdef __GNUC__
-# ifndef LIKELY
-# define LIKELY(expression) (__builtin_expect(!!(expression), 1))
-# endif
-# ifndef UNLIKELY
-# define UNLIKELY(expression) (__builtin_expect(!!(expression), 0))
-# endif
-#else
-# ifndef LIKELY
-# define LIKELY(expression) (expression)
-# endif
-# ifndef UNLIKELY
-# define UNLIKELY(expression) (expression)
-# endif
-#endif
-
-
-#endif // __FLEXT_PREFIX_H
diff --git a/externals/grill/flext/source/flproxy.cpp b/externals/grill/flext/source/flproxy.cpp
deleted file mode 100644
index 6126d4b7..00000000
--- a/externals/grill/flext/source/flproxy.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flproxy.cpp
- \brief Proxy classes for the flext base class.
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-
-
-// === proxy class for flext_base ============================
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-
-t_class *flext_base::px_class = NULL;
-
-void flext_base::px_object::px_bang(px_object *obj)
-{
- obj->base->CbMethodHandler(obj->index,sym_bang,0,NULL);
-}
-
-void flext_base::px_object::px_float(px_object *obj,t_float f)
-{
- t_atom a; SetFloat(a,f);
- obj->base->CbMethodHandler(obj->index,sym_float,1,&a);
-}
-
-void flext_base::px_object::px_symbol(px_object *obj,const t_symbol *s)
-{
- t_atom a; SetSymbol(a,s);
- obj->base->CbMethodHandler(obj->index,sym_symbol,1,&a);
-}
-
-/*
-void flext_base::px_object::px_pointer(px_object *obj,const t_gpointer *p)
-{
- t_atom a; SetPointer(a,p);
- obj->base->CbMethodHandler(obj->index,sym_pointer,1,&a);
-}
-*/
-
-void flext_base::px_object::px_anything(px_object *obj,const t_symbol *s,int argc,t_atom *argv)
-{
- obj->base->CbMethodHandler(obj->index,s,argc,argv);
-}
-
-void flext_base::cb_bang(flext_hdr *c)
-{
- thisObject(c)->CbMethodHandler(0,sym_bang,0,NULL);
-}
-
-void flext_base::cb_float(flext_hdr *c,t_float f)
-{
- t_atom a; SetFloat(a,f);
- thisObject(c)->CbMethodHandler(0,sym_float,1,&a);
-}
-
-void flext_base::cb_symbol(flext_hdr *c,const t_symbol *s)
-{
- t_atom a; SetSymbol(a,s);
- thisObject(c)->CbMethodHandler(0,sym_symbol,1,&a);
-}
-
-/*
-void flext_base::cb_pointer(flext_hdr *c,const t_gpointer *p)
-{
- t_atom a; SetPointer(a,p);
- thisObject(c)->CbMethodHandler(0,sym_pointer,1,&a);
-}
-*/
-
-void flext_base::cb_anything(flext_hdr *c,const t_symbol *s,int argc,t_atom *argv)
-{
- if(UNLIKELY(!s)) {
- // apparently, this happens only in one case... object is a DSP object, but has no main DSP inlet...
-
- // interpret tag from args
- if(!argc)
- s = sym_bang;
- else if(argc == 1) {
- if(IsFloat(*argv))
- s = sym_float;
- else if(IsSymbol(*argv))
- s = sym_symbol;
- else if(IsPointer(*argv))
- s = sym_pointer;
- else
- FLEXT_ASSERT(false);
- }
- else
- s = sym_list;
- }
-
- thisObject(c)->CbMethodHandler(0,s,argc,argv);
-}
-
-#define DEF_PROXYMSG(IX) \
-void flext_base::cb_px_ft ## IX(flext_hdr *c,t_float v) { t_atom atom; SetFloat(atom,v); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); }
-
-#define ADD_PROXYMSG(c,IX) \
-add_method1(c,cb_px_ft ## IX," ft " #IX,A_FLOAT)
-
-//AddMethod(c,0,flext::MakeSymbol("ft" #IX),cb_px_ft ## IX)
-
-
-#elif FLEXT_SYS == FLEXT_SYS_MAX
-
-void flext_base::cb_anything(flext_hdr *c,const t_symbol *s,short argc,t_atom *argv)
-{
- int ci = ((flext_hdr *)c)->curinlet;
- thisObject(c)->CbMethodHandler(ci,s,argc,argv);
-}
-
-void flext_base::cb_int(flext_hdr *c,long v)
-{
- t_atom atom; SetInt(atom,v);
- int ci = ((flext_hdr *)c)->curinlet;
- thisObject(c)->CbMethodHandler(ci,sym_int,1,&atom);
-}
-
-void flext_base::cb_float(flext_hdr *c,double v)
-{
- t_atom atom; SetFloat(atom,v);
- int ci = ((flext_hdr *)c)->curinlet;
- thisObject(c)->CbMethodHandler(ci,sym_float,1,&atom);
-}
-
-void flext_base::cb_bang(flext_hdr *c)
-{
- int ci = ((flext_hdr *)c)->curinlet;
- thisObject(c)->CbMethodHandler(ci,sym_bang,0,NULL);
-}
-
-
-#define DEF_PROXYMSG(IX) \
-void flext_base::cb_px_in ## IX(flext_hdr *c,long v) { t_atom atom; SetInt(atom,v); thisObject(c)->CbMethodHandler(IX,sym_int,1,&atom); } \
-void flext_base::cb_px_ft ## IX(flext_hdr *c,double v) { t_atom atom; SetFloat(atom,v); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); }
-
-/*
-void flext_base::cb_px_in ## IX(flext_hdr *c,long v) { t_atom atom; SetInt(atom,v); thisObject(c)->CbMethodHandler(IX,sym_int,1,&atom); } \
-void flext_base::cb_px_ft ## IX(flext_hdr *c,double v) { t_atom atom; SetFloat(atom,v); thisObject(c)->CbMethodHandler(IX,sym_float,1,&atom); }
-*/
-
-#define ADD_PROXYMSG(c,IX) \
-addinx((method)(cb_px_in ## IX),IX); \
-addftx((method)(cb_px_ft ## IX),IX)
-
-/*
-add_method1(c,cb_px_in ## IX,"in" #IX,A_INT); \
-add_method1(c,cb_px_ft ## IX,"ft" #IX,A_FLOAT)
-
-AddMethod(c,0,flext::MakeSymbol("in" #IX),cb_px_in ## IX); \
-AddMethod(c,0,flext::MakeSymbol("ft" #IX),cb_px_ft ## IX)
-*/
-
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
-
-DEF_PROXYMSG(1)
-DEF_PROXYMSG(2)
-DEF_PROXYMSG(3)
-DEF_PROXYMSG(4)
-DEF_PROXYMSG(5)
-DEF_PROXYMSG(6)
-DEF_PROXYMSG(7)
-DEF_PROXYMSG(8)
-DEF_PROXYMSG(9)
-
-
-void flext_base::SetProxies(t_class *c,bool dsp)
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- // for leftmost inlet
- class_addbang(c,cb_bang);
- if(!dsp) class_addfloat(c,cb_float);
- class_addsymbol(c,cb_symbol);
-// class_addpointer(c,cb_pointer);
- class_addlist(c,cb_anything);
- class_addanything(c,cb_anything);
-
- // proxy for extra inlets
- if(!px_class) {
- // only once
- px_class = class_new(gensym(" flext_base proxy "),NULL,NULL,sizeof(px_object),CLASS_PD|CLASS_NOINLET, A_NULL);
- class_addbang(px_class,px_object::px_bang); // for other inlets
- class_addfloat(px_class,px_object::px_float); // for other inlets
- class_addsymbol(px_class,px_object::px_symbol); // for other inlets
-// class_addpointer(px_class,px_object::px_pointer); // for other inlets
- class_addlist(px_class,px_object::px_anything); // for other inlets
- class_addanything(px_class,px_object::px_anything); // for other inlets
- }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- addbang((method)cb_bang);
- addint((method)cb_int);
- addfloat((method)cb_float);
- addmess((method)cb_anything,"list",A_GIMME,A_NOTHING); // must be explicitly given, otherwise list elements are distributes over inlets
- addmess((method)cb_anything,"anything",A_GIMME,A_NOTHING);
-#else
-#error Not implemented!
-#endif
-
- // setup non-leftmost ints and floats
- ADD_PROXYMSG(c,1);
- ADD_PROXYMSG(c,2);
- ADD_PROXYMSG(c,3);
- ADD_PROXYMSG(c,4);
- ADD_PROXYMSG(c,5);
- ADD_PROXYMSG(c,6);
- ADD_PROXYMSG(c,7);
- ADD_PROXYMSG(c,8);
- ADD_PROXYMSG(c,9);
-}
-#endif
diff --git a/externals/grill/flext/source/flqueue.cpp b/externals/grill/flext/source/flqueue.cpp
deleted file mode 100644
index c3abbc52..00000000
--- a/externals/grill/flext/source/flqueue.cpp
+++ /dev/null
@@ -1,559 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flqueue.cpp
- \brief Implementation of the flext message queuing functionality.
-
- \todo Let's see if queuing can be implemented for Max/MSP with defer_low
-
- if FLEXT_PDLOCK is defined, the new PD thread lock functions are used
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-#include "flcontainers.h"
-#include <string.h> // for memcpy
-
-#ifdef FLEXT_THREADS
-//! Thread id of message queue thread
-flext::thrid_t flext::thrmsgid;
-#endif
-
-static bool qustarted = false;
-
-#ifdef FLEXT_SHARED
-/*
- For the shared version it _should_ be possible to have only one queue for all externals.
- Yet I don't know how to do this cross-platform
-*/
-#define PERMANENTIDLE
-#endif
-
-static void Trigger();
-
-
-class flext::MsgBundle;
-
-typedef PooledFifo<flext::MsgBundle> QueueFifo;
-
-class Queue:
- public flext,
- public QueueFifo
-{
-public:
- inline bool Empty() const { return Size() == 0; }
-
- inline void Push(MsgBundle *m); // defined after MsgBundle (gcc 3.3. won't take it otherwise...)
-};
-
-static Queue queue;
-
-
-#define STATSIZE 8
-
-class flext::MsgBundle:
- public flext,
- public Fifo::Cell
-{
-public:
- static MsgBundle *New()
- {
- MsgBundle *m = queue.New();
- m->msg.Init();
- return m;
- }
-
- static void Free(MsgBundle *m)
- {
- for(Msg *mi = m->msg.nxt; mi; ) {
- Msg *mn = mi->nxt;
- mi->Free();
- delete mi;
- mi = mn;
- }
- m->msg.Free();
- queue.Free(m);
- }
-
- inline MsgBundle &Add(flext_base *t,int o,const t_symbol *s,int ac,const t_atom *av)
- {
- Get()->Set(t,o,s,ac,av);
- return *this;
- }
-
- inline MsgBundle &Add(const t_symbol *r,const t_symbol *s,int ac,const t_atom *av)
- {
- Get()->Set(r,s,ac,av);
- return *this;
- }
-
- inline MsgBundle &Add(flext_base *th,int o) // bang
- {
- return Add(th,o,sym_bang,0,NULL);
- }
-
- inline MsgBundle &Add(flext_base *th,int o,float dt)
- {
- t_atom at;
- SetFloat(at,dt);
- return Add(th,o,sym_float,1,&at);
- }
-
- inline MsgBundle &Add(flext_base *th,int o,int dt)
- {
- t_atom at;
- SetInt(at,dt);
- const t_symbol *sym;
-#if FLEXT_SYS == FLEXT_SYS_PD
- sym = sym_float;
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- sym = sym_int;
-#else
-#error Not implemented!
-#endif
- return Add(th,o,sym,1,&at);
- }
-
- inline MsgBundle &Add(flext_base *th,int o,const t_symbol *dt)
- {
- t_atom at;
- SetSymbol(at,dt);
- return Add(th,o,sym_symbol,1,&at);
- }
-
- inline MsgBundle &Add(flext_base *th,int o,const t_atom &a)
- {
- const t_symbol *sym;
- if(IsSymbol(a))
- sym = sym_symbol;
- else if(IsFloat(a))
- sym = sym_float;
-#if FLEXT_SYS == FLEXT_SYS_MAX
- else if(IsInt(a))
- sym = sym_int;
-#endif
-#if FLEXT_SYS == FLEXT_SYS_PD
- else if(IsPointer(a))
- sym = sym_pointer;
-#endif
- else {
- error("atom type not supported");
- return *this;
- }
- return Add(th,o,sym,1,&a);
- }
-
- inline MsgBundle &Add(flext_base *th,int o,int argc,const t_atom *argv)
- {
- return Add(th,o,sym_list,argc,argv);
- }
-
- // \note PD sys lock must already be held by caller
- inline void Send() const
- {
- if(!msg.Ok()) return; // Empty!
-
- const Msg *m = &msg;
- do {
- m->Send();
- m = m->nxt;
- } while(m);
- }
-
-private:
-
- class Msg {
- public:
- inline bool Ok() const { return th || recv; }
-
- void Init()
- {
- th = NULL;
- recv = NULL;
- nxt = NULL;
- argc = 0;
- }
-
- void Free()
- {
- if(argc > STATSIZE) {
- FLEXT_ASSERT(argv);
- delete[] argv;
- }
- }
-
- void Set(flext_base *t,int o,const t_symbol *s,int ac,const t_atom *av)
- {
- FLEXT_ASSERT(t);
- th = t;
- out = o;
- SetMsg(s,ac,av);
-}
-
- void Set(const t_symbol *r,const t_symbol *s,int ac,const t_atom *av)
- {
- FLEXT_ASSERT(r);
- th = NULL;
- recv = r;
- SetMsg(s,ac,av);
- }
-
- void Send() const
- {
- if(th) {
- if(UNLIKELY(out < 0))
- // message to self
- th->CbMethodHandler(-1-out,sym,argc,argc > STATSIZE?argv:argl);
- else
- // message to outlet
- th->ToSysAnything(out,sym,argc,argc > STATSIZE?argv:argl);
- }
- else
- flext::SysForward(recv,sym,argc,argc > STATSIZE?argv:argl);
- }
-
- Msg *nxt;
-
- protected:
- flext_base *th;
- union {
- int out;
- const t_symbol *recv;
- };
- const t_symbol *sym;
- int argc;
- union {
- t_atom *argv;
- t_atom argl[STATSIZE];
- };
-
- void SetMsg(const t_symbol *s,int cnt,const t_atom *lst)
- {
- sym = s;
- argc = cnt;
- if(UNLIKELY(cnt > STATSIZE)) {
- argv = new t_atom[cnt];
- flext::CopyAtoms(cnt,argv,lst);
- }
- else
- flext::CopyAtoms(cnt,argl,lst);
- }
-
- } msg;
-
- Msg *Get()
- {
- Msg *m = &msg;
- if(LIKELY(m->Ok())) {
- for(; m->nxt; m = m->nxt) {}
- m = m->nxt = new Msg;
- m->Init();
- }
- return m;
- }
-};
-
-inline void Queue::Push(MsgBundle *m)
-{
- if(LIKELY(m)) {
- Put(m);
- Trigger();
- }
-}
-
-#if FLEXT_QMODE == 2
-static flext::ThrCond qthrcond;
-#elif FLEXT_QMODE == 0
-//static t_qelem *qclk = NULL;
-static t_clock *qclk = NULL;
-#endif
-
-
-#define CHUNK 10
-
-static void QWork(bool syslock)
-{
- for(;;) {
- // Since qcnt can only be increased from any other function than QWork
- // qc will be a minimum guaranteed number of present queue elements.
- // On the other hand, if new queue elements are added by the methods called
- // in the loop, these will be sent in the next tick to avoid recursion overflow.
- size_t qc = queue.Size();
- if(!qc) break;
-
- #if FLEXT_QMODE == 2
- if(syslock) flext::Lock();
- #endif
-
- flext::MsgBundle *q;
- while((q = queue.Get()) != NULL) {
- q->Send();
- flext::MsgBundle::Free(q);
- }
-
- #if FLEXT_QMODE == 2
- if(syslock) flext::Unlock();
- #endif
-
- }
-}
-
-#if FLEXT_QMODE == 0
-#if FLEXT_SYS == FLEXT_SYS_JMAX
-static void QTick(fts_object_t *c,int winlet, fts_symbol_t s, int ac, const fts_atom_t *at)
-{
-#else
-static void QTick(flext_base *c)
-{
-#endif
-#ifdef FLEXT_THREADS
- FLEXT_ASSERT(flext::IsSystemThread());
-#endif
- QWork(false);
-}
-
-#elif FLEXT_QMODE == 1
-#ifndef PERMANENTIDLE
-static bool qtickactive = false;
-#endif
-static t_int QTick(t_int *)
-{
-#ifndef PERMANENTIDLE
- qtickactive = false;
-#endif
-
- QWork(false);
-
-#ifdef PERMANENTIDLE
- // will be run in the next idle cycle
- return 2;
-#else
- // won't be run again
- // for non-shared externals assume that there's rarely a message waiting
- // so it's better to delete the callback meanwhile
- return 0;
-#endif
-}
-#endif
-
-/*
-It would be sufficient to only flush messages belonging to object th
-But then the order of sent messages is not as intended
-*/
-void flext_base::QFlush(flext_base *th)
-{
-#ifdef FLEXT_THREADS
- if(!IsSystemThread()) {
- error("flext - Queue flush called by wrong thread!");
- return;
- }
-#endif
-
- while(!queue.Empty()) QWork(false);
-}
-
-static void Trigger()
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- #if FLEXT_QMODE == 2
- // wake up worker thread
- qthrcond.Signal();
- #elif FLEXT_QMODE == 1 && !defined(PERMANENTIDLE)
- if(!qtickactive) {
- sys_callback(QTick,NULL,0);
- qtickactive = true;
- }
- #elif FLEXT_QMODE == 0
- clock_delay(qclk,0);
- #endif
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- #if FLEXT_QMODE == 0
-// qelem_front(qclk);
- clock_delay(qclk,0);
- #endif
-#else
-#error Not implemented
-#endif
-}
-
-#if FLEXT_QMODE == 2
-void flext_base::QWorker(thr_params *)
-{
- thrmsgid = GetThreadId();
- qustarted = true;
- for(;;) {
- qthrcond.Wait();
- QWork(true);
- }
-}
-#endif
-
-void flext_base::StartQueue()
-{
- if(qustarted) return;
-#if FLEXT_QMODE == 1
-#ifdef PERMANENTIDLE
- sys_callback(QTick,NULL,0);
- qustarted = true;
-#endif
-#elif FLEXT_QMODE == 2
- LaunchThread(QWorker,NULL);
- // very unelegant... but waiting should be ok, since happens only on loading
- while(!qustarted) Sleep(0.001);
-#elif FLEXT_QMODE == 0 && (FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX)
-// qclk = (t_qelem *)(qelem_new(NULL,(t_method)QTick));
- qclk = (t_clock *)(clock_new(NULL,(t_method)QTick));
- qustarted = true;
-#else
-#error Not implemented!
-#endif
-}
-
-
-flext::MsgBundle *flext::MsgNew()
-{
- return MsgBundle::New();
-}
-
-void flext::MsgFree(MsgBundle *m)
-{
- MsgBundle::Free(m);
-}
-
-void flext::ToSysMsg(MsgBundle *m)
-{
- m->Send();
- queue.Free(m);
-}
-
-void flext::ToQueueMsg(MsgBundle *m)
-{
- queue.Push(m);
-}
-
-
-
-void flext_base::ToQueueBang(int o) const
-{
- MsgBundle *m = MsgBundle::New();
- m->Add(const_cast<flext_base *>(this),o);
- queue.Push(m);
-}
-
-void flext_base::ToQueueFloat(int o,float f) const
-{
- MsgBundle *m = MsgBundle::New();
- m->Add(const_cast<flext_base *>(this),o,f);
- queue.Push(m);
-}
-
-void flext_base::ToQueueInt(int o,int f) const
-{
- MsgBundle *m = MsgBundle::New();
- m->Add(const_cast<flext_base *>(this),o,f);
- queue.Push(m);
-}
-
-void flext_base::ToQueueSymbol(int o,const t_symbol *s) const
-{
- MsgBundle *m = MsgBundle::New();
- m->Add(const_cast<flext_base *>(this),o,s);
- queue.Push(m);
-}
-
-void flext_base::ToQueueAtom(int o,const t_atom &at) const
-{
- MsgBundle *m = MsgBundle::New();
- m->Add(const_cast<flext_base *>(this),o,at);
- queue.Push(m);
-}
-
-void flext_base::ToQueueList(int o,int argc,const t_atom *argv) const
-{
- MsgBundle *m = MsgBundle::New();
- m->Add(const_cast<flext_base *>(this),o,argc,argv);
- queue.Push(m);
-}
-
-void flext_base::ToQueueAnything(int o,const t_symbol *s,int argc,const t_atom *argv) const
-{
- MsgBundle *m = MsgBundle::New();
- m->Add(const_cast<flext_base *>(this),o,s,argc,argv);
- queue.Push(m);
-}
-
-
-void flext_base::MsgAddBang(MsgBundle *m,int n) const
-{
- m->Add(const_cast<flext_base *>(this),n);
-}
-
-void flext_base::MsgAddFloat(MsgBundle *m,int n,float f) const
-{
- m->Add(const_cast<flext_base *>(this),n,f);
-}
-
-void flext_base::MsgAddInt(MsgBundle *m,int n,int f) const
-{
- m->Add(const_cast<flext_base *>(this),n,f);
-}
-
-void flext_base::MsgAddSymbol(MsgBundle *m,int n,const t_symbol *s) const
-{
- m->Add(const_cast<flext_base *>(this),n,s);
-}
-
-void flext_base::MsgAddAtom(MsgBundle *m,int n,const t_atom &at) const
-{
- m->Add(const_cast<flext_base *>(this),n,at);
-}
-
-void flext_base::MsgAddList(MsgBundle *m,int n,int argc,const t_atom *argv) const
-{
- m->Add(const_cast<flext_base *>(this),n,argc,argv);
-}
-
-void flext_base::MsgAddAnything(MsgBundle *m,int n,const t_symbol *s,int argc,const t_atom *argv) const
-{
- m->Add(const_cast<flext_base *>(this),n,s,argc,argv);
-}
-
-
-
-
-bool flext::SysForward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv)
-{
- void *cl = recv->s_thing;
- if(UNLIKELY(!cl)) return false;
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- pd_typedmess((t_class **)cl,(t_symbol *)s,argc,(t_atom *)argv);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- typedmess(recv->s_thing,(t_symbol *)s,argc,(t_atom *)argv);
-#else
-#error Not implemented
-#endif
- return true;
-}
-
-bool flext::QueueForward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv)
-{
- MsgBundle *m = MsgBundle::New();
- m->Add(recv,s,argc,argv);
- // send over queue
- queue.Push(m);
- return true;
-}
-
-bool flext::MsgForward(MsgBundle *m,const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv)
-{
- m->Add(recv,s,argc,argv);
- return true;
-}
diff --git a/externals/grill/flext/source/flsimd.cpp b/externals/grill/flext/source/flsimd.cpp
deleted file mode 100644
index 8ed13a4a..00000000
--- a/externals/grill/flext/source/flsimd.cpp
+++ /dev/null
@@ -1,2002 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flsimd.cpp
- \brief flext SIMD support functions
-
- If FLEXT_USE_SIMD is defined at compilation, SIMD instructions are used wherever feasible.
- If used with MSVC++ 6 the "Processor Pack" must be installed.
-
- If FLEXT_USE_IPP is defined the Intel Performance Package is used.
-*/
-
-#include "flext.h"
-#include <string.h>
-
-#if FLEXT_OS == FLEXT_OS_WIN
-#include <windows.h>
-#endif
-
-#ifdef FLEXT_USE_IPP
-#include <ipps.h>
-#endif
-
-#ifdef FLEXT_USE_SIMD
- #ifdef _MSC_VER
- // include MSVC SIMD header files
- #include <mmintrin.h> // MMX
- #include <xmmintrin.h> // SSE
- #include <emmintrin.h> // SSE2
- #include <mm3dnow.h> // 3DNow!
- #elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__MWERKS__) && defined(__VEC__)
- #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH
- #include <sys/sysctl.h>
- #include <vDSP.h>
- #else
- #include <Gestalt.h>
- #endif
-
- #pragma altivec_model on
-
- #include <altivec.h>
- #include <vectorOps.h>
- #elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__GNUC__) && defined(__VEC__)
- #include <sys/sysctl.h>
- #include <vecLib/vecLib.h>
- #endif
-
-#endif // FLEXT_USE_SIMD
-
-static unsigned long setsimdcaps();
-
-/*! \brief Holds SIMD capability flags
- \internal
-*/
-unsigned long flext::simdcaps = setsimdcaps();
-
-unsigned long flext::GetSIMDCapabilities() { return simdcaps; }
-
-
-#ifdef FLEXT_USE_SIMD
-
-#if FLEXT_CPU == FLEXT_CPU_IA32 || FLEXT_CPU == FLEXT_CPU_X84_64
-
-#define _CPU_FEATURE_MMX 0x0001
-#define _CPU_FEATURE_SSE 0x0002
-#define _CPU_FEATURE_SSE2 0x0004
-#define _CPU_FEATURE_3DNOW 0x0008
-
-typedef struct _processor_info {
- int family; // family of the processor
- // e.g. 6 = Pentium-Pro architecture
- int model; // model of processor
- // e.g. 1 = Pentium-Pro for family = 6
- int stepping; // processor revision number
- int feature; // processor feature
- // (same as return value from _cpuid)
- int os_support; // does OS Support the feature?
- int checks; // mask of checked bits in feature
- // and os_support fields
-} _p_info;
-
-// These are the bit flags that get set on calling cpuid
-// with register eax set to 1
-#define _MMX_FEATURE_BIT 0x00800000
-#define _SSE_FEATURE_BIT 0x02000000
-#define _SSE2_FEATURE_BIT 0x04000000
-
-// This bit is set when cpuid is called with
-// register set to 80000001h (only applicable to AMD)
-#define _3DNOW_FEATURE_BIT 0x80000000
-
-#ifdef _MSC_VER
-static int IsCPUID()
-{
- __try {
- _asm {
- xor eax, eax
- cpuid
- }
- }
- __except (EXCEPTION_EXECUTE_HANDLER) {
- return 0;
- }
- return 1;
-}
-
-static int _os_support(int feature)
-{
- __try {
- switch (feature) {
- case _CPU_FEATURE_SSE:
- __asm {
- xorps xmm0, xmm0 // executing SSE instruction
- }
- break;
- case _CPU_FEATURE_SSE2:
- __asm {
- xorpd xmm0, xmm0 // executing SSE2 instruction
- }
- break;
- case _CPU_FEATURE_3DNOW:
- __asm {
- pfrcp mm0, mm0 // executing 3DNow! instruction
- emms
- }
- break;
- case _CPU_FEATURE_MMX:
- __asm {
- pxor mm0, mm0 // executing MMX instruction
- emms
- }
- break;
- }
- }
- __except (EXCEPTION_EXECUTE_HANDLER) {
- if (_exception_code() == STATUS_ILLEGAL_INSTRUCTION) {
- return 0;
- }
- return 0;
- }
- return 1;
-}
-
-static int _cpuid (_p_info *pinfo)
-{
- DWORD dwStandard = 0;
- DWORD dwFeature = 0;
- DWORD dwMax = 0;
- DWORD dwExt = 0;
- int feature = 0;
- int os_support = 0;
- union {
- struct {
- DWORD dw0;
- DWORD dw1;
- DWORD dw2;
- } s;
- } Ident;
-
- if (!IsCPUID()) {
- return 0;
- }
-
- _asm {
- push ebx
- push ecx
- push edx
-
- // get the vendor string
- xor eax, eax
- cpuid
- mov dwMax, eax
- mov Ident.s.dw0, ebx
- mov Ident.s.dw1, edx
- mov Ident.s.dw2, ecx
-
- // get the Standard bits
- mov eax, 1
- cpuid
- mov dwStandard, eax
- mov dwFeature, edx
-
- // get AMD-specials
- mov eax, 80000000h
- cpuid
- cmp eax, 80000000h
- jc notamd
- mov eax, 80000001h
- cpuid
- mov dwExt, edx
-
-notamd:
- pop ecx
- pop ebx
- pop edx
- }
-
- if (dwFeature & _MMX_FEATURE_BIT) {
- feature |= _CPU_FEATURE_MMX;
- if (_os_support(_CPU_FEATURE_MMX))
- os_support |= _CPU_FEATURE_MMX;
- }
- if (dwExt & _3DNOW_FEATURE_BIT) {
- feature |= _CPU_FEATURE_3DNOW;
- if (_os_support(_CPU_FEATURE_3DNOW))
- os_support |= _CPU_FEATURE_3DNOW;
- }
- if (dwFeature & _SSE_FEATURE_BIT) {
- feature |= _CPU_FEATURE_SSE;
- if (_os_support(_CPU_FEATURE_SSE))
- os_support |= _CPU_FEATURE_SSE;
- }
- if (dwFeature & _SSE2_FEATURE_BIT) {
- feature |= _CPU_FEATURE_SSE2;
- if (_os_support(_CPU_FEATURE_SSE2))
- os_support |= _CPU_FEATURE_SSE2;
- }
-
- if (pinfo) {
- memset(pinfo, 0, sizeof(_p_info));
-
- pinfo->os_support = os_support;
- pinfo->feature = feature;
- pinfo->family = (dwStandard >> 8) & 0xF; // retrieve family
- if (pinfo->family == 15) { // retrieve extended family
- pinfo->family |= (dwStandard >> 16) & 0xFF0;
- }
- pinfo->model = (dwStandard >> 4) & 0xF; // retrieve model
- if (pinfo->model == 15) { // retrieve extended model
- pinfo->model |= (dwStandard >> 12) & 0xF;
- }
- pinfo->stepping = (dwStandard) & 0xF; // retrieve stepping
-
- pinfo->checks = _CPU_FEATURE_MMX |
- _CPU_FEATURE_SSE |
- _CPU_FEATURE_SSE2 |
- _CPU_FEATURE_3DNOW;
- }
-
- return feature;
-}
-
-inline bool IsVectorAligned(const void *where)
-{
- return (reinterpret_cast<size_t>(where)&(__alignof(__m128)-1)) == 0;
-}
-
-inline bool VectorsAligned(const void *v1,const void *v2)
-{
- return (
- (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2))
- &(__alignof(__m128)-1)
- ) == 0;
-}
-
-inline bool VectorsAligned(const void *v1,const void *v2,const void *v3)
-{
- return (
- (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3))
- &(__alignof(__m128)-1)
- ) == 0;
-}
-
-inline bool VectorsAligned(const void *v1,const void *v2,const void *v3,const void *v4)
-{
- return (
- (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)|reinterpret_cast<size_t>(v4))
- &(__alignof(__m128)-1)
- ) == 0;
-}
-
-#else
-// not MSVC
-static int _cpuid (_p_info *pinfo)
-{
- if(pinfo) memset(pinfo,0,sizeof *pinfo);
- return 0;
-}
-#endif
-
-#endif
-
-
-/*! \brief Determine SIMD capabilities
- \internal
-*/
-static unsigned long setsimdcaps()
-{
- unsigned long simdflags = flext::simd_none;
-#if FLEXT_CPU == FLEXT_CPU_IA32 || FLEXT_CPU == FLEXT_CPU_AMD64
- _p_info cpuinfo;
- int feature = _cpuid(&cpuinfo);
- if(cpuinfo.os_support&_CPU_FEATURE_MMX) simdflags += flext::simd_mmx;
- if(cpuinfo.os_support&_CPU_FEATURE_3DNOW) simdflags += flext::simd_3dnow;
- if(cpuinfo.os_support&_CPU_FEATURE_SSE) simdflags += flext::simd_sse;
- if(cpuinfo.os_support&_CPU_FEATURE_SSE2) simdflags += flext::simd_sse2;
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH
-
- int selectors[2] = { CTL_HW, HW_VECTORUNIT };
- int hasVectorUnit = 0;
- size_t length = sizeof(hasVectorUnit);
- int error = sysctl(selectors, 2, &hasVectorUnit, &length, NULL, 0);
-
- if(!error && hasVectorUnit != 0) simdflags += flext::simd_altivec;
-
- #else
-
- long cpuAttributes;
- Boolean hasAltiVec = false;
- OSErr err = Gestalt( gestaltPowerPCProcessorFeatures, &cpuAttributes );
-
- if( noErr == err )
- if(( 1 << gestaltPowerPCHasVectorInstructions) & cpuAttributes) simdflags += flext::simd_altivec;
-
- #endif
-#endif
- return simdflags;
-}
-
-
-#if FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
-
-/* functions for misaligned vector data - taken from the Altivec tutorial of Ian Ollmann, Ph.D. */
-
-//! Load a vector from an unaligned location in memory
-inline vector unsigned char LoadUnaligned( vector unsigned char *v )
-{
- vector unsigned char permuteVector = vec_lvsl( 0, (int*) v );
- vector unsigned char low = vec_ld( 0, v );
- vector unsigned char high = vec_ld( 15, v );
- return vec_perm( low, high, permuteVector );
-}
-
-/*
-//! Store a vector to an unaligned location in memory
-inline void StoreUnaligned( vector unsigned char v, vector unsigned char *where)
-{
- // Load the surrounding area
- vector unsigned char low = vec_ld( 0, where );
- vector unsigned char high = vec_ld( 16, where );
- // Prepare the constants that we need
- vector unsigned char permuteVector = vec_lvsr( 0, (int*) where );
-
- vector unsigned char oxFF = (vector unsigned char)vec_splat_s8( -1 );
- vector unsigned char ox00 = (vector unsigned char)vec_splat_s8( 0 );
- // Make a mask for which parts of the vectors to swap out
- vector unsigned char mask = vec_perm( ox00, oxFF, permuteVector );
- // Right rotate our input data
- v = vec_perm( v, v, permuteVector );
- // Insert our data into the low and high vectors
- low = vec_sel( v, low, mask );
- high = vec_sel( high, v, mask );
- // Store the two aligned result vectors
- vec_st( low, 0, where );
- vec_st( high, 16, where );
-}
-*/
-
-inline vector float LoadUnaligned(const float *v )
-{
- return (vector float)LoadUnaligned((vector unsigned char *)v);
-}
-
-/*
-inline void StoreUnaligned( vector float v,float *where)
-{
- return StoreUnaligned((vector unsigned char)v,(vector unsigned char *)where);
-}
-*/
-
-inline bool IsVectorAligned(const void *where)
-{
- return (reinterpret_cast<size_t>(where)&(sizeof(vector float)-1)) == 0;
-}
-
-inline bool VectorsAligned(const void *v1,const void *v2)
-{
- return (
- (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2))
- &(sizeof(vector float)-1)
- ) == 0;
-}
-
-inline bool VectorsAligned(const void *v1,const void *v2,const void *v3)
-{
- return (
- (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3))
- &(sizeof(vector float)-1)
- ) == 0;
-}
-
-inline bool VectorsAligned(const void *v1,const void *v2,const void *v3,const void *v4)
-{
- return (
- (reinterpret_cast<size_t>(v1)|reinterpret_cast<size_t>(v2)|reinterpret_cast<size_t>(v3)|reinterpret_cast<size_t>(v4))
- &(sizeof(vector float)-1)
- ) == 0;
-}
-
-inline vector float LoadValue(const float &f)
-{
- return vec_splat(IsVectorAligned(&f)?vec_ld(0,(vector float *)&f):LoadUnaligned(&f),0);
-}
-#endif
-
-
-#else // FLEXT_USE_SIMD
-static unsigned long setsimdcaps() { return 0; }
-#endif // FLEXT_USE_SIMD
-
-
-void flext::CopySamples(t_sample *dst,const t_sample *src,int cnt)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4)
- ippsCopy_32f((const float *)src,(float *)dst,cnt);
- else if(sizeof(t_sample) == 8)
- ippsCopy_64f((const double *)src,(double *)dst,cnt);
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // single precision
-
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- __asm {
- mov eax,dword ptr [src]
- prefetcht0 [eax+0]
- prefetcht0 [eax+32]
- }
-
- if(IsVectorAligned(src)) {
- if(IsVectorAligned(dst)) {
- // aligned src, aligned dst
- __asm {
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ecx,[n]
-loopaa:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
- movaps xmm0,xmmword ptr[eax]
- movaps xmmword ptr[edx],xmm0
- movaps xmm1,xmmword ptr[eax+4*4]
- movaps xmmword ptr[edx+4*4],xmm1
- movaps xmm2,xmmword ptr[eax+8*4]
- movaps xmmword ptr[edx+8*4],xmm2
- movaps xmm3,xmmword ptr[eax+12*4]
- movaps xmmword ptr[edx+12*4],xmm3
-
- add eax,16*4
- add edx,16*4
- loop loopaa
- }
- }
- else {
- // aligned src, unaligned dst
- __asm {
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ecx,[n]
-loopau:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
- movaps xmm0,xmmword ptr[eax]
- movups xmmword ptr[edx],xmm0
- movaps xmm1,xmmword ptr[eax+4*4]
- movups xmmword ptr[edx+4*4],xmm1
- movaps xmm2,xmmword ptr[eax+8*4]
- movups xmmword ptr[edx+8*4],xmm2
- movaps xmm3,xmmword ptr[eax+12*4]
- movups xmmword ptr[edx+12*4],xmm3
-
- add eax,16*4
- add edx,16*4
- loop loopau
- }
- }
- }
- else {
- if(IsVectorAligned(dst)) {
- // unaligned src, aligned dst
- __asm {
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ecx,[n]
-loopua:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
- movups xmm0,xmmword ptr[eax]
- movaps xmmword ptr[edx],xmm0
- movups xmm1,xmmword ptr[eax+4*4]
- movaps xmmword ptr[edx+4*4],xmm1
- movups xmm2,xmmword ptr[eax+8*4]
- movaps xmmword ptr[edx+8*4],xmm2
- movups xmm3,xmmword ptr[eax+12*4]
- movaps xmmword ptr[edx+12*4],xmm3
-
- add eax,16*4
- add edx,16*4
- loop loopua
- }
- }
- else {
- // unaligned src, unaligned dst
- __asm {
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ecx,[n]
-loopuu:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
- movups xmm0,xmmword ptr[eax]
- movups xmmword ptr[edx],xmm0
- movups xmm1,xmmword ptr[eax+4*4]
- movups xmmword ptr[edx+4*4],xmm1
- movups xmm2,xmmword ptr[eax+8*4]
- movups xmmword ptr[edx+8*4],xmm2
- movups xmm3,xmmword ptr[eax+12*4]
- movups xmmword ptr[edx+12*4],xmm3
-
- add eax,16*4
- add edx,16*4
- loop loopuu
- }
- }
- }
-
- src += n<<4,dst += n<<4;
-zero:
- while(cnt--) *(dst++) = *(src++);
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VECTOROPS__)
- if(true) {
- int n = cnt>>2,n4 = n<<2;
- vScopy(n4,(vector float *)src,(vector float *)dst);
- cnt -= n4,src += n4,dst += n4;
- while(cnt--) *(dst++) = *(src++);
- }
- else
-#endif // _MSC_VER
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
- while(n--) {
- dst[0] = src[0]; dst[1] = src[1]; dst[2] = src[2]; dst[3] = src[3];
- dst[4] = src[4]; dst[5] = src[5]; dst[6] = src[6]; dst[7] = src[7];
- src += 8,dst += 8;
- }
- while(cnt--) *(dst++) = *(src++);
- }
-#endif
-}
-
-#if defined(FLEXT_USE_SIMD) && FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
-// because of some frame code Altivec stuff should be in seperate functions....
-
-static const vector float zero = (vector float)(0);
-
-static void SetAltivec(t_sample *dst,int cnt,t_sample s)
-{
- vector float svec = LoadValue(s);
- int n = cnt>>4;
- cnt -= n<<4;
-
- while(n--) {
- vec_st(svec,0,dst);
- vec_st(svec,16,dst);
- vec_st(svec,32,dst);
- vec_st(svec,48,dst);
- dst += 16;
- }
-
- while(cnt--) *(dst++) = s;
-}
-
-static void MulAltivec(t_sample *dst,const t_sample *src,t_sample op,int cnt)
-{
- const vector float arg = LoadValue(op);
- int n = cnt>>4;
- cnt -= n<<4;
-
- for(; n--; src += 16,dst += 16) {
- vector float a1 = vec_ld( 0,src);
- vector float a2 = vec_ld(16,src);
- vector float a3 = vec_ld(32,src);
- vector float a4 = vec_ld(48,src);
-
- a1 = vec_madd(a1,arg,zero);
- a2 = vec_madd(a2,arg,zero);
- a3 = vec_madd(a3,arg,zero);
- a4 = vec_madd(a4,arg,zero);
-
- vec_st(a1, 0,dst);
- vec_st(a2,16,dst);
- vec_st(a3,32,dst);
- vec_st(a4,48,dst);
- }
-
- while(cnt--) *(dst++) = *(src++)*op;
-}
-
-static void MulAltivec(t_sample *dst,const t_sample *src,const t_sample *op,int cnt)
-{
- int n = cnt>>4;
- cnt -= n<<4;
-
- for(; n--; src += 16,op += 16,dst += 16) {
- vector float a1 = vec_ld( 0,src),b1 = vec_ld( 0,op);
- vector float a2 = vec_ld(16,src),b2 = vec_ld(16,op);
- vector float a3 = vec_ld(32,src),b3 = vec_ld(32,op);
- vector float a4 = vec_ld(48,src),b4 = vec_ld(48,op);
-
- a1 = vec_madd(a1,b1,zero);
- a2 = vec_madd(a2,b2,zero);
- a3 = vec_madd(a3,b3,zero);
- a4 = vec_madd(a4,b4,zero);
-
- vec_st(a1, 0,dst);
- vec_st(a2,16,dst);
- vec_st(a3,32,dst);
- vec_st(a4,48,dst);
- }
- while(cnt--) *(dst++) = *(src++) * *(op++);
-}
-
-static void AddAltivec(t_sample *dst,const t_sample *src,t_sample op,int cnt)
-{
- const vector float arg = LoadValue(op);
- int n = cnt>>4;
- cnt -= n<<4;
-
- for(; n--; src += 16,dst += 16) {
- vector float a1 = vec_ld( 0,src);
- vector float a2 = vec_ld(16,src);
- vector float a3 = vec_ld(32,src);
- vector float a4 = vec_ld(48,src);
-
- a1 = vec_add(a1,arg);
- a2 = vec_add(a2,arg);
- a3 = vec_add(a3,arg);
- a4 = vec_add(a4,arg);
-
- vec_st(a1, 0,dst);
- vec_st(a2,16,dst);
- vec_st(a3,32,dst);
- vec_st(a4,48,dst);
- }
-
- while(cnt--) *(dst++) = *(src++)+op;
-}
-
-static void AddAltivec(t_sample *dst,const t_sample *src,const t_sample *op,int cnt)
-{
- int n = cnt>>4;
- cnt -= n<<4;
-
- for(; n--; src += 16,op += 16,dst += 16) {
- vector float a1 = vec_ld( 0,src),b1 = vec_ld( 0,op);
- vector float a2 = vec_ld(16,src),b2 = vec_ld(16,op);
- vector float a3 = vec_ld(32,src),b3 = vec_ld(32,op);
- vector float a4 = vec_ld(48,src),b4 = vec_ld(48,op);
-
- a1 = vec_add(a1,b1);
- a2 = vec_add(a2,b2);
- a3 = vec_add(a3,b3);
- a4 = vec_add(a4,b4);
-
- vec_st(a1, 0,dst);
- vec_st(a2,16,dst);
- vec_st(a3,32,dst);
- vec_st(a4,48,dst);
- }
- while(cnt--) *(dst++) = *(src++) + *(op++);
-}
-
-static void ScaleAltivec(t_sample *dst,const t_sample *src,t_sample opmul,t_sample opadd,int cnt)
-{
- const vector float argmul = LoadValue(opmul);
- const vector float argadd = LoadValue(opadd);
- int n = cnt>>4;
- cnt -= n<<4;
-
- for(; n--; src += 16,dst += 16) {
- vec_st(vec_madd(vec_ld( 0,src),argmul,argadd), 0,dst);
- vec_st(vec_madd(vec_ld(16,src),argmul,argadd),16,dst);
- vec_st(vec_madd(vec_ld(32,src),argmul,argadd),32,dst);
- vec_st(vec_madd(vec_ld(48,src),argmul,argadd),48,dst);
- }
-
- while(cnt--) *(dst++) = *(src++)*opmul+opadd;
-}
-
-static void ScaleAltivec(t_sample *dst,const t_sample *src,t_sample opmul,const t_sample *add,int cnt)
-{
- const vector float argmul = LoadValue(opmul);
- int n = cnt>>4;
- cnt -= n<<4;
-
- for(; n--; src += 16,dst += 16,add += 16) {
- vec_st(vec_madd(vec_ld( 0,src),argmul,vec_ld( 0,add)), 0,dst);
- vec_st(vec_madd(vec_ld(16,src),argmul,vec_ld(16,add)),16,dst);
- vec_st(vec_madd(vec_ld(32,src),argmul,vec_ld(32,add)),32,dst);
- vec_st(vec_madd(vec_ld(48,src),argmul,vec_ld(48,add)),48,dst);
- }
-
- while(cnt--) *(dst++) = *(src++) * opmul + *(add++);
-}
-
-static void ScaleAltivec(t_sample *dst,const t_sample *src,const t_sample *mul,const t_sample *add,int cnt)
-{
- int n = cnt>>4;
- cnt -= n<<4;
-
- for(; n--; src += 16,dst += 16,mul += 16,add += 16) {
- vec_st(vec_madd(vec_ld( 0,src),vec_ld( 0,mul),vec_ld( 0,add)), 0,dst);
- vec_st(vec_madd(vec_ld(16,src),vec_ld(16,mul),vec_ld(16,add)),16,dst);
- vec_st(vec_madd(vec_ld(32,src),vec_ld(32,mul),vec_ld(32,add)),32,dst);
- vec_st(vec_madd(vec_ld(48,src),vec_ld(48,mul),vec_ld(48,add)),48,dst);
- }
-
- while(cnt--) *(dst++) = *(src++) * *(mul++) + *(add++);
-}
-#endif
-
-void flext::SetSamples(t_sample *dst,int cnt,t_sample s)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4)
- ippsSet_32f((float)s,(float *)dst,cnt);
- else if(sizeof(t_sample) == 8)
- ippsSet_64f((double)s,(double *)dst,cnt);
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // single precision
-
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- __asm {
- movss xmm0,xmmword ptr [s]
- shufps xmm0,xmm0,0
- }
-
- if(IsVectorAligned(dst)) {
- // aligned version
- __asm {
- mov ecx,[n]
- mov edx,dword ptr [dst]
-loopa:
- movaps xmmword ptr[edx],xmm0
- movaps xmmword ptr[edx+4*4],xmm0
- movaps xmmword ptr[edx+8*4],xmm0
- movaps xmmword ptr[edx+12*4],xmm0
-
- add edx,16*4
- loop loopa
- }
- }
- else {
- // unaligned version
- __asm {
- mov ecx,[n]
- mov edx,dword ptr [dst]
-loopu:
- movups xmmword ptr[edx],xmm0
- movups xmmword ptr[edx+4*4],xmm0
- movups xmmword ptr[edx+8*4],xmm0
- movups xmmword ptr[edx+12*4],xmm0
-
- add edx,16*4
- loop loopu
- }
- }
-
- dst += n<<4;
-zero:
- while(cnt--) *(dst++) = s;
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- if(GetSIMDCapabilities()&simd_altivec && IsVectorAligned(dst))
- SetAltivec(dst,cnt,s);
- else
-#endif
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
- while(n--) {
- dst[0] = dst[1] = dst[2] = dst[3] = dst[4] = dst[5] = dst[6] = dst[7] = s;
- dst += 8;
- }
-
- while(cnt--) *(dst++) = s;
- }
-#endif
-}
-
-
-void flext::MulSamples(t_sample *dst,const t_sample *src,t_sample op,int cnt)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4) {
- ippsMulC_32f((const float *)src,(float)op,(float *)dst,cnt);
- }
- else if(sizeof(t_sample) == 8) {
- ippsMulC_64f((const double *)src,(double)op,(double *)dst,cnt);
- }
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // single precision
- __m128 a = _mm_load1_ps(&op);
-
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- __asm {
- mov eax,dword ptr [src]
- prefetcht0 [eax+0]
- prefetcht0 [eax+32]
-
- movss xmm0,xmmword ptr [op]
- shufps xmm0,xmm0,0
- }
-
- if(VectorsAligned(src,dst)) {
- // aligned version
- __asm {
- mov ecx,[n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
-loopa:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
-
- movaps xmm1,xmmword ptr[eax]
- mulps xmm1,xmm0
- movaps xmmword ptr[edx],xmm1
-
- movaps xmm2,xmmword ptr[eax+4*4]
- mulps xmm2,xmm0
- movaps xmmword ptr[edx+4*4],xmm2
-
- movaps xmm3,xmmword ptr[eax+8*4]
- mulps xmm3,xmm0
- movaps xmmword ptr[edx+8*4],xmm3
-
- movaps xmm4,xmmword ptr[eax+12*4]
- mulps xmm4,xmm0
- movaps xmmword ptr[edx+12*4],xmm4
-
- add eax,16*4
- add edx,16*4
- loop loopa
- }
- }
- else {
- // unaligned version
- __asm {
- mov ecx,[n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
-loopu:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
-
- movups xmm1,xmmword ptr[eax]
- mulps xmm1,xmm0
- movups xmmword ptr[edx],xmm1
-
- movups xmm2,xmmword ptr[eax+4*4]
- mulps xmm2,xmm0
- movups xmmword ptr[edx+4*4],xmm2
-
- movups xmm3,xmmword ptr[eax+8*4]
- mulps xmm3,xmm0
- movups xmmword ptr[edx+8*4],xmm3
-
- movups xmm4,xmmword ptr[eax+12*4]
- mulps xmm4,xmm0
- movups xmmword ptr[edx+12*4],xmm4
-
- add eax,16*4
- add edx,16*4
- loop loopu
- }
- }
-
- src += n<<4,dst += n<<4;
-zero:
- while(cnt--) *(dst++) = *(src++)*op;
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VDSP__)
- if(true) {
- vsmul(src,1,&op,dst,1,cnt);
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst))
- MulAltivec(dst,src,op,cnt);
- else
-#endif // _MSC_VER
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
-
- if(src == dst) {
- while(n--) {
- dst[0] *= op; dst[1] *= op; dst[2] *= op; dst[3] *= op;
- dst[4] *= op; dst[5] *= op; dst[6] *= op; dst[7] *= op;
- dst += 8;
- }
- while(cnt--) *(dst++) *= op;
- }
- else {
- while(n--) {
- dst[0] = src[0]*op; dst[1] = src[1]*op;
- dst[2] = src[2]*op; dst[3] = src[3]*op;
- dst[4] = src[4]*op; dst[5] = src[5]*op;
- dst[6] = src[6]*op; dst[7] = src[7]*op;
- src += 8,dst += 8;
- }
- while(cnt--) *(dst++) = *(src++)*op;
- }
- }
-#endif
-}
-
-
-void flext::MulSamples(t_sample *dst,const t_sample *src,const t_sample *op,int cnt)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4) {
- ippsMul_32f((const float *)src,(const float *)op,(float *)dst,cnt);
- }
- else if(sizeof(t_sample) == 8) {
- ippsMul_32f((const double *)src,(const double *)op,(double *)dst,cnt);
- }
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // single precision
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- __asm {
- mov eax,[src]
- mov ebx,[op]
- prefetcht0 [eax+0]
- prefetcht0 [ebx+0]
- prefetcht0 [eax+32]
- prefetcht0 [ebx+32]
- }
-
- if(VectorsAligned(src,dst)) {
- if(IsVectorAligned(op)) {
- __asm {
- mov ecx,[n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [op]
- loopaa:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movaps xmm0,xmmword ptr[eax]
- movaps xmm1,xmmword ptr[ebx]
- mulps xmm0,xmm1
- movaps xmmword ptr[edx],xmm0
-
- movaps xmm2,xmmword ptr[eax+4*4]
- movaps xmm3,xmmword ptr[ebx+4*4]
- mulps xmm2,xmm3
- movaps xmmword ptr[edx+4*4],xmm2
-
- movaps xmm4,xmmword ptr[eax+8*4]
- movaps xmm5,xmmword ptr[ebx+8*4]
- mulps xmm4,xmm5
- movaps xmmword ptr[edx+8*4],xmm4
-
- movaps xmm6,xmmword ptr[eax+12*4]
- movaps xmm7,xmmword ptr[ebx+12*4]
- mulps xmm6,xmm7
- movaps xmmword ptr[edx+12*4],xmm6
-
- add eax,16*4
- add ebx,16*4
- add edx,16*4
- loop loopaa
- }
- }
- else {
- __asm {
- mov ecx,[n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [op]
- loopau:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movaps xmm0,xmmword ptr[eax]
- movups xmm1,xmmword ptr[ebx]
- mulps xmm0,xmm1
- movaps xmmword ptr[edx],xmm0
-
- movaps xmm2,xmmword ptr[eax+4*4]
- movups xmm3,xmmword ptr[ebx+4*4]
- mulps xmm2,xmm3
- movaps xmmword ptr[edx+4*4],xmm2
-
- movaps xmm4,xmmword ptr[eax+8*4]
- movups xmm5,xmmword ptr[ebx+8*4]
- mulps xmm4,xmm5
- movaps xmmword ptr[edx+8*4],xmm4
-
- movaps xmm6,xmmword ptr[eax+12*4]
- movups xmm7,xmmword ptr[ebx+12*4]
- mulps xmm6,xmm7
- movaps xmmword ptr[edx+12*4],xmm6
-
- add eax,16*4
- add ebx,16*4
- add edx,16*4
- loop loopau
- }
- }
- }
- else {
- if(IsVectorAligned(op)) {
- __asm {
- mov ecx,[n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [op]
- loopua:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movups xmm0,xmmword ptr[eax]
- movaps xmm1,xmmword ptr[ebx]
- mulps xmm0,xmm1
- movups xmmword ptr[edx],xmm0
-
- movups xmm2,xmmword ptr[eax+4*4]
- movaps xmm3,xmmword ptr[ebx+4*4]
- mulps xmm2,xmm3
- movups xmmword ptr[edx+4*4],xmm2
-
- movups xmm4,xmmword ptr[eax+8*4]
- movaps xmm5,xmmword ptr[ebx+8*4]
- mulps xmm4,xmm5
- movups xmmword ptr[edx+8*4],xmm4
-
- movups xmm6,xmmword ptr[eax+12*4]
- movaps xmm7,xmmword ptr[ebx+12*4]
- mulps xmm6,xmm7
- movups xmmword ptr[edx+12*4],xmm6
-
- add eax,16*4
- add ebx,16*4
- add edx,16*4
- loop loopua
- }
- }
- else {
- __asm {
- mov ecx,[n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [op]
-loopuu:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movups xmm0,xmmword ptr[eax]
- movups xmm1,xmmword ptr[ebx]
- mulps xmm0,xmm1
- movups xmmword ptr[edx],xmm0
-
- movups xmm2,xmmword ptr[eax+4*4]
- movups xmm3,xmmword ptr[ebx+4*4]
- mulps xmm2,xmm3
- movups xmmword ptr[edx+4*4],xmm2
-
- movups xmm4,xmmword ptr[eax+8*4]
- movups xmm5,xmmword ptr[ebx+8*4]
- mulps xmm4,xmm5
- movups xmmword ptr[edx+8*4],xmm4
-
- movups xmm6,xmmword ptr[eax+12*4]
- movups xmm7,xmmword ptr[ebx+12*4]
- mulps xmm6,xmm7
- movups xmmword ptr[edx+12*4],xmm6
-
- add eax,16*4
- add ebx,16*4
- add edx,16*4
- loop loopuu
- }
- }
- }
-
- src += n<<4,dst += n<<4,op += n<<4;
-zero:
- while(cnt--) *(dst++) = *(src++) * *(op++);
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VDSP__)
- if(true) {
- vmul(src,1,op,1,dst,1,cnt);
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,op,dst))
- MulAltivec(dst,src,op,cnt);
- else
-#endif // _MSC_VER
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
-
- if(src == dst) {
- while(n--) {
- dst[0] *= op[0]; dst[1] *= op[1];
- dst[2] *= op[2]; dst[3] *= op[3];
- dst[4] *= op[4]; dst[5] *= op[5];
- dst[6] *= op[6]; dst[7] *= op[7];
- dst += 8,op += 8;
- }
- while(cnt--) *(dst++) *= *(op++);
- }
- else {
- while(n--) {
- dst[0] = src[0]*op[0]; dst[1] = src[1]*op[1];
- dst[2] = src[2]*op[2]; dst[3] = src[3]*op[3];
- dst[4] = src[4]*op[4]; dst[5] = src[5]*op[5];
- dst[6] = src[6]*op[6]; dst[7] = src[7]*op[7];
- src += 8,dst += 8,op += 8;
- }
- while(cnt--) *(dst++) = *(src++) * *(op++);
- }
- }
-#endif
-}
-
-
-void flext::AddSamples(t_sample *dst,const t_sample *src,t_sample op,int cnt)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4) {
- ippsAddC_32f((const float *)src,(float)op,(float *)dst,cnt);
- }
- else if(sizeof(t_sample) == 8) {
- ippsAddC_64f_I((const double *)src,(double)op,(double *)dst,cnt);
- }
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // single precision
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- __asm {
- mov eax,[src]
- prefetcht0 [eax+0]
- prefetcht0 [eax+32]
-
- movss xmm0,xmmword ptr [op]
- shufps xmm0,xmm0,0
- }
-
- if(VectorsAligned(src,dst)) {
- // aligned version
- __asm {
- mov ecx,[n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
-loopa:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
-
- movaps xmm1,xmmword ptr[eax]
- addps xmm1,xmm0
- movaps xmmword ptr[edx],xmm1
-
- movaps xmm2,xmmword ptr[eax+4*4]
- addps xmm2,xmm0
- movaps xmmword ptr[edx+4*4],xmm2
-
- movaps xmm3,xmmword ptr[eax+8*4]
- addps xmm3,xmm0
- movaps xmmword ptr[edx+8*4],xmm3
-
- movaps xmm4,xmmword ptr[eax+12*4]
- addps xmm4,xmm0
- movaps xmmword ptr[edx+12*4],xmm4
-
- add eax,16*4
- add edx,16*4
- loop loopa
- }
- }
- else {
- // unaligned version
- __asm {
- mov ecx,[n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
-loopu:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
-
- movups xmm1,xmmword ptr[eax]
- addps xmm1,xmm0
- movups xmmword ptr[edx],xmm1
-
- movups xmm2,xmmword ptr[eax+4*4]
- addps xmm2,xmm0
- movups xmmword ptr[edx+4*4],xmm2
-
- movups xmm3,xmmword ptr[eax+8*4]
- addps xmm3,xmm0
- movups xmmword ptr[edx+8*4],xmm3
-
- movups xmm4,xmmword ptr[eax+12*4]
- addps xmm4,xmm0
- movups xmmword ptr[edx+12*4],xmm4
-
- add eax,16*4
- add edx,16*4
- loop loopu
- }
- }
- src += n<<4,dst += n<<4,op += n<<4;
-zero:
- while(cnt--) *(dst++) = *(src++)+op;
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst))
- AddAltivec(dst,src,op,cnt);
- else
-#endif // _MSC_VER
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
-
- if(src == dst) {
- while(n--) {
- dst[0] += op; dst[1] += op; dst[2] += op; dst[3] += op;
- dst[4] += op; dst[5] += op; dst[6] += op; dst[7] += op;
- dst += 8;
- }
- while(cnt--) *(dst++) += op;
- }
- else {
- while(n--) {
- dst[0] = src[0]+op; dst[1] = src[1]+op;
- dst[2] = src[2]+op; dst[3] = src[3]+op;
- dst[4] = src[4]+op; dst[5] = src[5]+op;
- dst[6] = src[6]+op; dst[7] = src[7]+op;
- src += 8,dst += 8;
- }
- while(cnt--) *(dst++) = *(src++)+op;
- }
- }
-#endif
-}
-
-
-void flext::AddSamples(t_sample *dst,const t_sample *src,const t_sample *op,int cnt)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4) {
- ippsAdd_32f((const float *)src,(const float *)op,(float *)dst,cnt);
- }
- else if(sizeof(t_sample) == 8) {
- ippsAdd_64f((const double *)src,(const double *)op,(double *)dst,cnt);
- }
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // Prefetch cache
- __asm {
- mov eax,dword ptr [src]
- mov ebx,dword ptr [op]
- prefetcht0 [eax]
- prefetcht0 [ebx]
- prefetcht0 [eax+32]
- prefetcht0 [ebx+32]
- }
-
- // single precision
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- if(VectorsAligned(src,dst)) {
- if(IsVectorAligned(op)) {
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [op]
- loopaa:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movaps xmm0,xmmword ptr[eax]
- movaps xmm1,xmmword ptr[ebx]
- addps xmm0,xmm1
- movaps xmmword ptr[edx],xmm0
-
- movaps xmm2,xmmword ptr[eax+4*4]
- movaps xmm3,xmmword ptr[ebx+4*4]
- addps xmm2,xmm3
- movaps xmmword ptr[edx+4*4],xmm2
-
- movaps xmm4,xmmword ptr[eax+8*4]
- movaps xmm5,xmmword ptr[ebx+8*4]
- addps xmm4,xmm5
- movaps xmmword ptr[edx+8*4],xmm4
-
- movaps xmm6,xmmword ptr[eax+12*4]
- movaps xmm7,xmmword ptr[ebx+12*4]
- addps xmm6,xmm7
- movaps xmmword ptr[edx+12*4],xmm6
-
- add eax,16*4
- add ebx,16*4
- add edx,16*4
- loop loopaa
- }
- }
- else {
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [op]
- loopau:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movaps xmm0,xmmword ptr[eax]
- movups xmm1,xmmword ptr[ebx]
- addps xmm0,xmm1
- movaps xmmword ptr[edx],xmm0
-
- movaps xmm2,xmmword ptr[eax+4*4]
- movups xmm3,xmmword ptr[ebx+4*4]
- addps xmm2,xmm3
- movaps xmmword ptr[edx+4*4],xmm2
-
- movaps xmm4,xmmword ptr[eax+8*4]
- movups xmm5,xmmword ptr[ebx+8*4]
- addps xmm4,xmm5
- movaps xmmword ptr[edx+8*4],xmm4
-
- movaps xmm6,xmmword ptr[eax+12*4]
- movups xmm7,xmmword ptr[ebx+12*4]
- addps xmm6,xmm7
- movaps xmmword ptr[edx+12*4],xmm6
-
- add eax,16*4
- add ebx,16*4
- add edx,16*4
- loop loopau
- }
- }
- }
- else {
- if(IsVectorAligned(op)) {
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [op]
- loopua:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movups xmm0,xmmword ptr[eax]
- movaps xmm1,xmmword ptr[ebx]
- addps xmm0,xmm1
- movups xmmword ptr[edx],xmm0
-
- movups xmm2,xmmword ptr[eax+4*4]
- movaps xmm3,xmmword ptr[ebx+4*4]
- addps xmm2,xmm3
- movups xmmword ptr[edx+4*4],xmm2
-
- movups xmm4,xmmword ptr[eax+8*4]
- movaps xmm5,xmmword ptr[ebx+8*4]
- addps xmm4,xmm5
- movups xmmword ptr[edx+8*4],xmm4
-
- movups xmm6,xmmword ptr[eax+12*4]
- movaps xmm7,xmmword ptr[ebx+12*4]
- addps xmm6,xmm7
- movups xmmword ptr[edx+12*4],xmm6
-
- add eax,16*4
- add ebx,16*4
- add edx,16*4
- loop loopua
- }
- }
- else {
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [op]
- loopuu:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movups xmm0,xmmword ptr[eax]
- movups xmm1,xmmword ptr[ebx]
- addps xmm0,xmm1
- movups xmmword ptr[edx],xmm0
-
- movups xmm2,xmmword ptr[eax+4*4]
- movups xmm3,xmmword ptr[ebx+4*4]
- addps xmm2,xmm3
- movups xmmword ptr[edx+4*4],xmm2
-
- movups xmm4,xmmword ptr[eax+8*4]
- movups xmm5,xmmword ptr[ebx+8*4]
- addps xmm4,xmm5
- movups xmmword ptr[edx+8*4],xmm4
-
- movups xmm6,xmmword ptr[eax+12*4]
- movups xmm7,xmmword ptr[ebx+12*4]
- addps xmm6,xmm7
- movups xmmword ptr[edx+12*4],xmm6
-
- add eax,16*4
- add ebx,16*4
- add edx,16*4
- loop loopuu
- }
- }
- }
-
- src += n<<4,dst += n<<4,op += n<<4;
-zero:
- while(cnt--) *(dst++) = *(src++) + *(op++);
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VDSP__)
- if(true) {
- vadd(src,1,op,1,dst,1,cnt);
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,op,dst))
- AddAltivec(dst,src,op,cnt);
- else
-#endif // _MSC_VER
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
-
- if(dst == src) {
- while(n--) {
- dst[0] += op[0]; dst[1] += op[1];
- dst[2] += op[2]; dst[3] += op[3];
- dst[4] += op[4]; dst[5] += op[5];
- dst[6] += op[6]; dst[7] += op[7];
- dst += 8,op += 8;
- }
- while(cnt--) *(dst++) += *(op++);
- }
- else {
- while(n--) {
- dst[0] = src[0]+op[0]; dst[1] = src[1]+op[1];
- dst[2] = src[2]+op[2]; dst[3] = src[3]+op[3];
- dst[4] = src[4]+op[4]; dst[5] = src[5]+op[5];
- dst[6] = src[6]+op[6]; dst[7] = src[7]+op[7];
- src += 8,dst += 8,op += 8;
- }
- while(cnt--) *(dst++) = *(src++) + *(op++);
- }
- }
-#endif
-}
-
-
-void flext::ScaleSamples(t_sample *dst,const t_sample *src,t_sample opmul,t_sample opadd,int cnt)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4) {
- ippsMulC_32f((const float *)src,(float)opmul,(float *)dst,cnt);
- ippsAddC_32f_I((float)opadd,(float *)dst,cnt);
- }
- else if(sizeof(t_sample) == 8) {
- ippsMulC_64f((const double *)src,(double)opmul,(double *)dst,cnt);
- ippsAddC_64f_I((double)opadd,(double *)dst,cnt);
- }
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // single precision
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- __asm {
- mov eax,dword ptr [src]
- prefetcht0 [eax+0]
- prefetcht0 [eax+32]
-
- movss xmm0,xmmword ptr [opadd]
- shufps xmm0,xmm0,0
- movss xmm1,xmmword ptr [opmul]
- shufps xmm1,xmm1,0
- }
-
- if(VectorsAligned(src,dst)) {
- // aligned version
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
-loopa:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
-
- movaps xmm2,xmmword ptr[eax]
- mulps xmm2,xmm1
- addps xmm2,xmm0
- movaps xmmword ptr[edx],xmm2
-
- movaps xmm3,xmmword ptr[eax+4*4]
- mulps xmm3,xmm1
- addps xmm3,xmm0
- movaps xmmword ptr[edx+4*4],xmm3
-
- movaps xmm4,xmmword ptr[eax+8*4]
- mulps xmm4,xmm1
- addps xmm4,xmm0
- movaps xmmword ptr[edx+8*4],xmm4
-
- movaps xmm5,xmmword ptr[eax+12*4]
- mulps xmm5,xmm1
- addps xmm5,xmm0
- movaps xmmword ptr[edx+12*4],xmm5
-
- add eax,16*4
- add edx,16*4
- loop loopa
- }
- }
- else {
- // unaligned version
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
-loopu:
- prefetcht0 [eax+64]
- prefetcht0 [eax+96]
-
- movups xmm2,xmmword ptr[eax]
- mulps xmm2,xmm1
- addps xmm2,xmm0
- movups xmmword ptr[edx],xmm2
-
- movups xmm3,xmmword ptr[eax+4*4]
- mulps xmm3,xmm1
- addps xmm3,xmm0
- movups xmmword ptr[edx+4*4],xmm3
-
- movups xmm4,xmmword ptr[eax+8*4]
- mulps xmm4,xmm1
- addps xmm4,xmm0
- movups xmmword ptr[edx+8*4],xmm4
-
- movups xmm5,xmmword ptr[eax+12*4]
- mulps xmm5,xmm1
- addps xmm5,xmm0
- movups xmmword ptr[edx+12*4],xmm5
-
- add eax,16*4
- add edx,16*4
- loop loopu
- }
- }
-
- src += n<<4,dst += n<<4;
-zero:
- while(cnt--) *(dst++) = *(src++)*opmul+opadd;
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst))
- ScaleAltivec(dst,src,opmul,opadd,cnt);
- else
-#endif // _MSC_VER
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
- while(n--) {
- dst[0] = src[0]*opmul+opadd; dst[1] = src[1]*opmul+opadd;
- dst[2] = src[2]*opmul+opadd; dst[3] = src[3]*opmul+opadd;
- dst[4] = src[4]*opmul+opadd; dst[5] = src[5]*opmul+opadd;
- dst[6] = src[6]*opmul+opadd; dst[7] = src[7]*opmul+opadd;
- src += 8,dst += 8;
- }
- while(cnt--) *(dst++) = *(src++)*opmul+opadd;
- }
-#endif
-}
-
-void flext::ScaleSamples(t_sample *dst,const t_sample *src,t_sample opmul,const t_sample *opadd,int cnt)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4) {
- ippsMulC_32f((const float *)src,(float)opmul,(float *)dst,cnt);
- ippsAdd_32f_I((float *)opadd,(float *)dst,cnt);
- }
- else if(sizeof(t_sample) == 8) {
- ippsMulC_64f((const double *)src,(double)opmul,(double *)dst,cnt);
- ippsAdd_64f_I((double *)opadd,(double *)dst,cnt);
- }
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // single precision
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- __asm {
- mov eax,dword ptr [src]
- prefetcht0 [eax+0]
- prefetcht0 [eax+32]
-
- movss xmm0,xmmword ptr [opmul]
- shufps xmm0,xmm0,0
- }
-
- if(VectorsAligned(src,dst,opadd)) {
- // aligned version
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [opadd]
-loopa:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movaps xmm2,xmmword ptr[eax]
- movaps xmm1,xmmword ptr[ebx]
- mulps xmm2,xmm0
- addps xmm2,xmm1
- movaps xmmword ptr[edx],xmm2
-
- movaps xmm3,xmmword ptr[eax+4*4]
- movaps xmm1,xmmword ptr[ebx+4*4]
- mulps xmm3,xmm0
- addps xmm3,xmm1
- movaps xmmword ptr[edx+4*4],xmm3
-
- movaps xmm4,xmmword ptr[eax+8*4]
- movaps xmm1,xmmword ptr[ebx+8*4]
- mulps xmm4,xmm0
- addps xmm4,xmm1
- movaps xmmword ptr[edx+8*4],xmm4
-
- movaps xmm5,xmmword ptr[eax+12*4]
- movaps xmm1,xmmword ptr[ebx+12*4]
- mulps xmm5,xmm0
- addps xmm5,xmm1
- movaps xmmword ptr[edx+12*4],xmm5
-
- add eax,16*4
- add edx,16*4
- add ebx,16*4
- loop loopa
- }
- }
- else {
- // unaligned version
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov ebx,dword ptr [opadd]
-loopu:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
-
- movups xmm2,xmmword ptr[eax]
- movups xmm1,xmmword ptr[ebx]
- mulps xmm2,xmm0
- addps xmm2,xmm1
- movups xmmword ptr[edx],xmm2
-
- movups xmm3,xmmword ptr[eax+4*4]
- movups xmm1,xmmword ptr[ebx+4*4]
- mulps xmm3,xmm0
- addps xmm3,xmm1
- movups xmmword ptr[edx+4*4],xmm3
-
- movups xmm4,xmmword ptr[eax+8*4]
- movups xmm1,xmmword ptr[ebx+8*4]
- mulps xmm4,xmm0
- addps xmm4,xmm1
- movups xmmword ptr[edx+8*4],xmm4
-
- movups xmm5,xmmword ptr[eax+12*4]
- movups xmm1,xmmword ptr[ebx+12*4]
- mulps xmm5,xmm0
- addps xmm5,xmm1
- movups xmmword ptr[edx+12*4],xmm5
-
- add eax,16*4
- add edx,16*4
- add ebx,16*4
- loop loopu
- }
- }
-
- src += n<<4,dst += n<<4,opadd += n<<4;
-zero:
- while(cnt--) *(dst++) = *(src++) * opmul + *(opadd++);
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst,opadd))
- ScaleAltivec(dst,src,opmul,opadd,cnt);
- else
-#endif // _MSC_VER
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
- if(dst == opadd) {
- while(n--) {
- dst[0] += src[0]*opmul; dst[1] += src[1]*opmul;
- dst[2] += src[2]*opmul; dst[3] += src[3]*opmul;
- dst[4] += src[4]*opmul; dst[5] += src[5]*opmul;
- dst[6] += src[6]*opmul; dst[7] += src[7]*opmul;
- src += 8,dst += 8;
- }
- while(cnt--) *(dst++) += *(src++)*opmul;
- }
- else {
- while(n--) {
- dst[0] = src[0]*opmul+opadd[0]; dst[1] = src[1]*opmul+opadd[1];
- dst[2] = src[2]*opmul+opadd[2]; dst[3] = src[3]*opmul+opadd[3];
- dst[4] = src[4]*opmul+opadd[4]; dst[5] = src[5]*opmul+opadd[5];
- dst[6] = src[6]*opmul+opadd[6]; dst[7] = src[7]*opmul+opadd[7];
- src += 8,dst += 8,opadd += 8;
- }
- while(cnt--) *(dst++) = *(src++)*opmul+*(opadd++);
- }
- }
-#endif
-}
-
-void flext::ScaleSamples(t_sample *dst,const t_sample *src,const t_sample *opmul,const t_sample *opadd,int cnt)
-{
-#ifdef FLEXT_USE_IPP
- if(sizeof(t_sample) == 4) {
- ippsMul_32f((const float *)src,(const float *)opmul,(float *)dst,cnt);
- ippsAdd_32f_I((const float *)opadd,(float *)dst,cnt);
- }
- else if(sizeof(t_sample) == 8) {
- ippsMul_64f((const double *)src,(const double *)opmul,(double *)dst,cnt);
- ippsAdd_64f_I((const double *)opadd,(double *)dst,cnt);
- }
- else
- ERRINTERNAL();
-#else
-#ifdef FLEXT_USE_SIMD
-#ifdef _MSC_VER
- if(GetSIMDCapabilities()&simd_sse) {
- // single precision
- int n = cnt>>4;
- if(!n) goto zero;
- cnt -= n<<4;
-
- __asm {
- mov eax,dword ptr [src]
- prefetcht0 [eax+0]
- prefetcht0 [eax+32]
- }
-
- if(VectorsAligned(src,dst,opmul,opadd)) {
- // aligned version
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov esi,dword ptr [opmul]
- mov ebx,dword ptr [opadd]
-loopa:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [esi+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
- prefetcht0 [esi+96]
-
- movaps xmm2,xmmword ptr[eax]
- movaps xmm0,xmmword ptr[esi]
- movaps xmm1,xmmword ptr[ebx]
- mulps xmm2,xmm0
- addps xmm2,xmm1
- movaps xmmword ptr[edx],xmm2
-
- movaps xmm3,xmmword ptr[eax+4*4]
- movaps xmm0,xmmword ptr[esi+4*4]
- movaps xmm1,xmmword ptr[ebx+4*4]
- mulps xmm3,xmm0
- addps xmm3,xmm1
- movaps xmmword ptr[edx+4*4],xmm3
-
- movaps xmm4,xmmword ptr[eax+8*4]
- movaps xmm0,xmmword ptr[esi+8*4]
- movaps xmm1,xmmword ptr[ebx+8*4]
- mulps xmm4,xmm0
- addps xmm4,xmm1
- movaps xmmword ptr[edx+8*4],xmm4
-
- movaps xmm5,xmmword ptr[eax+12*4]
- movaps xmm0,xmmword ptr[esi+12*4]
- movaps xmm1,xmmword ptr[ebx+12*4]
- mulps xmm5,xmm0
- addps xmm5,xmm1
- movaps xmmword ptr[edx+12*4],xmm5
-
- add eax,16*4
- add edx,16*4
- add ebx,16*4
- add esi,16*4
- loop loopa
- }
- }
- else {
- // unaligned version
- __asm {
- mov ecx,dword ptr [n]
- mov eax,dword ptr [src]
- mov edx,dword ptr [dst]
- mov esi,dword ptr [opmul]
- mov ebx,dword ptr [opadd]
-loopu:
- prefetcht0 [eax+64]
- prefetcht0 [ebx+64]
- prefetcht0 [esi+64]
- prefetcht0 [eax+96]
- prefetcht0 [ebx+96]
- prefetcht0 [esi+96]
-
- movups xmm2,xmmword ptr[eax]
- movups xmm0,xmmword ptr[esi]
- movups xmm1,xmmword ptr[ebx]
- mulps xmm2,xmm0
- addps xmm2,xmm1
- movups xmmword ptr[edx],xmm2
-
- movups xmm3,xmmword ptr[eax+4*4]
- movups xmm0,xmmword ptr[esi+4*4]
- movups xmm1,xmmword ptr[ebx+4*4]
- mulps xmm3,xmm0
- addps xmm3,xmm1
- movups xmmword ptr[edx+4*4],xmm3
-
- movups xmm4,xmmword ptr[eax+8*4]
- movups xmm0,xmmword ptr[esi+8*4]
- movups xmm1,xmmword ptr[ebx+8*4]
- mulps xmm4,xmm0
- addps xmm4,xmm1
- movups xmmword ptr[edx+8*4],xmm4
-
- movups xmm5,xmmword ptr[eax+12*4]
- movups xmm0,xmmword ptr[esi+12*4]
- movups xmm1,xmmword ptr[ebx+12*4]
- mulps xmm5,xmm0
- addps xmm5,xmm1
- movups xmmword ptr[edx+12*4],xmm5
-
- add eax,16*4
- add edx,16*4
- add ebx,16*4
- add esi,16*4
- loop loopu
- }
- }
- src += n<<4,dst += n<<4,opmul += n<<4,opadd += n<<4;
-zero:
- while(cnt--) *(dst++) = *(src++) * *(opmul++) + *(opadd++);
- }
- else
-#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__VEC__)
- if(GetSIMDCapabilities()&simd_altivec && VectorsAligned(src,dst,opmul,opadd))
- ScaleAltivec(dst,src,opmul,opadd,cnt);
- else
-#endif // _MSC_VER
-#endif // FLEXT_USE_SIMD
- {
- int n = cnt>>3;
- cnt -= n<<3;
- if(dst == opadd) {
- while(n--) {
- dst[0] += src[0]*opmul[0]; dst[1] += src[1]*opmul[1];
- dst[2] += src[2]*opmul[2]; dst[3] += src[3]*opmul[3];
- dst[4] += src[4]*opmul[4]; dst[5] += src[5]*opmul[5];
- dst[6] += src[6]*opmul[6]; dst[7] += src[7]*opmul[7];
- src += 8,dst += 8,opmul += 8;
- }
- while(cnt--) *(dst++) += *(src++) * *(opmul++);
- }
- else {
- while(n--) {
- dst[0] = src[0]*opmul[0]+opadd[0]; dst[1] = src[1]*opmul[1]+opadd[1];
- dst[2] = src[2]*opmul[2]+opadd[2]; dst[3] = src[3]*opmul[3]+opadd[3];
- dst[4] = src[4]*opmul[4]+opadd[4]; dst[5] = src[5]*opmul[5]+opadd[5];
- dst[6] = src[6]*opmul[6]+opadd[6]; dst[7] = src[7]*opmul[7]+opadd[7];
- src += 8,dst += 8,opmul += 8,opadd += 8;
- }
- while(cnt--) *(dst++) = *(src++)* *(opmul++) + *(opadd++);
- }
- }
-#endif
-}
diff --git a/externals/grill/flext/source/flsndobj.cpp b/externals/grill/flext/source/flsndobj.cpp
deleted file mode 100644
index b884ce73..00000000
--- a/externals/grill/flext/source/flsndobj.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-#include "flext.h"
-#include "flsndobj.h"
-
-
-flext_sndobj::flext_sndobj():
- inobjs(0),outobjs(0),
- inobj(NULL),tmpobj(NULL),outobj(NULL),
- smprt(0),blsz(0)
-{}
-
-bool flext_sndobj::Init()
-{
- bool ret = flext_dsp::Init();
- inobjs = CntInSig();
- outobjs = CntOutSig();
- return ret;
-}
-
-void flext_sndobj::Exit()
-{
- ClearObjs();
- flext_dsp::Exit();
-}
-
-void flext_sndobj::ClearObjs()
-{
- FreeObjs();
-
- if(inobj) {
- for(int i = 0; i < inobjs; ++i) delete inobj[i];
- delete[] inobj; inobj = NULL;
- }
- if(tmpobj) {
- for(int i = 0; i < inobjs; ++i) delete tmpobj[i];
- delete[] tmpobj; tmpobj = NULL;
- }
- if(outobj) {
- for(int i = 0; i < outobjs; ++i) delete outobj[i];
- delete[] outobj; outobj = NULL;
- }
-}
-
-bool flext_sndobj::CbDsp()
-{
- // called on every rebuild of the dsp chain
-
- int i;
- if(Blocksize() != blsz || Samplerate() != smprt) {
- // block size or sample rate has changed... rebuild all objects
-
- ClearObjs();
-
- blsz = Blocksize();
- smprt = Samplerate();
-
- // set up sndobjs for inlets and outlets
- if(inobjs) {
- inobj = new Inlet *[inobjs];
- tmpobj = new SndObj *[inobjs];
- for(i = 0; i < inobjs; ++i) {
- inobj[i] = new Inlet(InSig(i),blsz,smprt);
- tmpobj[i] = new SndObj(NULL,blsz,smprt);
- }
- }
- if(outobjs) {
- outobj = new Outlet *[outobjs];
- for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(OutSig(i),blsz,smprt);
- }
-
- if(!NewObjs()) ClearObjs();
- }
- else {
- // assign changed input/output vectors
-
- for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(InSig(i));
- for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(OutSig(i));
- }
- return true;
-}
-
-void flext_sndobj::CbSignal()
-{
- for(int i = 0; i < inobjs; ++i) *tmpobj[i] << *inobj[i];
- ProcessObjs();
-}
-
-
-flext_sndobj::Inlet::Inlet(const t_sample *b,int vecsz,float sr):
- SndIO(1,sizeof(t_sample)*8,NULL,vecsz,sr),buf(b)
-{}
-
-short flext_sndobj::Inlet::Read()
-{
- if(!m_error) {
- for(m_vecpos = 0; m_vecpos < m_samples; m_vecpos++)
- m_output[m_vecpos] = buf[m_vecpos];
- return 1;
- }
- else return 0;
-}
-
-short flext_sndobj::Inlet::Write() { return 0; }
-
-
-flext_sndobj::Outlet::Outlet(t_sample *b,int vecsz,float sr):
- SndIO(1,sizeof(t_sample)*8,NULL,vecsz,sr),buf(b)
-{}
-
-short flext_sndobj::Outlet::Read() { return 0; }
-
-short flext_sndobj::Outlet::Write()
-{
- if(!m_error) {
- if(m_IOobjs[0])
- for(m_vecpos = 0; m_vecpos < m_samples; m_vecpos++)
- buf[m_vecpos] = m_IOobjs[0]->Output(m_vecpos);
- return 1;
- }
- else return 0;
-}
-
-
diff --git a/externals/grill/flext/source/flsndobj.h b/externals/grill/flext/source/flsndobj.h
deleted file mode 100644
index c62b87d5..00000000
--- a/externals/grill/flext/source/flsndobj.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2007 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-#ifndef __FLSNDOBJ_H
-#define __FLSNDOBJ_H
-
-#include "flext.h"
-
-// PI is defined in the Max/MSP SDK, but clashes with SndObj.h
-#ifdef PI
-#undef PI
-#endif
-
-#ifndef FLEXT_THREADS
-#define NOPTHREAD
-#endif
-#include <SndObj.h>
-#include <SndIO.h>
-#undef NOPTHREAD
-
-
-class FLEXT_SHARE flext_sndobj:
- public flext_dsp
-{
- FLEXT_HEADER(flext_sndobj,flext_dsp)
-
-public:
- flext_sndobj();
-
- // these have to be overridden in child classes
- virtual bool NewObjs() { return true; }
- virtual void FreeObjs() {}
- virtual void ProcessObjs() {}
-
- // inputs and outputs
- SndObj &InObj(int i) { return *tmpobj[i]; }
- SndIO &OutObj(int i) { return *outobj[i]; }
-
-protected:
- virtual bool Init();
- virtual void Exit();
-
-private:
- //! SndObj for reading from inlet buffer
- class Inlet:
- public SndIO
- {
- public:
- Inlet(const t_sample *b,int vecsz,float sr);
- virtual short Read();
- virtual short Write();
-
- void SetBuf(const t_sample *b) { buf = b; }
-
- private:
- const t_sample *buf;
- };
-
- //! SndObj for writing to outlet buffer
- class Outlet:
- public SndIO
- {
- public:
- Outlet(t_sample *b,int vecsz,float sr);
- virtual short Read();
- virtual short Write();
-
- void SetBuf(t_sample *b) { buf = b; }
-
- private:
- t_sample *buf;
- };
-
- virtual bool CbDsp();
- virtual void CbSignal();
-
- void ClearObjs();
-
- int inobjs,outobjs;
- SndObj **tmpobj;
- Inlet **inobj;
- Outlet **outobj;
-
- float smprt;
- int blsz;
-};
-
-#endif
diff --git a/externals/grill/flext/source/flstdc.h b/externals/grill/flext/source/flstdc.h
deleted file mode 100644
index 13ac271c..00000000
--- a/externals/grill/flext/source/flstdc.h
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flstdc.h
- \brief Definitions to unite Max/MSP and PD notions
-
- This file contains a few definitions to unite a few of the notions that
- once drifted apart in Max and PD. It is not elegant but helps.
-*/
-
-#ifndef __FLEXT_STDC_H
-#define __FLEXT_STDC_H
-
-#if defined(_MSC_VER) && (_MSC_VER < 0x1300)
-/*
- include math.h here - when included with PD or Max/MSP headers,
- C linkage would be used which disturbs MSVC6
-*/
-#include <math.h>
-#endif
-
-#ifdef _MSC_VER
-#include <crtdbg.h>
-#else
-#include <assert.h>
-#endif
-
-// PD stuff
-
-#if FLEXT_SYS == FLEXT_SYS_PD
-
-/* PD definitions start here */
-
-#ifdef _MSC_VER
- #pragma warning (push)
- #pragma warning (disable:4091 4005)
-#endif
-
-#if FLEXT_OS == FLEXT_OS_WIN && !defined(NT)
-#define NT
-#endif
-
-extern "C" {
- // Include the relevant PD header files
- #ifdef FLEXT_DEBUG
- /* PD header file structure has changed with version 0.37
- from then on m_imp.h needs m_pd.h to be included before
- on the other hand versions < 0.37 don't like that....
- (they want m_imp.h solely as m_pd.h is included therein)
- So better use the m_pd.h here also for the debug version.
- Change that if really needed for debugging PD internals...
- */
-
- #ifndef PD_VERSION
- // include only if not already included
- #include <m_pd.h>
- #endif
-// #include <m_imp.h> // for easier debugging
- #else
- #ifndef PD_VERSION
- // include only if not already included
- #include <m_pd.h>
- #endif
- #endif
-}
-
-#ifdef _MSC_VER
- #pragma warning (pop)
-#endif
-
-#ifdef cabs
-#undef cabs // this is defined in m_pd.h (clashes with math.h in MacOSX)
-#endif
-
-typedef t_object t_sigobj;
-typedef t_gpointer *t_ptrtype;
-
-typedef t_float t_flint;
-typedef t_symbol *t_symtype;
-typedef t_class **t_thing;
-
-typedef t_clock t_qelem;
-
-#define A_NOTHING A_NULL
-#define A_FLINT A_FLOAT
-#define A_DEFFLINT A_DEFFLOAT
-#define A_DEFSYMBOL A_DEFSYM
-
-
-#elif FLEXT_SYS == FLEXT_SYS_MAX
-
-/* Max/MSP definitions start here */
-
-// 2-byte alignment for Max/MSP structures
-#ifdef _MSC_VER
-#pragma pack(push,flext_maxsdk)
-#pragma pack(2)
-#endif
-
-// Include the relevant Max/MSP header files
-
-#if FLEXT_OS == FLEXT_OS_MAC
- #if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH
- // MachO version - must insert prefix header
- #include <ext_carbon_prefix.h>
- #else
- // CFM version
- #ifndef __MRC__
- #define powerc
- #endif
- #define __MOTO__ 0
-
- #include <MacTypes.h>
- #endif
-#elif FLEXT_OS == FLEXT_OS_WIN
- #define WIN_VERSION 1
- #define WIN_EXT_VERSION 1
-#endif
-
-// necessary for the old OS9 SDK
-extern "C" {
-
-#include "ext.h"
-#include "ext_user.h"
-#if FLEXT_OS != FLEXT_OS_MAC || defined(MAC_VERSION)
-// doesn't exist for OS9
-#include "ext_critical.h"
-#include "buffer.h"
-#else
-// for OS9 include "inofficial" header file
-#include "flmspbuffer.h"
-#endif
-#include "z_dsp.h"
-
-} // extern "C"
-
-#undef WIN_VERSION
-
-typedef t_pxobject t_sigobj; // that's the all-in-one object type of Max/MSP (not very memory-efficent, i guess)
-typedef t_patcher t_canvas;
-
-typedef t_int t_flint;
-typedef t_symbol *t_symtype;
-typedef t_object *t_thing;
-
-// for the following to work you should have the latest SDK
-#if FLEXT_OS == FLEXT_OS_MAC //&& !defined(MAC_VERSION)
-typedef struct qelem t_qelem;
-#else
-typedef void *t_qelem;
-#endif
-
-typedef method t_method;
-typedef method t_newmethod;
-typedef int t_atomtype;
-
-typedef struct clock t_clock;
-typedef void t_binbuf;
-
-#undef clock_free
-#define clock_free(tick) freeobject((object *)tick)
-
-#define A_NULL A_NOTHING
-#define A_DEFFLINT A_DEFLONG
-
-#ifndef A_INT
-#define A_INT A_LONG
-#endif
-
-#ifndef A_DEFINT
-#define A_DEFINT A_DEFLONG
-#endif
-
-#ifndef A_SYMBOL
-#define A_SYMBOL A_SYM
-#endif
-
-#ifndef A_DEFSYMBOL
-#define A_DEFSYMBOL A_DEFSYM
-#endif
-
-#if FLEXT_OS == FLEXT_OS_MAC && !defined(MAC_VERSION)
-// simulate non-existing functions for OS9
-#define critical_enter(N)
-#define critical_exit(N)
-#endif
-
-#ifdef _MSC_VER
-#pragma pack(pop,flext_maxsdk)
-#endif
-
-#else
-#error Platform not supported
-#endif // FLEXT_SYS
-
-
-// general definitions
-
-typedef t_symbol *t_symptr;
-
-
-// -------------------------
-
-#ifdef FLEXT_LOGGING
-/* If FLEXT_LOGGING is defined implement logging */
-
-#ifdef _MSC_VER
-#define FLEXT_LOG(s) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s)
-#define FLEXT_LOG1(s,v1) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1)
-#define FLEXT_LOG2(s,v1,v2) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2)
-#define FLEXT_LOG3(s,v1,v2,v3) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3)
-#define FLEXT_LOG4(s,v1,v2,v3,v4) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4)
-#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5)
-#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6)
-#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7)
-#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7,v8)
-#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",s,v1,v2,v3,v4,v5,v6,v7,v8,v9)
-#else
-#define FLEXT_LOG(s) post(s)
-#define FLEXT_LOG1(s,v1) post(s,v1)
-#define FLEXT_LOG2(s,v1,v2) post(s,v1,v2)
-#define FLEXT_LOG3(s,v1,v2,v3) post(s,v1,v2,v3)
-#define FLEXT_LOG4(s,v1,v2,v3,v4) post(s,v1,v2,v3,v4)
-#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) post(s,v1,v2,v3,v4,v5)
-#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) post(s,v1,v2,v3,v4,v5,v6)
-#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) post(s,v1,v2,v3,v4,v5,v6,v7)
-#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) post(s,v1,v2,v3,v4,v5,v6,v7,v8)
-#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) post(s,v1,v2,v3,v4,v5,v6,v7,v8,v9)
-#endif
-
-#else
-
-/* If FLEXT_LOGGING is not defined avoid logging */
-#define FLEXT_LOG(s) ((void)0)
-#define FLEXT_LOG1(s,v1) ((void)0)
-#define FLEXT_LOG2(s,v1,v2) ((void)0)
-#define FLEXT_LOG3(s,v1,v2,v3) ((void)0)
-#define FLEXT_LOG4(s,v1,v2,v3,v4) ((void)0)
-#define FLEXT_LOG5(s,v1,v2,v3,v4,v5) ((void)0)
-#define FLEXT_LOG6(s,v1,v2,v3,v4,v5,v6) ((void)0)
-#define FLEXT_LOG7(s,v1,v2,v3,v4,v5,v6,v7) ((void)0)
-#define FLEXT_LOG8(s,v1,v2,v3,v4,v5,v6,v7,v8) ((void)0)
-#define FLEXT_LOG9(s,v1,v2,v3,v4,v5,v6,v7,v8,v9) ((void)0)
-
-#endif
-
-#ifdef FLEXT_DEBUG
-#ifdef _MSC_VER
-#define FLEXT_ASSERT(b) do { if(!(b)) _CrtDbgReport(_CRT_ASSERT,__FILE__,__LINE__,"flext",#b); } while(false)
-#define FLEXT_WARN(str) _CrtDbgReport(_CRT_WARN,__FILE__,__LINE__,"flext",NULL)
-#define FLEXT_ERROR(str) _CrtDbgReport(_CRT_ERROR,__FILE__,__LINE__,"flext",NULL)
-#else
-#define FLEXT_ASSERT(b) assert(b)
-//#define FLEXT_ASSERT(b) do { if(!(b)) error("Assertion failed: " #b " - in " __FILE__ " line %i",(int)__LINE__); } while(false)
-#define FLEXT_WARN(str) error("Warning: in " __FILE__ " line %i",(int)__LINE__)
-#define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__)
-#endif
-#else
-#define FLEXT_ASSERT(b) (1)
-#define FLEXT_WARN(str) (1)
-#define FLEXT_ERROR(str) error("Error: in " __FILE__ " line %i",(int)__LINE__)
-#endif
-
-#define ERRINTERNAL() error("flext: Internal error in file " __FILE__ ", line %i - please report",(int)__LINE__)
-
-
-// ----- disable attribute editor for PD version < devel_0_36 or 0.37
-#ifndef PD_MAJOR_VERSION
-#undef FLEXT_NOATTREDIT
-#define FLEXT_NOATTREDIT
-#endif
-
-
-// ----- set message queue mode -----
-#if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 37
- // for PD version >= 0.37test10 FLEXT_PDLOCK is standard
- #undef FLEXT_PDLOCK
- #define FLEXT_PDLOCK
-#endif
-
-#if FLEXT_SYS == FLEXT_SYS_PD && PD_MINOR_VERSION >= 38 && defined(PD_DEVEL_VERSION)
- // use idle callback
- #define FLEXT_QMODE 1
-#elif defined(FLEXT_PDLOCK)
- // new PD thread locking functionality shall be used
- #if FLEXT_SYS == FLEXT_SYS_PD
- #ifdef FLEXT_THREADS
- // can only be used with PD and threaded build
- #define FLEXT_QMODE 2
- #else
- #define FLEXT_QMODE 0
- #endif
- #else
- #error FLEXT_PDLOCK can only be defined with PD
- #endif
-#else
- #define FLEXT_QMODE 0
-#endif
-
-#ifndef FLEXT_QMODE
-#error Internal error: Queueing mode not defined
-#endif
-
-#endif
diff --git a/externals/grill/flext/source/flstk.cpp b/externals/grill/flext/source/flstk.cpp
deleted file mode 100644
index f3161565..00000000
--- a/externals/grill/flext/source/flstk.cpp
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-#include "flext.h"
-#include "flstk.h"
-
-flext_stk::flext_stk():
- inobjs(0),outobjs(0),
- inobj(NULL),outobj(NULL),
- smprt(0),blsz(0)
-{}
-
-bool flext_stk::Init()
-{
- bool ret = flext_dsp::Init();
- inobjs = CntInSig();
- outobjs = CntOutSig();
- return ret;
-}
-
-void flext_stk::Exit()
-{
- ClearObjs();
- flext_dsp::Exit();
-}
-
-void flext_stk::ClearObjs()
-{
- FreeObjs();
-
- if(inobj) {
- for(int i = 0; i < inobjs; ++i) delete inobj[i];
- delete[] inobj; inobj = NULL;
- }
- if(outobj) {
- for(int i = 0; i < outobjs; ++i) delete outobj[i];
- delete[] outobj; outobj = NULL;
- }
-}
-
-bool flext_stk::CbDsp()
-{
- // called on every rebuild of the dsp chain
-
- int i;
-
- if(Blocksize() != blsz || Samplerate() != smprt) {
- // block size or sample rate has changed... rebuild all objects
-
- ClearObjs();
-
- smprt = Samplerate();
- blsz = Blocksize();
- Stk::setSampleRate(smprt);
-
- // set up sndobjs for inlets and outlets
- if(inobjs) {
- inobj = new Input *[inobjs];
- for(i = 0; i < inobjs; ++i)
- inobj[i] = new Input(InSig(i),blsz);
- }
- if(outobjs) {
- outobj = new Output *[outobjs];
- for(i = 0; i < outobjs; ++i)
- outobj[i] = new Output(OutSig(i),blsz);
- }
-
- if(!NewObjs()) ClearObjs();
- }
- else {
- // assign changed input/output vectors
-
- for(i = 0; i < inobjs; ++i) inobj[i]->SetBuf(InSig(i));
- for(i = 0; i < outobjs; ++i) outobj[i]->SetBuf(OutSig(i));
- }
- return true;
-}
-
-void flext_stk::CbSignal()
-{
- if(inobjs || outobjs) ProcessObjs(blsz);
-}
-
-
-// inlet class
-
-flext_stk::Input::Input(const t_sample *b,int v):
- buf(b),vecsz(v),
- index(0)
-{}
-
-MY_FLOAT *flext_stk::Input::tick(MY_FLOAT *vector,unsigned int vectorSize)
-{
- for(unsigned int i = 0; i < vectorSize; i++) vector[i] = tick();
- return vector;
-}
-
-
-// outlet class
-
-flext_stk::Output::Output(t_sample *b,int v):
- buf(b),vecsz(v),
- index(0)
-{}
-
-void flext_stk::Output::tick(const MY_FLOAT *vector,unsigned int vectorSize)
-{
- for(unsigned int i = 0; i < vectorSize; i++) tick(vector[i]);
-}
-
diff --git a/externals/grill/flext/source/flstk.h b/externals/grill/flext/source/flstk.h
deleted file mode 100644
index c3376cb5..00000000
--- a/externals/grill/flext/source/flstk.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2007 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-#ifndef __FLSTK_H
-#define __FLSTK_H
-
-#include "flext.h"
-
-// PI is defined in the Max/MSP SDK, but clashes with Stk.h
-#ifdef PI
-#undef PI
-#endif
-
-#include <Stk.h>
-
-class FLEXT_SHARE flext_stk:
- public flext_dsp
-{
- FLEXT_HEADER(flext_stk,flext_dsp)
-
-public:
- flext_stk();
-
- // these have to be overridden in child classes
- virtual bool NewObjs() { return true; }
- virtual void FreeObjs() {}
- virtual void ProcessObjs(int blocksize) {}
-
-protected:
- virtual bool Init();
- virtual void Exit();
-
- //! STK object for reading from inlet buffer
- class Input:
- public Stk
- {
- public:
- Input(const t_sample *b,int vecsz);
-
- inline MY_FLOAT lastOut() const { return (MY_FLOAT)buf[index]; }
-
- inline MY_FLOAT tick()
- {
- if(++index >= vecsz) index = 0;
- return lastOut();
- }
-
- MY_FLOAT *tick(MY_FLOAT *vector,unsigned int vectorSize);
-
- inline void SetBuf(const t_sample *b) { buf = b; }
-
- private:
- const t_sample *buf;
- int vecsz,index;
- };
-
- //! STK object for writing to outlet buffer
- class Output:
- public Stk
- {
- public:
- Output(t_sample *b,int vecsz);
-
- inline void tick(MY_FLOAT s)
- {
- buf[index] = (t_sample)s;
- if(++index >= vecsz) index = 0;
- }
-
- void tick(const MY_FLOAT *vector,unsigned int vectorSize);
-
- inline void SetBuf(t_sample *b) { buf = b; }
-
- private:
- t_sample *buf;
- int vecsz,index;
- };
-
- Input &Inlet(int ix) { return *inobj[ix]; }
- Output &Outlet(int ix) { return *outobj[ix]; }
-
-private:
- virtual bool CbDsp();
- virtual void CbSignal();
-
- void ClearObjs();
-
- int inobjs,outobjs;
- Input **inobj;
- Output **outobj;
-
- float smprt;
- int blsz;
-};
-
-#endif
diff --git a/externals/grill/flext/source/flsupport.cpp b/externals/grill/flext/source/flsupport.cpp
deleted file mode 100644
index b77729e6..00000000
--- a/externals/grill/flext/source/flsupport.cpp
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flsupport.cpp
- \brief flext support functions and classes.
-*/
-
-#include "flext.h"
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <string.h>
-#include <new>
-
-#ifdef _MSC_VER
-#define vsnprintf _vsnprintf
-#define snprintf _snprintf
-#endif
-
-const t_symbol *flext::sym__ = NULL;
-const t_symbol *flext::sym_float = NULL;
-const t_symbol *flext::sym_symbol = NULL;
-const t_symbol *flext::sym_bang = NULL;
-const t_symbol *flext::sym_list = NULL;
-const t_symbol *flext::sym_pointer = NULL;
-const t_symbol *flext::sym_int = NULL;
-const t_symbol *flext::sym_signal = NULL;
-
-const t_symbol *flext::sym_anything = NULL;
-
-const t_symbol *flext::sym_buffer = NULL;
-const t_symbol *flext::sym_size = NULL;
-
-const t_symbol *flext::sym_attributes = NULL;
-const t_symbol *flext::sym_methods = NULL;
-
-bool flext::indsp = false;
-
-
-int flext::Version() { return FLEXT_VERSION; }
-const char *flext::VersionStr() { return FLEXT_VERSTR; }
-
-
-void flext::Setup()
-{
- static bool issetup = false;
- if(issetup)
- return;
- else issetup = true;
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- sym__ = &s_;
- sym_anything = &s_anything;
- sym_pointer = &s_pointer;
- sym_float = &s_float;
- sym_symbol = &s_symbol;
- sym_bang = &s_bang;
- sym_list = &s_list;
- sym_signal = &s_signal;
- sym_int = gensym("int");
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- sym__ = gensym("");
- sym_int = gensym("int");
- sym_float = gensym("float");
- sym_symbol = gensym("symbol");
- sym_bang = gensym("bang");
- sym_list = gensym("list");
- sym_anything = gensym("anything");
- sym_signal = gensym("signal");
-
- sym_buffer = flext::MakeSymbol("buffer~");
- sym_size = flext::MakeSymbol("size");
-#endif
-
- sym_attributes = flext::MakeSymbol("attributes");
- sym_methods = flext::MakeSymbol("methods");
-
-#ifdef FLEXT_THREADS
- thrid = GetThreadId();
- StartHelper();
-#endif
-}
-
-
-#if FLEXT_SYS == FLEXT_SYS_PD && defined(FLEXT_THREADED) && defined(FLEXT_PDLOCK)
-#define SYSLOCK() sys_lock()
-#define SYSUNLOCK() sys_unlock()
-#else
-#define SYSLOCK() (void)0
-#define SYSUNLOCK() (void)0
-#endif
-
-
-/////////////////////////////////////////////////////////
-// overloaded new/delete memory allocation methods
-//
-/////////////////////////////////////////////////////////
-
-#define LARGEALLOC 32000
-
-#ifndef FLEXT_USE_CMEM
-
-#ifdef FLEXT_DEBUGMEM
-static const size_t memtest = 0x12345678L;
-#endif
-
-void *flext_root::operator new(size_t bytes)
-{
- bytes += sizeof(size_t);
-#ifdef FLEXT_DEBUGMEM
- bytes += sizeof(memtest)*2;
-#endif
- char *blk;
- if(UNLIKELY(bytes >= LARGEALLOC)) {
-#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
- blk = (char *)::sysmem_newptr(bytes);
-#else
- // use C library function for large memory blocks
- blk = (char *)::malloc(bytes);
-#endif
- }
- else {
- //! We need system locking here for secondary threads!
- SYSLOCK();
-
-#if defined(FLEXT_USE_CMEM)
- blk = (char *)::malloc(bytes);
-#else
- blk = (char *)::getbytes(bytes);
-#endif
- SYSUNLOCK();
- }
-
- FLEXT_ASSERT(blk);
-
- *(size_t *)blk = bytes;
-#ifdef FLEXT_DEBUGMEM
- *(size_t *)(blk+sizeof(size_t)) = memtest;
- *(size_t *)(blk+bytes-sizeof(memtest)) = memtest;
- return blk+sizeof(size_t)+sizeof(memtest);
-#else
- return blk+sizeof(size_t);
-#endif
-}
-
-void flext_root::operator delete(void *blk)
-{
- FLEXT_ASSERT(blk);
- FLEXT_ASSERT(MemCheck(blk));
-
-#ifdef FLEXT_DEBUGMEM
- char *ori = (char *)blk-sizeof(size_t)-sizeof(memtest);
-#else
- char *ori = (char *)blk-sizeof(size_t);
-#endif
- size_t bytes = *(size_t *)ori;
-
- if(UNLIKELY(bytes >= LARGEALLOC)) {
-#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
- ::sysmem_freeptr(ori);
-#else
- // use C library function for large memory blocks
- ::free(ori);
-#endif
- }
- else {
- //! We need system locking here for secondary threads!
- SYSLOCK();
-
-#if defined(FLEXT_USE_CMEM)
- ::free(ori);
-#else
- ::freebytes(ori,bytes);
-#endif
- SYSUNLOCK();
- }
-}
-
-#ifdef FLEXT_DEBUGMEM
-bool flext_root::MemCheck(void *blk)
-{
- char *ori = (char *)blk-sizeof(size_t)-sizeof(memtest);
- size_t bytes = *(size_t *)ori;
-
- return
- *(size_t *)((char *)ori+sizeof(size_t)) == memtest &&
- *(size_t *)((char *)ori+bytes-sizeof(memtest)) == memtest;
-}
-#endif
-
-#endif
-
-void *flext_root::NewAligned(size_t bytes,int bitalign)
-{
- const size_t ovh = sizeof(size_t)+sizeof(char *);
- const size_t alignovh = bitalign/8-1;
- bytes += ovh+alignovh;
-
- char *blk;
- if(UNLIKELY(bytes >= LARGEALLOC)) {
-#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
- blk = (char *)::sysmem_newptr(bytes);
-#else
- // use C library function for large memory blocks
- blk = (char *)::malloc(bytes);
-#endif
- }
- else {
- //! We need system locking here for secondary threads!
- SYSLOCK();
-
-#if defined(FLEXT_USE_CMEM)
- blk = (char *)::malloc(bytes);
-#else
- blk = (char *)::getbytes(bytes);
-#endif
- SYSUNLOCK();
- }
- FLEXT_ASSERT(blk);
-
- char *ablk = reinterpret_cast<char *>((reinterpret_cast<size_t>(blk)+ovh+alignovh) & ~alignovh);
- *(char **)(ablk-sizeof(size_t)-sizeof(char *)) = blk;
- *(size_t *)(ablk-sizeof(size_t)) = bytes;
- return ablk;
-}
-
-void flext_root::FreeAligned(void *blk)
-{
- FLEXT_ASSERT(blk);
-
- char *ori = *(char **)((char *)blk-sizeof(size_t)-sizeof(char *));
- size_t bytes = *(size_t *)((char *)blk-sizeof(size_t));
-
- if(UNLIKELY(bytes >= LARGEALLOC)) {
-#if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
- ::sysmem_freeptr(ori);
-#else
- // use C library function for large memory blocks
- ::free(ori);
-#endif
- }
- else {
- //! We need system locking here for secondary threads!
- SYSLOCK();
-
-#if defined(FLEXT_USE_CMEM)
- ::free(ori);
-#else
- ::freebytes(ori,bytes);
-#endif
- SYSUNLOCK();
- }
-}
-
-// ------------------------------------------
-
-/*! \todo there is probably also a shortcut for Max and jMax
- \todo size checking
-*/
-void flext::GetAString(const t_atom &a,char *buf,size_t szbuf)
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- atom_string(const_cast<t_atom *>(&a),buf,(int)szbuf);
-#else
- if(IsSymbol(a)) STD::strncpy(buf,GetString(a),szbuf);
- else if(IsFloat(a)) STD::snprintf(buf,szbuf,"%f",GetFloat(a));
- else if(IsInt(a)) STD::snprintf(buf,szbuf,"%i",GetInt(a));
- else *buf = 0;
-#endif
-}
-
-unsigned long flext::AtomHash(const t_atom &a)
-{
-#if FLEXT_SYS == FLEXT_SYS_MAX || FLEXT_SYS == FLEXT_SYS_PD
- return ((unsigned long)a.a_type<<28)^*(unsigned long *)&a.a_w;
-#else
-#error Not implemented
-#endif
-}
-
-void flext_root::post(const char *fmt, ...)
-{
- va_list ap;
- va_start(ap, fmt);
-
- char buf[1024];
- vsnprintf(buf,sizeof buf,fmt, ap);
- buf[sizeof buf-1] = 0; // in case of full buffer
- ::post(buf);
-
- va_end(ap);
-}
-
-void flext_root::error(const char *fmt,...)
-{
- va_list ap;
- va_start(ap, fmt);
-
- char buf[1024];
- STD::strcpy(buf,"error: ");
- vsnprintf(buf+7,sizeof buf-7,fmt, ap);
- buf[sizeof buf-1] = 0; // in case of full buffer
- ::post(buf);
-
- va_end(ap);
-}
-
-
diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h
deleted file mode 100644
index f26437df..00000000
--- a/externals/grill/flext/source/flsupport.h
+++ /dev/null
@@ -1,1285 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flsupport.h
- \brief flext support functions and classes
-*/
-
-#ifndef __FLSUPPORT_H
-#define __FLSUPPORT_H
-
-#include "flstdc.h"
-#include <new>
-#include <string.h>
-
-/*! \defgroup FLEXT_SUPPORT Flext support classes
- @{
-*/
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_root);
-typedef class FLEXT_CLASSDEF(flext_root) flext_root;
-
-/*! \brief Flext root support class
-
- Moved memory functions and console output here so that all the classes
- contained in flext can use them
-*/
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_root) {
-public:
-// --- console output -----------------------------------------------
-
- //! post message to console, with line feed (limited to 1k chars!)
- static void post(const char *fmt,...);
- //! post error message to console (limited to 1k chars!)
- static void error(const char *fmt,...);
-
-// --- memory -------------------------------------------------------
-
- /*! \defgroup FLEXT_S_MEMORY Memory allocation functions
- @{
- */
-
-#ifdef FLEXT_NOGLOBALNEW
-#error FLEXT_NOGLOBALNEW is deprecated, define FLEXT_USE_CMEM instead
-#define FLEXT_USE_CMEM
-#endif
-
-#ifdef FLEXT_USE_CMEM
- inline void *operator new(size_t bytes) { return ::operator new(bytes); }
- inline void operator delete(void *blk) { ::operator delete(blk); }
-
- inline void *operator new[](size_t bytes) { return ::operator new[](bytes); }
- inline void operator delete[](void *blk) { ::operator delete[](blk); }
-
- static bool MemCheck(void *) { return true; }
-#else
- /*! Overloaded new memory allocation method
- \note this uses a fast allocation method of the real-time system
- \warning Max/MSP (or MacOS) allows only 32K in overdrive mode!
- */
- void *operator new(size_t bytes);
- //! Overloaded delete method
- void operator delete(void *blk);
-
-#ifndef __MRC__ // doesn't allow new[] overloading?!
- inline void *operator new[](size_t bytes) { return operator new(bytes); }
- inline void operator delete[](void *blk) { operator delete(blk); }
-#endif
-
-#ifdef FLEXT_DEBUGMEM
- static bool MemCheck(void *blk);
-#else
- static bool MemCheck(void *) { return true; }
-#endif
-
-#endif // USECMEM
-
-#ifndef __BORLANDC__
- inline void *operator new(size_t,void *p) { return p; }
- inline void operator delete(void *,void *) {}
-#ifndef __MRC__
- inline void *operator new[](size_t,void *p) { return p; }
- inline void operator delete[](void *,void *) {}
-#endif
-#endif
-
- //! Get an aligned memory block
- static void *NewAligned(size_t bytes,int bitalign = 128);
- // same with templated type
- template<typename T>
- static T *NewAligned(size_t times,int bitalign = 128) { return static_cast<T *>(NewAligned(times*sizeof(T),bitalign)); }
- //! Free an aligned memory block
- static void FreeAligned(void *blk);
- //! Test for alignment
- static bool IsAligned(void *ptr,int bitalign = 128) {
- return (reinterpret_cast<size_t>(ptr)&(bitalign-1)) == 0;
- }
- //! @} FLEXT_S_MEMORY
-};
-
-#ifndef FLEXT_USE_CMEM
-/************************************************************************/
-// MFC doesn't like global overloading of allocators
-// anyway, who likes MFC
-
-#if !defined(_MSC_VER) && !defined(__BORLANDC__)
-#define NEWTHROW throw(std::bad_alloc)
-#define DELTHROW throw()
-#else
-#define NEWTHROW
-#define DELTHROW
-#endif
-
-// define global new/delete operators
-inline void *operator new(size_t bytes) NEWTHROW { return flext_root::operator new(bytes); }
-inline void operator delete(void *blk) DELTHROW { flext_root::operator delete(blk); }
-#ifndef __MRC__ // doesn't allow new[] overloading?!
-inline void *operator new[](size_t bytes) NEWTHROW { return flext_root::operator new[](bytes); }
-inline void operator delete[](void *blk) DELTHROW { flext_root::operator delete[](blk); }
-#endif
-
-#endif // FLEXT_USE_CMEM
-
-/************************************************************************/
-
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext);
-typedef class FLEXT_CLASSDEF(flext) flext;
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext_base);
-
-/*! \brief Flext support class
-
- A number of methods (most are static functions) are defined here for convenience.
- This class doesn't define any data members, hence it can be inherited to all
- classes (not only PD objects) to profit from the cross-platform functionality.
- Examples are the overloaded memory allocation, atom and atom list functions,
- thread functions and classes, the sample buffer class and others.
-
- This class can also be used for a non-object class (not representing an external object)
- and won't give any extra burden to it.
-*/
-
-class FLEXT_SHARE FLEXT_CLASSDEF(flext):
- public flext_root
-{
-
- /*! \defgroup FLEXT_SUPPORT Flext support class
- @{
- */
-public:
-
-// --- version -----------------------------------------------
-
- /*! \brief Flext version number
-
- Return the version number of the flext library.
- For statically linked flext this is identical to the header definition FLEXT_VERSION,
- otherwise it reflects the version number of the shared flext library.
- */
- static int Version();
-
- //! Flext version string
- static const char *VersionStr();
-
-// --- special typedefs ---------------------------------------------
-
-// later!
-#if 0
- typedef t_float Float;
- typedef t_int Int;
- typedef t_sample Sample;
- typedef const t_symbol *Symbol;
- typedef t_atom Atom;
-#endif
-
-// --- buffer/array stuff -----------------------------------------
-
- /*! \defgroup FLEXT_S_BUFFER Buffer handling
- @{
- */
-
- //! Class for platform independent buffer handling
- class FLEXT_SHARE buffer:
- public flext_root
- {
- public:
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- typedef bool lock_t;
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- typedef long lock_t;
-#else
-#error Not implemented
-#endif
-
- /*! \brief Construct buffer.
- \param s: symbol name, can be NULL
- \param delayed = true: only sets name, needs another Set(NULL) to really initialize the buffer
- \remark As externals can be created prior to the buffer objects they are pointing to, initialization should be done at loadbang!
- */
- buffer(const t_symbol *s = NULL,bool delayed = false);
-
- //! Destroy buffer
- ~buffer();
-
- /*! \brief Check if the buffer is valid for use
- \note This must be true to use any of the other functions except set
- */
- bool Ok() const
- {
- return sym
-#if FLEXT_SYS == FLEXT_SYS_PD
- && arr
-#endif
- && data;
- }
-
- /*! \brief Check if buffer content is valid (not in state of content change)
- \note buffer must be Ok()
- */
- bool Valid() const
- {
- FLEXT_ASSERT(sym);
-#if FLEXT_SYS == FLEXT_SYS_PD
- return true;
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- const t_buffer *p = (const t_buffer *)sym->s_thing;
- return p && p->b_valid;
-#else
-#error not implemented
-#endif
- }
-
- /*! \brief Check and update if the buffer has been changed (e.g. resized)
- \note buffer must be Ok()
- */
- bool Update();
-
- /*! \brief Lock buffer
- \return previous state (needed for Unlock)
- \note buffer must be Ok()
- */
- lock_t Lock();
-
- /*! \brief Unlock buffer
- \param prv: Previous state is returned by Lock()
- \note buffer must be Ok()
- */
- void Unlock(lock_t prv);
-
- /*! \brief Set to specified buffer.
- \param nameonly: if true sets name only, but doesn't look at buffer actually
- \return -1 on failure, 0 on success, 1 if parameters (length, data ptr, channels) have changed
- */
- int Set(const t_symbol *s = NULL,bool nameonly = false);
-
- /*! \brief Declare buffer content as dirty.
- \param refr: if true forces immediate graphics refresh
- */
- void Dirty(bool refr = false);
-
- //! Clear the dirty flag.
- void ClearDirty();
-
- /*! Query whether the buffer content has been changed since the last ClearDirty()
- \note With mainstream versions of PD this will always return true, since the dirtiness can't be judged
- */
- bool IsDirty() const;
-
- //! Get symbol of buffer
- const t_symbol *Symbol() const { return sym; }
-
- //! Get literal name of buffer
- const char *Name() const { return sym?GetString(sym):""; }
-
- /*! \brief Get pointer to buffer, channel and frame count.
- \remark Channels are interleaved
- */
- t_sample *Data() { return data; }
-
- //! Get channel count
- int Channels() const { return chns; }
- //! Get frame count
- int Frames() const { return frames; }
- //! Set frame count
- void Frames(int fr,bool keep = false,bool zero = true);
-
- //! Graphic auto refresh interval
- void SetRefrIntv(float intv);
-
- protected:
- //! buffer name
- const t_symbol *sym;
- //! array holding audio data
- t_sample *data;
- //! number of audio channels
- int chns;
- //! number of frames (multiplied by chns for the number of samples)
- int frames;
-#if FLEXT_SYS == FLEXT_SYS_PD
- //! pointer to the PD array structure
- t_garray *arr;
- //! update interval
- float interval;
- //! flag signaling that the data has been changed
- bool isdirty;
- //! flag showing that the update clock is active
- bool ticking;
- //! update clock
- t_clock *tick;
- //! last time the dirty flag was cleared (using the clock_getlogicaltime function)
- double cleantime;
-
- private:
- //! update clock callback
- static void cb_tick(buffer *b);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- //! last time the dirty flag was cleared (using the gettime function)
- long cleantime;
-#endif
- };
-
-
-//! @} FLEXT_S_BUFFER
-
-// --- utilities --------------------------------------------------
-
- /*! \defgroup FLEXT_S_UTIL Utility functions
- @{
- */
-
- //! Copy an atom
- static void CopyAtom(t_atom *dst,const t_atom *src) { *dst = *src; }
-
- //! Copy atoms
- static void CopyAtoms(int cnt,t_atom *dst,const t_atom *src);
-
- //! Print an atom
- static bool PrintAtom(const t_atom &a,char *buf,size_t bufsz);
-
- /*! Scan an atom until whitespace
- \return next token position, or NULL on failure
- */
- static const char *ScanAtom(t_atom &a,const char *buf);
-
- //! Copy a list of atoms
- static t_atom *CopyList(int argc,const t_atom *argv);
- //! Print an atom list
- static bool PrintList(int argc,const t_atom *argv,char *buf,size_t bufsz);
-
- //! Copy a memory region
- static void CopyMem(void *dst,const void *src,int bytes);
- //! Copy a sample array
- static void CopySamples(t_sample *dst,const t_sample *src,int cnt);
- //! Set a memory region
- static void ZeroMem(void *dst,int bytes);
- //! Set a sample array to a fixed value
- static void SetSamples(t_sample *dst,int cnt,t_sample s);
- //! Set a sample array to 0
- static void ZeroSamples(t_sample *dst,int cnt) { SetSamples(dst,cnt,0); }
-
-
- //! Get a 32 bit hash value from an atom
- static unsigned long AtomHash(const t_atom &a);
-
-//! @} FLEXT_S_UTIL
-
-// --- various symbols --------------------------------------------
-
- /*! \defgroup FLEXT_S_ATOM Atom/list handling
- @{
- */
-
- //! Symbol constant for ""
- static const t_symbol *sym__;
- //! Symbol constant for "float"
- static const t_symbol *sym_float;
- //! Symbol constant for "symbol"
- static const t_symbol *sym_symbol;
- //! Symbol constant for "bang"
- static const t_symbol *sym_bang;
- //! Symbol constant for "list"
- static const t_symbol *sym_list;
- //! Symbol constant for "anything"
- static const t_symbol *sym_anything;
-
- /*! \brief Symbol constant for "int"
- \note Only the Max/MSP system has this defined as an internal type
- */
- static const t_symbol *sym_int;
-
- /*! Symbol constant for "pointer"
- \note Only PD has this defined as an internal type
- */
- static const t_symbol *sym_pointer;
-
- //! Symbol constant for "signal"
- static const t_symbol *sym_signal;
-
- //! \note This is used in macros where the type of the arg is not clear
- static const t_symbol *MakeSymbol(const t_symbol *s) { return s; }
-
- //! Make a symbol from a string
- static const t_symbol *MakeSymbol(const char *s) { return ::gensym(const_cast<char *>(s)); }
- //! Get symbol string
- static const char *GetString(const t_symbol *s) { return s->s_name; }
- //! Check for symbol and get string
- static const char *GetAString(const t_symbol *s,const char *def = NULL) { return s?GetString(s):def; }
-
-// --- atom stuff ----------------------------------------
-
- //! Set atom from another atom
- static void SetAtom(t_atom &a,const t_atom &b) { CopyAtom(&a,&b); }
- //! Compare two atoms
- static int CmpAtom(const t_atom &a,const t_atom &b);
-
- // there are some more comparison functions for t_atom types outside the class
-
- //! Set atom from another atom
- static int GetType(const t_atom &a) { return a.a_type; }
-
- //! Check whether the atom is nothing
- static bool IsNothing(const t_atom &a) { return a.a_type == A_NULL; }
- //! Set the atom to represent nothing
- static void SetNothing(t_atom &a) { a.a_type = A_NULL; }
-
- //! Check whether the atom is a float
- static bool IsFloat(const t_atom &a) { return a.a_type == A_FLOAT; }
-
- //! Check whether the atom can be represented as a float
- static bool CanbeFloat(const t_atom &a) { return IsFloat(a) || IsInt(a); }
-
- //! Access the float value (without type check)
- static float GetFloat(const t_atom &a) { return a.a_w.w_float; }
- //! Set the atom to represent a float
- static void SetFloat(t_atom &a,float v) { a.a_type = A_FLOAT; a.a_w.w_float = v; }
-
- //! Check whether the atom is a symbol
- static bool IsSymbol(const t_atom &a) { return a.a_type == A_SYMBOL; }
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- //! Access the symbol value (without type check)
- static t_symbol *GetSymbol(const t_atom &a) { return a.a_w.w_symbol; }
- //! Set the atom to represent a symbol
- static void SetSymbol(t_atom &a,const t_symbol *s) { a.a_type = A_SYMBOL; a.a_w.w_symbol = const_cast<t_symbol *>(s); }
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- //! Access the symbol value (without type check)
- static t_symbol *GetSymbol(const t_atom &a) { return a.a_w.w_sym; }
- //! Set the atom to represent a symbol
- static void SetSymbol(t_atom &a,const t_symbol *s) { a.a_type = A_SYMBOL; a.a_w.w_sym = const_cast<t_symbol *>(s); }
-#else
-#error
-#endif
- //! Check for a symbol and get its value
- static t_symbol *GetASymbol(const t_atom &a,t_symbol *def = NULL) { return IsSymbol(a)?GetSymbol(a):def; } // NULL or empty symbol?
-
- //! Check whether the atom is a string
- static bool IsString(const t_atom &a) { return IsSymbol(a); }
- //! Access the string value (without type check)
- static const char *GetString(const t_atom &a) { t_symbol *s = GetSymbol(a); return s?GetString(s):NULL; }
- //! Check for a string and get its value
- static const char *GetAString(const t_atom &a,const char *def = NULL) { return IsSymbol(a)?GetAString(GetSymbol(a),def):def; }
- //! Check for a string and get its value
- static void GetAString(const t_atom &a,char *buf,size_t szbuf);
- //! Set the atom to represent a string
- static void SetString(t_atom &a,const char *c) { SetSymbol(a,MakeSymbol(c)); }
-
- //! Check whether the atom can be represented as an integer
- static bool CanbeInt(const t_atom &a) { return IsFloat(a) || IsInt(a); }
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- //! Check for a float and get its value
- static float GetAFloat(const t_atom &a,float def = 0) { return IsFloat(a)?GetFloat(a):def; }
-
- //! Check whether the atom is an integer
- static bool IsInt(const t_atom &) { return false; }
- //! Access the integer value (without type check)
- static int GetInt(const t_atom &a) { return (int)GetFloat(a); }
- //! Check for an integer and get its value
- static int GetAInt(const t_atom &a,int def = 0) { return (int)GetAFloat(a,(float)def); }
- //! Set the atom to represent a integer (depending on the system)
- static void SetInt(t_atom &a,int v) { a.a_type = A_FLOAT; a.a_w.w_float = (float)v; }
-
-#ifndef FLEXT_COMPATIBLE
- //! Check whether the atom strictly is a pointer
- static bool IsPointer(const t_atom &a) { return a.a_type == A_POINTER; }
- //! Check whether the atom can be a pointer
- static bool CanbePointer(const t_atom &a) { return IsPointer(a); }
- //! Access the pointer value (without type check)
- static t_gpointer *GetPointer(const t_atom &a) { return a.a_w.w_gpointer; }
- //! Check for a pointer and get its value
- static t_gpointer *GetAPointer(const t_atom &a,t_gpointer *def = NULL) { return IsPointer(a)?GetPointer(a):def; }
- //! Set the atom to represent a pointer
- static void SetPointer(t_atom &a,t_gpointer *p) { a.a_type = A_POINTER; a.a_w.w_gpointer = (t_gpointer *)p; }
-#endif
-
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- //! Check for a float and get its value
- static float GetAFloat(const t_atom &a,float def = 0) { return IsFloat(a)?GetFloat(a):(IsInt(a)?GetInt(a):def); }
-
- //! Check whether the atom is an int
- static bool IsInt(const t_atom &a) { return a.a_type == A_INT; }
- //! Access the integer value (without type check)
- static int GetInt(const t_atom &a) { return a.a_w.w_long; }
- //! Check for an integer and get its value
- static int GetAInt(const t_atom &a,int def = 0) { return IsInt(a)?GetInt(a):(IsFloat(a)?(int)GetFloat(a):def); }
- //! Set the atom to represent an integer
- static void SetInt(t_atom &a,int v) { a.a_type = A_INT; a.a_w.w_long = v; }
-#else
-#error "Platform not supported"
-#endif
-
- //! Set the atom to represent a boolean
- static void SetBool(t_atom &a,bool v) { SetInt(a,v?1:0); }
- //! Check whether the atom can be represented as a boolean
- static bool CanbeBool(const t_atom &a) { return CanbeInt(a); }
- //! Check for an boolean and get its value
- static bool GetABool(const t_atom &a) { return GetAInt(a) != 0; }
- //! Check for an boolean and get its value
- static bool GetBool(const t_atom &a) { return GetInt(a) != 0; }
-
-// --- atom list stuff -------------------------------------------
-
- //! Class representing a list of atoms
- class FLEXT_SHARE AtomList
- : public flext_root
- {
- public:
- //! Construct list
- AtomList(): cnt(0),lst(NULL) {}
- //! Construct list
- explicit AtomList(int argc,const t_atom *argv = NULL): cnt(0),lst(NULL) { operator()(argc,argv); }
- //! Construct list
- AtomList(const AtomList &a): cnt(0),lst(NULL) { operator =(a); }
- //! Destroy list
- virtual ~AtomList();
-
- //! Clear list
- AtomList &Clear() { return operator()(); }
-
- //! Set list
- AtomList &Set(int argc,const t_atom *argv,int offs = 0,bool resize = false);
- //! Get list
- int Get(t_atom *argv,int mxsz = -1) const;
-
- //! Set list
- AtomList &operator()(int argc = 0,const t_atom *argv = NULL) { return Set(argc,argv,0,true); }
- //! Set list by another AtomList
- AtomList &operator =(const AtomList &a) { return operator()(a.Count(),a.Atoms()); }
-
- //! Compare list to another AtomList ( -1..< , 0..==, 1...> )
- int Compare(const AtomList &a) const;
-
- bool operator <(const AtomList &a) const { return Compare(a) < 0; }
- bool operator <=(const AtomList &a) const { return Compare(a) <= 0; }
- bool operator >(const AtomList &a) const { return Compare(a) > 0; }
- bool operator >=(const AtomList &a) const { return Compare(a) >= 0; }
- bool operator ==(const AtomList &a) const { return Compare(a) == 0; }
- bool operator !=(const AtomList &a) const { return Compare(a) != 0; }
-
- //! Get number of atoms in the list
- int Count() const { return cnt; }
- //! Get a reference to an indexed atom
- t_atom &operator [](int ix) { return lst[ix]; }
- //! Get a reference to an indexed atom
- const t_atom &operator [](int ix) const { return lst[ix]; }
-
- //! Get a pointer to the list of atoms
- t_atom *Atoms() { return lst; }
- //! Get a pointer to the list of atoms
- const t_atom *Atoms() const { return lst; }
-
- //! Append an atom list to the list
- AtomList &Append(int argc,const t_atom *argv = NULL)
- {
- int c = Count();
- Alloc(c+argc,0,c);
- Set(argc,argv,c);
- return *this;
- }
-
- //! Prepend an atom list to the list
- AtomList &Prepend(int argc,const t_atom *argv = NULL)
- {
- int c = Count();
- Alloc(c+argc,0,c,argc);
- Set(argc,argv);
- return *this;
- }
-
- //! Append an atom to the list
- AtomList &Append(const t_atom &a) { return Append(1,&a); }
- //! Append an atom list to the list
- AtomList &Append(const AtomList &a) { return Append(a.Count(),a.Atoms()); }
- //! Prepend an atom to the list
- AtomList &Prepend(const t_atom &a) { return Prepend(1,&a); }
- //! Prepend an atom list to the list
- AtomList &Prepend(const AtomList &a) { return Prepend(a.Count(),a.Atoms()); }
-
- //! Get a part of the list
- void GetPart(int offs,int len,AtomList &ret) const;
- //! Set to a part of the list
- AtomList &Part(int offs,int len) { GetPart(offs,len,*this); return *this; }
-
- //! Represent as a string
- bool Print(char *buffer,int buflen) const { return flext::PrintList(Count(),Atoms(),buffer,buflen); }
-
- protected:
- virtual void Alloc(int sz,int keepix = -1,int keeplen = -1,int keepto = 0);
- virtual void Free();
-
- int cnt;
- t_atom *lst;
- };
-
- class FLEXT_SHARE AtomListStaticBase
- : public AtomList
- {
- protected:
- explicit AtomListStaticBase(int pc,t_atom *dt): precnt(pc),predata(dt) {}
- virtual ~AtomListStaticBase();
- virtual void Alloc(int sz,int keepix = -1,int keeplen = -1,int keepto = 0);
- virtual void Free();
-
- AtomListStaticBase &operator =(const AtomList &a) { AtomList::operator =(a); return *this; }
- AtomListStaticBase &operator =(const AtomListStaticBase &a) { AtomList::operator =(a); return *this; }
-
- const int precnt;
- t_atom *const predata;
- };
-
- template<int PRE>
- class AtomListStatic
- : public AtomListStaticBase
- {
- public:
- //! Construct list
- explicit AtomListStatic(): AtomListStaticBase(PRE,pre) {}
- //! Construct list
- explicit AtomListStatic(int argc,const t_atom *argv = NULL): AtomListStaticBase(PRE,pre) { operator()(argc,argv); }
- //! Construct list
- explicit AtomListStatic(const AtomList &a): AtomListStaticBase(PRE,pre) { operator =(a); }
-
- //! Set list by another AtomList
- AtomListStatic &operator =(const AtomList &a) { AtomListStaticBase::operator =(a); return *this; }
- AtomListStatic &operator =(const AtomListStatic &a) { AtomListStaticBase::operator =(a); return *this; }
- protected:
- t_atom pre[PRE];
- };
-
- //! Class representing an "anything"
- class FLEXT_SHARE AtomAnything:
- public AtomList
- {
- public:
- explicit AtomAnything(): hdr(NULL) {}
-
- //! Construct anything
- explicit AtomAnything(const t_symbol *h,int argc = 0,const t_atom *argv = NULL)
- : AtomList(argc,argv),hdr(h?h:sym__)
- {}
-
- //! Construct anything
- explicit AtomAnything(const char *h,int argc = 0,const t_atom *argv = NULL)
- : AtomList(argc,argv),hdr(MakeSymbol(h))
- {}
-
- //! Construct anything
- AtomAnything(const AtomAnything &a)
- : AtomList(a),hdr(a.hdr)
- {}
-
- //! Clear anything
- AtomAnything &Clear() { return operator()(); }
-
- //! Get header symbol of anything
- const t_symbol *Header() const { return hdr; }
-
- //! Set header symbol of anything
- void Header(const t_symbol *h) { hdr = h; }
-
- //! Set anything
- AtomAnything &operator()(const t_symbol *h = NULL,int argc = 0,const t_atom *argv = NULL)
- {
- hdr = h; AtomList::operator()(argc,argv);
- return *this;
- }
-
- //! Set list by another AtomAnything
- AtomAnything &operator =(const AtomAnything &a) { return operator()(a.Header(),a.Count(),a.Atoms()); }
-
- protected:
- const t_symbol *hdr;
- };
-
-
- //! @} FLEXT_S_ATOM
-
-
-// --- messages -------------------------------------------------------
-
- /*! \defgroup FLEXT_S_MSGBUNDLE Flext message handling
- @{
- */
-
- class MsgBundle;
-
- //! Make new message bundle
- static MsgBundle *MsgNew();
-
- //! Destroy message bundle
- static void MsgFree(MsgBundle *mb);
-
- //! Send (and destroy) message bundle
- static void ToSysMsg(MsgBundle *mb);
-
- //! Send (and destroy) message bundle
- static void ToOutMsg(MsgBundle *mb);
-
- //! Send low priority (and destroy) message bundle
- static void ToQueueMsg(MsgBundle *mb);
-
- //! @} FLEXT_S_MSGBUNDLE
-
-
- /*! \defgroup FLEXT_S_MSG Flext message handling
- @{
- */
-
- static bool Forward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv);
- static bool Forward(const t_symbol *sym,const AtomAnything &args) { return Forward(sym,args.Header(),args.Count(),args.Atoms()); }
- static bool Forward(const char *sym,const AtomAnything &args) { return Forward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); }
- static bool Forward(const t_symbol *sym,int argc,const t_atom *argv) { return Forward(sym,sym_list,argc,argv); }
- static bool Forward(const t_symbol *sym,const AtomList &args) { return Forward(sym,args.Count(),args.Atoms()); }
- static bool Forward(const char *sym,const AtomList &args) { return Forward(MakeSymbol(sym),args.Count(),args.Atoms()); }
-
- static bool SysForward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv);
- static bool SysForward(const t_symbol *sym,const AtomAnything &args) { return SysForward(sym,args.Header(),args.Count(),args.Atoms()); }
- static bool SysForward(const char *sym,const AtomAnything &args) { return SysForward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); }
- static bool SysForward(const t_symbol *sym,int argc,const t_atom *argv) { return SysForward(sym,sym_list,argc,argv); }
- static bool SysForward(const t_symbol *sym,const AtomList &args) { return SysForward(sym,args.Count(),args.Atoms()); }
- static bool SysForward(const char *sym,const AtomList &args) { return SysForward(MakeSymbol(sym),args.Count(),args.Atoms()); }
-
- static bool QueueForward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv);
- static bool QueueForward(const t_symbol *sym,const AtomAnything &args) { return QueueForward(sym,args.Header(),args.Count(),args.Atoms()); }
- static bool QueueForward(const char *sym,const AtomAnything &args) { return QueueForward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); }
- static bool QueueForward(const t_symbol *sym,int argc,const t_atom *argv) { return QueueForward(sym,sym_list,argc,argv); }
- static bool QueueForward(const t_symbol *sym,const AtomList &args) { return QueueForward(sym,args.Count(),args.Atoms()); }
- static bool QueueForward(const char *sym,const AtomList &args) { return QueueForward(MakeSymbol(sym),args.Count(),args.Atoms()); }
-
- static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv);
- static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const AtomAnything &args) { return MsgForward(mb,sym,args.Header(),args.Count(),args.Atoms()); }
- static bool MsgForward(MsgBundle *mb,const char *sym,const AtomAnything &args) { return MsgForward(mb,MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); }
- static bool MsgForward(MsgBundle *mb,const t_symbol *sym,int argc,const t_atom *argv) { return MsgForward(mb,sym,sym_list,argc,argv); }
- static bool MsgForward(MsgBundle *mb,const t_symbol *sym,const AtomList &args) { return MsgForward(mb,sym,args.Count(),args.Atoms()); }
- static bool MsgForward(MsgBundle *mb,const char *sym,const AtomList &args) { return MsgForward(mb,MakeSymbol(sym),args.Count(),args.Atoms()); }
-
- //! @} FLEXT_S_MSG
-
-
-
-// --- thread stuff -----------------------------------------------
-
- /*! \defgroup FLEXT_S_LOCK Global system locking
- @{
- */
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- #if PD_MINOR_VERSION >= 38 || (PD_MINOR_VERSION >= 37 && defined(PD_DEVEL_VERSION))
- static void Lock() { sys_lock(); }
- static void Unlock() { sys_unlock(); }
- #else
- // no system locking for old PD versions
- static void Lock() {}
- static void Unlock() {}
- #endif
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- // Max 4.2 upwards!
- static void Lock() { critical_enter(0); }
- static void Unlock() { critical_exit(0); }
-#else
-#error
-#endif
-
-//! @} FLEXT_S_LOCK
-
- /*! \defgroup FLEXT_S_THREAD Flext thread handling
- @{
- */
-
- //! Check if current thread is the realtime system's thread
- static bool IsSystemThread() {
-#ifdef FLEXT_THREADS
- return IsThread(GetSysThreadId());
-#else
- return true;
-#endif
- }
-
-#ifdef FLEXT_THREADS
-
- //! thread type
-#if FLEXT_THREADS == FLEXT_THR_MP
- typedef MPTaskID thrid_t;
-#elif FLEXT_THREADS == FLEXT_THR_POSIX
- typedef pthread_t thrid_t;
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- typedef DWORD thrid_t;
-#else
-#error
-#endif
-
- /*! \brief Get current thread id
- */
- static thrid_t GetThreadId() {
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- return pthread_self();
-#elif FLEXT_THREADS == FLEXT_THR_MP
- return MPCurrentTaskID();
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- return GetCurrentThreadId();
-#else
-#error
-#endif
- }
-
- /*! \brief Get system thread id
- */
- static thrid_t GetSysThreadId() { return thrid; }
-
- //! Check if current thread should terminate
- static bool ShouldExit();
-
- //! Check if current thread is the realtime system's thread
- static bool IsThread(thrid_t t,thrid_t ref = GetThreadId()) {
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- return pthread_equal(ref,t) != 0;
-#else
- return ref == t;
-#endif
- }
-
-
- /*! \brief Thread parameters
- \internal
- */
- class FLEXT_SHARE thr_params:
- public flext_root
- {
- public:
- thr_params(int n = 1);
- ~thr_params();
-
- void set_any(const t_symbol *s,int argc,const t_atom *argv);
- void set_list(int argc,const t_atom *argv);
-
- FLEXT_CLASSDEF(flext_base) *cl;
- union _data {
- bool _bool;
- float _float;
- int _int;
- t_symptr _t_symptr;
- AtomAnything *_any;
- AtomList *_list;
- void *_ext;
- } *var;
- };
-
-protected:
-
- static thrid_t thrhelpid;
- static thrid_t thrmsgid;
- static void ThrHelper(void *);
-
- //! the system's thread id
- static thrid_t thrid; // the system thread
-
-private:
- static bool StartHelper(); // used in flext::Setup()
-
-public:
-
- /*! \brief Yield to other threads
- \remark A call to this is only needed for systems with cooperative multitasking like MacOS<=9
- */
- static void ThrYield() {
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- // for a preemptive system this should do nothing
- sched_yield();
-#elif FLEXT_THREADS == FLEXT_THR_MP
- MPYield();
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- SwitchToThread();
-#else
-#error
-#endif
- }
-
- /*! \brief Query whether task is preemptive
- */
- static bool IsThreadPreemptive(thrid_t t = GetThreadId()) {
-#if FLEXT_THREADS == FLEXT_THR_POSIX || FLEXT_THREADS == FLEXT_THR_WIN32
- return true;
-#elif FLEXT_THREADS == FLEXT_THR_MP
- return MPTaskIsPreemptive(t);
-#else
-#error
-#endif
- }
-
-
- /*! \brief Increase/Decrease priority of a thread
- */
- static bool RelPriority(int dp,thrid_t ref = GetSysThreadId(),thrid_t thr = GetThreadId());
-
- /*! \brief Get priority of a thread
- */
- static int GetPriority(thrid_t thr = GetThreadId());
-
- /*! \brief Set priority of a thread
- */
- static bool SetPriority(int p,thrid_t thr = GetThreadId());
-
- /*! \brief Thread mutex
- \sa pthreads documentation
- */
- class FLEXT_SHARE ThrMutex:
- public flext_root
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- {
- public:
- //! Construct thread mutex
- ThrMutex() { pthread_mutex_init(&mutex,NULL); }
- //! Destroy thread mutex
- ~ThrMutex() { pthread_mutex_destroy(&mutex); }
-
- //! Lock thread mutex
- bool Lock() { return pthread_mutex_lock(&mutex) == 0; }
- /*! Wait to lock thread mutex.
- \todo Implement!
- */
-// bool WaitForLock(double tm) { return pthread_mutex_lock(&mutex) == 0; }
- //! Try to lock, but don't wait
- bool TryLock() { return pthread_mutex_trylock(&mutex) == 0; }
- //! Unlock thread mutex
- bool Unlock() { return pthread_mutex_unlock(&mutex) == 0; }
-
- protected:
- pthread_mutex_t mutex;
-// int cnt;
- };
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- {
- public:
- //! Construct thread mutex
- ThrMutex() { ::InitializeCriticalSection(&mutex); }
- //! Destroy thread mutex
- ~ThrMutex() { ::DeleteCriticalSection(&mutex); }
-
- //! Lock thread mutex
- bool Lock() { ::EnterCriticalSection(&mutex); return true; }
- /*! Wait to lock thread mutex.
- \todo Implement!
- */
-// bool WaitForLock(double tm) { return pthread_mutex_lock(&mutex) == 0; }
- //! Try to lock, but don't wait
- bool TryLock() { return ::TryEnterCriticalSection(&mutex) != 0; }
- //! Unlock thread mutex
- bool Unlock() { ::LeaveCriticalSection(&mutex); return true; }
-
- protected:
- CRITICAL_SECTION mutex;
- };
-#elif FLEXT_THREADS == FLEXT_THR_MP
- {
- public:
- //! Construct thread mutex
- ThrMutex() { MPCreateCriticalRegion(&crit); }
- //! Destroy thread mutex
- ~ThrMutex() { MPDeleteCriticalRegion(crit); }
-
- //! Lock thread mutex
- bool Lock() { return MPEnterCriticalRegion(crit,kDurationForever) == noErr; }
- //! Wait to lock thread mutex
-// bool WaitForLock(double tm) { return MPEnterCriticalRegion(crit,tm*kDurationMicrosecond*1.e6) == noErr; }
- //! Try to lock, but don't wait
- bool TryLock() { return MPEnterCriticalRegion(crit,kDurationImmediate) == noErr; }
- //! Unlock thread mutex
- bool Unlock() { return MPExitCriticalRegion(crit) == noErr; }
-
- protected:
- MPCriticalRegionID crit;
- };
-#else
-#error "Not implemented"
-#endif
-
- /*! \brief Thread conditional
- \sa pthreads documentation
- */
- class FLEXT_SHARE ThrCond
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- :public ThrMutex
- {
- public:
- //! Construct thread conditional
- ThrCond() { pthread_cond_init(&cond,NULL); }
- //! Destroy thread conditional
- ~ThrCond() { pthread_cond_destroy(&cond); }
-
- //! Wait for condition
- bool Wait();
-
- /*! Wait for condition (for a certain time).
- \param ftime Wait time in seconds
- \ret true = signalled, false = timed out
- \remark If ftime = 0 this may suck away your cpu if used in a signalled loop.
- \remark The time resolution of the implementation is required to be at least ms.
- */
- bool TimedWait(double ftime);
-
- //! Signal condition
- bool Signal() { return pthread_cond_signal(&cond) == 0; }
-
- protected:
- pthread_cond_t cond;
- };
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- {
- public:
- //! Construct thread conditional
- ThrCond() { cond = CreateEvent(NULL,FALSE,FALSE,NULL); }
- //! Destroy thread conditional
- ~ThrCond() { CloseHandle(cond); }
-
- //! Wait for condition
- bool Wait() { return WaitForSingleObject(cond,INFINITE) == WAIT_OBJECT_0; }
-
- /*! Wait for condition (for a certain time).
- \param ftime Wait time in seconds
- \ret true = signalled, false = timed out
- \remark If ftime = 0 this may suck away your cpu if used in a signalled loop.
- \remark The time resolution of the implementation is required to be at least ms.
- */
- bool TimedWait(double ftime) { return WaitForSingleObject(cond,(LONG)(ftime*1000)) == WAIT_OBJECT_0; }
-
- //! Signal condition
- bool Signal() { return SetEvent(cond) != 0; }
-
- protected:
- HANDLE cond;
- };
-#elif FLEXT_THREADS == FLEXT_THR_MP
- {
- public:
- //! Construct thread conditional
- ThrCond() { MPCreateEvent(&ev); }
- //! Destroy thread conditional
- ~ThrCond() { MPDeleteEvent(ev); }
-
- //! Wait for condition
- bool Wait() { return MPWaitForEvent(ev,NULL,kDurationForever) == noErr; }
-
- /*! \brief Wait for condition (for a certain time).
- \param time Wait time in seconds
- */
- bool TimedWait(double tm) { return MPWaitForEvent(ev,NULL,tm*kDurationMicrosecond*1.e6) == noErr; }
-
- //! Signal condition
- bool Signal() { return MPSetEvent(ev,1) == noErr; } // one bit needs to be set at least
-
- protected:
- MPEventID ev;
- };
-#else
-#error "Not implemented"
-#endif
-
- /*! \brief Add current thread to list of active threads.
- \return true on success
- \internal
- */
- static bool PushThread();
-
- /*! \brief Remove current thread from list of active threads.
- \internal
- */
- static void PopThread();
-
- /*! \brief Launch a thread.
- \param meth Thread function
- \param params Parameters to pass to the thread, may be NULL if not needed.
- \return Thread id on success, NULL on failure
- */
- static bool LaunchThread(void (*meth)(thr_params *p),thr_params *params = NULL);
-
- /*! \brief Terminate a thread.
- \param meth Thread function
- \param params Parameters to pass to the thread, may be NULL if not needed.
- \return True if at least one matching thread has been found.
- \remark Terminates all running threads with matching meth and params.
- \note Function doesn NOT wait for termination
- */
- static bool StopThread(void (*meth)(thr_params *p),thr_params *params = NULL,bool wait = false);
-
-#endif // FLEXT_THREADS
-
-//! @} FLEXT_S_THREAD
-
-
-// --- timer stuff -----------------------------------------------
-
-/*! \defgroup FLEXT_S_TIMER Flext timer handling
- @{
-
- \remark The clock of the real-time system is used for most of these functions.
- \remark Since this clock can be synchronized to an external clock (or e.g. the audio card)
- \remark it may differ from the clock of the operating system
-*/
-
- /*! \brief Get time since real-time system startup.
- \note This is not the time of the operating system but of the real-time system.
- \note It may depend on the time source the system is synchronized to (e.g. audio sample rate).
- */
- static double GetTime()
- {
- #if FLEXT_SYS == FLEXT_SYS_PD
- return clock_gettimesince(0)*0.001;
- #elif FLEXT_SYS == FLEXT_SYS_MAX
- double tm;
- clock_getftime(&tm);
- return tm*0.001;
- #else
- #error Not implemented
- #endif
- }
-
- /*! \brief Get time granularity of the GetTime function.
- \note This can be zero if not determined.
- */
- static double GetTimeGrain()
- {
- #if FLEXT_SYS == FLEXT_SYS_PD
- return 0;
- #elif FLEXT_SYS == FLEXT_SYS_MAX
- return 0.001;
- #else
- #error Not implemented
- #endif
- }
-
- /*! \brief Get operating system time since flext startup.
- */
- static double GetOSTime();
-
- /*! \brief Sleep for an amount of time.
- \remark The OS clock is used for that.
- \note Clearly in a real-time system this should only be used in a detached thread.
- */
- static void Sleep(double s);
-
- /*! \brief Class encapsulating a timer with callback functionality.
- This class can either be used with FLEXT_ADDTIMER or used as a base class with an overloaded virtual Work function.
- */
- class FLEXT_SHARE Timer:
- public flext_root
- {
- public:
- Timer(bool queued = false);
- virtual ~Timer();
-
- //! Set timer callback function.
- void SetCallback(void (*cb)(void *data)) { clss = NULL,cback = cb; }
- //! Set timer callback function (with class pointer).
- void SetCallback(FLEXT_CLASSDEF(flext_base) &th,bool (*cb)(FLEXT_CLASSDEF(flext_base) *th,void *data)) { clss = &th,cback = (void (*)(void *))cb; }
-
- //! Clear timer.
- bool Reset();
- //! Trigger a one shot at an absolute time.
- bool At(double time,void *data = NULL,bool dopast = true);
- //! Trigger a one shot interval.
- bool Delay(double time,void *data = NULL);
- //! Trigger a periodic interval.
- bool Periodic(double time,void *data = NULL);
- //! Trigger immediately.
- bool Now(void *data = NULL) { return Delay(0,data); }
-
- //! Worker function, called on every timer event.
- virtual void Work();
-
- protected:
- static void callback(Timer *tmr);
-
-#if FLEXT_SYS == FLEXT_SYS_PD
- t_clock *clk;
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- static void queuefun(Timer *tmr);
- t_clock *clk;
- t_qelem *qelem;
-#else
-#error Not implemented
-#endif
-
- const bool queued;
- void (*cback)(void *data);
- FLEXT_CLASSDEF(flext_base) *clss;
- void *userdata;
- double period;
- };
-
-//! @} FLEXT_S_TIMER
-
- //! Check if we are in DSP time
- static bool InDSP() { return indsp; }
-
-// --- SIMD functionality -----------------------------------------------
-
-/*! \defgroup FLEXT_S_SIMD Cross platform SIMD support for modern CPUs
- @{
-*/
- enum simd_type {
- simd_none = 0,
- simd_mmx = 0x01,
- simd_3dnow = 0x02,
- simd_sse = 0x04,
- simd_sse2 = 0x08,
- simd_altivec = 0x10
- };
-
- /*! Check for SIMD capabilities of the CPU */
- static unsigned long GetSIMDCapabilities();
-
-
- static void MulSamples(t_sample *dst,const t_sample *src,t_sample mul,int cnt);
- static void MulSamples(t_sample *dst,const t_sample *src,const t_sample *mul,int cnt);
- static void AddSamples(t_sample *dst,const t_sample *src,t_sample add,int cnt);
- static void AddSamples(t_sample *dst,const t_sample *src,const t_sample *add,int cnt);
- static void ScaleSamples(t_sample *dst,const t_sample *src,t_sample mul,t_sample add,int cnt);
- static void ScaleSamples(t_sample *dst,const t_sample *src,t_sample mul,const t_sample *add,int cnt);
- static void ScaleSamples(t_sample *dst,const t_sample *src,const t_sample *mul,const t_sample *add,int cnt);
-
-//! @} FLEXT_S_SIMD
-
-
-//! @} FLEXT_SUPPORT
-
-protected:
-#ifdef __MRC__
- friend class flext_obj;
-#endif
-
- static void Setup();
-
- static bool chktilde(const char *objname);
-
- static unsigned long simdcaps;
-
- static const t_symbol *sym_buffer;
- static const t_symbol *sym_size;
- static const t_symbol *sym_attributes;
- static const t_symbol *sym_methods;
-
- //! flag if we are within DSP
- static bool indsp;
-};
-
-
-// gcc doesn't like these to be included into the flext class (even if static)
-inline bool operator ==(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) == 0; }
-inline bool operator !=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) != 0; }
-inline bool operator <(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) < 0; }
-inline bool operator <=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) <= 0; }
-inline bool operator >(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) > 0; }
-inline bool operator >=(const t_atom &a,const t_atom &b) { return flext::CmpAtom(a,b) >= 0; }
-
-//! @} // FLEXT_SUPPORT
-
-#endif
diff --git a/externals/grill/flext/source/flthr.cpp b/externals/grill/flext/source/flthr.cpp
deleted file mode 100644
index 36559997..00000000
--- a/externals/grill/flext/source/flthr.cpp
+++ /dev/null
@@ -1,646 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flthr.cpp
- \brief Implementation of the flext thread functionality.
-*/
-
-#include "flext.h"
-
-#ifdef FLEXT_THREADS
-
-// maximum wait time for threads to finish (in ms)
-#define MAXIMUMWAIT 100
-
-
-#include "flinternal.h"
-#include "flcontainers.h"
-
-#include <time.h>
-
-#if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH || FLEXT_OSAPI == FLEXT_OSAPI_UNIX_POSIX || FLEXT_OSAPI == FLEXT_OSAPI_WIN_POSIX
-#include <sys/time.h>
-#include <unistd.h>
-#elif FLEXT_OS == FLEXT_OS_WIN
-#include <sys/timeb.h>
-#endif
-
-#if FLEXT_THREADS == FLEXT_THR_WIN32 && WINVER < 0x0500
-#error WIN32 threads need Windows SDK version >= 0x500
-#endif
-
-#include <errno.h>
-
-//! Thread id of system thread - will be initialized in flext::Setup
-flext::thrid_t flext::thrid;
-
-//! Thread id of helper thread - will be initialized in flext::Setup
-flext::thrid_t flext::thrhelpid;
-
-
-//! \brief This represents an entry to the list of active method threads
-class thr_entry
- : public flext
- , public Fifo::Cell
-{
-public:
- void Set(void (*m)(thr_params *),thr_params *p,thrid_t id = GetThreadId())
- {
- th = p?p->cl:NULL;
- meth = m,params = p,thrid = id;
- shouldexit = false;
-#if FLEXT_THREADS == FLEXT_THR_MP
- weight = 100; // MP default weight
-#endif
- }
-
- //! \brief Check if this class represents the current thread
- bool Is(thrid_t id = GetThreadId()) const { return IsThread(thrid,id); }
-
- FLEXT_CLASSDEF(flext_base) *This() const { return th; }
- thrid_t Id() const { return thrid; }
-
- FLEXT_CLASSDEF(flext_base) *th;
- void (*meth)(thr_params *);
- thr_params *params;
- thrid_t thrid;
- bool shouldexit;
-#if FLEXT_THREADS == FLEXT_THR_MP
- int weight;
-#endif
-};
-
-template<class T>
-class ThrFinder:
- public T
-{
-public:
- void Push(thr_entry *e) { T::Push(e); }
- thr_entry *Pop() { return T::Pop(); }
-
- thr_entry *Find(flext::thrid_t id,bool pop = false)
- {
- TypedLifo<thr_entry> qutmp;
- thr_entry *fnd;
- while((fnd = Pop()) && !fnd->Is(id)) qutmp.Push(fnd);
- // put back entries
- for(thr_entry *ti; (ti = qutmp.Pop()) != NULL; ) Push(ti);
- if(fnd && !pop) Push(fnd);
- return fnd;
- }
-};
-
-static ThrFinder< PooledLifo<thr_entry,1,10> > thrpending;
-static ThrFinder< TypedLifo<thr_entry> > thractive,thrstopped;
-
-//! Helper thread conditional
-static flext::ThrCond *thrhelpcond = NULL;
-
-
-static void LaunchHelper(thr_entry *e)
-{
- e->thrid = flext::GetThreadId();
- e->meth(e->params);
-}
-
-bool initialized = false;
-
-//! Start helper thread
-bool flext::StartHelper()
-{
- bool ok = false;
- initialized = false;
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- pthread_attr_t attr;
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
-
- pthread_t tmp;
- ok = pthread_create (&tmp,&attr,(void *(*)(void *))ThrHelper,NULL) == 0;
-#elif FLEXT_THREADS == FLEXT_THR_MP
- if(!MPLibraryIsLoaded())
- error("Thread library is not loaded");
- else {
- MPTaskID tmp;
- OSStatus ret = MPCreateTask((TaskProc)ThrHelper,NULL,0,0,0,0,0,&tmp);
- ok = ret == noErr;
- }
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- ok = _beginthread(ThrHelper,0,NULL) >= 0;
-#else
-#error
-#endif
- if(!ok)
- error("flext - Could not launch helper thread!");
- else {
- // now we have to wait for thread helper to initialize
- while(!initialized) Sleep(0.001);
-
- // we are ready for threading now!
- }
-
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- pthread_attr_destroy(&attr);
-#endif
- return ok;
-}
-
-//! Static helper thread function
-void flext::ThrHelper(void *)
-{
- thrhelpid = GetThreadId();
-
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- // set prototype thread attributes
- pthread_attr_t attr;
- pthread_attr_init(&attr);
- pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);
-#endif
-
- // set thread priority one point below normal
- // so thread construction won't disturb real-time audio
- RelPriority(-1);
-
- thrhelpcond = new ThrCond;
-
- initialized = true;
-
- // helper loop
- for(;;) {
- thrhelpcond->Wait();
-
- // start all inactive threads
- thr_entry *ti;
- while((ti = thrpending.Pop()) != NULL) {
- bool ok;
-
- #if FLEXT_THREADS == FLEXT_THR_POSIX
- thrid_t dummy;
- ok = pthread_create (&dummy,&attr,(void *(*)(void *))LaunchHelper,ti) == 0;
- #elif FLEXT_THREADS == FLEXT_THR_MP
- thrid_t dummy;
- ok = MPCreateTask((TaskProc)LaunchHelper,ti,0,0,0,0,0,&dummy) == noErr;
- #elif FLEXT_THREADS == FLEXT_THR_WIN32
- ok = _beginthread((void (*)(void *))LaunchHelper,0,ti) >= 0;
- #else
- #error
- #endif
- if(!ok) {
- error("flext - Could not launch thread!");
- thrpending.Free(ti); ti = NULL;
- }
- else
- // insert into queue of active threads
- thractive.Push(ti);
- }
- }
-
- FLEXT_ASSERT(false);
-/*
- // Never reached!
-
- delete thrhelpcond;
- thrhelpcond = NULL;
-
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- pthread_attr_destroy(&attr);
-#endif
-*/
-}
-
-
-bool flext::LaunchThread(void (*meth)(thr_params *p),thr_params *p)
-{
- FLEXT_ASSERT(thrhelpcond);
-
- // make an entry into thread list
- thr_entry *e = thrpending.New();
- e->Set(meth,p);
- thrpending.Push(e);
- // signal thread helper
- thrhelpcond->Signal();
-
- return true;
-}
-
-static bool waitforstopped(TypedFifo<thr_entry> &qufnd,float wait = 0)
-{
- TypedLifo<thr_entry> qutmp;
-
- double until;
- if(wait) until = flext::GetOSTime()+wait;
-
- for(;;) {
- thr_entry *fnd = qufnd.Get();
- if(!fnd) break; // no more entries -> done!
-
- thr_entry *ti;
- // search for entry
- while((ti = thrstopped.Pop()) != NULL && ti != fnd) qutmp.Push(ti);
- // put back entries
- while((ti = qutmp.Pop()) != NULL) thrstopped.Push(ti);
-
- if(ti) {
- // still in thrstopped queue
- qufnd.Put(fnd);
- // yield to other threads
- flext::ThrYield();
-
- if(wait && flext::GetOSTime() > until)
- // not successful -> remaining thread are still in qufnd queue
- return false;
- }
- }
- return true;
-}
-
-bool flext::StopThread(void (*meth)(thr_params *p),thr_params *p,bool wait)
-{
- FLEXT_ASSERT(thrhelpcond);
-
- TypedLifo<thr_entry> qutmp;
- thr_entry *ti;
-
- // first search pending queue
- // --------------------------
-
- {
- bool found = false;
- while((ti = thrpending.Pop()) != NULL)
- if(ti->meth == meth && ti->params == p) {
- // found -> thread hasn't started -> just delete
- thrpending.Free(ti);
- found = true;
- }
- else
- qutmp.Push(ti);
-
- // put back into pending queue (order doesn't matter)
- while((ti = qutmp.Pop()) != NULL) thrpending.Push(ti);
-
- if(found) return true;
- }
-
- // now search active queue
- // -----------------------
-
- TypedFifo<thr_entry> qufnd;
-
- while((ti = thractive.Pop()) != NULL)
- if(ti->meth == meth && ti->params == p) {
- thrstopped.Push(ti);
- thrhelpcond->Signal();
- qufnd.Put(ti);
- }
- else
- qutmp.Push(ti);
-
- // put back into pending queue (order doesn't matter)
- while((ti = qutmp.Pop()) != NULL) thractive.Push(ti);
-
- // wakeup helper thread
- thrhelpcond->Signal();
-
- // now wait for entries in qufnd to have vanished from thrstopped
- if(wait)
- return waitforstopped(qufnd);
- else
- return qufnd.Size() == 0;
-}
-
-bool flext::ShouldExit()
-{
- return thrstopped.Find(GetThreadId()) != NULL;
-}
-
-bool flext::PushThread()
-{
- // set priority of newly created thread one point below the system thread's
- RelPriority(-1);
- return true;
-}
-
-void flext::PopThread()
-{
- thrid_t id = GetThreadId();
- thr_entry *fnd = thrstopped.Find(id,true);
- if(!fnd) fnd = thractive.Find(id,true);
-
- if(fnd)
- thrpending.Free(fnd);
-#ifdef FLEXT_DEBUG
- else
- post("flext - INTERNAL ERROR: Thread not found!");
-#endif
-}
-
-//! Terminate all object threads
-bool flext_base::StopThreads()
-{
- FLEXT_ASSERT(thrhelpcond);
-
- TypedLifo<thr_entry> qutmp;
- thr_entry *ti;
-
- // first search pending queue
- // --------------------------
-
- while((ti = thrpending.Pop()) != NULL)
- if(ti->This() == this)
- // found -> thread hasn't started -> just delete
- thrpending.Free(ti);
- else
- qutmp.Push(ti);
-
- // put back into pending queue (order doesn't matter)
- while((ti = qutmp.Pop()) != NULL) thrpending.Push(ti);
-
- // now search active queue
- // -----------------------
-
- TypedFifo<thr_entry> qufnd;
-
- while((ti = thractive.Pop()) != NULL)
- if(ti->This() == this) {
- thrstopped.Push(ti);
- thrhelpcond->Signal();
- qufnd.Put(ti);
- }
- else
- qutmp.Push(ti);
-
- // put back into pending queue (order doesn't matter)
- while((ti = qutmp.Pop()) != NULL) thractive.Push(ti);
-
- // wakeup helper thread
- thrhelpcond->Signal();
-
- // now wait for entries in qufnd to have vanished from thrstopped
- if(!waitforstopped(qufnd,MAXIMUMWAIT*0.001f)) {
-#ifdef FLEXT_DEBUG
- post("flext - doing hard thread termination");
-#endif
-
- // timeout -> hard termination
- while((ti = qufnd.Get()) != NULL) {
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- if(pthread_cancel(ti->thrid))
- post("%s - Thread could not be terminated!",thisName());
-#elif FLEXT_THREADS == FLEXT_THR_MP
- MPTerminateTask(ti->thrid,0);
- // here, we should use a task queue to check whether the task has really terminated!!
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- // can't use the c library function _endthread.. memory leaks will occur
- HANDLE hnd = OpenThread(THREAD_ALL_ACCESS,TRUE,ti->thrid);
- TerminateThread(hnd,0);
-#else
-#error Not implemented
-#endif
- thrpending.Free(ti);
- }
- return false;
- }
- else
- return true;
-}
-
-bool flext::RelPriority(int dp,thrid_t ref,thrid_t id)
-{
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- sched_param parm;
- int policy;
- if(pthread_getschedparam(ref,&policy,&parm) < 0) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to get thread priority");
-#endif
- return false;
- }
- else {
- parm.sched_priority += dp;
-
- // MSVC++ 6 produces wrong code with the following lines!!!
-// int schmin = sched_get_priority_min(policy);
-// int schmax = sched_get_priority_max(policy);
-
- if(parm.sched_priority < sched_get_priority_min(policy)) {
-#ifdef FLEXT_DEBUG
- post("flext - minimum thread priority reached");
-#endif
- parm.sched_priority = sched_get_priority_min(policy);
- }
- else if(parm.sched_priority > sched_get_priority_max(policy)) {
-#ifdef FLEXT_DEBUG
- post("flext - maximum thread priority reached");
-#endif
- parm.sched_priority = sched_get_priority_max(policy);
- }
-
- if(pthread_setschedparam(id,policy,&parm) < 0) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to change thread priority");
-#endif
- return false;
- }
- }
- return true;
-
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- HANDLE href = OpenThread(THREAD_ALL_ACCESS,TRUE,ref);
- HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id);
- int pr = GetThreadPriority(href);
-
- if(pr == THREAD_PRIORITY_ERROR_RETURN) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to get thread priority");
-#endif
- return false;
- }
-
- pr += dp;
- if(pr < THREAD_PRIORITY_IDLE) {
-#ifdef FLEXT_DEBUG
- post("flext - minimum thread priority reached");
-#endif
- pr = THREAD_PRIORITY_IDLE;
- }
- else if(pr > THREAD_PRIORITY_TIME_CRITICAL) {
-#ifdef FLEXT_DEBUG
- post("flext - maximum thread priority reached");
-#endif
- pr = THREAD_PRIORITY_TIME_CRITICAL;
- }
-
- if(SetThreadPriority(hid,pr) == 0) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to change thread priority");
-#endif
- return false;
- }
- return true;
-
-#elif FLEXT_THREADS == FLEXT_THR_MP
- thr_entry *ti = thrpending.Find(id);
- if(!ti) ti = thractive.Find(id);
- if(ti) {
- // thread found in list
- int w = GetPriority(id);
- if(dp < 0) w /= 1<<(-dp);
- else w *= 1<<dp;
- if(w < 1) {
- #ifdef FLEXT_DEBUG
- post("flext - minimum thread priority reached");
- #endif
- w = 1;
- }
- else if(w > 10000) {
- #ifdef FLEXT_DEBUG
- post("flext - maximum thread priority reached");
- #endif
- w = 10000;
- }
- ti->weight = w;
- return MPSetTaskWeight(id,w) == noErr;
- }
- else return false;
-#else
-#error
-#endif
-}
-
-
-int flext::GetPriority(thrid_t id)
-{
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- sched_param parm;
- int policy;
- if(pthread_getschedparam(id,&policy,&parm) < 0) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to get parms");
-#endif
- return -1;
- }
- return parm.sched_priority;
-
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id);
- int pr = GetThreadPriority(hid);
-
- if(pr == THREAD_PRIORITY_ERROR_RETURN) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to get thread priority");
-#endif
- return -1;
- }
- return pr;
-
-#elif FLEXT_THREADS == FLEXT_THR_MP
- thr_entry *ti = thrpending.Find(id);
- if(!ti) ti = thractive.Find(id);
- return ti?ti->weight:-1;
-#else
-#error
-#endif
-}
-
-
-bool flext::SetPriority(int p,thrid_t id)
-{
-#if FLEXT_THREADS == FLEXT_THR_POSIX
- sched_param parm;
- int policy;
- if(pthread_getschedparam(id,&policy,&parm) < 0) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to get parms");
-#endif
- return false;
- }
- else {
- parm.sched_priority = p;
- if(pthread_setschedparam(id,policy,&parm) < 0) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to change priority");
-#endif
- return false;
- }
- }
- return true;
-
-#elif FLEXT_THREADS == FLEXT_THR_WIN32
- HANDLE hid = OpenThread(THREAD_ALL_ACCESS,TRUE,id);
- if(SetThreadPriority(hid,p) == 0) {
-#ifdef FLEXT_DEBUG
- post("flext - failed to change thread priority");
-#endif
- return false;
- }
- return true;
-
-#elif FLEXT_THREADS == FLEXT_THR_MP
- thr_entry *ti = thrpending.Find(id);
- if(!ti) ti = thractive.Find(id);
- return ti && MPSetTaskWeight(id,ti->weight = p) == noErr;
-#else
-#error
-#endif
-}
-
-
-flext_base::thr_params::thr_params(int n): cl(NULL),var(new _data[n]) {}
-flext_base::thr_params::~thr_params() { if(var) delete[] var; }
-
-void flext_base::thr_params::set_any(const t_symbol *s,int argc,const t_atom *argv) { var[0]._any = new AtomAnything(s,argc,argv); }
-void flext_base::thr_params::set_list(int argc,const t_atom *argv) { var[0]._list = new AtomList(argc,argv); }
-
-
-#if FLEXT_THREADS == FLEXT_THR_POSIX
-bool flext::ThrCond::Wait() {
- Lock();
- bool ret = pthread_cond_wait(&cond,&mutex) == 0;
- Unlock();
- return ret;
-}
-
-bool flext::ThrCond::TimedWait(double ftm)
-{
- timespec tm;
-#if FLEXT_OS == FLEXT_OS_WIN && FLEXT_OSAPI == FLEXT_OSAPI_WIN_NATIVE
-#ifdef _MSC_VER
- _timeb tmb;
- _ftime(&tmb);
-#else
- timeb tmb;
- ftime(&tmb);
-#endif
- tm.tv_nsec = tmb.millitm*1000000;
- tm.tv_sec = (long)tmb.time;
-#else // POSIX
-#if 0 // find out when the following is defined
- clock_gettime(CLOCK_REALTIME,tm);
-#else
- struct timeval tp;
- gettimeofday(&tp, NULL);
- tm.tv_nsec = tp.tv_usec*1000;
- tm.tv_sec = tp.tv_sec;
-#endif
-#endif
-
- tm.tv_nsec += (long)((ftm-(long)ftm)*1.e9);
- long nns = tm.tv_nsec%1000000000;
- tm.tv_sec += (long)ftm+(tm.tv_nsec-nns)/1000000000;
- tm.tv_nsec = nns;
-
- Lock();
- bool ret = pthread_cond_timedwait(&cond,&mutex,&tm) == 0;
- Unlock();
- return ret;
-}
-#endif
-
-#endif // FLEXT_THREADS
diff --git a/externals/grill/flext/source/fltimer.cpp b/externals/grill/flext/source/fltimer.cpp
deleted file mode 100644
index 6f13999f..00000000
--- a/externals/grill/flext/source/fltimer.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file fltimer.cpp
- \brief flext timer functions and classes
-*/
-
-#include "flext.h"
-
-#if FLEXT_OS == FLEXT_OS_WIN
-#include <windows.h>
-#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH
-#include <unistd.h>
-#include <sys/time.h>
-#elif FLEXT_OS == FLEXT_OS_MAC
-#include <Timer.h>
-#include <Threads.h>
-#endif
-
-
-#if FLEXT_OS == FLEXT_OS_WIN
-static double perffrq = 0;
-#endif
-
-static double getstarttime();
-static double starttime = getstarttime();
-
-static double getstarttime()
-{
-#if FLEXT_OS == FLEXT_OS_WIN
- LARGE_INTEGER frq;
- if(QueryPerformanceFrequency(&frq)) perffrq = (double)frq.QuadPart;
-#endif
-
- starttime = 0;
- return flext::GetOSTime();
-}
-
-double flext::GetOSTime()
-{
- double tm;
-
-#if FLEXT_OS == FLEXT_OS_WIN
- LARGE_INTEGER cnt;
- if(perffrq && QueryPerformanceCounter(&cnt))
- tm = cnt.QuadPart/perffrq;
- else {
- SYSTEMTIME systm;
- FILETIME fltm;
- GetSystemTime(&systm);
- SystemTimeToFileTime(&systm,&fltm);
- tm = ((LARGE_INTEGER *)&fltm)->QuadPart*1.e-7;
- }
-#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH // POSIX
- timeval tmv;
- gettimeofday(&tmv,NULL);
- tm = tmv.tv_sec+tmv.tv_usec*1.e-6;
-#elif FLEXT_OS == FLEXT_OS_MAC // that's just for OS9 & Carbon!
- UnsignedWide tick;
- Microseconds(&tick);
- tm = (tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo)*1.e-6;
-#else
- #error Not implemented
-#endif
- return tm-starttime;
-}
-
-void flext::Sleep(double s)
-{
- if(s <= 0) return;
-#if FLEXT_OS == FLEXT_OS_WIN
-#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x400
-#if 0
- LARGE_INTEGER liDueTime;
- liDueTime.QuadPart = (LONGLONG)(-1.e7*s);
-
- // Create a waitable timer.
- HANDLE hTimer = CreateWaitableTimer(NULL,TRUE,NULL);
- if(hTimer) {
- if(SetWaitableTimer(hTimer,&liDueTime,0,NULL,NULL,0))
- // Wait for the timer.
- WaitForSingleObject(hTimer,INFINITE); // != WAIT_OBJECT_0)
- else
- ::Sleep((long)(s*1000.));
- CloseHandle(hTimer);
- }
- else
-#else
- LARGE_INTEGER cnt;
- if(perffrq && QueryPerformanceCounter(&cnt)) {
- LONGLONG dst = (LONGLONG)(cnt.QuadPart+perffrq*s);
- for(;;) {
- SwitchToThread(); // while waiting switch to another thread
- QueryPerformanceCounter(&cnt);
- if(cnt.QuadPart > dst) break;
- }
- }
- else
-#endif
-#endif
- // last resort....
- ::Sleep((long)(s*1000.));
-#elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX || FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH // POSIX
- usleep((long)(s*1000000.));
-#elif FLEXT_OS == FLEXT_OS_MAC // that's just for OS9 & Carbon!
- UnsignedWide tick;
- Microseconds(&tick);
- double target = tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo+s*1.e6;
- for(;;) {
- // this is just a loop running until the time has passed - stone age (but we yield at least)
- Microseconds(&tick);
- if(target <= tick.hi*((double)(1L<<((sizeof tick.lo)*4))*(double)(1L<<((sizeof tick.lo)*4)))+tick.lo) break;
- YieldToAnyThread(); // yielding surely reduces the timing precision (but we're civilized)
- }
-#else
- #error Not implemented
-#endif
-}
-
-/* \param qu determines whether timed messages should be queued (low priority - only when supported by the system).
-*/
-flext::Timer::Timer(bool qu):
- queued(qu),
- clss(NULL),userdata(NULL),
- period(0)
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- clk = (t_clock *)clock_new(this,(t_method)callback);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- clk = (t_clock *)clock_new(this,(t_method)callback);
- if(queued) qelem = (t_qelem *)qelem_new(this,(method)queuefun);
-#else
- #error Not implemented
-#endif
-}
-
-flext::Timer::~Timer()
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- clock_free(clk);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- clock_free(clk);
- if(queued) ::qelem_free(qelem);
-#else
- #error Not implemented
-#endif
-}
-
-bool flext::Timer::Reset()
-{
-#if FLEXT_SYS == FLEXT_SYS_PD
- clock_unset(clk);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- clock_unset(clk);
- if(queued) ::qelem_unset(qelem);
-#else
- #error Not implemented
-#endif
- return true;
-}
-
-/*! \param tm absolute time (in seconds)
- \param data user data
- \param dopast if set events with times lying in the past will be triggered immediately, if not set they are ignored
- \return true on success
-*/
-bool flext::Timer::At(double tm,void *data,bool dopast)
-{
- userdata = data;
- period = 0;
-#if FLEXT_SYS == FLEXT_SYS_PD
- const double systm = clock_gettimesince(0);
- double df = tm*1000.-systm;
- if(dopast && df < 0) df = 0;
- if(df >= 0)
- clock_delay(clk,df);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- const double ms = tm*1000.;
- double cur;
- clock_getftime(&cur);
- if(cur <= ms)
- clock_fdelay(clk,ms-cur);
- else if(dopast) // trigger timer is past
- clock_fdelay(clk,0);
-#else
- #error Not implemented
-#endif
- return true;
-}
-
-/*! \param tm relative time (in seconds)
- \param data user data
- \return true on success
-*/
-bool flext::Timer::Delay(double tm,void *data)
-{
- userdata = data;
- period = 0;
-#if FLEXT_SYS == FLEXT_SYS_PD
- clock_delay(clk,tm*1000);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- clock_fdelay(clk,tm*1000.);
-#else
- #error Not implemented
-#endif
- return true;
-}
-
-/*! \param tm relative time between periodic events (in seconds)
- \param data user data
- \return true on success
- \note the first event will be delayed by tm
-*/
-bool flext::Timer::Periodic(double tm,void *data)
-{
- userdata = data;
- period = tm;
-#if FLEXT_SYS == FLEXT_SYS_PD
- clock_delay(clk,tm*1000.);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- clock_fdelay(clk,tm*1000.);
-#else
- #error Not implemented
-#endif
- return true;
-}
-
-//! \brief Callback function for system clock.
-void flext::Timer::callback(Timer *tmr)
-{
-#if FLEXT_SYS == FLEXT_SYS_MAX
- if(tmr->queued)
- qelem_set(tmr->qelem);
- else
-#endif
- tmr->Work();
-
- if(tmr->period) {
- // reschedule
-#if FLEXT_SYS == FLEXT_SYS_PD
- clock_delay(tmr->clk,tmr->period*1000.);
-#elif FLEXT_SYS == FLEXT_SYS_MAX
- clock_fdelay(tmr->clk,tmr->period*1000.);
-#else
- #error Not implemented
-#endif
- }
-}
-
-#if FLEXT_SYS == FLEXT_SYS_MAX
-/*! \brief Callback function for low priority clock (for queued messages).
-*/
-void flext::Timer::queuefun(Timer *tmr) { tmr->Work(); }
-#endif
-
-/*! \brief Virtual worker function - by default it calls the user callback function.
- \remark The respective callback parameter format is chosen depending on whether clss is defined or not.
-*/
-void flext::Timer::Work()
-{
- if(cback) {
- if(clss)
- ((bool (*)(flext_base *,void *))cback)(clss,userdata);
- else
- cback(userdata);
- }
-}
-
diff --git a/externals/grill/flext/source/flutil.cpp b/externals/grill/flext/source/flutil.cpp
deleted file mode 100644
index 3437ee75..00000000
--- a/externals/grill/flext/source/flutil.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flutil.cpp
- \brief Implementation of the various utility functions.
-*/
-
-#include "flext.h"
-#include <string.h>
-
-#if FLEXT_OS == FLEXT_OS_WIN
-#include <windows.h>
-#elif FLEXT_OS == FLEXT_OS_MAC
- #if FLEXT_OSAPI != FLEXT_OSAPI_MAC_MACH
- #include <MacMemory.h>
- #else
- #include <Carbon/Carbon.h>
- #endif
-#endif
-
-void flext::CopyMem(void *dst,const void *src,int bytes)
-{
-#if FLEXT_OS == FLEXT_OS_WIN
- MoveMemory(dst,src,bytes);
-#elif FLEXT_OS == FLEXT_OS_MAC
- BlockMoveData(src,dst,bytes);
-#else
- memcpy(dst,src,bytes);
-#endif
-}
-
-void flext::ZeroMem(void *dst,int bytes)
-{
-#if FLEXT_OS == FLEXT_OS_WIN
- ZeroMemory(dst,bytes);
-#elif FLEXT_OS == FLEXT_OS_MAC
- BlockZero(dst,bytes);
-#else
- memset(dst,0,bytes);
-#endif
-}
diff --git a/externals/grill/flext/source/flxlet.cpp b/externals/grill/flext/source/flxlet.cpp
deleted file mode 100644
index 9fa9486a..00000000
--- a/externals/grill/flext/source/flxlet.cpp
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
-
-flext - C++ layer for Max/MSP and pd (pure data) externals
-
-Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-*/
-
-/*! \file flxlet.cpp
- \brief Implementation of the variable inlet/outlet functionality.
-*/
-
-#include "flext.h"
-#include "flinternal.h"
-#include <string.h>
-#include <stdarg.h>
-
-#define MAXLETS 256
-
-flext_base::xlet flext_base::inlist[MAXLETS],flext_base::outlist[MAXLETS];
-
-flext_base::xlet::xlet(): tp(xlet_none),desc(NULL) {}
-flext_base::xlet::~xlet() { if(desc) delete[] desc; }
-
-void flext_base::xlet::Desc(const char *c)
-{
- if(desc) delete[] desc;
- if(c) {
- size_t l = strlen(c);
- desc = new char[l+1];
- memcpy(desc,c,l+1);
- }
- else
- desc = NULL;
-}
-
-void flext_base::AddInlet(xlettype tp,int mult,const char *desc)
-{
- if(UNLIKELY(incnt+mult >= MAXLETS))
- post("%s - too many inlets",thisName());
- else
- for(int i = 0; i < mult; ++i) {
- xlet &x = inlist[incnt++];
- x.tp = tp;
- x.Desc(desc);
- }
-}
-
-void flext_base::AddOutlet(xlettype tp,int mult,const char *desc)
-{
- if(UNLIKELY(outcnt+mult >= MAXLETS))
- post("%s - too many outlets",thisName());
- else
- for(int i = 0; i < mult; ++i) {
- xlet &x = outlist[outcnt++];
- x.tp = tp;
- x.Desc(desc);
- }
-}
-
-void flext_base::DescInlet(int ix,const char *d)
-{
- if(UNLIKELY(ix >= incnt))
- post("%s - inlet %i not found",thisName(),ix);
- else
- inlist[ix].Desc(d);
-}
-
-void flext_base::DescOutlet(int ix,const char *d)
-{
- if(UNLIKELY(ix >= incnt))
- post("%s - outlet %i not found",thisName(),ix);
- else
- outlist[ix].Desc(d);
-}
-
-unsigned long flext_base::XletCode(xlettype tp,...)
-{
- unsigned long code = 0;
-
- va_list marker;
- va_start(marker,tp);
- int cnt = 0;
- xlettype arg = tp;
- for(; arg; ++cnt) {
-#ifdef FLEXT_DEBUG
- if(cnt > 9) {
- error("%s - Too many in/outlets defined - truncated to 9",thisName());
- break;
- }
-#endif
-
- code = code*10+(int)arg;
- arg = (xlettype)va_arg(marker,int);
- }
- va_end(marker);
-
- return code;
-}
-
-void flext_base::AddInlets(unsigned long code)
-{
- for(; code; code /= 10) AddInlet((xlettype)(code%10));
-}
-
-void flext_base::AddOutlets(unsigned long code)
-{
- for(; code; code /= 10) AddOutlet((xlettype)(code%10));
-}
-
diff --git a/externals/grill/flext/tutorial/Makefile.am b/externals/grill/flext/tutorial/Makefile.am
deleted file mode 100644
index f3247e81..00000000
--- a/externals/grill/flext/tutorial/Makefile.am
+++ /dev/null
@@ -1,55 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-SUBDIRS = \
- adv1 \
- adv2 \
- adv3 \
- attr1 \
- attr2 \
- attr3 \
- bind1 \
- buffer1 \
- lib1 \
- signal1 \
- signal2 \
- simple1 \
- simple2 \
- simple3 \
- sndobj1 \
- stk1 \
- stk2 \
- thread1 \
- thread2 \
- timer1
-
-
-EXTRA_DIST = \
- readme.txt \
- gpl.txt \
- tutorial.sln
-
-DIST_SUBDIRS = pd \
- maxmsp \
- adv1 \
- adv2 \
- adv3 \
- attr1 \
- attr2 \
- attr3 \
- bind1 \
- buffer1 \
- lib1 \
- signal1 \
- signal2 \
- simple1 \
- simple2 \
- simple3 \
- sndobj1 \
- stk1 \
- stk2 \
- thread1 \
- thread2 \
- timer1
diff --git a/externals/grill/flext/tutorial/adv1/Makefile.am b/externals/grill/flext/tutorial/adv1/Makefile.am
deleted file mode 100644
index d849ba2f..00000000
--- a/externals/grill/flext/tutorial/adv1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = adv1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/adv1/adv1.mcp b/externals/grill/flext/tutorial/adv1/adv1.mcp
deleted file mode 100755
index 7b89200a..00000000
--- a/externals/grill/flext/tutorial/adv1/adv1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/adv1/adv1.vcproj b/externals/grill/flext/tutorial/adv1/adv1.vcproj
deleted file mode 100644
index 3737a2a8..00000000
--- a/externals/grill/flext/tutorial/adv1/adv1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="adv1"
- SccProjectName="adv1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/adv1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/adv1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/adv1.pdb"
- ImportLibrary=".\msvc/adv1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/adv1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/adv1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/adv1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/adv1.pdb"
- ImportLibrary=".\msvc-debug/adv1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/adv1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/adv1/main.cpp b/externals/grill/flext/tutorial/adv1/main.cpp
deleted file mode 100644
index 4150800f..00000000
--- a/externals/grill/flext/tutorial/adv1/main.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-flext tutorial - advanced 1
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This is an example of a simplified prepend object
-*/
-
-#include <flext.h>
-
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
-#error You need at least flext version 0.4.1
-#endif
-
-
-class adv1:
- public flext_base
-{
- FLEXT_HEADER(adv1,flext_base)
-
-public:
- // constructor with variable argument list
- adv1(int argc,t_atom *argv);
-
-protected:
- void m_any(const t_symbol *s,int argc,t_atom *argv); // method which digests anything
-
- AtomList lst;
-private:
- FLEXT_CALLBACK_A(m_any); // callback for method "m_any" (with anything argument)
-};
-
-// instantiate the class (constructor has a variable argument list)
-// note the two words in the string: prepend acts as an alias for adv1!
-FLEXT_NEW_V("adv1 prepend",adv1)
-
-
-
-// constructor
-
-adv1::adv1(int argc,t_atom *argv)
-{
- AddInAnything(); // one inlet that can receive anything
- AddOutAnything(); // one outlet for anything
-
- // register method
- FLEXT_ADDMETHOD(0,m_any); // register method "m_any" for inlet 0
-
- if(argc != 0) { // check for arg count
- // store arg list
- lst(argc,argv);
- }
- else {
- // no args given
- post("%s - no arguments given",thisName());
-
- // tell flext that the initialization was not successful... object will not live
- InitProblem();
- }
-}
-
-
-
-// method
-
-void adv1::m_any(const t_symbol *s,int argc,t_atom *argv)
-{
- // reserve space for as many atoms as possibly necessary
- AtomList result(lst.Count()+argc+2);
-
- // ix is our counter of atoms to output
- int ix = 0;
-
- int i = 0;
- if(!IsSymbol(lst[0])) {
- // if first element to prepend is no symbol then make it a "list"
- SetSymbol(result[ix++],sym_list);
- }
- // copy atoms to prepend to result list
- for(; i < lst.Count(); ++i) CopyAtom(&result[ix++],&lst[i]);
-
- // if anything is no "list" or "float" then append it to result list
- if(s != sym_list && s != sym_float
-#if FLEXT_SYS == FLEXT_SYS_MAX
- && s != sym_int // in Max integers are system data types
-#endif
- )
- SetSymbol(result[ix++],s);
-
- // append pending arguments to result list
- for(i = 0; i < argc; ++i) CopyAtom(&result[ix++],argv+i);
-
- // output result list as an anything
- ToOutAnything(0,GetSymbol(result[0]),ix-1,result.Atoms()+1);
-}
-
-
diff --git a/externals/grill/flext/tutorial/adv1/package.txt b/externals/grill/flext/tutorial/adv1/package.txt
deleted file mode 100644
index f685a0e2..00000000
--- a/externals/grill/flext/tutorial/adv1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=adv1
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/adv2/Makefile.am b/externals/grill/flext/tutorial/adv2/Makefile.am
deleted file mode 100644
index 6daf4f32..00000000
--- a/externals/grill/flext/tutorial/adv2/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = adv2
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/adv2/adv2.mcp b/externals/grill/flext/tutorial/adv2/adv2.mcp
deleted file mode 100755
index b46cd6d9..00000000
--- a/externals/grill/flext/tutorial/adv2/adv2.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/adv2/adv2.vcproj b/externals/grill/flext/tutorial/adv2/adv2.vcproj
deleted file mode 100644
index e87ac448..00000000
--- a/externals/grill/flext/tutorial/adv2/adv2.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="adv2"
- SccProjectName="adv2"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/adv2.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/adv2.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/adv2.pdb"
- ImportLibrary=".\msvc-debug/adv2.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/adv2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/adv2.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/adv2.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/adv2.pdb"
- ImportLibrary=".\msvc/adv2.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/adv2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/adv2/main.cpp b/externals/grill/flext/tutorial/adv2/main.cpp
deleted file mode 100644
index 6558f5d1..00000000
--- a/externals/grill/flext/tutorial/adv2/main.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-flext tutorial - advanced 2
-
-Copyright (c) 2002-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
--------------------------------------------------------------------------
-
-This is an optimized version of the example "simple 3"
-
-It has the exact same functionality but methods are registered at class setup opposed to
-object setup (in the constructor) in "simple 3"
-
-The advantage of this lies in the fact that the message database needs only be constructed
-once for all objects, namely on creation of the first object of this class.
-All objects [adv2] will share the same database, saving memory.
-
-*/
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 500)
-#error You need at least flext version 0.5.0
-#endif
-
-class adv2:
- public flext_base
-{
- // flext header with a setup function called "setup"
- FLEXT_HEADER_S(adv2,flext_base,setup)
-
-public:
- adv2();
-
-protected:
- void m_tag();
- void m_tag_and_int(int i);
- void m_sym(t_symbol *s);
-
- void m_help();
-
-private:
- // define the _static_ class setup function
- static void setup(t_classid c);
-
- FLEXT_CALLBACK(m_tag)
- FLEXT_CALLBACK_I(m_tag_and_int)
- FLEXT_CALLBACK_S(m_sym)
- FLEXT_CALLBACK(m_help)
-};
-
-// instantiate the class (constructor takes no arguments)
-FLEXT_NEW("adv2",adv2)
-
-
-adv2::adv2()
-{
- // define inlets
- AddInAnything(); // add inlet of type anything (index 0)
-}
-
-void adv2::setup(t_classid c)
-{
- // register methods:
- // notice the naming FLEXT_CADD_METHOD* instead of FLEXT_ADD_METHOD*
- // there is also an additional parameter c pointing to the class definition
- FLEXT_CADDMETHOD_(c,0,"born",m_tag);
- FLEXT_CADDMETHOD_(c,0,"to",m_tag);
- FLEXT_CADDMETHOD_(c,0,"hula",m_tag);
- FLEXT_CADDMETHOD_I(c,0,"hula",m_tag_and_int);
-
- FLEXT_CADDMETHOD(c,0,m_sym);
-
- FLEXT_CADDMETHOD_(c,0,"help",m_help);
-}
-
-void adv2::m_tag()
-{
- post("tag recognized");
-}
-
-void adv2::m_tag_and_int(int i)
-{
- post("tag recognized (has int arg: %i)",i);
-}
-
-void adv2::m_sym(t_symbol *s)
-{
- post("symbol: %s",GetString(s));
-}
-
-void adv2::m_help()
-{
- post("%s - example for tagged messages",thisName());
-}
-
-
diff --git a/externals/grill/flext/tutorial/adv2/package.txt b/externals/grill/flext/tutorial/adv2/package.txt
deleted file mode 100644
index 58b91927..00000000
--- a/externals/grill/flext/tutorial/adv2/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=adv2
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/adv3/Makefile.am b/externals/grill/flext/tutorial/adv3/Makefile.am
deleted file mode 100644
index 6c083c80..00000000
--- a/externals/grill/flext/tutorial/adv3/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = adv3
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/adv3/adv3.mcp b/externals/grill/flext/tutorial/adv3/adv3.mcp
deleted file mode 100755
index a951fec5..00000000
--- a/externals/grill/flext/tutorial/adv3/adv3.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/adv3/adv3.vcproj b/externals/grill/flext/tutorial/adv3/adv3.vcproj
deleted file mode 100644
index c52e8835..00000000
--- a/externals/grill/flext/tutorial/adv3/adv3.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="adv3"
- SccProjectName="adv3"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/adv3.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/adv3.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/adv3.pdb"
- ImportLibrary=".\msvc/adv3.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/adv3.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/adv3.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/adv3.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/adv3.pdb"
- ImportLibrary=".\msvc-debug/adv3.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/adv3.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/adv3/main.cpp b/externals/grill/flext/tutorial/adv3/main.cpp
deleted file mode 100644
index 77f886d7..00000000
--- a/externals/grill/flext/tutorial/adv3/main.cpp
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-flext tutorial - advanced 3
-
-Copyright (c) 2002-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
--------------------------------------------------------------------------
-
-This is a port of Iohannes Zmölnigs "counter" example to the flext paradigm.
-Find the original at http://iem.kug.ac.at/pd/externals-HOWTO/node5.html
-
-The functionality is exactly the same, with one exception:
-flext doesn't support default arguments, hence a message "bound 1" will translate into
-"bound 1 0" in the original example, but won't be recognized with flext.
-This can be easily circumvented by using a method digesting a variable argument list, but
-was omitted for the sake of clearness.
-
-Apart from that you'll notice several differences to the original C object:
-- with flext, callbacks have to be declared for all registered methods
-- Flext allows the full usage of integer types
-- there are no real "passive" methods with flext.
- These can be emulated by methods, or more flexibly, attributes (see example "attr3")
-- Help symbols can't be defined that freely. This is because in Max/MSP help files always
- have the name of the object with a suffix .help appended.
- However with flext, a path to the respective help file may be specified
-*/
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 501)
-#error You need at least flext version 0.5.1
-#endif
-
-class adv3:
- public flext_base
-{
- FLEXT_HEADER_S(adv3,flext_base,setup)
-
-public:
- // constructor with no arguments
- adv3(int argc,t_atom *argv):
- i_step(1)
- {
- // --- initialize bounds and step size ---
- int f1 = 0,f2 = 0;
- switch(argc) {
- default:
- case 3:
- i_step = GetInt(argv[2]);
- case 2:
- f2 = GetInt(argv[1]);
- case 1:
- f1 = GetInt(argv[0]);
- case 0:
- ;
- }
- if(argc < 2) f2 = f1;
-
- m_bound(f1,f2);
-
- i_count = i_down;
-
- // --- define inlets and outlets ---
- AddInAnything("bang, reset, etc."); // default inlet
- AddInList("bounds (2 element list)"); // inlet for bounds
- AddInInt("step size"); // inlet for step size
-
- AddOutInt("counter"); // outlet for integer count
- AddOutBang("overflow bang"); // outlet for bang
- }
-
-protected:
-
- void m_reset()
- {
- i_count = i_down;
- }
-
- void m_set(int argc,t_atom *argv)
- {
- i_count = argc?GetAInt(argv[0]):0;
- }
-
- void m_bang()
- {
- int f = i_count;
- i_count += i_step;
- if(i_down != i_up) {
- if((i_step > 0) && (i_count > i_up)) {
- i_count = i_down;
- ToOutBang(1);
- }
- else if(i_count < i_down) {
- i_count = i_up;
- ToOutBang(1);
- }
- }
- ToOutInt(0,f);
- }
-
- void m_bound(int f1,int f2)
- {
- i_down = f1 < f2?f1:f2;
- i_up = f1 > f2?f1:f2;
- }
-
- void m_step(int s)
- {
- i_step = s;
- }
-
- int i_count,i_down,i_up,i_step;
-
-private:
-
- static void setup(t_classid c)
- {
- // --- set up methods (class scope) ---
-
- // register a bang method to the default inlet (0)
- FLEXT_CADDBANG(c,0,m_bang);
-
- // set up tagged methods for the default inlet (0)
- // the underscore _ after CADDMETHOD indicates that a message tag is used
- // no, variable list or anything and all single arguments are recognized automatically, ...
- FLEXT_CADDMETHOD_(c,0,"reset",m_reset);
- FLEXT_CADDMETHOD_(c,0,"set",m_set);
- // ..., more complex types (combinations of types) have to be specified explicitly
- FLEXT_CADDMETHOD_II(c,0,"bound",m_bound); // two int arguments
-
- // set up methods for inlets 1 and 2
- // no message tag used
- FLEXT_CADDMETHOD(c,1,m_bound); // variable arg type recognized automatically
- FLEXT_CADDMETHOD(c,2,m_step); // single int arg also recognized automatically
- }
-
- // for every registered method a callback has to be declared
- FLEXT_CALLBACK(m_bang)
- FLEXT_CALLBACK(m_reset)
- FLEXT_CALLBACK_V(m_set)
- FLEXT_CALLBACK_II(m_bound)
- FLEXT_CALLBACK_I(m_step)
-};
-
-// instantiate the class (constructor has a variable argument list)
-// let "counter" be an alternative name
-// after the colon define the path/name of the help file (a path has a trailing /, a file has not)
-FLEXT_NEW_V("adv3 counter,help/",adv3)
-
-
diff --git a/externals/grill/flext/tutorial/adv3/package.txt b/externals/grill/flext/tutorial/adv3/package.txt
deleted file mode 100644
index 9bd894d4..00000000
--- a/externals/grill/flext/tutorial/adv3/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=adv3
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/attr1/Makefile.am b/externals/grill/flext/tutorial/attr1/Makefile.am
deleted file mode 100644
index 000b2a85..00000000
--- a/externals/grill/flext/tutorial/attr1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = attr1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/attr1/attr1.mcp b/externals/grill/flext/tutorial/attr1/attr1.mcp
deleted file mode 100755
index 32e4ec8f..00000000
--- a/externals/grill/flext/tutorial/attr1/attr1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/attr1/attr1.vcproj b/externals/grill/flext/tutorial/attr1/attr1.vcproj
deleted file mode 100644
index e962984f..00000000
--- a/externals/grill/flext/tutorial/attr1/attr1.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="attr1"
- SccProjectName="attr1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/attr1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/attr1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/attr1.pdb"
- ImportLibrary=".\msvc-debug/attr1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/attr1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/attr1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/attr1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/attr1.pdb"
- ImportLibrary=".\msvc/attr1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/attr1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/attr1/main.cpp b/externals/grill/flext/tutorial/attr1/main.cpp
deleted file mode 100644
index e4abc47b..00000000
--- a/externals/grill/flext/tutorial/attr1/main.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-flext tutorial - attributes 1
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This is an example of a simple object doing a float addition
-It is a variation of the tutorial "simple 2"
-*/
-
-
-// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!)
-// For clarity, this is done here, but you'd better specify it as a compiler definition
-// FLEXT_ATTRIBUTES must be 0 or 1,
-#define FLEXT_ATTRIBUTES 1
-
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-class attr1:
- public flext_base
-{
- FLEXT_HEADER(attr1,flext_base)
-
-public:
- // constructor
- attr1();
-
-protected:
- void m_trigger(float f);
-
- // stored argument
- float arg;
-
-private:
- // callback for method "m_trigger" (with one float argument)
- FLEXT_CALLBACK_F(m_trigger)
-
- // define attribute callbacks for variable "arg" (with GET and SET properties)
- FLEXT_ATTRVAR_F(arg)
-};
-
-// instantiate the class
-FLEXT_NEW("attr1",attr1)
-
-
-attr1::attr1():
- arg(0) // initialize argument
-{
- // define inlets
- AddInAnything(); // first inlet of type anything (index 0)
-
- // define outlets
- AddOutFloat(); // one float outlet (has index 0)
-
- // register methods
- FLEXT_ADDMETHOD(0,m_trigger); // register method (for floats) "m_trigger" for inlet 0
-
- FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg" with variable arg
-}
-
-void attr1::m_trigger(float f)
-{
- float res = arg+f;
-
- // output value to outlet
- ToOutFloat(0,res); // (0 stands for the outlet index 0)
-}
-
diff --git a/externals/grill/flext/tutorial/attr1/package.txt b/externals/grill/flext/tutorial/attr1/package.txt
deleted file mode 100644
index 938feb56..00000000
--- a/externals/grill/flext/tutorial/attr1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=attr1
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/attr2/Makefile.am b/externals/grill/flext/tutorial/attr2/Makefile.am
deleted file mode 100644
index ed29b067..00000000
--- a/externals/grill/flext/tutorial/attr2/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = attr2
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/attr2/attr2.mcp b/externals/grill/flext/tutorial/attr2/attr2.mcp
deleted file mode 100755
index c2713289..00000000
--- a/externals/grill/flext/tutorial/attr2/attr2.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/attr2/attr2.vcproj b/externals/grill/flext/tutorial/attr2/attr2.vcproj
deleted file mode 100644
index 7cce4376..00000000
--- a/externals/grill/flext/tutorial/attr2/attr2.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="attr2"
- SccProjectName="attr2"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/attr2.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/attr2.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/attr2.pdb"
- ImportLibrary=".\msvc/attr2.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/attr2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/attr2.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/attr2.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/attr2.pdb"
- ImportLibrary=".\msvc-debug/attr2.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/attr2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/attr2/main.cpp b/externals/grill/flext/tutorial/attr2/main.cpp
deleted file mode 100644
index fe61f6da..00000000
--- a/externals/grill/flext/tutorial/attr2/main.cpp
+++ /dev/null
@@ -1,195 +0,0 @@
-/*
-flext tutorial - attributes 2
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This is an example of an object doing various float operations.
-
-Methods and attributes are registered at class level (opposed to object level in example "attr1").
-For details, see also example "adv2"
-
-*/
-
-
-// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!)
-// For clarity, this is done here, but you'd better specify it as a compiler definition
-// FLEXT_ATTRIBUTES must be 0 or 1,
-#define FLEXT_ATTRIBUTES 1
-
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
-#error You need at least flext version 0.4.1
-#endif
-
-#include <math.h>
-
-
-class attr2:
- public flext_base
-{
- // compulsory flext header with a class setup function
- FLEXT_HEADER_S(attr2,flext_base,setup)
-
-public:
- // constructor
- attr2();
-
-protected:
- void m_trigger(float f);
-
- // stored argument of operation
- float arg;
-
- // stored result
- float res;
-
- enum operation {
- op_set,op_add,op_sub,op_mul,op_div,op_pow
- } op;
-
- static const t_symbol *sym_set,*sym_add,*sym_sub,*sym_div,*sym_mul,*sym_pow;
-
-private:
-
- static void setup(t_classid);
-
- // callback for method "m_trigger" (with one float argument)
- FLEXT_CALLBACK_F(m_trigger)
-
- // define attribute callbacks for variable "arg" ("ATTRVAR" means GET and SET)
- FLEXT_ATTRVAR_F(arg)
-
- // define attribute callbacks for variable "res" (GET only)
- FLEXT_ATTRGET_F(res)
-
- // methods for getting/setting the operation mode
- void opget(const t_symbol *&s) const;
- void opset(const t_symbol *&s);
-
- // define attribute callbacks for variable "res" (GET only)
- FLEXT_CALLGET_S(opget)
- FLEXT_CALLSET_S(opset)
-};
-
-// instantiate the class
-FLEXT_NEW("attr2",attr2)
-
-
-// instantiate static variables
-const t_symbol
- *attr2::sym_set,
- *attr2::sym_add,*attr2::sym_sub,
- *attr2::sym_div,*attr2::sym_mul,
- *attr2::sym_pow;
-
-void attr2::setup(t_classid c)
-{
- // Upon class creation setup some symbols
- // This is done only upon creation of of the first "attr2" object
- sym_set = MakeSymbol("=");
- sym_add = MakeSymbol("+");
- sym_sub = MakeSymbol("-");
- sym_mul = MakeSymbol("*");
- sym_div = MakeSymbol("/");
- sym_pow = MakeSymbol("**");
-
-
- // setup methods and attributes at class scope
-
- // register method (for floats) "m_trigger" for inlet 0
- FLEXT_CADDMETHOD(c,0,m_trigger);
-
- // register attribute "arg" with the variable "arg"
- FLEXT_CADDATTR_VAR1(c,"arg",arg);
-
- // register attribute "result" with variable "res"
- FLEXT_CADDATTR_GET(c,"result",res);
-
- // register attribute "op" with methods "opget" and "opset"
- FLEXT_CADDATTR_VAR(c,"op",opget,opset);
-}
-
-
-attr2::attr2():
- arg(0),res(0), // initialize argument and result
- op(op_set) // initialize operation
-{
- // define inlets
- AddInAnything(); // first inlet of type anything (index 0)
-
- // define outlets
- AddOutFloat(); // one float outlet (has index 0)
-}
-
-// receive an operand, do the math operation and trigger the output
-void attr2::m_trigger(float f)
-{
- switch(op) {
- case op_set: res = f; break;
- case op_add: res = f+arg; break;
- case op_sub: res = f-arg; break;
- case op_mul: res = f*arg; break;
- case op_div:
- if(arg) res = f/arg;
- else {
- post("%s - argument to division is 0: result set to 0",thisName());
- res = 0;
- }
- break;
- case op_pow: res = (float)pow(f,arg); break;
-#ifdef FLEXT_DEBUG
- default: ERRINTERNAL(); // operation not defined
-#endif
- }
-
- // output value to outlet
- ToOutFloat(0,res); // (0 stands for the outlet index 0)
-}
-
-
-// report the operation mode
-void attr2::opget(const t_symbol *&s) const
-{
-
- switch(op) {
- case op_set: s = sym_set; break;
- case op_add: s = sym_add; break;
- case op_sub: s = sym_sub; break;
- case op_mul: s = sym_mul; break;
- case op_div: s = sym_div; break;
- case op_pow: s = sym_pow; break;
-#ifdef FLEXT_DEBUG
- default: ERRINTERNAL(); // operation not defined
-#endif
- }
-}
-
-// set the operation mode
-void attr2::opset(const t_symbol *&s)
-{
- if(s == sym_set)
- op = op_set;
- else if(s == sym_add)
- op = op_add;
- else if(s == sym_sub)
- op = op_sub;
- else if(s == sym_mul)
- op = op_mul;
- else if(s == sym_div)
- op = op_div;
- else if(s == sym_pow)
- op = op_pow;
- else {
- post("%s - operation is not defined, set to =",thisName());
- op = op_set;
- }
-}
-
diff --git a/externals/grill/flext/tutorial/attr2/package.txt b/externals/grill/flext/tutorial/attr2/package.txt
deleted file mode 100644
index d028f1b4..00000000
--- a/externals/grill/flext/tutorial/attr2/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=attr2
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/attr3/Makefile.am b/externals/grill/flext/tutorial/attr3/Makefile.am
deleted file mode 100644
index eb4befbb..00000000
--- a/externals/grill/flext/tutorial/attr3/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = attr3
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/attr3/attr3.mcp b/externals/grill/flext/tutorial/attr3/attr3.mcp
deleted file mode 100755
index 644c96a6..00000000
--- a/externals/grill/flext/tutorial/attr3/attr3.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/attr3/attr3.vcproj b/externals/grill/flext/tutorial/attr3/attr3.vcproj
deleted file mode 100644
index 0e2a0680..00000000
--- a/externals/grill/flext/tutorial/attr3/attr3.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="attr3"
- SccProjectName="attr3"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/attr3.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/attr3.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/attr3.pdb"
- ImportLibrary=".\msvc/attr3.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/attr3.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/attr3.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/attr3.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/attr3.pdb"
- ImportLibrary=".\msvc-debug/attr3.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/attr3.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/attr3/main.cpp b/externals/grill/flext/tutorial/attr3/main.cpp
deleted file mode 100644
index 8d37f467..00000000
--- a/externals/grill/flext/tutorial/attr3/main.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-flext tutorial - attributes 3
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This is tutorial example "advanced 3" with the usage of attributes.
-
-*/
-
-
-// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!)
-// For clarity, this is done here, but you'd better specify it as a compiler definition
-// FLEXT_ATTRIBUTES must be 0 or 1,
-#define FLEXT_ATTRIBUTES 1
-
-
-// include flext header
-#include <flext.h>
-
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
-#error You need at least flext version 0.4.1
-#endif
-
-
-class attr3:
- public flext_base
-{
- FLEXT_HEADER_S(attr3,flext_base,setup)
-
-public:
- // constructor with no arguments
- // initial values are set by attributes at creation time (see help file)
- attr3():
- // initialize data members
- i_down(0),i_up(0),i_count(0),i_step(1)
- {
- // --- define inlets and outlets ---
- AddInAnything(); // default inlet
- AddInList(); // inlet for bounds
- AddInInt(); // inlet for step size
-
- AddOutInt(); // outlet for integer count
- AddOutBang(); // outlet for bang
- }
-
-protected:
-
- void m_reset() { i_count = i_down; }
-
- void m_set(int argc,t_atom *argv)
- {
- i_count = argc?GetAInt(argv[0]):0;
- }
-
- void m_bang()
- {
- int f = i_count;
- i_count += i_step;
- if(i_down != i_up) {
- if((i_step > 0) && (i_count > i_up)) {
- i_count = i_down;
- ToOutBang(1);
- }
- else if(i_count < i_down) {
- i_count = i_up;
- ToOutBang(1);
- }
- }
- ToOutInt(0,f);
- }
-
- void m_bounds(int f1,int f2)
- {
- i_down = f1 < f2?f1:f2;
- i_up = f1 > f2?f1:f2;
- }
-
- void m_step(int s) { i_step = s; }
-
-
- // setter method of bounds variables
- void ms_bounds(const AtomList &l)
- {
- if(l.Count() == 2 && CanbeInt(l[0]) && CanbeInt(l[1]))
- // if it is a two element integer list use m_bounds method
- m_bounds(GetAInt(l[0]),GetAInt(l[1]));
- else
- // else post a warning
- post("%s - 'bounds' needs two integer parameters",thisName());
- }
-
- // getter method of bounds variables
- void mg_bounds(AtomList &l) const
- {
- l(2); // initialize two element list
- SetInt(l[0],i_down); // set first element
- SetInt(l[1],i_up); // set second element
- }
-
-
- int i_count,i_down,i_up,i_step;
-
-private:
-
- static void setup(t_classid c)
- {
- // --- set up methods (class scope) ---
-
- // register a bang method to the default inlet (0)
- FLEXT_CADDBANG(c,0,m_bang);
-
- // set up tagged methods for the default inlet (0)
- FLEXT_CADDMETHOD_(c,0,"reset",m_reset);
- FLEXT_CADDMETHOD_(c,0,"set",m_set);
-
- // set up methods for inlets 1 and 2
- // no message tag used
- FLEXT_CADDMETHOD(c,1,m_bounds); // variable arg type recognized automatically
- FLEXT_CADDMETHOD(c,2,m_step); // single int arg also recognized automatically
-
- // --- set up attributes (class scope) ---
-
- // these have equally named getters and setters
- // see the wrappers below
- FLEXT_CADDATTR_VAR1(c,"count",i_count);
- FLEXT_CADDATTR_VAR1(c,"step",i_step);
-
- // bounds has differently named getter and setter functions
- // see the wrappers below
- FLEXT_CADDATTR_VAR(c,"bounds",mg_bounds,ms_bounds);
- }
-
- // normal method callbacks for bang and reset
- FLEXT_CALLBACK(m_bang)
- FLEXT_CALLBACK(m_reset)
-
- FLEXT_CALLBACK_V(m_set) // normal method wrapper for m_set
- FLEXT_ATTRVAR_I(i_count) // wrapper functions (get and set) for integer variable i_count
-
- FLEXT_CALLBACK_II(m_bounds) // normal method wrapper for m_bounds
- FLEXT_CALLVAR_V(mg_bounds,ms_bounds) // getter and setter method of bounds
-
- FLEXT_CALLBACK_I(m_step) // normal method wrapper for m_step
- FLEXT_ATTRVAR_I(i_step) // wrapper functions (get and set) for integer variable i_step
-};
-
-
-// instantiate the class (constructor takes no arguments)
-FLEXT_NEW("attr3",attr3)
-
-
diff --git a/externals/grill/flext/tutorial/attr3/package.txt b/externals/grill/flext/tutorial/attr3/package.txt
deleted file mode 100644
index a87c4e1e..00000000
--- a/externals/grill/flext/tutorial/attr3/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=attr3
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/bind1/Makefile.am b/externals/grill/flext/tutorial/bind1/Makefile.am
deleted file mode 100644
index 085de2d2..00000000
--- a/externals/grill/flext/tutorial/bind1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = bind1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/bind1/bind1.mcp b/externals/grill/flext/tutorial/bind1/bind1.mcp
deleted file mode 100755
index 750d275b..00000000
--- a/externals/grill/flext/tutorial/bind1/bind1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/bind1/bind1.vcproj b/externals/grill/flext/tutorial/bind1/bind1.vcproj
deleted file mode 100644
index b0a3a2da..00000000
--- a/externals/grill/flext/tutorial/bind1/bind1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="bind1"
- SccProjectName="max/flext/tutorial/bind1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/bind1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile="msvc-debug/bind1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/bind1.pdb"
- ImportLibrary=".\msvc-debug/bind1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/bind1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/bind1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/bind1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/bind1.pdb"
- ImportLibrary=".\msvc/bind1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/bind1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/bind1/main.cpp b/externals/grill/flext/tutorial/bind1/main.cpp
deleted file mode 100644
index debfa68a..00000000
--- a/externals/grill/flext/tutorial/bind1/main.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-flext tutorial - bind 1
-
-Copyright (c) 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.
-
--------------------------------------------------------------------------
-
-This is an example of a simple object demonstrating method to symbol binding and message forwarding
-*/
-
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-// define the class that stands for a pd/Max object
-
-class bind1:
- // inherit from basic flext class
- public flext_base
-{
- // obligatory flext header (class name,base class name) featuring a setup function
- FLEXT_HEADER_S(bind1,flext_base,setup)
-
-public:
- // constructor with no arguments
- bind1()
- {
- // define inlets:
- // first inlet must always be of type anything (or signal for dsp objects)
- AddInAnything("message inlet"); // add one inlet for any message
- AddInAnything("forwarding inlet"); // add one inlet for any message
-
- AddOutAnything("bound message"); // output received bound message
- }
-
- /*
- no destructor necessary here:
- flext frees all eventually remaining bound symbols when the object is destroyed
- (but NOT the data that can be passed via the FLEXT_BINDMETHOD call!)
- */
-
-protected:
- const t_symbol *bufname;
- buffer *buf;
-
- // bind object
- void m_bind(const t_symbol *s)
- {
- if(!Bind(s)) {
- post("%s (%s) - Binding failed",thisName(),GetString(thisTag()));
- }
- }
-
- // unbind object
- void m_unbind(const t_symbol *s)
- {
- if(!Unbind(s)) {
- post("%s (%s) - Binding failed",thisName(),GetString(thisTag()));
- }
- }
-
- // bind method
- void m_bindmethod(const t_symbol *s)
- {
- if(!FLEXT_BINDMETHOD(s,m_bound,NULL)) {
- post("%s (%s) - Binding failed",thisName(),GetString(thisTag()));
- }
- }
-
- // unbind method
- void m_unbindmethod(const t_symbol *s)
- {
- if(!FLEXT_UNBINDMETHOD(s)) {
- post("%s (%s) - Binding failed",thisName(),GetString(thisTag()));
- }
- }
-
- // forward message
- void m_forward(const t_symbol *s,int argc,const t_atom *argv)
- {
- Forward(s,argc,argv);
- }
-
- // method for symbol-bound messages
- void m_bound(const t_symbol *sym,int argc,const t_atom *argv,void *data)
- {
- ToOutAnything(0,sym,argc,argv);
- }
-
- // method for binding test
- void m_test(float value)
- {
- post("%s - TEST METHOD: value %f",thisName(),value);
- }
-
-private:
- static void setup(t_classid c)
- {
- // register methods
-
- FLEXT_CADDMETHOD_(c,0,"bind",m_bind); // register method "bind" for inlet 0
- FLEXT_CADDMETHOD_(c,0,"unbind",m_unbind); // register method "unbind" for inlet 0
- FLEXT_CADDMETHOD_(c,0,"bindmethod",m_bindmethod); // register method "bindmethod" for inlet 0
- FLEXT_CADDMETHOD_(c,0,"unbindmethod",m_unbindmethod); // register method "unbindmethod" for inlet 0
-
- FLEXT_CADDMETHOD_(c,0,"test",m_test); // register method m_test for inlet 0
-
- FLEXT_CADDMETHOD(c,1,m_forward); // register method m_forward for inlet 1
- }
-
- FLEXT_CALLBACK_S(m_bind) // wrapper for method m_bind (with symbol argument)
- FLEXT_CALLBACK_S(m_unbind) // wrapper for method m_unbind (with symbol argument)
- FLEXT_CALLBACK_S(m_bindmethod) // wrapper for method m_bindmethod (with symbol argument)
- FLEXT_CALLBACK_S(m_unbindmethod) // wrapper for method m_unbindmethod (with symbol argument)
-
- FLEXT_CALLBACK_A(m_forward) // wrapper for method m_forward (with anything argument)
-
- FLEXT_CALLBACK_AX(m_bound) // wrapper for method m_bound (anything+data arguments)
- FLEXT_CALLBACK_F(m_test) // wrapper for method m_test (one float argument)
-};
-
-// instantiate the class
-FLEXT_NEW("bind1",bind1)
-
-
-
diff --git a/externals/grill/flext/tutorial/bind1/package.txt b/externals/grill/flext/tutorial/bind1/package.txt
deleted file mode 100644
index c7e82359..00000000
--- a/externals/grill/flext/tutorial/bind1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=bind1
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/buffer1/Makefile.am b/externals/grill/flext/tutorial/buffer1/Makefile.am
deleted file mode 100644
index 05a9b98a..00000000
--- a/externals/grill/flext/tutorial/buffer1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = buffer1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/buffer1/buffer1.mcp b/externals/grill/flext/tutorial/buffer1/buffer1.mcp
deleted file mode 100755
index 31671b11..00000000
--- a/externals/grill/flext/tutorial/buffer1/buffer1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/buffer1/buffer1.vcproj b/externals/grill/flext/tutorial/buffer1/buffer1.vcproj
deleted file mode 100644
index c583befb..00000000
--- a/externals/grill/flext/tutorial/buffer1/buffer1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="buffer1"
- SccProjectName="max/flext/tutorial/buffer1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/buffer1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile="msvc-debug/buffer1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/buffer1.pdb"
- ImportLibrary=".\msvc-debug/buffer1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/buffer1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/buffer1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/buffer1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/buffer1.pdb"
- ImportLibrary=".\msvc/buffer1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/buffer1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/buffer1/main.cpp b/externals/grill/flext/tutorial/buffer1/main.cpp
deleted file mode 100644
index 7f604c87..00000000
--- a/externals/grill/flext/tutorial/buffer1/main.cpp
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
-flext tutorial - buffer 1
-
-Copyright (c) 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.
-
--------------------------------------------------------------------------
-
-This is an example of a simple object doing some basic buffer operation
-*/
-
-
-// IMPORTANT: enable attribute processing (specify before inclusion of flext headers!)
-// For clarity, this is done here, but you'd better specify it as a compiler definition
-// FLEXT_ATTRIBUTES must be 0 or 1,
-#define FLEXT_ATTRIBUTES 1
-
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-// define the class that stands for a pd/Max object
-
-class buffer1:
- // inherit from basic flext class
- public flext_base
-{
- // obligatory flext header (class name,base class name) featuring a setup function
- FLEXT_HEADER_S(buffer1,flext_base,setup)
-
-public:
- // constructor with a variable argument list
- buffer1(int argc,const t_atom *argv);
-
-protected:
- const t_symbol *bufname;
- buffer *buf;
-
- // set new buffer (or none if name omitted)
- void m_set(int argc,const t_atom *argv);
-
- // get buffer name
- void mg_buf(AtomList &lst) const;
- // set buffer name (simply reuse m_set method)
- inline void ms_buf(const AtomList &lst) { m_set(lst.Count(),lst.Atoms()); }
-
- // get buffer channels
- inline void mg_chns(int &chns) { chns = Check()?buf->Channels():0; }
-
- // get buffer length in frames
- inline void mg_frames(int &frames) { frames = Check()?buf->Frames():0; }
- // set buffer length in frames
- inline void ms_frames(int frames) { if(Check()) buf->Frames(frames); }
-
- // get sample (index channel)
- void m_peek(int argc,const t_atom *argv);
- // set sample (index value channel)
- void m_poke(int argc,const t_atom *argv);
-
- // delete eventual existing buffer
- void Clear();
-
- // check and eventually update buffer reference (return true if valid)
- bool Check();
-
-private:
- static void setup(t_classid c);
-
- FLEXT_CALLBACK_V(m_set) // wrapper for method m_set (with variable argument list)
- FLEXT_CALLBACK_V(m_peek) // wrapper for method m_peek (with variable argument list)
- FLEXT_CALLBACK_V(m_poke) // wrapper for method m_poke (with variable argument list)
-
- FLEXT_CALLVAR_V(mg_buf,ms_buf) // wrappers for attribute getter/setter mg_buffer/ms_buffer (with variable argument list)
- FLEXT_CALLGET_I(mg_chns) // wrappers for attribute getter mg_chns (with integer arguments)
- FLEXT_CALLVAR_I(mg_frames,ms_frames) // wrappers for attribute getter/setter mg_frames/ms_frames (with integer arguments)
-};
-
-// instantiate the class
-FLEXT_NEW_V("buffer1",buffer1)
-
-
-void buffer1::setup(t_classid c)
-{
- // register methods and attributes
-
- FLEXT_CADDMETHOD_(c,0,"set",m_set); // register method "set" for inlet 0
- FLEXT_CADDMETHOD_(c,0,"peek",m_peek); // register method "peek" for inlet 0
- FLEXT_CADDMETHOD_(c,0,"poke",m_poke); // register method "poke" for inlet 0
-
- FLEXT_CADDATTR_VAR(c,"buffer",mg_buf,ms_buf); // register attribute "buffer"
- FLEXT_CADDATTR_GET(c,"channels",mg_chns); // register attribute "channels"
- FLEXT_CADDATTR_VAR(c,"frames",mg_frames,ms_frames); // register attribute "frames"
-}
-
-
-buffer1::buffer1(int argc,const t_atom *argv):
- // clear buffer
- buf(NULL),bufname(NULL)
-{
- // define inlets:
- // first inlet must always be of type anything (or signal for dsp objects)
- AddInAnything("message inlet"); // add one inlet for any message
-
- // peek outlet
- AddOutFloat("peek value outlet");
-
- // set buffer according to creation arguments
- m_set(argc,argv);
-}
-
-
-void buffer1::Clear()
-{
- if(buf) {
- delete buf;
- buf = NULL; bufname = NULL;
- }
-}
-
-bool buffer1::Check()
-{
- if(!buf || !buf->Valid()) {
- post("%s (%s) - no valid buffer defined",thisName(),GetString(thisTag()));
- // return zero length
- return false;
- }
- else {
- if(buf->Update()) {
- // buffer parameters have been updated
- if(buf->Valid()) {
- post("%s (%s) - updated buffer reference",thisName(),GetString(thisTag()));
- return true;
- }
- else {
- post("%s (%s) - buffer has become invalid",thisName(),GetString(thisTag()));
- return false;
- }
- }
- else
- return true;
- }
-}
-
-void buffer1::m_set(int argc,const t_atom *argv)
-{
- if(argc == 0) {
- // argument list is empty
-
- // clear existing buffer
- Clear();
- }
- else if(argc == 1 && IsSymbol(argv[0])) {
- // one symbol given as argument
-
- // clear existing buffer
- Clear();
- // save buffer name
- bufname = GetSymbol(argv[0]);
- // make new reference to system buffer object
- buf = new buffer(bufname);
-
- if(!buf->Ok()) {
- post("%s (%s) - warning: buffer is currently not valid!",thisName(),GetString(thisTag()));
- }
- }
- else {
- // invalid argument list, leave buffer as is but issue error message to console
- post("%s (%s) - message argument must be a symbol (or left blank)",thisName(),GetString(thisTag()));
- }
-}
-
-void buffer1::mg_buf(AtomList &lst) const
-{
- if(buf) {
- // buffer exists: return buffer name
- lst(1); SetSymbol(lst[0],bufname);
- }
- else
- // no buffer: set empty list
- lst(0);
-}
-
-
-void buffer1::m_poke(int argc,const t_atom *argv)
-{
- // if buffer is invalid bail out
- if(!Check()) return;
-
- bool ok = true;
- int ix,chn = 0;
- float val;
-
- if(argc == 3) {
- if(CanbeInt(argv[2]))
- // get channel index
- chn = GetAInt(argv[2]);
- else
- ok = false;
- }
-
- if(ok && (argc == 2 || argc == 3) && CanbeInt(argv[0]) && CanbeFloat(argv[1])) {
- // get frame index
- ix = GetAInt(argv[0]);
- // get value
- val = GetAFloat(argv[1]);
- }
- else
- ok = false;
-
- if(ok) {
- // correct syntax, set sample
- buf->Data()[ix] = val;
- }
- else
- post("%s (%s) - syntax error - use \"poke index value [channel]\"",thisName(),GetString(thisTag()));
-}
-
-void buffer1::m_peek(int argc,const t_atom *argv)
-{
- // if buffer is invalid bail out
- if(!Check()) return;
-
- bool ok = true;
- int ix,chn = 0;
-
- if(argc == 2) {
- if(CanbeInt(argv[1]))
- // get channel index
- chn = GetAInt(argv[1]);
- else
- ok = false;
- }
-
- if(ok && (argc == 1 || argc == 2) && CanbeInt(argv[0])) {
- // get frame index
- ix = GetAInt(argv[0]);
- }
- else
- ok = false;
-
- if(ok)
- // correct syntax, output value
- ToOutFloat(0,buf->Data()[ix]);
- else
- post("%s (%s) - syntax error - use \"peek index [channel]\"",thisName(),GetString(thisTag()));
-}
-
-
-
-
diff --git a/externals/grill/flext/tutorial/buffer1/package.txt b/externals/grill/flext/tutorial/buffer1/package.txt
deleted file mode 100644
index 2e8fceec..00000000
--- a/externals/grill/flext/tutorial/buffer1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=buffer1
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/build.bat b/externals/grill/flext/tutorial/build.bat
deleted file mode 100644
index 431454d4..00000000
--- a/externals/grill/flext/tutorial/build.bat
+++ /dev/null
@@ -1,32 +0,0 @@
-@echo off
-
-if "%1"=="" goto syntax
-if "%2"=="" goto syntax
-
-rem first check configuration
-call ..\build.bat %1 %2 config "PKGINFO=" "NAME=tutorial" "SRCS=."
-if errorlevel 1 goto end
-
-for /D %%i in (*) do (
- pushd %%i
- if exist package.txt (
- call ..\..\build.bat %1 %2
- )
- popd
-)
-
-goto end
-
-rem -----------------------------------------
-:syntax
-
-echo .
-echo SYNTAX: build [system] [compiler]
-echo system ... pd / max
-echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
-echo .
-echo Please make sure that your make program and compiler can be accessed with the
-echo system path and that all relevant environment variables are properly set.
-echo .
-
-:end
diff --git a/externals/grill/flext/tutorial/build.sh b/externals/grill/flext/tutorial/build.sh
deleted file mode 100644
index 6ea19cb1..00000000
--- a/externals/grill/flext/tutorial/build.sh
+++ /dev/null
@@ -1,27 +0,0 @@
-#! /bin/bash
-
-if
- [ -n "$1" -a -n "$2" ]
-then
- # make config first
- if
- bash ../build.sh $1 $2 config "PKGINFO=" "NAME=tutorial" "SRCS=\"\""
- then
- for i in * ; do
- if [ -e $i/package.txt ] ; then
- pushd $i
- bash ../../build.sh $1 $2
- popd
- fi
- done
- fi
-else
- echo
- echo SYNTAX: build.sh [platform] [system] [compiler]
- echo system ..... pd / max
- echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
- echo
- echo Please make sure that your make program and compiler can be accessed with the
- echo system path and that all relevant environment variables are properly set.
- echo
-fi
diff --git a/externals/grill/flext/tutorial/gpl.txt b/externals/grill/flext/tutorial/gpl.txt
deleted file mode 100644
index 5ea29a7d..00000000
--- a/externals/grill/flext/tutorial/gpl.txt
+++ /dev/null
@@ -1,346 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) 19yy <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
-
diff --git a/externals/grill/flext/tutorial/lib1/Makefile.am b/externals/grill/flext/tutorial/lib1/Makefile.am
deleted file mode 100644
index 6083365d..00000000
--- a/externals/grill/flext/tutorial/lib1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = lib1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/lib1/lib1.mcp b/externals/grill/flext/tutorial/lib1/lib1.mcp
deleted file mode 100755
index afa029c5..00000000
--- a/externals/grill/flext/tutorial/lib1/lib1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/lib1/lib1.vcproj b/externals/grill/flext/tutorial/lib1/lib1.vcproj
deleted file mode 100644
index 3c713151..00000000
--- a/externals/grill/flext/tutorial/lib1/lib1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="lib1"
- SccProjectName="lib1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/lib1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/lib1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/lib1.pdb"
- ImportLibrary=".\msvc-debug/lib1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/lib1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/lib1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/lib1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/lib1.pdb"
- ImportLibrary=".\msvc/lib1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/lib1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/lib1/main.cpp b/externals/grill/flext/tutorial/lib1/main.cpp
deleted file mode 100644
index e90c154d..00000000
--- a/externals/grill/flext/tutorial/lib1/main.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-flext tutorial - library 1
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This is an example of an external library containing a few simple objects
-
-It uses attributes, so be sure that you've already worked through attr1 and attr2
-
-*/
-
-// Enable attribute processing
-// For clarity, this is done here, but you'd better specify it as a compiler definition
-#define FLEXT_ATTRIBUTES 1
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-// -------------------------------------------------------------------------------------
-// Define the base class
-// Note that you don't have to instantiate the base class (with FLEXT_NEW or variants)
-
-class libbase:
- // inherit from basic flext class
- public flext_base
-{
- // obligatory flext header (class name,base class name)
- FLEXT_HEADER(libbase,flext_base)
-
-public:
- // constructor
- libbase();
-
-protected:
- void Output(float f) const { ToOutFloat(0,f); }
-
- // method for floats into left inlet
- virtual void m_trigger(float f) = 0;
-
- float arg; // argument variable
-private:
- FLEXT_CALLBACK_F(m_trigger) // callback for method "m_trigger" (with one float argument)
- FLEXT_ATTRVAR_F(arg)
-};
-
-libbase::libbase():
- arg(0) // initialize argument
-{
- // define inlets:
- // first inlet must always by of type anything (or signal for dsp objects)
- AddInAnything(); // add one inlet for any message
-
- // define outlets:
- AddOutFloat(); // add one float outlet (has index 0)
-
- // register methods
- FLEXT_ADDMETHOD(0,m_trigger); // register method (for float messages) "m_float" for inlet 0
-
- // register attributes
- FLEXT_ADDATTR_VAR1("arg",arg); // register attribute "arg"
-}
-
-
-// ------------------------------------------------------------------
-// Define the actual library objects (derived from the base class)
-// These classes have an implementation of the virtual function m_trigger
-
-class libadd:
- public libbase
-{
- // obligatory flext header, inherit from libbase
- FLEXT_HEADER(libadd,libbase)
-public:
- virtual void m_trigger(float f) { Output(f+arg); }
-};
-
-FLEXT_LIB("lib1.+",libadd);
-
-
-
-class libsub:
- public libbase
-{
- // obligatory flext header, inherit from libbase
- FLEXT_HEADER(libsub,libbase)
-public:
- virtual void m_trigger(float f) { Output(f-arg); }
-};
-
-FLEXT_LIB("lib1.-",libsub);
-
-
-
-class libmul:
- public libbase
-{
- // obligatory flext header, inherit from libbase
- FLEXT_HEADER(libmul,libbase)
-public:
- virtual void m_trigger(float f) { Output(f*arg); }
-};
-
-FLEXT_LIB("lib1.*",libmul);
-
-
-// ------------------------------------------------
-// Do the library setup
-
-static void lib_setup()
-{
- post("flext tutorial lib1, (C)2002 Thomas Grill");
- post("lib1: lib1.+ lib1.- lib1.*");
- post("");
-
- // call the objects' setup routines
- FLEXT_SETUP(libadd);
- FLEXT_SETUP(libsub);
- FLEXT_SETUP(libmul);
-}
-
-// setup the library
-FLEXT_LIB_SETUP(lib1,lib_setup)
diff --git a/externals/grill/flext/tutorial/lib1/package.txt b/externals/grill/flext/tutorial/lib1/package.txt
deleted file mode 100644
index 1a60aa12..00000000
--- a/externals/grill/flext/tutorial/lib1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=lib1
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/license.txt b/externals/grill/flext/tutorial/license.txt
deleted file mode 100644
index d48095bd..00000000
--- a/externals/grill/flext/tutorial/license.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (C) 2001-2006 Thomas Grill
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-In the official flext distribution, the GNU General Public License is
-in the file gpl.txt
-
----------------------------------------------------------
-
- OTHER COPYRIGHT NOTICES
-
----------------------------------------------------------
-This package uses a lot of code from GEM by Mark Danks
-
-See the license text below:
-
---- GEM --------------------------------------
-GEM - Graphics Environment for Multimedia
-Copyright (C) 1997-2000 Mark Danks
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-In the official GEM distribution, the GNU General Public License is
-in the file GnuGPL.LICENSE
-
diff --git a/externals/grill/flext/tutorial/maxmsp/Makefile.am b/externals/grill/flext/tutorial/maxmsp/Makefile.am
deleted file mode 100644
index 63406221..00000000
--- a/externals/grill/flext/tutorial/maxmsp/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-EXTRA_DIST = *.pat \ No newline at end of file
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-adv1.pat b/externals/grill/flext/tutorial/maxmsp/ex-adv1.pat
deleted file mode 100755
index f086ab57..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-adv1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-adv2.pat b/externals/grill/flext/tutorial/maxmsp/ex-adv2.pat
deleted file mode 100755
index b6aa0065..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-adv2.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-adv3.pat b/externals/grill/flext/tutorial/maxmsp/ex-adv3.pat
deleted file mode 100755
index 1f041257..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-adv3.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-attr1.pat b/externals/grill/flext/tutorial/maxmsp/ex-attr1.pat
deleted file mode 100755
index 5dc46f10..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-attr1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-attr2.pat b/externals/grill/flext/tutorial/maxmsp/ex-attr2.pat
deleted file mode 100755
index aab02c92..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-attr2.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-attr3.pat b/externals/grill/flext/tutorial/maxmsp/ex-attr3.pat
deleted file mode 100755
index 7ef7292f..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-attr3.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-bind1.pat b/externals/grill/flext/tutorial/maxmsp/ex-bind1.pat
deleted file mode 100755
index 96421f2d..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-bind1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-buffer1.pat b/externals/grill/flext/tutorial/maxmsp/ex-buffer1.pat
deleted file mode 100755
index 979774ac..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-buffer1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-lib1.pat b/externals/grill/flext/tutorial/maxmsp/ex-lib1.pat
deleted file mode 100755
index 26f65f2b..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-lib1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-signal1.pat b/externals/grill/flext/tutorial/maxmsp/ex-signal1.pat
deleted file mode 100755
index aa50e2e3..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-signal1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-signal2.pat b/externals/grill/flext/tutorial/maxmsp/ex-signal2.pat
deleted file mode 100755
index 21c12f88..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-signal2.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-simple1.pat b/externals/grill/flext/tutorial/maxmsp/ex-simple1.pat
deleted file mode 100755
index 133eefe9..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-simple1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-simple2.pat b/externals/grill/flext/tutorial/maxmsp/ex-simple2.pat
deleted file mode 100755
index acc74744..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-simple2.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-simple3.pat b/externals/grill/flext/tutorial/maxmsp/ex-simple3.pat
deleted file mode 100755
index 7dda678c..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-simple3.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-thread1.pat b/externals/grill/flext/tutorial/maxmsp/ex-thread1.pat
deleted file mode 100755
index cd204b4a..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-thread1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-thread2.pat b/externals/grill/flext/tutorial/maxmsp/ex-thread2.pat
deleted file mode 100755
index d68690c4..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-thread2.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/maxmsp/ex-timer1.pat b/externals/grill/flext/tutorial/maxmsp/ex-timer1.pat
deleted file mode 100755
index d3828986..00000000
--- a/externals/grill/flext/tutorial/maxmsp/ex-timer1.pat
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/pd/Makefile.am b/externals/grill/flext/tutorial/pd/Makefile.am
deleted file mode 100644
index d2f5ad4d..00000000
--- a/externals/grill/flext/tutorial/pd/Makefile.am
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-EXTRA_DIST = *.pd \ No newline at end of file
diff --git a/externals/grill/flext/tutorial/pd/ex-adv1.pd b/externals/grill/flext/tutorial/pd/ex-adv1.pd
deleted file mode 100644
index 8dd10bc1..00000000
--- a/externals/grill/flext/tutorial/pd/ex-adv1.pd
+++ /dev/null
@@ -1,23 +0,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://grrrr.org;
-#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-2006 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
deleted file mode 100644
index b4fa1ce4..00000000
--- a/externals/grill/flext/tutorial/pd/ex-adv2.pd
+++ /dev/null
@@ -1,23 +0,0 @@
-#N canvas 329 97 595 356 12;
-#X msg 26 97 help;
-#X msg 123 146 born;
-#X msg 172 147 to;
-#X msg 214 149 hula;
-#X msg 228 192 hula 1;
-#X text 261 150 tag without argument;
-#X text 297 190 tag and argument;
-#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 146 27 http://grrrr.org;
-#X obj 148 293 adv2;
-#X text 21 49 this is identical to the simple3 example;
-#X text 145 9 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X text 345 231 symbol message;
-#X msg 228 230 symbol yeah;
-#X connect 0 0 10 0;
-#X connect 1 0 10 0;
-#X connect 2 0 10 0;
-#X connect 3 0 10 0;
-#X connect 4 0 10 0;
-#X connect 14 0 10 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-adv3.pd b/externals/grill/flext/tutorial/pd/ex-adv3.pd
deleted file mode 100644
index 0fdfc735..00000000
--- a/externals/grill/flext/tutorial/pd/ex-adv3.pd
+++ /dev/null
@@ -1,40 +0,0 @@
-#N canvas 175 139 603 361 12;
-#X obj 16 7 cnv 15 550 40 empty empty adv3 10 22 0 24 -260818 -1 0
-;
-#X text 174 28 http://grrrr.org;
-#X obj 229 266 adv3 2 5 1;
-#X obj 305 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 223 300 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 2 256;
-#X msg 269 130 1 10;
-#X msg 389 128 1;
-#X msg 429 128 -1;
-#X msg 469 128 2;
-#X obj 88 129 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
--1;
-#X msg 317 130 7 2;
-#X text 325 300 end has been reached;
-#X obj 157 127 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 25 256;
-#X msg 158 150 set \$1;
-#X text 72 108 trigger;
-#X text 147 108 set counter;
-#X text 264 109 set bounds;
-#X text 390 106 set step size;
-#X msg 80 196 reset;
-#X text 83 176 reset;
-#X text 174 8 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X text 21 49 this is a port of IOhannes Zmoelnigs "counter" example
-;
-#X connect 2 0 4 0;
-#X connect 2 1 3 0;
-#X connect 5 0 2 1;
-#X connect 6 0 2 2;
-#X connect 7 0 2 2;
-#X connect 8 0 2 2;
-#X connect 9 0 2 0;
-#X connect 10 0 2 1;
-#X connect 12 0 13 0;
-#X connect 13 0 2 0;
-#X connect 18 0 2 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-attr1.pd b/externals/grill/flext/tutorial/pd/ex-attr1.pd
deleted file mode 100644
index 27ab0bb6..00000000
--- a/externals/grill/flext/tutorial/pd/ex-attr1.pd
+++ /dev/null
@@ -1,31 +0,0 @@
-#N canvas 70 150 694 465 12;
-#X obj 59 296 attr1 @arg 3;
-#X text 114 273 attribute as a creation arg;
-#X msg 160 98 getattributes;
-#X text 167 319 there is one additional outlet;
-#X text 167 334 for all attribute-enabled objects;
-#X obj 150 367 print;
-#X msg 160 141 getarg;
-#X text 12 92 trigger output;
-#X msg 160 203 arg \$1;
-#X text 230 191 set attribute "arg";
-#X text 295 98 query object attributes (watch console);
-#X text 228 142 query attribute "arg" (watch console);
-#X obj 16 8 cnv 15 550 40 empty empty attr1 10 22 0 24 -260818 -1 0
-;
-#X text 175 28 http://grrrr.org;
-#X text 26 388 result;
-#X obj 23 114 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 29 370 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12
--228992 -1 -1 0 256;
-#X obj 161 181 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X text 175 10 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 0 0 16 0;
-#X connect 0 1 5 0;
-#X connect 2 0 0 0;
-#X connect 6 0 0 0;
-#X connect 8 0 0 0;
-#X connect 15 0 0 0;
-#X connect 17 0 8 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-attr2.pd b/externals/grill/flext/tutorial/pd/ex-attr2.pd
deleted file mode 100644
index 4e377725..00000000
--- a/externals/grill/flext/tutorial/pd/ex-attr2.pd
+++ /dev/null
@@ -1,47 +0,0 @@
-#N canvas 364 29 620 426 12;
-#X msg 22 88 getattributes;
-#X text 264 326 there is one additional outlet;
-#X text 264 341 for all attribute-enabled objects;
-#X obj 246 365 print;
-#X msg 22 124 getarg;
-#X text 14 218 trigger output;
-#X msg 270 263 arg \$1;
-#X text 159 87 query object attributes (watch console);
-#X msg 95 124 getop;
-#X obj 158 306 attr2 @op +;
-#X text 251 124 query attributes;
-#X text 332 179 set attributes;
-#X msg 168 169 op +;
-#X msg 167 194 op -;
-#X msg 218 169 op *;
-#X msg 268 193 op **;
-#X msg 268 169 op =;
-#X msg 218 193 op /;
-#X msg 157 124 getresult;
-#X obj 16 8 cnv 15 550 40 empty empty attr2 10 22 0 24 -260818 -1 0
-;
-#X text 173 28 http://grrrr.org;
-#X text 90 367 result;
-#X obj 22 240 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 270 242 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 150 367 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12
--228992 -1 -1 0 256;
-#X text 171 10 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X text 327 243 set argument;
-#X connect 0 0 9 0;
-#X connect 4 0 9 0;
-#X connect 6 0 9 0;
-#X connect 8 0 9 0;
-#X connect 9 0 24 0;
-#X connect 9 1 3 0;
-#X connect 12 0 9 0;
-#X connect 13 0 9 0;
-#X connect 14 0 9 0;
-#X connect 15 0 9 0;
-#X connect 16 0 9 0;
-#X connect 17 0 9 0;
-#X connect 18 0 9 0;
-#X connect 22 0 9 0;
-#X connect 23 0 6 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-attr3.pd b/externals/grill/flext/tutorial/pd/ex-attr3.pd
deleted file mode 100644
index b2832c18..00000000
--- a/externals/grill/flext/tutorial/pd/ex-attr3.pd
+++ /dev/null
@@ -1,60 +0,0 @@
-#N canvas 175 139 607 457 12;
-#X obj 16 7 cnv 15 550 40 empty empty attr3 10 22 0 24 -260818 -1 0
-;
-#X text 174 28 http://grrrr.org;
-#X obj 293 364 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 196 361 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12
--228992 -1 -1 2 256;
-#X msg 296 126 1 10;
-#X msg 419 127 1;
-#X msg 459 127 -1;
-#X msg 498 127 2;
-#X obj 36 128 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
--1;
-#X msg 344 126 7 2;
-#X obj 173 119 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12
--228992 -1 -1 20 256;
-#X msg 174 142 set \$1;
-#X text 20 107 trigger;
-#X text 163 100 set counter;
-#X text 291 105 set bounds;
-#X text 420 105 set step size;
-#X msg 97 135 reset;
-#X text 100 115 reset;
-#X text 21 64 with attributes;
-#X obj 197 327 attr3 @bounds 2 5 @step 1;
-#X msg 32 195 getattributes;
-#X obj 392 363 print;
-#X text 385 381 attributes;
-#X msg 32 237 getcount;
-#X msg 388 232 getstep;
-#X text 22 178 list all attributes;
-#X msg 32 266 count 3;
-#X text 117 238 get count;
-#X text 112 266 set count;
-#X msg 387 259 step 3;
-#X text 21 49 this is a port of IOhannes Zmoelnigs "counter" example
-;
-#X msg 258 234 getbounds;
-#X msg 257 261 bounds 5 15;
-#X text 174 8 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 4 0 19 1;
-#X connect 5 0 19 2;
-#X connect 6 0 19 2;
-#X connect 7 0 19 2;
-#X connect 8 0 19 0;
-#X connect 9 0 19 1;
-#X connect 10 0 11 0;
-#X connect 11 0 19 0;
-#X connect 16 0 19 0;
-#X connect 19 0 3 0;
-#X connect 19 1 2 0;
-#X connect 19 2 21 0;
-#X connect 20 0 19 0;
-#X connect 23 0 19 0;
-#X connect 24 0 19 0;
-#X connect 26 0 19 0;
-#X connect 29 0 19 0;
-#X connect 31 0 19 0;
-#X connect 32 0 19 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-bind1.pd b/externals/grill/flext/tutorial/pd/ex-bind1.pd
deleted file mode 100644
index 355b97e8..00000000
--- a/externals/grill/flext/tutorial/pd/ex-bind1.pd
+++ /dev/null
@@ -1,55 +0,0 @@
-#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://grrrr.org;
-#X text 175 8 flext tutorial \, (C)2002-2006 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
deleted file mode 100644
index 09d0655a..00000000
--- a/externals/grill/flext/tutorial/pd/ex-buffer1.pd
+++ /dev/null
@@ -1,121 +0,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://grrrr.org;
-#X text 178 -12 flext tutorial \, (C)2002-2006 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;
diff --git a/externals/grill/flext/tutorial/pd/ex-lib1.pd b/externals/grill/flext/tutorial/pd/ex-lib1.pd
deleted file mode 100644
index 1f1390b2..00000000
--- a/externals/grill/flext/tutorial/pd/ex-lib1.pd
+++ /dev/null
@@ -1,51 +0,0 @@
-#N canvas 120 205 580 295 12;
-#X msg 102 172 arg \$1;
-#X obj 30 208 lib1.+ @arg 3;
-#X text 101 124 set arg;
-#X msg 285 171 arg \$1;
-#X text 284 125 set arg;
-#X msg 472 174 arg \$1;
-#X text 471 128 set arg;
-#X obj 392 212 lib1.* @arg 2;
-#X obj 210 210 lib1.- @arg 7;
-#X text 25 123 trigger;
-#X text 207 127 trigger;
-#X text 391 128 trigger;
-#X obj 16 8 cnv 15 550 40 empty empty lib1 10 22 0 24 -260818 -1 0
-;
-#X text 173 28 http://grrrr.org;
-#X obj 30 147 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 101 146 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 212 147 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 284 149 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 394 149 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 472 152 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X obj 30 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12
--228992 -1 -1 0 256;
-#X obj 210 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12
--228992 -1 -1 0 256;
-#X obj 392 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12
--228992 -1 -1 0 256;
-#X text 25 56 In order to use the objects the library must have been
-;
-#X text 26 74 loaded at PD startup (with the "-lib lib1" argument)
-;
-#X text 173 8 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 0 0 1 0;
-#X connect 1 0 20 0;
-#X connect 3 0 8 0;
-#X connect 5 0 7 0;
-#X connect 7 0 22 0;
-#X connect 8 0 21 0;
-#X connect 14 0 1 0;
-#X connect 15 0 0 0;
-#X connect 16 0 8 0;
-#X connect 17 0 3 0;
-#X connect 18 0 7 0;
-#X connect 19 0 5 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-signal1.pd b/externals/grill/flext/tutorial/pd/ex-signal1.pd
deleted file mode 100644
index 45b9a94c..00000000
--- a/externals/grill/flext/tutorial/pd/ex-signal1.pd
+++ /dev/null
@@ -1,27 +0,0 @@
-#N canvas 335 232 586 291 12;
-#X obj 250 121 hsl 128 15 0 1 0 0 empty empty empty 20 8 0 8 -261681
--1 -1 0 1;
-#X obj 28 121 osc~ 440;
-#X obj 87 248 dac~;
-#X obj 123 121 osc~ 880;
-#X obj 97 175 signal1~;
-#X obj 16 8 cnv 15 550 40 empty empty signal1 10 22 0 24 -260818 -1
-0;
-#X text 175 28 http://grrrr.org;
-#X text 342 138 control the mixing;
-#X text 166 210 adjust the volume;
-#X obj 97 209 *~ 0.5;
-#X text 25 102 source 1;
-#X text 125 101 source 2;
-#X obj 248 143 nbx 5 16 0 1 0 0 empty empty empty 0 -6 0 12 -261681
--1 -1 0 256;
-#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X text 21 51 this is a port of IOhannes Zmoelnigs pan~ example;
-#X text 21 66 done by Frank Barknecht;
-#X connect 0 0 12 0;
-#X connect 1 0 4 0;
-#X connect 3 0 4 1;
-#X connect 4 0 9 0;
-#X connect 9 0 2 0;
-#X connect 9 0 2 1;
-#X connect 12 0 4 2;
diff --git a/externals/grill/flext/tutorial/pd/ex-signal2.pd b/externals/grill/flext/tutorial/pd/ex-signal2.pd
deleted file mode 100644
index 750828a0..00000000
--- a/externals/grill/flext/tutorial/pd/ex-signal2.pd
+++ /dev/null
@@ -1,25 +0,0 @@
-#N canvas 41 125 585 250 12;
-#X obj 109 126 signal2~;
-#X obj 104 81 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1
--1;
-#X text 136 87 bang to get audio system parameters;
-#X text 261 205 channels in and out;
-#X obj 16 8 cnv 15 550 40 empty empty signal2 10 22 0 24 -260818 -1
-0;
-#X text 175 28 http://grrrr.org;
-#X obj 66 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 158 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 261 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 353 184 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X text 40 204 samplerate;
-#X text 156 204 blocksize;
-#X text 173 10 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 0 0 6 0;
-#X connect 0 1 7 0;
-#X connect 0 2 8 0;
-#X connect 0 3 9 0;
-#X connect 1 0 0 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-simple1.pd b/externals/grill/flext/tutorial/pd/ex-simple1.pd
deleted file mode 100644
index 271afd0b..00000000
--- a/externals/grill/flext/tutorial/pd/ex-simple1.pd
+++ /dev/null
@@ -1,12 +0,0 @@
-#N canvas 85 178 594 230 12;
-#X obj 40 129 simple1;
-#X obj 16 8 cnv 15 550 40 empty empty simple1 10 22 0 24 -260818 -1
-0;
-#X text 167 30 http://grrrr.org;
-#X obj 41 94 nbx 4 16 -999 999 0 0 empty empty input 0 -6 0 12 -261681
--1 -1 35 256;
-#X obj 39 171 nbx 7 16 -1e+37 1e+37 0 0 empty empty inverse 0 -6 0
-12 -228992 -1 -1 0.0285714 256;
-#X text 167 10 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 0 0 4 0;
-#X connect 3 0 0 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-simple2.pd b/externals/grill/flext/tutorial/pd/ex-simple2.pd
deleted file mode 100644
index c379cd5b..00000000
--- a/externals/grill/flext/tutorial/pd/ex-simple2.pd
+++ /dev/null
@@ -1,16 +0,0 @@
-#N canvas 72 265 599 317 12;
-#X obj 42 196 simple2 3;
-#X text 121 177 default argument;
-#X obj 16 8 cnv 15 550 40 empty empty simple2 10 22 0 24 -260818 -1
-0;
-#X text 167 29 http://grrrr.org;
-#X obj 41 110 nbx 4 16 -999 999 0 0 empty empty triggering 0 -6 0 12
--261681 -1 -1 0 256;
-#X obj 148 110 nbx 4 16 -999 999 0 0 empty empty non-triggering 0 -6
-0 12 -261681 -1 -1 0 256;
-#X obj 42 239 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12
--228992 -1 -1 0 256;
-#X text 167 11 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 0 0 6 0;
-#X connect 4 0 0 0;
-#X connect 5 0 0 1;
diff --git a/externals/grill/flext/tutorial/pd/ex-simple3.pd b/externals/grill/flext/tutorial/pd/ex-simple3.pd
deleted file mode 100644
index fbdafca5..00000000
--- a/externals/grill/flext/tutorial/pd/ex-simple3.pd
+++ /dev/null
@@ -1,22 +0,0 @@
-#N canvas 329 97 593 354 12;
-#X msg 22 87 help;
-#X msg 119 136 born;
-#X msg 168 137 to;
-#X msg 210 139 hula;
-#X msg 224 182 hula 1;
-#X obj 144 283 simple3;
-#X text 257 140 tag without argument;
-#X text 293 180 tag and argument;
-#X text 68 87 print a help message;
-#X obj 16 8 cnv 15 550 40 empty empty simple3 10 22 0 24 -260818 -1
-0;
-#X text 174 28 http://grrrr.org;
-#X text 174 10 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X msg 224 220 symbol yeah;
-#X text 350 219 symbol message;
-#X connect 0 0 5 0;
-#X connect 1 0 5 0;
-#X connect 2 0 5 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X connect 12 0 5 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-sndobj1.pd b/externals/grill/flext/tutorial/pd/ex-sndobj1.pd
deleted file mode 100644
index 01ee937c..00000000
--- a/externals/grill/flext/tutorial/pd/ex-sndobj1.pd
+++ /dev/null
@@ -1,34 +0,0 @@
-#N canvas 405 36 584 392 12;
-#X obj 56 348 dac~;
-#X obj 15 8 cnv 15 550 40 empty empty sndobj1 10 22 0 24 -260818 -1
-0;
-#X text 175 28 http://grrrr.org;
-#X text 170 285 adjust the volume;
-#X text 35 97 source;
-#X obj 171 268 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 0 1;
-#X msg 160 148 shL \$1;
-#X msg 218 148 shR \$1;
-#X obj 244 84 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 0 1;
-#X obj 244 104 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 0 1;
-#X text 149 82 pitch left;
-#X text 149 102 pitch right;
-#X obj 31 119 osc~ 442;
-#X obj 32 226 sndobj1~ @shL 0.7 @shR 1.2;
-#X obj 32 304 *~ 0.3;
-#X obj 91 304 *~ 0.3;
-#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 5 0 14 1;
-#X connect 5 0 15 1;
-#X connect 6 0 13 0;
-#X connect 7 0 13 0;
-#X connect 8 0 6 0;
-#X connect 9 0 7 0;
-#X connect 12 0 13 0;
-#X connect 12 0 13 1;
-#X connect 13 0 14 0;
-#X connect 13 1 15 0;
-#X connect 14 0 0 0;
-#X connect 15 0 0 1;
diff --git a/externals/grill/flext/tutorial/pd/ex-stk1.pd b/externals/grill/flext/tutorial/pd/ex-stk1.pd
deleted file mode 100644
index b61b9833..00000000
--- a/externals/grill/flext/tutorial/pd/ex-stk1.pd
+++ /dev/null
@@ -1,15 +0,0 @@
-#N canvas 237 9 577 257 12;
-#X obj 66 186 dac~;
-#X obj 15 8 cnv 15 550 40 empty empty stk1 10 22 0 24 -260818 -1 0
-;
-#X text 175 28 http://grrrr.org;
-#X text 184 118 adjust the volume;
-#X obj 185 101 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 0 1;
-#X obj 76 132 *~ 0.3;
-#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X obj 76 86 stk1~;
-#X connect 4 0 5 1;
-#X connect 5 0 0 0;
-#X connect 5 0 0 1;
-#X connect 7 0 5 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-stk2.pd b/externals/grill/flext/tutorial/pd/ex-stk2.pd
deleted file mode 100644
index 6ce56330..00000000
--- a/externals/grill/flext/tutorial/pd/ex-stk2.pd
+++ /dev/null
@@ -1,32 +0,0 @@
-#N canvas 245 28 594 364 12;
-#X obj 68 318 dac~;
-#X obj 15 8 cnv 15 550 40 empty empty stk2 10 22 0 24 -260818 -1 0
-;
-#X text 175 28 http://grrrr.org;
-#X text 193 229 adjust the volume;
-#X obj 194 212 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 0 1;
-#X obj 68 263 *~ 0.3;
-#X text 175 8 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X obj 68 215 stk2~;
-#X obj 125 263 *~ 0.3;
-#X msg 183 139 shL \$1;
-#X msg 241 139 shR \$1;
-#X obj 267 77 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 0 1;
-#X obj 267 95 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 0 1;
-#X text 172 73 pitch left;
-#X text 172 93 pitch right;
-#X obj 68 78 osc~ 442;
-#X connect 4 0 5 1;
-#X connect 4 0 8 1;
-#X connect 5 0 0 0;
-#X connect 7 0 5 0;
-#X connect 7 1 8 0;
-#X connect 8 0 0 1;
-#X connect 9 0 7 0;
-#X connect 10 0 7 0;
-#X connect 11 0 9 0;
-#X connect 12 0 10 0;
-#X connect 15 0 7 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-thread1.pd b/externals/grill/flext/tutorial/pd/ex-thread1.pd
deleted file mode 100644
index 38707f44..00000000
--- a/externals/grill/flext/tutorial/pd/ex-thread1.pd
+++ /dev/null
@@ -1,43 +0,0 @@
-#N canvas 105 266 608 311 12;
-#X obj 39 91 bng 25 250 50 0 empty empty start 0 -6 0 8 -261681 -1
--1;
-#X obj 130 231 thread1;
-#X obj 228 233 thread1;
-#X obj 324 231 thread1;
-#X obj 422 232 thread1;
-#X obj 131 185 delay 200;
-#X obj 228 185 delay 200;
-#X obj 325 185 delay 200;
-#X obj 421 185 delay 200;
-#X text 78 85 click to start;
-#X text 126 103 (if you click twice \, the same thread is started a
-second time);
-#X obj 16 8 cnv 15 550 40 empty empty thread1 10 22 0 24 -260818 -1
-0;
-#X text 170 29 http://grrrr.org;
-#X obj 131 262 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 229 263 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 323 261 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 423 261 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 39 229 thread1;
-#X obj 39 262 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X text 170 11 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 0 0 5 0;
-#X connect 0 0 17 0;
-#X connect 1 0 13 0;
-#X connect 2 0 14 0;
-#X connect 3 0 15 0;
-#X connect 4 0 16 0;
-#X connect 5 0 1 0;
-#X connect 5 0 6 0;
-#X connect 6 0 2 0;
-#X connect 6 0 7 0;
-#X connect 7 0 3 0;
-#X connect 7 0 8 0;
-#X connect 8 0 4 0;
-#X connect 17 0 18 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-thread2.pd b/externals/grill/flext/tutorial/pd/ex-thread2.pd
deleted file mode 100644
index 4d72392f..00000000
--- a/externals/grill/flext/tutorial/pd/ex-thread2.pd
+++ /dev/null
@@ -1,47 +0,0 @@
-#N canvas 116 192 593 338 12;
-#X msg 84 188 stop;
-#X msg 255 192 stop;
-#X obj 199 99 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1
--1;
-#X obj 291 99 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1
--1;
-#X text 191 78 start;
-#X text 283 77 stop;
-#X msg 39 188 0;
-#X msg 210 192 0;
-#X msg 423 190 stop;
-#X msg 378 190 0;
-#X obj 404 229 thread2 50;
-#X obj 232 229 thread2 15;
-#X obj 66 228 thread2 3;
-#X msg 133 188 text;
-#X msg 302 192 text;
-#X msg 470 190 text;
-#X obj 16 8 cnv 15 550 40 empty empty thread2 10 22 0 24 -260818 -1
-0;
-#X text 173 29 http://grrrr.org;
-#X obj 65 264 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 231 265 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 403 267 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X text 173 11 flext tutorial \, (C)2002-2006 Thomas Grill;
-#X connect 0 0 12 0;
-#X connect 1 0 11 0;
-#X connect 2 0 6 0;
-#X connect 2 0 7 0;
-#X connect 2 0 9 0;
-#X connect 3 0 0 0;
-#X connect 3 0 1 0;
-#X connect 3 0 8 0;
-#X connect 6 0 12 0;
-#X connect 7 0 11 0;
-#X connect 8 0 10 0;
-#X connect 9 0 10 0;
-#X connect 10 0 20 0;
-#X connect 11 0 19 0;
-#X connect 12 0 18 0;
-#X connect 13 0 12 0;
-#X connect 14 0 11 0;
-#X connect 15 0 10 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-timer1.pd b/externals/grill/flext/tutorial/pd/ex-timer1.pd
deleted file mode 100644
index 303d8f26..00000000
--- a/externals/grill/flext/tutorial/pd/ex-timer1.pd
+++ /dev/null
@@ -1,62 +0,0 @@
-#N canvas 110 259 825 368 12;
-#X obj 16 8 cnv 15 550 40 empty empty timer1 10 22 0 24 -260818 -1
-0;
-#X text 167 30 http://grrrr.org;
-#X text 167 10 flext tutorial \, (C)2003-2006 Thomas Grill;
-#X obj 241 241 timer1;
-#X obj 241 267 print;
-#X msg 105 104 resetA;
-#X msg 176 104 resetB;
-#X msg 260 147 oneshotA \$1;
-#X obj 259 124 f 100;
-#X obj 303 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 260 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X obj 382 124 f 100;
-#X obj 426 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 383 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X obj 515 124 f 100;
-#X obj 559 107 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 516 105 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X obj 652 123 f 100;
-#X obj 696 106 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 10
--262144 -1 -1 0 256;
-#X obj 653 104 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X msg 383 147 oneshotB \$1;
-#X msg 516 147 periodicA \$1;
-#X msg 653 146 periodicB \$1;
-#X text 119 82 reset timer;
-#X text 275 81 trigger single event;
-#X text 523 80 trigger periodic event;
-#X msg 30 161 gettime;
-#X msg 30 191 getostime;
-#X text 106 162 get time;
-#X text 127 191 get OS time;
-#X connect 3 0 4 0;
-#X connect 3 1 4 0;
-#X connect 5 0 3 0;
-#X connect 6 0 3 0;
-#X connect 7 0 3 0;
-#X connect 8 0 7 0;
-#X connect 9 0 8 1;
-#X connect 10 0 8 0;
-#X connect 11 0 20 0;
-#X connect 12 0 11 1;
-#X connect 13 0 11 0;
-#X connect 14 0 21 0;
-#X connect 15 0 14 1;
-#X connect 16 0 14 0;
-#X connect 17 0 22 0;
-#X connect 18 0 17 1;
-#X connect 19 0 17 0;
-#X connect 20 0 3 0;
-#X connect 21 0 3 0;
-#X connect 22 0 3 0;
-#X connect 26 0 3 0;
-#X connect 27 0 3 0;
diff --git a/externals/grill/flext/tutorial/readme.txt b/externals/grill/flext/tutorial/readme.txt
deleted file mode 100644
index beecb20e..00000000
--- a/externals/grill/flext/tutorial/readme.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-flext - C++ layer for Max/MSP and pd (pure data) externals
-tutorial examples
-
-Copyright (c) 2001-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
-----------------------------------------------------------------------------
-
-These are a few examples to demonstrate some flext features.
-Contribution of examples to the package is higly appreciated!
-
-----------------------------------------------------------------------------
-
-The recommended order to go through the tutorial examples is the following:
-
-1) simple*
-2) adv*
-3) attr*
-4) timer*
-5) signal*
-6) lib*
-7) thread*
-
-and, if needed
-8) sndobj* and/or stk*
-
-if you choose to compile with SndObj support you will need the respective library
-download from: http://www.may.ie/academic/music/musictec/SndObj/main.html
-
-if you choose to compile with STK support you will need the respective package and build a library
-download from: http://ccrma-www.stanford.edu/software/stk/
-Under linux you can create such a library from the STK directory with:
-"g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o"
-
-
-----------------------------------------------------------------------------
-
-The package should at least compile (and is tested) with the following compilers:
-
-pd - Windows:
--------------
-o Microsoft Visual C++ 6: edit "config-pd-msvc.txt" & run "build-pd-msvc.bat"
-
-o Borland C++ 5.5 (free): edit "config-pd-bcc.txt" & run "build-pd-bcc.bat"
- (no threading support for that compiler!)
-
-o Cygwin: edit "config-pd-cygwin.txt" & run "sh build-pd-cygwin.sh"
- (no threading support for that compiler!)
-
-pd - linux:
------------
-o GCC: edit "config-pd-linux.txt" & run "sh build-pd-linux.sh"
-
-pd - MacOSX:
------------
-o GCC: edit "config-pd-darwin.txt" & run "sh build-pd-darwin.sh"
-
-
-Max/MSP - MacOS 9:
-------------------
-o Metrowerks CodeWarrior V6: edit & use the several ".cw" project files
-
-You must have the following "Source Trees" defined:
-"flext" - Pointing to the flext main directory
-"Cycling74" - Pointing to the Cycling 74 SDK
-
-Max/MSP - MacOSX:
-------------------
-o Metrowerks CodeWarrior V6: edit & use the several ".cw" project files
-
-You must have the following "Source Trees" defined:
-"OS X Volume" - Pointing to your OSX boot drive
-"flext" - Pointing to the flext main directory
-"Cycling74 OSX" - Pointing to the Cycling 74 SDK for xmax
-"MP SDK" - Pointing to the Multiprocessing SDK (for threading support)
-
diff --git a/externals/grill/flext/tutorial/signal1/Makefile.am b/externals/grill/flext/tutorial/signal1/Makefile.am
deleted file mode 100644
index 857be41e..00000000
--- a/externals/grill/flext/tutorial/signal1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = signal1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/signal1/main.cpp b/externals/grill/flext/tutorial/signal1/main.cpp
deleted file mode 100644
index 3714e1f6..00000000
--- a/externals/grill/flext/tutorial/signal1/main.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-// 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/
-
-#include <flext.h>
-
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
-#error You need at least flext version 0.4.1
-#endif
-
-
-// A flext dsp external ("tilde object") inherits from the class flext_dsp
-class signal1:
- public flext_dsp
-{
- // Each external that is written in C++ needs to use #defines
- // from flbase.h
- //
- // The define
- //
- // FLEXT_HEADER(NEW_CLASS, PARENT_CLASS)
- //
- // should be somewhere in your dsp file.
- // A good place is here:
-
- FLEXT_HEADER(signal1, flext_dsp)
-
- public:
- signal1():
- f_pan(0) // initialize f_pan
- {
- // The constructor of your class is responsible for
- // setting up inlets and outlets and for registering
- // inlet-methods:
- // The descriptions of the inlets and outlets are output
- // via the Max/MSP assist method (when mousing over them in edit mode).
- // PD will hopefully provide such a feature as well soon
-
- AddInSignal("left audio in"); // left audio in
- AddInSignal("right audio in"); // right audio in
- AddInFloat("panning parameter"); // 1 float in
- AddOutSignal("audio out"); // 1 audio out
-
- // Now we need to bind the handler function to our
- // panning inlet, which is inlet 2 (counting all inlets
- // from 0). We want the function "setPan" to get
- // called on incoming float messages:
-
- FLEXT_ADDMETHOD(2,setPan);
-
- // We're done constructing:
- post("-- pan~ with flext ---");
-
- } // end of constructor
-
-
- protected:
- // here we declare the virtual DSP function
- virtual void m_signal(int n, float *const *in, float *const *out);
- private:
- float f_pan; // holds our panning factor
-
- // Before we can use "setPan" as a handler, we must register this
- // function as a callback to PD or Max. This is done using the
- // FLEXT_CALLBACK* macros. There are several of them.
- //
- // FLEXT_CALLBACK_F is a shortcut, that registers a function
- // expecting one float arg (thus ending in "_F"). There are
- // other shortcuts that register other types of functions. Look
- // into flext.h. No semicolon at the end of line!!!
- FLEXT_CALLBACK_F(setPan)
-
- // Now setPan can get declared and defined here.
- void setPan(float f)
- {
- // set our private panning factor "f_pan" to the inlet
- // value float "f" in the intervall [0,1]
- f_pan = (f<0) ? 0.0f : (f>1) ? 1.0f : f ;
-
- // if you want to debug if this worked, comment out the
- // following line:
- //post("Set panning to %.2f, maybe clipped from %.2f", f_pan,f);
- } // end setPan
-}; // end of class declaration for signal1
-
-
-// Before we can run our signal1-class in PD, the object has to be registered as a
-// PD object. Otherwise it would be a simple C++-class, and what good would
-// that be for? Registering is made easy with the FLEXT_NEW_* macros defined
-// in flext.h. For tilde objects without arguments call:
-
-FLEXT_NEW_DSP("signal1~ pan~", signal1)
-// T.Grill: there are two names for the object: signal1~ as main name and pan~ as its alias
-
-// Now we define our DSP function. It gets this arguments:
-//
-// int n: length of signal vector. Loop over this for your signal processing.
-// float *const *in, float *const *out:
-// These are arrays of the signals in the objects signal inlets rsp.
-// oulets. We come to that later inside the function.
-
-void signal1::m_signal(int n, float *const *in, float *const *out)
-{
-
- const float *ins1 = in[0];
- const float *ins2 = in[1];
- // As said above "in" holds a list of the signal vectors in all inlets.
- // After these two lines, ins1 holds the signal vector ofthe first
- // inlet, index 0, and ins2 holds the signal vector of the second
- // inlet, with index 1.
-
- float *outs = out[0];
- // Now outs holds the signal vector at the one signal outlet we have.
-
- // We are now ready for the main signal loop
- while (n--)
- {
-
- // The "++" after the pointers outs, ins1 and ins2 walks us
- // through the signal vector with each n, of course. Before
- // each step we change the signal value in the outlet *outs
- // according to our panning factor "f_pan" and according to the
- // signals at the two signal inlets, *ins1 and *ins2
-
- *outs++ = (*ins1++) * (1-f_pan) + (*ins2++) * f_pan;
- }
-} // end m_signal
diff --git a/externals/grill/flext/tutorial/signal1/package.txt b/externals/grill/flext/tutorial/signal1/package.txt
deleted file mode 100644
index b4861858..00000000
--- a/externals/grill/flext/tutorial/signal1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=signal1~
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/signal1/signal1.mcp b/externals/grill/flext/tutorial/signal1/signal1.mcp
deleted file mode 100644
index 32e82771..00000000
--- a/externals/grill/flext/tutorial/signal1/signal1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/signal1/signal1.vcproj b/externals/grill/flext/tutorial/signal1/signal1.vcproj
deleted file mode 100644
index 136003b7..00000000
--- a/externals/grill/flext/tutorial/signal1/signal1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="signal1"
- SccProjectName="max/flext/tutorial/signal1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/signal1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/signal1~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/signal1~.pdb"
- ImportLibrary=".\msvc/signal1~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/signal1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/signal1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile="msvc-debug/signal1~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/signal1~.pdb"
- ImportLibrary=".\msvc-debug/signal1~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/signal1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/signal2/Makefile.am b/externals/grill/flext/tutorial/signal2/Makefile.am
deleted file mode 100644
index 6aaf483d..00000000
--- a/externals/grill/flext/tutorial/signal2/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = signal2
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/signal2/main.cpp b/externals/grill/flext/tutorial/signal2/main.cpp
deleted file mode 100644
index 7793bb00..00000000
--- a/externals/grill/flext/tutorial/signal2/main.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-flext tutorial - signal 2
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This is an object showing varous parameters of the pd audio system
-*/
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-// define the class that stands for a pd/Max object
-// Attention: the class name must be the same as the object name!! (without the ~)
-
-class signal2:
- // inherit from flext dsp class
- public flext_dsp
-{
- // obligatory flext header (class name,base class name)
- FLEXT_HEADER(signal2,flext_dsp)
-
-public:
- // constructor
- signal2();
-
-protected:
- void m_bang(); // method for bang
-
-private:
- FLEXT_CALLBACK(m_bang) // callback for method "m_bang"
-};
-
-// instantiate the class
-FLEXT_NEW_DSP("signal2~",signal2)
-
-
-signal2::signal2()
-{
- // define inlets:
- // first inlet must always by of type anything (or signal for dsp objects)
- AddInAnything(); // add one inlet for any message
-
- // add outlets for sample rate, block size, audio in and out channel count
- AddOutFloat(1);
- AddOutInt(3); // although PD knows no int type, flext does!
-
- // register methods
- FLEXT_ADDBANG(0,m_bang); // register method "m_bang" for bang message into inlet 0
-}
-
-void signal2::m_bang()
-{
- // output various parameters of the pd audio system
- ToOutFloat(0,Samplerate());
- ToOutInt(1,Blocksize());
- ToOutInt(2,CntInSig());
- ToOutInt(3,CntOutSig());
-}
-
diff --git a/externals/grill/flext/tutorial/signal2/package.txt b/externals/grill/flext/tutorial/signal2/package.txt
deleted file mode 100644
index a258255c..00000000
--- a/externals/grill/flext/tutorial/signal2/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=signal2~
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/signal2/signal2.mcp b/externals/grill/flext/tutorial/signal2/signal2.mcp
deleted file mode 100644
index 260893e2..00000000
--- a/externals/grill/flext/tutorial/signal2/signal2.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/signal2/signal2.vcproj b/externals/grill/flext/tutorial/signal2/signal2.vcproj
deleted file mode 100644
index 4923b1a7..00000000
--- a/externals/grill/flext/tutorial/signal2/signal2.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="signal2"
- SccProjectName="max/flext/tutorial/signal2"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/signal2.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile="msvc-debug/signal2~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/signal2~.pdb"
- ImportLibrary=".\msvc-debug/signal2~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/signal2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/signal2.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/signal2~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/signal2~.pdb"
- ImportLibrary=".\msvc/signal2~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/signal2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/simple1/Makefile.am b/externals/grill/flext/tutorial/simple1/Makefile.am
deleted file mode 100644
index d918a68d..00000000
--- a/externals/grill/flext/tutorial/simple1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = simple1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/simple1/main.cpp b/externals/grill/flext/tutorial/simple1/main.cpp
deleted file mode 100644
index ed3c3ea3..00000000
--- a/externals/grill/flext/tutorial/simple1/main.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-flext tutorial - simple 1
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This is an example of a simple object doing a float inversion
-*/
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-// define the class that stands for a pd/Max object
-// Attention: the class name must be the same as the object name!! (without an eventual ~)
-// Special names are possible with the usage of libraries (see the lib1 tutorial example)
-
-class simple1:
- // inherit from basic flext class
- public flext_base
-{
- // obligatory flext header (class name,base class name)
- FLEXT_HEADER(simple1,flext_base)
-
-public:
- // constructor
- simple1()
- {
- // define inlets:
- // first inlet must always be of type anything (or signal for dsp objects)
- AddInAnything(); // add one inlet for any message
-
- // define outlets:
- AddOutFloat(); // add one float outlet (has index 0)
-
- // register methods
- FLEXT_ADDMETHOD(0,m_float); // register method (for float messages) "m_float" for inlet 0
- }
-
-protected:
- void m_float(float input) // method for float values
- {
- float result;
-
- if(input == 0) {
- // special case 0
- post("%s - zero can't be inverted!",thisName());
- result = 0;
- }
- else
- // normal case
- result = 1/input;
-
- // output value to outlet
- ToOutFloat(0,result); // (0 stands for the outlet index 0 - the leftmost outlet)
- }
-
-private:
- FLEXT_CALLBACK_1(m_float,float) // callback for method "m_float" (with one float argument)
-};
-
-// instantiate the class
-FLEXT_NEW("simple1",simple1)
-
-
diff --git a/externals/grill/flext/tutorial/simple1/package.txt b/externals/grill/flext/tutorial/simple1/package.txt
deleted file mode 100644
index 8a3da416..00000000
--- a/externals/grill/flext/tutorial/simple1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=simple1
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/simple1/simple1.mcp b/externals/grill/flext/tutorial/simple1/simple1.mcp
deleted file mode 100755
index 6e778ba5..00000000
--- a/externals/grill/flext/tutorial/simple1/simple1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/simple1/simple1.vcproj b/externals/grill/flext/tutorial/simple1/simple1.vcproj
deleted file mode 100644
index e6ad7d68..00000000
--- a/externals/grill/flext/tutorial/simple1/simple1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="simple1"
- SccProjectName="simple1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/simple1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/simple1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/simple1.pdb"
- ImportLibrary=".\msvc-debug/simple1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/simple1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/simple1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/simple1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/simple1.pdb"
- ImportLibrary=".\msvc/simple1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/simple1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/simple2/Makefile.am b/externals/grill/flext/tutorial/simple2/Makefile.am
deleted file mode 100644
index 696c144b..00000000
--- a/externals/grill/flext/tutorial/simple2/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = simple2
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/simple2/main.cpp b/externals/grill/flext/tutorial/simple2/main.cpp
deleted file mode 100644
index 894ceb47..00000000
--- a/externals/grill/flext/tutorial/simple2/main.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-flext tutorial - simple 2
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This is an example of a simple object doing a float addition
-*/
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-class simple2:
- public flext_base
-{
- FLEXT_HEADER(simple2,flext_base)
-
-public:
- // constructor with float argument
- simple2(float init);
-
-protected:
- void m_float1(float f);
- void m_float2(float f);
-
- // stored argument of right inlet
- float arg;
-
-private:
- // FLEXT_CALLBACK_F(...) is a shortcut for FLEXT_CALLBACK_1(...,float)
- FLEXT_CALLBACK_F(m_float1) // callback for method "m_float1" (with one float argument)
- FLEXT_CALLBACK_F(m_float2) // callback for method "m_float2" (with one float argument)
-};
-
-// instantiate the class (constructor has one float argument)
-FLEXT_NEW_1("simple2",simple2,float)
-
-
-simple2::simple2(float init):
- arg(init) // store argument
-{
- // define inlets
- AddInAnything(); // first inlet of type anything (index 0)
- AddInFloat(); // additional float inlet (index 1)
-
- // define outlets
- AddOutFloat(); // one float outlet (has index 0)
-
- // register methods
- FLEXT_ADDMETHOD(0,m_float1); // register method (for floats) "m_float1" for inlet 0
- FLEXT_ADDMETHOD(1,m_float2); // register method (for floats) "m_float2" for inlet 1
-}
-
-void simple2::m_float1(float f)
-{
- float res;
- res = arg+f;
-
- // output value to outlet
- ToOutFloat(0,res); // (0 stands for the outlet index 0)
-}
-
-void simple2::m_float2(float f)
-{
- // store float
- arg = f;
-}
-
diff --git a/externals/grill/flext/tutorial/simple2/package.txt b/externals/grill/flext/tutorial/simple2/package.txt
deleted file mode 100644
index fd8b2a25..00000000
--- a/externals/grill/flext/tutorial/simple2/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=simple2
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/simple2/simple2.mcp b/externals/grill/flext/tutorial/simple2/simple2.mcp
deleted file mode 100755
index 6ada3deb..00000000
--- a/externals/grill/flext/tutorial/simple2/simple2.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/simple2/simple2.vcproj b/externals/grill/flext/tutorial/simple2/simple2.vcproj
deleted file mode 100644
index 5402924e..00000000
--- a/externals/grill/flext/tutorial/simple2/simple2.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="simple2"
- SccProjectName="simple2"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/simple2.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/simple2.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/simple2.pdb"
- ImportLibrary=".\msvc-debug/simple2.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/simple2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/simple2.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/simple2.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/simple2.pdb"
- ImportLibrary=".\msvc/simple2.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/simple2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/simple3/Makefile.am b/externals/grill/flext/tutorial/simple3/Makefile.am
deleted file mode 100644
index f4436562..00000000
--- a/externals/grill/flext/tutorial/simple3/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = simple3
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/simple3/main.cpp b/externals/grill/flext/tutorial/simple3/main.cpp
deleted file mode 100644
index d1630e77..00000000
--- a/externals/grill/flext/tutorial/simple3/main.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
-flext tutorial - simple 3
-
-Copyright (c) 2002-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
--------------------------------------------------------------------------
-
-This is an example of an object digesting several "tagged" messages
-
-*/
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 500)
-#error You need at least flext version 0.5.0
-#endif
-
-class simple3:
- public flext_base
-{
- FLEXT_HEADER(simple3,flext_base)
-
-public:
- // constructor with no arguments
- simple3();
-
-protected:
- void m_tag();
- void m_tag_and_int(int i);
- void m_sym(t_symbol *s);
-
- // override default flext help function
- void m_help();
-
-private:
-
- FLEXT_CALLBACK(m_tag) // callback for method "m_tag" (no arguments)
- FLEXT_CALLBACK_I(m_tag_and_int) // callback for method "m_tag_and_int" (int arguments)
- FLEXT_CALLBACK_S(m_sym) // callback for method "m_sym" (with one symbol argument)
-
- FLEXT_CALLBACK(m_help) // callback for method "m_help" (no arguments)
-};
-
-// instantiate the class (constructor takes no arguments)
-FLEXT_NEW("simple3",simple3)
-
-
-simple3::simple3()
-{
- // define inlets
- AddInAnything(); // add inlet of type anything (index 0)
-
- // register methods
- FLEXT_ADDMETHOD_(0,"born",m_tag); // register method for tag "born"
- FLEXT_ADDMETHOD_(0,"to",m_tag); // register method for tag "to"
- FLEXT_ADDMETHOD_(0,"hula",m_tag); // register method for tag "hula"
- FLEXT_ADDMETHOD_I(0,"hula",m_tag_and_int); // register method for tag "hula" and int argument
-
- FLEXT_ADDMETHOD(0,m_sym); // register method for all other symbols
-
- FLEXT_ADDMETHOD_(0,"help",m_help); // register method for "help" message
-}
-
-void simple3::m_tag()
-{
- post("tag recognized");
-}
-
-void simple3::m_tag_and_int(int i)
-{
- post("tag recognized (has int arg: %i)",i);
-}
-
-void simple3::m_sym(t_symbol *s)
-{
- post("symbol: %s",GetString(s));
-}
-
-
-void simple3::m_help()
-{
- // post a help message
- // thisName() returns a char * for the object name
- post("%s - example for tagged messages",thisName());
-}
-
-
diff --git a/externals/grill/flext/tutorial/simple3/package.txt b/externals/grill/flext/tutorial/simple3/package.txt
deleted file mode 100644
index acfca5e2..00000000
--- a/externals/grill/flext/tutorial/simple3/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=simple3
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/simple3/simple3.mcp b/externals/grill/flext/tutorial/simple3/simple3.mcp
deleted file mode 100644
index bda7a203..00000000
--- a/externals/grill/flext/tutorial/simple3/simple3.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/simple3/simple3.vcproj b/externals/grill/flext/tutorial/simple3/simple3.vcproj
deleted file mode 100644
index cfb4fc08..00000000
--- a/externals/grill/flext/tutorial/simple3/simple3.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="simple3"
- SccProjectName="simple3"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/simple3.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/simple3.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/simple3.pdb"
- ImportLibrary=".\msvc/simple3.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/simple3.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/simple3.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/simple3.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/simple3.pdb"
- ImportLibrary=".\msvc-debug/simple3.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/simple3.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/sndobj1/Makefile.am b/externals/grill/flext/tutorial/sndobj1/Makefile.am
deleted file mode 100644
index 40dcd384..00000000
--- a/externals/grill/flext/tutorial/sndobj1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = sndobj1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/sndobj1/main.cpp b/externals/grill/flext/tutorial/sndobj1/main.cpp
deleted file mode 100644
index d5587c73..00000000
--- a/externals/grill/flext/tutorial/sndobj1/main.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-flext tutorial - sndobj 1
-
-Copyright (c) 2002-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
--------------------------------------------------------------------------
-
-This is an example of an external using the SndObj library.
-See http://www.may.ie/academic/music/musictec/SndObj/
-
-The SndObj library should be compiled multithreaded.
-
-This external features simple stereo pitch shifting.
-
-*/
-
-#define FLEXT_ATTRIBUTES 1
-
-#include <flsndobj.h>
-
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
-#error You need at least flext version 0.4.1 with sndobj support
-#endif
-
-
-class sndobj1:
- public flext_sndobj
-{
- FLEXT_HEADER_S(sndobj1,flext_sndobj,Setup)
-
-public:
- sndobj1();
-
- // these are obligatory!
- virtual bool NewObjs();
- virtual void FreeObjs();
- virtual void ProcessObjs();
-
- // space for a few sndobjs
- Pitch *obj1,*obj2;
-
- float sh1,sh2;
-
-private:
- static void Setup(t_classid c);
-
- FLEXT_ATTRVAR_F(sh1)
- FLEXT_ATTRVAR_F(sh2)
-};
-
-FLEXT_NEW_DSP("sndobj1~",sndobj1)
-
-
-sndobj1::sndobj1():
- sh1(1),sh2(1),
- obj1(NULL),obj2(NULL)
-{
- AddInSignal(2); // audio ins
- AddOutSignal(2); // audio outs
-}
-
-void sndobj1::Setup(t_classid c)
-{
- FLEXT_CADDATTR_VAR1(c,"shL",sh1);
- FLEXT_CADDATTR_VAR1(c,"shR",sh2);
-}
-
-// construct needed SndObjs
-bool sndobj1::NewObjs()
-{
- // set up objects
- obj1 = new Pitch(.1f,&InObj(0),sh1,Blocksize(),Samplerate());
- obj2 = new Pitch(.1f,&InObj(1),sh2,Blocksize(),Samplerate());
- return true;
-}
-
-// destroy the SndObjs
-void sndobj1::FreeObjs()
-{
- if(obj1) delete obj1;
- if(obj2) delete obj2;
-}
-
-// this is called on every DSP block
-void sndobj1::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/sndobj1/package.txt b/externals/grill/flext/tutorial/sndobj1/package.txt
deleted file mode 100644
index 21948caa..00000000
--- a/externals/grill/flext/tutorial/sndobj1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=sndobj1~
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/sndobj1/sndobj1.mcp b/externals/grill/flext/tutorial/sndobj1/sndobj1.mcp
deleted file mode 100644
index 8385296a..00000000
--- a/externals/grill/flext/tutorial/sndobj1/sndobj1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/sndobj1/sndobj1.vcproj b/externals/grill/flext/tutorial/sndobj1/sndobj1.vcproj
deleted file mode 100644
index 013442b4..00000000
--- a/externals/grill/flext/tutorial/sndobj1/sndobj1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="sndobj1"
- SccProjectName="sndobj1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\sndobj\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/sndobj1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib sndobj.lib"
- OutputFile="msvc-debug/sndobj1~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\sndobj\lib"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/sndobj1~.pdb"
- ImportLibrary=".\msvc-debug/sndobj1~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/sndobj1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\sndobj\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/sndobj1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib sndobj.lib"
- OutputFile="../pd-msvc/sndobj1~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\sndobj\lib"
- ProgramDatabaseFile=".\msvc/sndobj1~.pdb"
- ImportLibrary=".\msvc/sndobj1~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/sndobj1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/stk1/Makefile.am b/externals/grill/flext/tutorial/stk1/Makefile.am
deleted file mode 100644
index 3449f410..00000000
--- a/externals/grill/flext/tutorial/stk1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = stk1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/stk1/main.cpp b/externals/grill/flext/tutorial/stk1/main.cpp
deleted file mode 100644
index 45f39cd9..00000000
--- a/externals/grill/flext/tutorial/stk1/main.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
-flext tutorial - stk 1
-
-Copyright (c) 2002-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
--------------------------------------------------------------------------
-
-This is an example of an external using the STK ("synthesis toolkit") library.
-For STK see http://ccrma-www.stanford.edu/software/stk
-
-STK needs C++ exceptions switched on.
-
-The STK tutorial examples assume that a static stk library exists which contains all the
-source files (except rt*.cpp) of the stk/src directory.
-The library should be compiled multithreaded and with the appropriate compiler flags for
-the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows)
-
-*/
-
-#include <flstk.h>
-
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
-#error You need at least flext version 0.4.1 with STK support
-#endif
-
-#include "Noise.h"
-
-
-class stk1:
- public flext_stk
-{
- FLEXT_HEADER(stk1,flext_stk)
-
-public:
- stk1();
-
-protected:
- // these are obligatory!
- virtual bool NewObjs(); // create STK instruments
- virtual void FreeObjs(); // destroy STK instruments
- virtual void ProcessObjs(int n); // do DSP processing
-
-private:
- Noise *inst;
-};
-
-FLEXT_NEW_DSP("stk1~",stk1)
-
-
-stk1::stk1():
- inst(NULL)
-{
- AddInAnything();
- AddOutSignal();
-}
-
-
-// create STK instruments
-bool stk1::NewObjs()
-{
- bool ok = true;
-
- // set up objects
- try {
- inst = new Noise;
- }
- catch (StkError &) {
- post("%s - Noise() setup failed!",thisName());
- ok = false;
- }
- return ok;
-}
-
-
-// destroy the STK instruments
-void stk1::FreeObjs()
-{
- if(inst) delete inst;
-}
-
-// this is called on every DSP block
-void stk1::ProcessObjs(int n)
-{
- while(n--) Outlet(0).tick(inst->tick());
-}
-
-
diff --git a/externals/grill/flext/tutorial/stk1/package.txt b/externals/grill/flext/tutorial/stk1/package.txt
deleted file mode 100644
index 5f31c5af..00000000
--- a/externals/grill/flext/tutorial/stk1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=stk1~
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/stk1/stk1.vcproj b/externals/grill/flext/tutorial/stk1/stk1.vcproj
deleted file mode 100644
index b1d9edfa..00000000
--- a/externals/grill/flext/tutorial/stk1/stk1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="stk1"
- SccProjectName="stk1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/stk1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib pthreadVC.lib flext_td-pdwin.lib stk_d.lib"
- OutputFile="msvc-debug/stk1~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/stk1~.pdb"
- ImportLibrary=".\msvc-debug/stk1~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/stk1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/stk1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib pthreadVC.lib flext_t-pdwin.lib stk.lib"
- OutputFile="../pd-msvc/stk1~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib"
- ProgramDatabaseFile=".\msvc/stk1~.pdb"
- ImportLibrary=".\msvc/stk1~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/stk1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/stk2/Makefile.am b/externals/grill/flext/tutorial/stk2/Makefile.am
deleted file mode 100644
index fe13e6a3..00000000
--- a/externals/grill/flext/tutorial/stk2/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = stk2
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/stk2/main.cpp b/externals/grill/flext/tutorial/stk2/main.cpp
deleted file mode 100644
index 0e740f60..00000000
--- a/externals/grill/flext/tutorial/stk2/main.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
-flext tutorial - stk 2
-
-Copyright (c) 2002-2006 Thomas Grill (gr@grrrr.org)
-For information on usage and redistribution, and for a DISCLAIMER OF ALL
-WARRANTIES, see the file, "license.txt," in this distribution.
-
--------------------------------------------------------------------------
-
-This is an example of an external using the STK ("synthesis toolkit") library.
-For STK see http://ccrma-www.stanford.edu/software/stk
-
-STK needs C++ exceptions switched on.
-
-The STK tutorial examples assume that a static stk library exists which contains all the
-source files (except rt*.cpp) of the stk/src directory.
-The library should be compiled multithreaded and with the appropriate compiler flags for
-the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows)
-
-*/
-
-#include <flstk.h>
-
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401)
-#error You need at least flext version 0.4.1 with STK support
-#endif
-
-#include "PitShift.h"
-
-
-class stk2:
- public flext_stk
-{
- FLEXT_HEADER_S(stk2,flext_stk,Setup)
-
-public:
- stk2();
-
- void m_sh1(float f) { if(inst[0]) inst[0]->setShift(f); }
- void m_sh2(float f) { if(inst[1]) inst[1]->setShift(f); }
-
- // these are obligatory!
- virtual bool NewObjs(); // create STK instruments
- virtual void FreeObjs(); // destroy STK instruments
- virtual void ProcessObjs(int n); // do DSP processing
-
- PitShift *inst[2];
- MY_FLOAT *vec;
-
-private:
- static void Setup(t_classid c);
-
- FLEXT_CALLBACK_F(m_sh1)
- FLEXT_CALLBACK_F(m_sh2)
-};
-
-FLEXT_NEW_DSP("stk2~",stk2)
-
-
-stk2::stk2()
-{
- AddInSignal();
- AddOutSignal(2);
-
- inst[0] = inst[1] = NULL;
-}
-
-void stk2::Setup(t_classid c)
-{
- FLEXT_CADDMETHOD_F(c,0,"shL",m_sh1);
- FLEXT_CADDMETHOD_F(c,0,"shR",m_sh2);
-}
-
-
-// create STK instruments
-bool stk2::NewObjs()
-{
- bool ok = true;
-
- try {
- // set up objects
- for(int i = 0; i < 2; ++i)
- inst[i] = new PitShift;
-
- // reserve one signal vector too
- vec = new MY_FLOAT[Blocksize()];
- }
- catch (StkError &) {
- post("%s - Creation failed!",thisName());
- ok = false;
- }
- return ok;
-}
-
-
-// destroy the STK instruments
-void stk2::FreeObjs()
-{
- for(int i = 0; i < 2; ++i)
- if(inst[i]) delete inst[i];
- if(vec) delete[] vec;
-}
-
-// this is called on every DSP block
-void stk2::ProcessObjs(int n)
-{
- for(int i = 0; i < 2; ++i)
- Outlet(i).tick(
- inst[i]->tick(
- Inlet(0).tick(vec,n)
- ,n)
- ,n);
-}
-
-
diff --git a/externals/grill/flext/tutorial/stk2/package.txt b/externals/grill/flext/tutorial/stk2/package.txt
deleted file mode 100644
index 27b74e30..00000000
--- a/externals/grill/flext/tutorial/stk2/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=stk2~
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/stk2/stk2.vcproj b/externals/grill/flext/tutorial/stk2/stk2.vcproj
deleted file mode 100644
index 2958a08b..00000000
--- a/externals/grill/flext/tutorial/stk2/stk2.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="stk2"
- SccProjectName="stk2"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/stk2.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib pthreadVC.lib flext_t-pdwin.lib stk.lib"
- OutputFile="../pd-msvc/stk2~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib"
- ProgramDatabaseFile=".\msvc/stk2~.pdb"
- ImportLibrary=".\msvc/stk2~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/stk2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source,f:\prog\audio\stk\include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/stk2.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib pthreadVC.lib flext_td-pdwin.lib stk_d.lib"
- OutputFile="msvc-debug/stk2~.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc,f:\prog\audio\stk\lib"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/stk2~.pdb"
- ImportLibrary=".\msvc-debug/stk2~.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/stk2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/thread1/Makefile.am b/externals/grill/flext/tutorial/thread1/Makefile.am
deleted file mode 100644
index e8965b14..00000000
--- a/externals/grill/flext/tutorial/thread1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = thread1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/thread1/main.cpp b/externals/grill/flext/tutorial/thread1/main.cpp
deleted file mode 100644
index e5e0c0e3..00000000
--- a/externals/grill/flext/tutorial/thread1/main.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-flext tutorial - threads 1
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This shows an example of a method running as a thread
-*/
-
-/* define FLEXT_THREADS for thread usage. Flext must also have been compiled with that defined!
- it's even better to define that as a compiler flag (-D FLEXT_THREADS) for all files of the
- flext external
-*/
-#ifndef FLEXT_THREADS
-#define FLEXT_THREADS
-#endif
-
-#include <flext.h>
-
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-class thread1:
- public flext_base
-{
- FLEXT_HEADER(thread1,flext_base)
-
-public:
- thread1();
-
-protected:
- void m_start(); // method function
-
-private:
- // define threaded callback for method m_start
- // the same syntax as with FLEXT_CALLBACK is used here
- FLEXT_THREAD(m_start)
-};
-
-FLEXT_NEW("thread1",thread1)
-
-
-
-thread1::thread1()
-{
- AddInAnything();
- AddOutInt();
-
- FLEXT_ADDBANG(0,m_start); // register method
-}
-
-void thread1::m_start()
-{
- // Please note that this functions needs about 10 seconds to complete
- // Without threads it would block the real-time system
-
- // Okay, that functionality would be far more elegant with timers
- // ... but hey, it's a demo!
-
- for(int i = 0; i < 20 && !ShouldExit(); ++i) {
- ToOutInt(0,i); // output loop count
-// post("%i",i);
-
- // wait for half a second
- for(int j = 0; j < 5 && !ShouldExit(); ++j) Sleep(0.1f);
- // note: we shall not block a thread for a longer time.
- // The system might want to destroy the object in the meantime and
- // expects thread termination. In such a case flext waits
- // for 1 second by default, then it aborts the thread brutally
- }
-
- // output a final zero
- ToOutInt(0,0);
-// post("end");
-}
-
-
-
diff --git a/externals/grill/flext/tutorial/thread1/package.txt b/externals/grill/flext/tutorial/thread1/package.txt
deleted file mode 100644
index 3b07a03e..00000000
--- a/externals/grill/flext/tutorial/thread1/package.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-NAME=thread1
-BUILDTYPE=multi
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/thread1/thread1.mcp b/externals/grill/flext/tutorial/thread1/thread1.mcp
deleted file mode 100644
index 54fc8624..00000000
--- a/externals/grill/flext/tutorial/thread1/thread1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/thread1/thread1.vcproj b/externals/grill/flext/tutorial/thread1/thread1.vcproj
deleted file mode 100644
index 3cf34ebf..00000000
--- a/externals/grill/flext/tutorial/thread1/thread1.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="thread1"
- SccProjectName="thread1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/thread1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_t-pdwin.lib pthreadVC.lib"
- OutputFile="../pd-msvc/thread1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="C:\Programme\audio\pd\bin;..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/thread1.pdb"
- ImportLibrary=".\msvc/thread1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/thread1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FLEXT_THREADS"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/thread1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_td-pdwin.lib pthreadVC.lib"
- OutputFile=".\msvc-debug/thread1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="C:\Programme\audio\pd\bin; ..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/thread1.pdb"
- ImportLibrary=".\msvc-debug/thread1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/thread1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/thread2/Makefile.am b/externals/grill/flext/tutorial/thread2/Makefile.am
deleted file mode 100644
index 8b0e89da..00000000
--- a/externals/grill/flext/tutorial/thread2/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = thread2
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/thread2/main.cpp b/externals/grill/flext/tutorial/thread2/main.cpp
deleted file mode 100644
index 40e82b3c..00000000
--- a/externals/grill/flext/tutorial/thread2/main.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-flext tutorial - threads 2
-
-Copyright (c) 2002,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.
-
--------------------------------------------------------------------------
-
-This shows an example of multiple threads and syncing with a thread conditional
-*/
-
-/* define FLEXT_THREADS for thread usage. Flext must also have been compiled with that defined!
- it's even better to define that as a compiler flag (-D FLEXT_THREADS) for all files of the
- flext external
-*/
-#ifndef FLEXT_THREADS
-#define FLEXT_THREADS
-#endif
-
-#include <flext.h>
-
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 400)
-#error You need at least flext version 0.4.0
-#endif
-
-
-class thread2:
- public flext_base
-{
- FLEXT_HEADER(thread2,flext_base)
-
-public:
- thread2(int del);
-
-protected:
- void m_start(int st);
- void m_stop();
- void m_text();
-
- void m_textout();
-
-private:
- FLEXT_THREAD_I(m_start) // define threaded callback for method m_start
- FLEXT_CALLBACK(m_stop) // normal callback for m_stop
- FLEXT_CALLBACK(m_text) // turn on console output
-
- FLEXT_THREAD(m_textout) // text output
-
- float delay;
- volatile int count;
-
- // caution: CodeWarrior seems to ignore volatile modifier!!
- volatile bool stopit,running,blipping; // flags for running and stopping
-
- // thread conditional for stop signal
- ThrCond cond;
-};
-
-FLEXT_NEW_1("thread2",thread2,int)
-
-
-
-thread2::thread2(int del):
- delay(del/1000.f),
- stopit(false),
- running(false),blipping(false)
-{
- AddInAnything();
- AddOutInt(2);
-
- FLEXT_ADDMETHOD(0,m_start); // register start for integer numbers (floats in PD)
- FLEXT_ADDMETHOD_(0,"text",m_text); // register m_text method for "text" tag
- FLEXT_ADDMETHOD_(0,"stop",m_stop); // register m_text method for "stop" tag
-}
-
-void thread2::m_start(int st)
-{
- // if already running, just set back the counter
- if(running) { count = st; return; }
-
- running = true;
-
- // loop until either the system exit flag or the "stopit" flag is set
- for(count = st; !ShouldExit() && !stopit; ++count)
- {
- Sleep(delay);
- ToOutInt(0,count); // output loop count
- }
-
- running = false; // change state flag
-// cond.Lock(); // lock conditional
- cond.Signal(); // signal changed flag to waiting "stop" method
-// cond.Unlock(); // unlock conditional
-}
-
-void thread2::m_stop()
-{
-// cond.Lock(); // lock conditional
- stopit = true; // set termination flag
-
- while(*(&running) || *(&blipping)) // workaround for CodeWarrior (doesn't honor volatile modifier!)
- {
- cond.Wait(); // wait for signal by running threads
- }
-
- // --- Here, the threads should have stopped ---
-
- stopit = false; // reset flag
-// cond.Unlock(); // unlock conditional
-}
-
-
-void thread2::m_text()
-{
- FLEXT_CALLMETHOD(m_textout);
-}
-
-void thread2::m_textout()
-{
- if(blipping) return;
- blipping = true;
-
- while(!ShouldExit() && !stopit) {
- post("%i",count);
- Sleep(1.f);
- }
-
- blipping = false; // change state flag
-// cond.Lock(); // lock conditional
- cond.Signal(); // signal changed flag to waiting "stop" method
-// cond.Unlock(); // unlock conditional
-}
-
diff --git a/externals/grill/flext/tutorial/thread2/package.txt b/externals/grill/flext/tutorial/thread2/package.txt
deleted file mode 100644
index 5d7ae4e8..00000000
--- a/externals/grill/flext/tutorial/thread2/package.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-NAME=thread2
-BUILDTYPE=multi
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/thread2/thread2.mcp b/externals/grill/flext/tutorial/thread2/thread2.mcp
deleted file mode 100755
index 9d051153..00000000
--- a/externals/grill/flext/tutorial/thread2/thread2.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/thread2/thread2.vcproj b/externals/grill/flext/tutorial/thread2/thread2.vcproj
deleted file mode 100644
index 99a25bad..00000000
--- a/externals/grill/flext/tutorial/thread2/thread2.vcproj
+++ /dev/null
@@ -1,176 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="thread2"
- SccProjectName="max/flext/tutorial/thread2"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD;FLEXT_THREADS"
- StringPooling="TRUE"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/thread2.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_t-pdwin.lib pthreadVC.lib"
- OutputFile="../pd-msvc/thread2.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="C:\Programme\audio\pd\bin;..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/thread2.pdb"
- ImportLibrary=".\msvc/thread2.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/thread2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FLEXT_THREADS"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/thread2.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_td-pdwin.lib pthreadVC.lib"
- OutputFile=".\msvc-debug/thread2.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="c:\programme\audio\pd\bin;..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/thread2.pdb"
- ImportLibrary=".\msvc-debug/thread2.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/thread2.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;FLEXT_THREADS;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/timer1/Makefile.am b/externals/grill/flext/tutorial/timer1/Makefile.am
deleted file mode 100644
index c5ab15f3..00000000
--- a/externals/grill/flext/tutorial/timer1/Makefile.am
+++ /dev/null
@@ -1,51 +0,0 @@
-#
-# automake template
-# added by tim blechmann
-#
-
-NAME = timer1
-
-BUILT_SOURCES = main.cpp
-
-EXTRA_DIST = main.cpp \
- $(NAME).mcp \
- $(NAME).vcproj
-
-CXXFLAGS = @CXXFLAGS@ \
- @OPT_FLAGS@ \
- @INCLUDEDIR@ \
- -I../../source \
- $(DEFS) \
- -DFLEXT_SHARED
-
-LDFLAGS = @DYNAMIC_LDFLAGS@ @LDFLAGS@ \
- $(patsubst %,-framework %,$(FRAMEWORKS))
-
-LIBS = @LIBS@ -lflext-pd
-
-FRAMEWORKS = @FRAMEWORKS@
-
-TARGETDIR = @TARGETDIR@
-
-TARGET =$(NAME).@EXTENSION@
-
-OBJECTS = $(patsubst %.cpp,./%.@OBJEXT@,$(BUILT_SOURCES))
-
-SYSDIR = @SYSDIR@
-
-
-# ----------------------------- targets --------------------------------
-
-all-local: $(OBJECTS)
- $(CXX) $(LDFLAGS) ./*.@OBJEXT@ $(LIBS) -o ../$(TARGETDIR)/$(TARGET)
- strip --strip-unneeded ../$(TARGETDIR)/$(TARGET)
-
-./%.@OBJEXT@ : %.cpp
- $(CXX) -c $(CXXFLAGS) $< -o $@
-
-clean-local:
- rm -f ../$(TARGETDIR)/$(TARGET)
- rm -f ./$(OBJECTS)
-
-install-exec-local:
- install ../$(TARGET) $(SYSDIR)extra
diff --git a/externals/grill/flext/tutorial/timer1/main.cpp b/externals/grill/flext/tutorial/timer1/main.cpp
deleted file mode 100644
index d751c784..00000000
--- a/externals/grill/flext/tutorial/timer1/main.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-flext tutorial - timer 1
-
-Copyright (c) 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.
-
--------------------------------------------------------------------------
-
-This is an example of an object using timers
-*/
-
-// enable flext attributes
-#define FLEXT_ATTRIBUTES 1
-
-// include flext header
-#include <flext.h>
-
-// check for appropriate flext version
-#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 403)
-#error You need at least flext version 0.4.3
-#endif
-
-
-// define the class that stands for a pd/Max object
-
-class timer1:
- // inherit from basic flext class
- public flext_base
-{
- // obligatory flext header (class name,base class name)
- FLEXT_HEADER_S(timer1,flext_base,Setup)
-
-public:
- // constructor
- timer1();
-
-protected:
- // timers
- Timer tmrA,tmrB;
-
- void m_getostime(float &f) { f = (float)GetOSTime(); } // method for operating system time attribute
- void m_getrttime(float &f) { f = (float)GetTime(); } // method for real-time system time attribute
-
- void m_timerA(void *) { ToOutString(0,"Timer A"); } // timer A method
- void m_timerB(void *) { ToOutString(0,"Timer B"); } // timer B method
-
- void m_resetA() { tmrA.Reset(); } // timer A reset
- void m_resetB() { tmrB.Reset(); } // timer B reset
- void m_oneshotA(int del) { tmrA.Delay(del*0.001); } // timer A one shot
- void m_oneshotB(int del) { tmrB.Delay(del*0.001); } // timer B one shot
- void m_periodicA(int del) { tmrA.Periodic(del*0.001); } // timer A periodic
- void m_periodicB(int del) { tmrB.Periodic(del*0.001); } // timer B periodic
-
-private:
- static void Setup(t_classid c);
-
- // register timer callbacks
- FLEXT_CALLBACK_T(m_timerA)
- FLEXT_CALLBACK_T(m_timerB)
-
- // register method callbacks
- FLEXT_CALLGET_F(m_getostime)
- FLEXT_CALLGET_F(m_getrttime)
- FLEXT_CALLBACK(m_resetA)
- FLEXT_CALLBACK(m_resetB)
- FLEXT_CALLBACK_I(m_oneshotA)
- FLEXT_CALLBACK_I(m_oneshotB)
- FLEXT_CALLBACK_I(m_periodicA)
- FLEXT_CALLBACK_I(m_periodicB)
-};
-
-// instantiate the class
-FLEXT_NEW("timer1",timer1)
-
-// class setup function
-void timer1::Setup(t_classid c)
-{
- FLEXT_CADDATTR_GET(c,"ostime",m_getostime); // register attribute for OS time
- FLEXT_CADDATTR_GET(c,"time",m_getrttime); // register attribute for RT time
-
- FLEXT_CADDMETHOD_(c,0,"resetA",m_resetA); // register reset method for timer A
- FLEXT_CADDMETHOD_(c,0,"resetB",m_resetB); // register reset method for timer B
- FLEXT_CADDMETHOD_(c,0,"oneshotA",m_oneshotA); // register one shot method for timer A
- FLEXT_CADDMETHOD_(c,0,"oneshotB",m_oneshotB); // register one shot method for timer B
- FLEXT_CADDMETHOD_(c,0,"periodicA",m_periodicA); // register periodic method for timer A
- FLEXT_CADDMETHOD_(c,0,"periodicB",m_periodicB); // register periodic method for timer B
-}
-
-// class constructor
-timer1::timer1():
- tmrA(false),tmrB(false)
-{
- AddInAnything("Control timers"); // add inlet for control commands
- AddOutAnything("Timer output"); // add outlet for timer output
-
- // register methods
- FLEXT_ADDTIMER(tmrA,m_timerA); // register method "m_timerA" for timer A
- FLEXT_ADDTIMER(tmrB,m_timerB); // register method "m_timerB" for timer B
-}
diff --git a/externals/grill/flext/tutorial/timer1/package.txt b/externals/grill/flext/tutorial/timer1/package.txt
deleted file mode 100644
index 4a23dcae..00000000
--- a/externals/grill/flext/tutorial/timer1/package.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-NAME=timer1
-SRCS=main.cpp
diff --git a/externals/grill/flext/tutorial/timer1/timer1.mcp b/externals/grill/flext/tutorial/timer1/timer1.mcp
deleted file mode 100755
index af4e978a..00000000
--- a/externals/grill/flext/tutorial/timer1/timer1.mcp
+++ /dev/null
Binary files differ
diff --git a/externals/grill/flext/tutorial/timer1/timer1.vcproj b/externals/grill/flext/tutorial/timer1/timer1.vcproj
deleted file mode 100644
index ba39e622..00000000
--- a/externals/grill/flext/tutorial/timer1/timer1.vcproj
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="timer1"
- SccProjectName="timer1"
- SccAuxPath=""
- SccLocalPath="."
- SccProvider="MSSCCI:Jalindi Igloo">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory=".\msvc-debug"
- IntermediateDirectory=".\msvc-debug"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="c:\programme\audio\pd\src,..\..\source"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PD"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc-debug/timer1.pch"
- AssemblerListingLocation=".\msvc-debug/"
- ObjectFile=".\msvc-debug/"
- ProgramDataBaseFileName=".\msvc-debug/"
- BrowseInformation="1"
- BrowseInformationFile=".\msvc-debug/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- DebugInformationFormat="4"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext_d-pdwin.lib"
- OutputFile=".\msvc-debug/timer1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile=".\msvc-debug/timer1.pdb"
- ImportLibrary=".\msvc-debug/timer1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="_DEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc-debug/timer1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="_DEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory=".\msvc"
- IntermediateDirectory=".\msvc"
- ConfigurationType="2"
- UseOfMFC="0"
- ATLMinimizesCRunTimeLibraryUsage="FALSE"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="1"
- AdditionalIncludeDirectories="..\..\source"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;PD"
- StringPooling="TRUE"
- RuntimeLibrary="4"
- EnableFunctionLevelLinking="TRUE"
- UsePrecompiledHeader="2"
- PrecompiledHeaderFile=".\msvc/timer1.pch"
- AssemblerListingLocation=".\msvc/"
- ObjectFile=".\msvc/"
- ProgramDataBaseFileName=".\msvc/"
- WarningLevel="3"
- SuppressStartupBanner="TRUE"
- CompileAs="0"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="pd.lib flext-pdwin.lib"
- OutputFile="../pd-msvc/timer1.dll"
- LinkIncremental="1"
- SuppressStartupBanner="TRUE"
- AdditionalLibraryDirectories="..\..\pd-msvc"
- ProgramDatabaseFile=".\msvc/timer1.pdb"
- ImportLibrary=".\msvc/timer1.lib"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"
- PreprocessorDefinitions="NDEBUG"
- MkTypLibCompatible="TRUE"
- SuppressStartupBanner="TRUE"
- TargetEnvironment="1"
- TypeLibraryName=".\msvc/timer1.tlb"
- HeaderFileName=""/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"
- PreprocessorDefinitions="NDEBUG"
- Culture="3079"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="main.cpp">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"
- BasicRuntimeChecks="3"
- BrowseInformation="1"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- AdditionalIncludeDirectories=""
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;PD;$(NoInherit)"/>
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/externals/grill/flext/tutorial/tutorial.sln b/externals/grill/flext/tutorial/tutorial.sln
deleted file mode 100644
index 7d3ab1e8..00000000
--- a/externals/grill/flext/tutorial/tutorial.sln
+++ /dev/null
@@ -1,473 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv1", "adv1\adv1.vcproj", "{A90E248D-52FD-458F-90A5-F20F7ED1D564}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv2", "adv2\adv2.vcproj", "{B0C13353-9F2E-4714-A85C-6904B75B4345}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "adv3", "adv3\adv3.vcproj", "{3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr1", "attr1\attr1.vcproj", "{9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr2", "attr2\attr2.vcproj", "{D891041F-303E-4E99-868F-11FF58E0C779}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "attr3", "attr3\attr3.vcproj", "{EA839AFE-95F0-47CF-9A78-72EF51CB9940}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bind1", "bind1\bind1.vcproj", "{C568D327-EA97-49C8-AF05-5FD7D35B6191}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "buffer1", "buffer1\buffer1.vcproj", "{723071BA-FE33-4C29-AB7B-6AB30B6057F7}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flext", "..\flext.vcproj", "{A0882797-7925-4AA3-93EA-7241487CECC5}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib1", "lib1\lib1.vcproj", "{4560EF26-304A-424F-B882-1F65A1F4DC67}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signal1", "signal1\signal1.vcproj", "{5F58157D-ABB1-4066-A143-C14515A3D7F9}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "signal2", "signal2\signal2.vcproj", "{B6D40688-2D3E-4DAA-8004-706FAA731F18}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple1", "simple1\simple1.vcproj", "{CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple2", "simple2\simple2.vcproj", "{4880ABD9-1598-4D5E-B4D3-558E8648405D}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple3", "simple3\simple3.vcproj", "{325D0FC7-AED9-487E-9FE5-4DEC305C2799}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sndobj1", "sndobj1\sndobj1.vcproj", "{A9B22491-39A4-4010-ABDF-5C8EF80432D7}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stk1", "stk1\stk1.vcproj", "{AD7C94F9-BB76-4588-BF89-491D7C6D40EC}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "stk2", "stk2\stk2.vcproj", "{18A3D222-AC98-4CFF-82C0-E5421AB39981}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thread1", "thread1\thread1.vcproj", "{702908EB-47A9-45D0-BCC5-3448C98C73E6}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thread2", "thread2\thread2.vcproj", "{4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "timer1", "timer1\timer1.vcproj", "{EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}"
- ProjectSection(ProjectDependencies) = postProject
- {A0882797-7925-4AA3-93EA-7241487CECC5} = {A0882797-7925-4AA3-93EA-7241487CECC5}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SourceCodeControl) = preSolution
- SccNumberOfProjects = 21
- SccProjectUniqueName0 = adv1\\adv1.vcproj
- SccProjectName0 = adv1
- SccLocalPath0 = adv1
- SccProvider0 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName1 = adv2\\adv2.vcproj
- SccProjectName1 = adv2
- SccLocalPath1 = adv2
- SccProvider1 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName2 = adv3\\adv3.vcproj
- SccProjectName2 = adv3
- SccLocalPath2 = adv3
- SccProvider2 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName3 = attr1\\attr1.vcproj
- SccProjectName3 = attr1
- SccLocalPath3 = attr1
- SccProvider3 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName4 = attr2\\attr2.vcproj
- SccProjectName4 = attr2
- SccLocalPath4 = attr2
- SccProvider4 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName5 = attr3\\attr3.vcproj
- SccProjectName5 = attr3
- SccLocalPath5 = attr3
- SccProvider5 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName6 = bind1\\bind1.vcproj
- SccProjectName6 = max/flext/tutorial/bind1
- SccLocalPath6 = bind1
- SccProvider6 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName7 = buffer1\\buffer1.vcproj
- SccProjectName7 = max/flext/tutorial/buffer1
- SccLocalPath7 = buffer1
- SccProvider7 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName8 = ..\\flext.vcproj
- SccProjectName8 = max/flext
- SccLocalPath8 = ..
- SccProvider8 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName9 = lib1\\lib1.vcproj
- SccProjectName9 = lib1
- SccLocalPath9 = lib1
- SccProvider9 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName10 = signal1\\signal1.vcproj
- SccProjectName10 = max/flext/tutorial/signal1
- SccLocalPath10 = signal1
- SccProvider10 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName11 = signal2\\signal2.vcproj
- SccProjectName11 = max/flext/tutorial/signal2
- SccLocalPath11 = signal2
- SccProvider11 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName12 = simple1\\simple1.vcproj
- SccProjectName12 = simple1
- SccLocalPath12 = simple1
- SccProvider12 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName13 = simple2\\simple2.vcproj
- SccProjectName13 = simple2
- SccLocalPath13 = simple2
- SccProvider13 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName14 = simple3\\simple3.vcproj
- SccProjectName14 = simple3
- SccLocalPath14 = simple3
- SccProvider14 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName15 = sndobj1\\sndobj1.vcproj
- SccProjectName15 = sndobj1
- SccLocalPath15 = sndobj1
- SccProvider15 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName16 = stk1\\stk1.vcproj
- SccProjectName16 = stk1
- SccLocalPath16 = stk1
- SccProvider16 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName17 = stk2\\stk2.vcproj
- SccProjectName17 = stk2
- SccLocalPath17 = stk2
- SccProvider17 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName18 = thread1\\thread1.vcproj
- SccProjectName18 = thread1
- SccLocalPath18 = thread1
- SccProvider18 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName19 = thread2\\thread2.vcproj
- SccProjectName19 = max/flext/tutorial/thread2
- SccLocalPath19 = thread2
- SccProvider19 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- SccProjectUniqueName20 = timer1\\timer1.vcproj
- SccProjectName20 = timer1
- SccLocalPath20 = timer1
- SccProvider20 = MSSCCI:Jalindi\u0020Igloo
- CanCheckoutShared = true
- EndGlobalSection
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- Threads Debug = Threads Debug
- Threads DLL Debug = Threads DLL Debug
- Threads DLL Release = Threads DLL Release
- Threads Release = Threads Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Debug.ActiveCfg = Debug|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Debug.Build.0 = Debug|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Release.ActiveCfg = Release|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Release.Build.0 = Release|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Debug.ActiveCfg = Debug|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Debug.Build.0 = Debug|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Debug.Build.0 = Debug|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Release.ActiveCfg = Release|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads DLL Release.Build.0 = Release|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Release.ActiveCfg = Release|Win32
- {A90E248D-52FD-458F-90A5-F20F7ED1D564}.Threads Release.Build.0 = Release|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Debug.ActiveCfg = Debug|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Debug.Build.0 = Debug|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Release.ActiveCfg = Release|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Release.Build.0 = Release|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Debug.ActiveCfg = Debug|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Debug.Build.0 = Debug|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Debug.Build.0 = Debug|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Release.ActiveCfg = Release|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads DLL Release.Build.0 = Release|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Release.ActiveCfg = Release|Win32
- {B0C13353-9F2E-4714-A85C-6904B75B4345}.Threads Release.Build.0 = Release|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Debug.ActiveCfg = Debug|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Debug.Build.0 = Debug|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Release.ActiveCfg = Release|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Release.Build.0 = Release|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Debug.ActiveCfg = Debug|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Debug.Build.0 = Debug|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Debug.Build.0 = Debug|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Release.ActiveCfg = Release|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads DLL Release.Build.0 = Release|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Release.ActiveCfg = Release|Win32
- {3F3FDEA7-90CC-43CF-A2C5-2BF345705B02}.Threads Release.Build.0 = Release|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Debug.ActiveCfg = Debug|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Debug.Build.0 = Debug|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Release.ActiveCfg = Release|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Release.Build.0 = Release|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Debug.ActiveCfg = Debug|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Debug.Build.0 = Debug|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Debug.Build.0 = Debug|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Release.ActiveCfg = Release|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads DLL Release.Build.0 = Release|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Release.ActiveCfg = Release|Win32
- {9A54D435-A3E6-4AA6-ACE3-702D7C411E4E}.Threads Release.Build.0 = Release|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Debug.ActiveCfg = Debug|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Debug.Build.0 = Debug|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Release.ActiveCfg = Release|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Release.Build.0 = Release|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Debug.ActiveCfg = Debug|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Debug.Build.0 = Debug|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Debug.Build.0 = Debug|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Release.ActiveCfg = Release|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Threads DLL Release.Build.0 = Release|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Release.ActiveCfg = Release|Win32
- {D891041F-303E-4E99-868F-11FF58E0C779}.Threads Release.Build.0 = Release|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Debug.ActiveCfg = Debug|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Debug.Build.0 = Debug|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Release.ActiveCfg = Release|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Release.Build.0 = Release|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Debug.ActiveCfg = Debug|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Debug.Build.0 = Debug|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Debug.Build.0 = Debug|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Release.ActiveCfg = Release|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads DLL Release.Build.0 = Release|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Release.ActiveCfg = Release|Win32
- {EA839AFE-95F0-47CF-9A78-72EF51CB9940}.Threads Release.Build.0 = Release|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Debug.ActiveCfg = Debug|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Debug.Build.0 = Debug|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Release.ActiveCfg = Release|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Release.Build.0 = Release|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Debug.ActiveCfg = Debug|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Debug.Build.0 = Debug|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Debug.Build.0 = Debug|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Release.ActiveCfg = Release|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads DLL Release.Build.0 = Release|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Release.ActiveCfg = Release|Win32
- {C568D327-EA97-49C8-AF05-5FD7D35B6191}.Threads Release.Build.0 = Release|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Debug.ActiveCfg = Debug|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Debug.Build.0 = Debug|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Release.ActiveCfg = Release|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Release.Build.0 = Release|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Debug.ActiveCfg = Debug|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Debug.Build.0 = Debug|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Debug.Build.0 = Debug|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Release.ActiveCfg = Release|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads DLL Release.Build.0 = Release|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Release.ActiveCfg = Release|Win32
- {723071BA-FE33-4C29-AB7B-6AB30B6057F7}.Threads Release.Build.0 = Release|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Debug.ActiveCfg = Debug|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Debug.Build.0 = Debug|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Release.ActiveCfg = Release|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Release.Build.0 = Release|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Debug.ActiveCfg = Threads Debug|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Debug.Build.0 = Threads Debug|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Debug.ActiveCfg = Threads DLL Debug|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Debug.Build.0 = Threads DLL Debug|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Release.ActiveCfg = Threads DLL Release|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads DLL Release.Build.0 = Threads DLL Release|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Release.ActiveCfg = Threads Release|Win32
- {A0882797-7925-4AA3-93EA-7241487CECC5}.Threads Release.Build.0 = Threads Release|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Debug.ActiveCfg = Debug|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Debug.Build.0 = Debug|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Release.ActiveCfg = Release|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Release.Build.0 = Release|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Debug.ActiveCfg = Debug|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Debug.Build.0 = Debug|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Debug.Build.0 = Debug|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Release.ActiveCfg = Release|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads DLL Release.Build.0 = Release|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Release.ActiveCfg = Release|Win32
- {4560EF26-304A-424F-B882-1F65A1F4DC67}.Threads Release.Build.0 = Release|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Debug.ActiveCfg = Debug|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Debug.Build.0 = Debug|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Release.ActiveCfg = Release|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Release.Build.0 = Release|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Debug.ActiveCfg = Debug|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Debug.Build.0 = Debug|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Debug.Build.0 = Debug|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Release.ActiveCfg = Release|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads DLL Release.Build.0 = Release|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Release.ActiveCfg = Release|Win32
- {5F58157D-ABB1-4066-A143-C14515A3D7F9}.Threads Release.Build.0 = Release|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Debug.ActiveCfg = Debug|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Debug.Build.0 = Debug|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Release.ActiveCfg = Release|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Release.Build.0 = Release|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Debug.ActiveCfg = Debug|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Debug.Build.0 = Debug|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Debug.Build.0 = Debug|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Release.ActiveCfg = Release|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads DLL Release.Build.0 = Release|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Release.ActiveCfg = Release|Win32
- {B6D40688-2D3E-4DAA-8004-706FAA731F18}.Threads Release.Build.0 = Release|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Debug.ActiveCfg = Debug|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Debug.Build.0 = Debug|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Release.ActiveCfg = Release|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Release.Build.0 = Release|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Debug.ActiveCfg = Debug|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Debug.Build.0 = Debug|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Debug.Build.0 = Debug|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Release.ActiveCfg = Release|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads DLL Release.Build.0 = Release|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Release.ActiveCfg = Release|Win32
- {CF5E59F3-2AEE-40DD-8D59-8E8C407864F9}.Threads Release.Build.0 = Release|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Debug.ActiveCfg = Debug|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Debug.Build.0 = Debug|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Release.ActiveCfg = Release|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Release.Build.0 = Release|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Debug.ActiveCfg = Debug|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Debug.Build.0 = Debug|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Debug.Build.0 = Debug|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Release.ActiveCfg = Release|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads DLL Release.Build.0 = Release|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Release.ActiveCfg = Release|Win32
- {4880ABD9-1598-4D5E-B4D3-558E8648405D}.Threads Release.Build.0 = Release|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Debug.ActiveCfg = Debug|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Debug.Build.0 = Debug|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Release.ActiveCfg = Release|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Release.Build.0 = Release|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Debug.ActiveCfg = Debug|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Debug.Build.0 = Debug|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Debug.Build.0 = Debug|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Release.ActiveCfg = Release|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads DLL Release.Build.0 = Release|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Release.ActiveCfg = Release|Win32
- {325D0FC7-AED9-487E-9FE5-4DEC305C2799}.Threads Release.Build.0 = Release|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Debug.ActiveCfg = Debug|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Debug.Build.0 = Debug|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Release.ActiveCfg = Release|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Release.Build.0 = Release|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Debug.ActiveCfg = Debug|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Debug.Build.0 = Debug|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Debug.Build.0 = Debug|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Release.ActiveCfg = Release|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads DLL Release.Build.0 = Release|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Release.ActiveCfg = Release|Win32
- {A9B22491-39A4-4010-ABDF-5C8EF80432D7}.Threads Release.Build.0 = Release|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Debug.ActiveCfg = Debug|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Debug.Build.0 = Debug|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Release.ActiveCfg = Release|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Release.Build.0 = Release|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Debug.ActiveCfg = Debug|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Debug.Build.0 = Debug|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Debug.Build.0 = Debug|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Release.ActiveCfg = Release|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads DLL Release.Build.0 = Release|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Release.ActiveCfg = Release|Win32
- {AD7C94F9-BB76-4588-BF89-491D7C6D40EC}.Threads Release.Build.0 = Release|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Debug.ActiveCfg = Debug|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Debug.Build.0 = Debug|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Release.ActiveCfg = Release|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Release.Build.0 = Release|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Debug.ActiveCfg = Debug|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Debug.Build.0 = Debug|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Debug.Build.0 = Debug|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Release.ActiveCfg = Release|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads DLL Release.Build.0 = Release|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Release.ActiveCfg = Release|Win32
- {18A3D222-AC98-4CFF-82C0-E5421AB39981}.Threads Release.Build.0 = Release|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Debug.ActiveCfg = Debug|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Debug.Build.0 = Debug|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Release.ActiveCfg = Release|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Release.Build.0 = Release|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Debug.ActiveCfg = Debug|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Debug.Build.0 = Debug|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Debug.Build.0 = Debug|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Release.ActiveCfg = Release|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads DLL Release.Build.0 = Release|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Release.ActiveCfg = Release|Win32
- {702908EB-47A9-45D0-BCC5-3448C98C73E6}.Threads Release.Build.0 = Release|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Debug.ActiveCfg = Debug|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Debug.Build.0 = Debug|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Release.ActiveCfg = Release|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Release.Build.0 = Release|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Debug.ActiveCfg = Debug|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Debug.Build.0 = Debug|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Debug.Build.0 = Debug|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Release.ActiveCfg = Release|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads DLL Release.Build.0 = Release|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Release.ActiveCfg = Release|Win32
- {4CC4B09F-1D36-46C7-A1DE-3C4DC366F485}.Threads Release.Build.0 = Release|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Debug.ActiveCfg = Debug|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Debug.Build.0 = Debug|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Release.ActiveCfg = Release|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Release.Build.0 = Release|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Debug.ActiveCfg = Debug|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Debug.Build.0 = Debug|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Debug.ActiveCfg = Debug|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Debug.Build.0 = Debug|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Release.ActiveCfg = Release|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads DLL Release.Build.0 = Release|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Release.ActiveCfg = Release|Win32
- {EAA8D47B-CFD7-40AC-92A8-189BEF3E8C64}.Threads Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal