diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2002-12-02 19:36:35 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2002-12-02 19:36:35 +0000 |
commit | 1242ecdbfafd008263f0cca418c10dc1322ff21f (patch) | |
tree | 657a90e8d83af95f6fe876d2ec296603b08b26b7 /externals | |
parent | 9815096db22c73cacdbb65512d1b61d633db7fa8 (diff) |
""
svn path=/trunk/; revision=268
Diffstat (limited to 'externals')
-rwxr-xr-x | externals/grill/flext/flext-PB/flext-PB.pbproj/project.pbxproj | 1718 | ||||
-rwxr-xr-x | externals/grill/flext/flext-PB/flext-PB.pbproj/thomas.pbxuser | 1370 | ||||
-rw-r--r-- | externals/grill/guitest/flgui.cpp | 646 | ||||
-rw-r--r-- | externals/grill/guitest/flgui.h | 232 | ||||
-rw-r--r-- | externals/grill/guitest/flguiobj.cpp | 801 | ||||
-rw-r--r-- | externals/grill/guitest/flguiobj.h | 362 | ||||
-rw-r--r-- | externals/grill/guitest/guitest.dsp | 112 | ||||
-rw-r--r-- | externals/grill/guitest/main.cpp | 152 | ||||
-rw-r--r-- | externals/grill/pool/pool.cpp | 25 | ||||
-rwxr-xr-x | externals/grill/pool/pool.cw | bin | 59193 -> 95908 bytes | |||
-rwxr-xr-x | externals/grill/pool/pool.help | bin | 5345 -> 5347 bytes | |||
-rw-r--r-- | externals/grill/py/scripts/sendrecv.py | 13 | ||||
-rw-r--r-- | externals/grill/py/scripts/simple.py | 5 | ||||
-rw-r--r-- | externals/grill/py/scripts/tcltk.py | 8 | ||||
-rw-r--r-- | externals/grill/py/scripts/threads.py | 8 | ||||
-rw-r--r-- | externals/grill/xsample/source/main.cpp | 7 |
16 files changed, 5432 insertions, 27 deletions
diff --git a/externals/grill/flext/flext-PB/flext-PB.pbproj/project.pbxproj b/externals/grill/flext/flext-PB/flext-PB.pbproj/project.pbxproj new file mode 100755 index 00000000..8ce0d4c9 --- /dev/null +++ b/externals/grill/flext/flext-PB/flext-PB.pbproj/project.pbxproj @@ -0,0 +1,1718 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 38; + objects = { + 034768DDFF38A45A11DB9C8B = { + children = ( + F55CEDC20383E6E401A80AC9, + F55CEE120383F55201A80AC9, + F55CEE2F0383F57A01A80AC9, + F55CEE4C0383F59B01A80AC9, + F5AAF632038683E801A80AC9, + F59A5FAD0386DF3201A80AC9, + ); + isa = PBXGroup; + name = Products; + refType = 4; + }; +//030 +//031 +//032 +//033 +//034 +//080 +//081 +//082 +//083 +//084 + 0867D690FE84028FC02AAC07 = { + buildStyles = ( + F5128F2503864E5501A80AC9, + F5128F2603864E5501A80AC9, + ); + isa = PBXProject; + mainGroup = 0867D691FE84028FC02AAC07; + productRefGroup = 034768DDFF38A45A11DB9C8B; + projectDirPath = ""; + targets = ( + F55CEE4E0383F97301A80AC9, + F55CEDC10383E6E401A80AC9, + F55CEDF60383F55201A80AC9, + F55CEE130383F57A01A80AC9, + F55CEE300383F59B01A80AC9, + F5AAF616038683E801A80AC9, + F59A5F910386DF3201A80AC9, + ); + }; + 0867D691FE84028FC02AAC07 = { + children = ( + F55CEDB50383E50D01A80AC9, + 08FB77ACFE841707C02AAC07, + 089C1665FE841158C02AAC07, + 0867D69AFE84028FC02AAC07, + 034768DDFF38A45A11DB9C8B, + ); + isa = PBXGroup; + name = "flext-PB"; + refType = 4; + }; + 0867D69AFE84028FC02AAC07 = { + children = ( + 08FB77AAFE841565C02AAC07, + ); + isa = PBXGroup; + name = "External Frameworks and Libraries"; + refType = 4; + }; + 089C1665FE841158C02AAC07 = { + children = ( + 089C1666FE841158C02AAC07, + ); + isa = PBXGroup; + name = Resources; + refType = 4; + }; + 089C1666FE841158C02AAC07 = { + children = ( + 089C1667FE841158C02AAC07, + ); + isa = PBXVariantGroup; + name = InfoPlist.strings; + refType = 4; + }; + 089C1667FE841158C02AAC07 = { + fileEncoding = 10; + isa = PBXFileReference; + name = English; + path = English.lproj/InfoPlist.strings; + refType = 4; + }; + 08FB77AAFE841565C02AAC07 = { + isa = PBXFrameworkReference; + name = Carbon.framework; + path = /System/Library/Frameworks/Carbon.framework; + refType = 0; + }; + 08FB77ACFE841707C02AAC07 = { + children = ( + F55CED7B0383E50201A80AC9, + F55CED7C0383E50201A80AC9, + F55CED7D0383E50201A80AC9, + F55CED7E0383E50201A80AC9, + F55CED800383E50201A80AC9, + F55CED880383E50201A80AC9, + F55CED8A0383E50201A80AC9, + F55CED8D0383E50201A80AC9, + F55CED8F0383E50201A80AC9, + F55CED900383E50201A80AC9, + F55CED930383E50201A80AC9, + F55CED950383E50201A80AC9, + F55CED960383E50201A80AC9, + F55CED970383E50201A80AC9, + ); + isa = PBXGroup; + name = Source; + refType = 4; + }; +//080 +//081 +//082 +//083 +//084 +//F50 +//F51 +//F52 +//F53 +//F54 + F5128F2503864E5501A80AC9 = { + buildRules = ( + ); + buildSettings = { + COPY_PHASE_STRIP = NO; + }; + isa = PBXBuildStyle; + name = Development; + }; + F5128F2603864E5501A80AC9 = { + buildRules = ( + ); + buildSettings = { + COPY_PHASE_STRIP = YES; + }; + isa = PBXBuildStyle; + name = Deployment; + }; + F55CED7B0383E50201A80AC9 = { + isa = PBXFileReference; + name = "flatom-pr.cpp"; + path = "../source/flatom-pr.cpp"; + refType = 2; + }; + F55CED7C0383E50201A80AC9 = { + isa = PBXFileReference; + name = flatom.cpp; + path = ../source/flatom.cpp; + refType = 2; + }; + F55CED7D0383E50201A80AC9 = { + isa = PBXFileReference; + name = flattr.cpp; + path = ../source/flattr.cpp; + refType = 2; + }; + F55CED7E0383E50201A80AC9 = { + isa = PBXFileReference; + name = flbase.cpp; + path = ../source/flbase.cpp; + refType = 2; + }; + F55CED7F0383E50201A80AC9 = { + isa = PBXFileReference; + name = flbase.h; + path = /Volumes/Daten/Prog/max/flext/source/flbase.h; + refType = 0; + }; + F55CED800383E50201A80AC9 = { + isa = PBXFileReference; + name = flbuf.cpp; + path = ../source/flbuf.cpp; + refType = 2; + }; + F55CED810383E50201A80AC9 = { + isa = PBXFileReference; + name = flclass.h; + path = /Volumes/Daten/Prog/max/flext/source/flclass.h; + refType = 0; + }; + F55CED860383E50201A80AC9 = { + isa = PBXFileReference; + name = fldefs.h; + path = /Volumes/Daten/Prog/max/flext/source/fldefs.h; + refType = 0; + }; + F55CED870383E50201A80AC9 = { + isa = PBXFileReference; + name = fldoxygen.h; + path = /Volumes/Daten/Prog/max/flext/source/fldoxygen.h; + refType = 0; + }; + F55CED880383E50201A80AC9 = { + isa = PBXFileReference; + name = fldsp.cpp; + path = ../source/fldsp.cpp; + refType = 2; + }; + F55CED890383E50201A80AC9 = { + isa = PBXFileReference; + name = fldsp.h; + path = /Volumes/Daten/Prog/max/flext/source/fldsp.h; + refType = 0; + }; + F55CED8A0383E50201A80AC9 = { + isa = PBXFileReference; + name = flext.cpp; + path = ../source/flext.cpp; + refType = 2; + }; + F55CED8B0383E50201A80AC9 = { + isa = PBXFileReference; + name = flext.h; + path = /Volumes/Daten/Prog/max/flext/source/flext.h; + refType = 0; + }; + F55CED8C0383E50201A80AC9 = { + isa = PBXFileReference; + name = flinternal.h; + path = /Volumes/Daten/Prog/max/flext/source/flinternal.h; + refType = 0; + }; + F55CED8D0383E50201A80AC9 = { + isa = PBXFileReference; + name = fllib.cpp; + path = ../source/fllib.cpp; + refType = 2; + }; + F55CED8E0383E50201A80AC9 = { + isa = PBXFileReference; + name = flmspbuffer.h; + path = /Volumes/Daten/Prog/max/flext/source/flmspbuffer.h; + refType = 0; + }; + F55CED8F0383E50201A80AC9 = { + isa = PBXFileReference; + name = flout.cpp; + path = ../source/flout.cpp; + refType = 2; + }; + F55CED900383E50201A80AC9 = { + isa = PBXFileReference; + name = flsndobj.cpp; + path = ../source/flsndobj.cpp; + refType = 2; + }; + F55CED910383E50201A80AC9 = { + isa = PBXFileReference; + name = flsndobj.h; + path = /Volumes/Daten/Prog/max/flext/source/flsndobj.h; + refType = 0; + }; + F55CED920383E50201A80AC9 = { + isa = PBXFileReference; + name = flstdc.h; + path = /Volumes/Daten/Prog/max/flext/source/flstdc.h; + refType = 0; + }; + F55CED930383E50201A80AC9 = { + isa = PBXFileReference; + name = flsupport.cpp; + path = ../source/flsupport.cpp; + refType = 2; + }; + F55CED940383E50201A80AC9 = { + isa = PBXFileReference; + name = flsupport.h; + path = /Volumes/Daten/Prog/max/flext/source/flsupport.h; + refType = 0; + }; + F55CED950383E50201A80AC9 = { + isa = PBXFileReference; + name = flthr.cpp; + path = ../source/flthr.cpp; + refType = 2; + }; + F55CED960383E50201A80AC9 = { + isa = PBXFileReference; + name = flutil.cpp; + path = ../source/flutil.cpp; + refType = 2; + }; + F55CED970383E50201A80AC9 = { + isa = PBXFileReference; + name = flxlet.cpp; + path = ../source/flxlet.cpp; + refType = 2; + }; + F55CEDB50383E50D01A80AC9 = { + children = ( + F55CED7F0383E50201A80AC9, + F55CED810383E50201A80AC9, + F55CED860383E50201A80AC9, + F55CED870383E50201A80AC9, + F55CED890383E50201A80AC9, + F55CED8B0383E50201A80AC9, + F55CED8C0383E50201A80AC9, + F55CED8E0383E50201A80AC9, + F55CED910383E50201A80AC9, + F55CED920383E50201A80AC9, + F55CED940383E50201A80AC9, + ); + isa = PBXGroup; + name = Headers; + refType = 4; + }; + F55CEDBD0383E6E401A80AC9 = { + buildActionMask = 2147483647; + files = ( + F55CEDD20383E79301A80AC9, + F55CEDD30383E79301A80AC9, + F55CEDD40383E79401A80AC9, + F55CEDD50383E79501A80AC9, + F55CEDD60383E79701A80AC9, + F55CEDD70383E79801A80AC9, + F55CEDD80383E79901A80AC9, + F55CEDD90383E79901A80AC9, + F55CEDDB0383E79B01A80AC9, + F55CEDDC0383E79B01A80AC9, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEDBE0383E6E401A80AC9 = { + buildActionMask = 2147483647; + files = ( + F55CEDC40383E78701A80AC9, + F55CEDC50383E78701A80AC9, + F55CEDC60383E78801A80AC9, + F55CEDC70383E78901A80AC9, + F55CEDC80383E78A01A80AC9, + F55CEDC90383E78B01A80AC9, + F55CEDCA0383E78B01A80AC9, + F55CEDCB0383E78D01A80AC9, + F55CEDCC0383E78E01A80AC9, + F55CEDCE0383E78F01A80AC9, + F55CEDCF0383E79001A80AC9, + F55CEDD00383E79101A80AC9, + F55CEDD10383E79101A80AC9, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEDBF0383E6E401A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEDC00383E6E401A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXRezBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEDC10383E6E401A80AC9 = { + buildPhases = ( + F55CEDBD0383E6E401A80AC9, + F55CEDBE0383E6E401A80AC9, + F55CEDBF0383E6E401A80AC9, + F55CEDC00383E6E401A80AC9, + ); + buildSettings = { + DEBUGGING_SYMBOLS = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + HEADER_SEARCH_PATHS = /usr/local/pd/src; + INSTALL_PATH = /usr/local/pd/flext; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O3"; + OTHER_CFLAGS = "-D PD -D unix"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = flext.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + comments = "flext for PD running on OS X (darwin)\nsingle threaded performance version"; + dependencies = ( + ); + isa = PBXLibraryTarget; + name = "PD@OSX single"; + productInstallPath = /usr/local/pd/flext; + productName = "PD@OSX"; + productReference = F55CEDC20383E6E401A80AC9; + shouldUseHeadermap = 0; + }; + F55CEDC20383E6E401A80AC9 = { + isa = PBXLibraryReference; + path = flext.a; + refType = 3; + }; + F55CEDC40383E78701A80AC9 = { + fileRef = F55CED7B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDC50383E78701A80AC9 = { + fileRef = F55CED7C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDC60383E78801A80AC9 = { + fileRef = F55CED7D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDC70383E78901A80AC9 = { + fileRef = F55CED7E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDC80383E78A01A80AC9 = { + fileRef = F55CED800383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDC90383E78B01A80AC9 = { + fileRef = F55CED880383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDCA0383E78B01A80AC9 = { + fileRef = F55CED8A0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDCB0383E78D01A80AC9 = { + fileRef = F55CED8D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDCC0383E78E01A80AC9 = { + fileRef = F55CED8F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDCE0383E78F01A80AC9 = { + fileRef = F55CED930383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDCF0383E79001A80AC9 = { + fileRef = F55CED950383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD00383E79101A80AC9 = { + fileRef = F55CED960383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD10383E79101A80AC9 = { + fileRef = F55CED970383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD20383E79301A80AC9 = { + fileRef = F55CED7F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD30383E79301A80AC9 = { + fileRef = F55CED810383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD40383E79401A80AC9 = { + fileRef = F55CED860383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD50383E79501A80AC9 = { + fileRef = F55CED870383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD60383E79701A80AC9 = { + fileRef = F55CED890383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD70383E79801A80AC9 = { + fileRef = F55CED8B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD80383E79901A80AC9 = { + fileRef = F55CED8C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDD90383E79901A80AC9 = { + fileRef = F55CED8E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDDB0383E79B01A80AC9 = { + fileRef = F55CED920383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDDC0383E79B01A80AC9 = { + fileRef = F55CED940383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDF60383F55201A80AC9 = { + buildPhases = ( + F55CEDF70383F55201A80AC9, + F55CEE020383F55201A80AC9, + F55CEE100383F55201A80AC9, + F55CEE110383F55201A80AC9, + ); + buildSettings = { + DEBUGGING_SYMBOLS = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + HEADER_SEARCH_PATHS = /usr/local/pd/src; + INSTALL_PATH = /usr/local/pd/flext; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O3"; + OTHER_CFLAGS = "-D PD -D unix -D FLEXT_THREADS"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = flext_t.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + comments = "flext for PD running on OS X (darwin)\nmulti-threaded performance version"; + dependencies = ( + ); + isa = PBXLibraryTarget; + name = "PD@OSX threaded"; + productInstallPath = /usr/local/pd/flext; + productName = "PD@OSX"; + productReference = F55CEE120383F55201A80AC9; + shouldUseHeadermap = 0; + }; + F55CEDF70383F55201A80AC9 = { + buildActionMask = 2147483647; + files = ( + F55CEDF80383F55201A80AC9, + F55CEDF90383F55201A80AC9, + F55CEDFA0383F55201A80AC9, + F55CEDFB0383F55201A80AC9, + F55CEDFC0383F55201A80AC9, + F55CEDFD0383F55201A80AC9, + F55CEDFE0383F55201A80AC9, + F55CEDFF0383F55201A80AC9, + F55CEE000383F55201A80AC9, + F55CEE010383F55201A80AC9, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEDF80383F55201A80AC9 = { + fileRef = F55CED7F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDF90383F55201A80AC9 = { + fileRef = F55CED810383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDFA0383F55201A80AC9 = { + fileRef = F55CED860383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDFB0383F55201A80AC9 = { + fileRef = F55CED870383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDFC0383F55201A80AC9 = { + fileRef = F55CED890383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDFD0383F55201A80AC9 = { + fileRef = F55CED8B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDFE0383F55201A80AC9 = { + fileRef = F55CED8C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEDFF0383F55201A80AC9 = { + fileRef = F55CED8E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE000383F55201A80AC9 = { + fileRef = F55CED920383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE010383F55201A80AC9 = { + fileRef = F55CED940383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE020383F55201A80AC9 = { + buildActionMask = 2147483647; + files = ( + F55CEE030383F55201A80AC9, + F55CEE040383F55201A80AC9, + F55CEE050383F55201A80AC9, + F55CEE060383F55201A80AC9, + F55CEE070383F55201A80AC9, + F55CEE080383F55201A80AC9, + F55CEE090383F55201A80AC9, + F55CEE0A0383F55201A80AC9, + F55CEE0B0383F55201A80AC9, + F55CEE0C0383F55201A80AC9, + F55CEE0D0383F55201A80AC9, + F55CEE0E0383F55201A80AC9, + F55CEE0F0383F55201A80AC9, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE030383F55201A80AC9 = { + fileRef = F55CED7B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE040383F55201A80AC9 = { + fileRef = F55CED7C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE050383F55201A80AC9 = { + fileRef = F55CED7D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE060383F55201A80AC9 = { + fileRef = F55CED7E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE070383F55201A80AC9 = { + fileRef = F55CED800383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE080383F55201A80AC9 = { + fileRef = F55CED880383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE090383F55201A80AC9 = { + fileRef = F55CED8A0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE0A0383F55201A80AC9 = { + fileRef = F55CED8D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE0B0383F55201A80AC9 = { + fileRef = F55CED8F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE0C0383F55201A80AC9 = { + fileRef = F55CED930383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE0D0383F55201A80AC9 = { + fileRef = F55CED950383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE0E0383F55201A80AC9 = { + fileRef = F55CED960383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE0F0383F55201A80AC9 = { + fileRef = F55CED970383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE100383F55201A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE110383F55201A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXRezBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE120383F55201A80AC9 = { + isa = PBXLibraryReference; + path = flext_t.a; + refType = 3; + }; + F55CEE130383F57A01A80AC9 = { + buildPhases = ( + F55CEE140383F57A01A80AC9, + F55CEE1F0383F57A01A80AC9, + F55CEE2D0383F57A01A80AC9, + F55CEE2E0383F57A01A80AC9, + ); + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + HEADER_SEARCH_PATHS = /usr/local/pd/src; + INSTALL_PATH = /usr/local/pd/flext; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = "-D PD -D unix -D _DEBUG"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = flext_d.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + comments = "flext for PD running on OS X (darwin)\nsingle threaded debug version"; + dependencies = ( + ); + isa = PBXLibraryTarget; + name = "PD@OSX debug single"; + productInstallPath = /usr/local/pd/flext; + productName = "PD@OSX"; + productReference = F55CEE2F0383F57A01A80AC9; + shouldUseHeadermap = 0; + }; + F55CEE140383F57A01A80AC9 = { + buildActionMask = 2147483647; + files = ( + F55CEE150383F57A01A80AC9, + F55CEE160383F57A01A80AC9, + F55CEE170383F57A01A80AC9, + F55CEE180383F57A01A80AC9, + F55CEE190383F57A01A80AC9, + F55CEE1A0383F57A01A80AC9, + F55CEE1B0383F57A01A80AC9, + F55CEE1C0383F57A01A80AC9, + F55CEE1D0383F57A01A80AC9, + F55CEE1E0383F57A01A80AC9, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE150383F57A01A80AC9 = { + fileRef = F55CED7F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE160383F57A01A80AC9 = { + fileRef = F55CED810383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE170383F57A01A80AC9 = { + fileRef = F55CED860383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE180383F57A01A80AC9 = { + fileRef = F55CED870383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE190383F57A01A80AC9 = { + fileRef = F55CED890383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE1A0383F57A01A80AC9 = { + fileRef = F55CED8B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE1B0383F57A01A80AC9 = { + fileRef = F55CED8C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE1C0383F57A01A80AC9 = { + fileRef = F55CED8E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE1D0383F57A01A80AC9 = { + fileRef = F55CED920383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE1E0383F57A01A80AC9 = { + fileRef = F55CED940383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE1F0383F57A01A80AC9 = { + buildActionMask = 2147483647; + files = ( + F55CEE200383F57A01A80AC9, + F55CEE210383F57A01A80AC9, + F55CEE220383F57A01A80AC9, + F55CEE230383F57A01A80AC9, + F55CEE240383F57A01A80AC9, + F55CEE250383F57A01A80AC9, + F55CEE260383F57A01A80AC9, + F55CEE270383F57A01A80AC9, + F55CEE280383F57A01A80AC9, + F55CEE290383F57A01A80AC9, + F55CEE2A0383F57A01A80AC9, + F55CEE2B0383F57A01A80AC9, + F55CEE2C0383F57A01A80AC9, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE200383F57A01A80AC9 = { + fileRef = F55CED7B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE210383F57A01A80AC9 = { + fileRef = F55CED7C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE220383F57A01A80AC9 = { + fileRef = F55CED7D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE230383F57A01A80AC9 = { + fileRef = F55CED7E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE240383F57A01A80AC9 = { + fileRef = F55CED800383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE250383F57A01A80AC9 = { + fileRef = F55CED880383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE260383F57A01A80AC9 = { + fileRef = F55CED8A0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE270383F57A01A80AC9 = { + fileRef = F55CED8D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE280383F57A01A80AC9 = { + fileRef = F55CED8F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE290383F57A01A80AC9 = { + fileRef = F55CED930383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE2A0383F57A01A80AC9 = { + fileRef = F55CED950383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE2B0383F57A01A80AC9 = { + fileRef = F55CED960383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE2C0383F57A01A80AC9 = { + fileRef = F55CED970383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE2D0383F57A01A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE2E0383F57A01A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXRezBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE2F0383F57A01A80AC9 = { + isa = PBXLibraryReference; + path = flext_d.a; + refType = 3; + }; + F55CEE300383F59B01A80AC9 = { + buildPhases = ( + F55CEE310383F59B01A80AC9, + F55CEE3C0383F59B01A80AC9, + F55CEE4A0383F59B01A80AC9, + F55CEE4B0383F59B01A80AC9, + ); + buildSettings = { + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + HEADER_SEARCH_PATHS = /usr/local/pd/src; + INSTALL_PATH = /usr/local/pd/flext; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O0"; + OTHER_CFLAGS = "-D PD -D unix -D FLEXT_THREADS -D _DEBUG"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = flext_td.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + comments = "flext for PD running on OS X (darwin)\nmulti-threaded debug version"; + dependencies = ( + ); + isa = PBXLibraryTarget; + name = "PD@OSX debug threaded"; + productInstallPath = /usr/local/pd/flext; + productName = "PD@OSX"; + productReference = F55CEE4C0383F59B01A80AC9; + shouldUseHeadermap = 0; + }; + F55CEE310383F59B01A80AC9 = { + buildActionMask = 2147483647; + files = ( + F55CEE320383F59B01A80AC9, + F55CEE330383F59B01A80AC9, + F55CEE340383F59B01A80AC9, + F55CEE350383F59B01A80AC9, + F55CEE360383F59B01A80AC9, + F55CEE370383F59B01A80AC9, + F55CEE380383F59B01A80AC9, + F55CEE390383F59B01A80AC9, + F55CEE3A0383F59B01A80AC9, + F55CEE3B0383F59B01A80AC9, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE320383F59B01A80AC9 = { + fileRef = F55CED7F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE330383F59B01A80AC9 = { + fileRef = F55CED810383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE340383F59B01A80AC9 = { + fileRef = F55CED860383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE350383F59B01A80AC9 = { + fileRef = F55CED870383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE360383F59B01A80AC9 = { + fileRef = F55CED890383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE370383F59B01A80AC9 = { + fileRef = F55CED8B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE380383F59B01A80AC9 = { + fileRef = F55CED8C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE390383F59B01A80AC9 = { + fileRef = F55CED8E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE3A0383F59B01A80AC9 = { + fileRef = F55CED920383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE3B0383F59B01A80AC9 = { + fileRef = F55CED940383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE3C0383F59B01A80AC9 = { + buildActionMask = 2147483647; + files = ( + F55CEE3D0383F59B01A80AC9, + F55CEE3E0383F59B01A80AC9, + F55CEE3F0383F59B01A80AC9, + F55CEE400383F59B01A80AC9, + F55CEE410383F59B01A80AC9, + F55CEE420383F59B01A80AC9, + F55CEE430383F59B01A80AC9, + F55CEE440383F59B01A80AC9, + F55CEE450383F59B01A80AC9, + F55CEE460383F59B01A80AC9, + F55CEE470383F59B01A80AC9, + F55CEE480383F59B01A80AC9, + F55CEE490383F59B01A80AC9, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE3D0383F59B01A80AC9 = { + fileRef = F55CED7B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE3E0383F59B01A80AC9 = { + fileRef = F55CED7C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE3F0383F59B01A80AC9 = { + fileRef = F55CED7D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE400383F59B01A80AC9 = { + fileRef = F55CED7E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE410383F59B01A80AC9 = { + fileRef = F55CED800383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE420383F59B01A80AC9 = { + fileRef = F55CED880383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE430383F59B01A80AC9 = { + fileRef = F55CED8A0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE440383F59B01A80AC9 = { + fileRef = F55CED8D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE450383F59B01A80AC9 = { + fileRef = F55CED8F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE460383F59B01A80AC9 = { + fileRef = F55CED930383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE470383F59B01A80AC9 = { + fileRef = F55CED950383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE480383F59B01A80AC9 = { + fileRef = F55CED960383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE490383F59B01A80AC9 = { + fileRef = F55CED970383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F55CEE4A0383F59B01A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE4B0383F59B01A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXRezBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F55CEE4C0383F59B01A80AC9 = { + isa = PBXLibraryReference; + path = flext_td.a; + refType = 3; + }; + F55CEE4E0383F97301A80AC9 = { + buildPhases = ( + ); + buildSettings = { + OTHER_CFLAGS = ""; + OTHER_LDFLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = All; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + dependencies = ( + F55CEE530383F9A301A80AC9, + F55CEE540383F9A301A80AC9, + F55CEE550383F9A301A80AC9, + F55CEE560383F9A301A80AC9, + ); + isa = PBXAggregateTarget; + name = "PD@OSX"; + productName = "PD@OSX"; + shouldUseHeadermap = 0; + }; + F55CEE530383F9A301A80AC9 = { + isa = PBXTargetDependency; + target = F55CEDC10383E6E401A80AC9; + }; + F55CEE540383F9A301A80AC9 = { + isa = PBXTargetDependency; + target = F55CEDF60383F55201A80AC9; + }; + F55CEE550383F9A301A80AC9 = { + isa = PBXTargetDependency; + target = F55CEE130383F57A01A80AC9; + }; + F55CEE560383F9A301A80AC9 = { + isa = PBXTargetDependency; + target = F55CEE300383F59B01A80AC9; + }; + F59A5F910386DF3201A80AC9 = { + buildPhases = ( + F59A5F920386DF3201A80AC9, + F59A5F9D0386DF3201A80AC9, + F59A5FAB0386DF3201A80AC9, + F59A5FAC0386DF3201A80AC9, + ); + buildSettings = { + DEBUGGING_SYMBOLS = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + HEADER_SEARCH_PATHS = "\"$(SYSTEM_DEVELOPER_DIR)/Headers/FlatCarbon\" /Volumes/Daten/Prog/sdk-beta-osx/c74support/msp-includes /Volumes/Daten/Prog/sdk-beta-osx/c74support/max-includes"; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O3"; + OTHER_CFLAGS = "-D MAXMSP -D unix -D FLEXT_THREADS -Wno-reorder -Wno-switch"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = flext_t.max.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + comments = "flext for PD running on OS X (darwin)\nsingle threaded performance version"; + dependencies = ( + ); + isa = PBXLibraryTarget; + name = "Max@OSX threaded"; + productName = "PD@OSX"; + productReference = F59A5FAD0386DF3201A80AC9; + shouldUseHeadermap = 0; + }; + F59A5F920386DF3201A80AC9 = { + buildActionMask = 2147483647; + files = ( + F59A5F930386DF3201A80AC9, + F59A5F940386DF3201A80AC9, + F59A5F950386DF3201A80AC9, + F59A5F960386DF3201A80AC9, + F59A5F970386DF3201A80AC9, + F59A5F980386DF3201A80AC9, + F59A5F990386DF3201A80AC9, + F59A5F9A0386DF3201A80AC9, + F59A5F9B0386DF3201A80AC9, + F59A5F9C0386DF3201A80AC9, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F59A5F930386DF3201A80AC9 = { + fileRef = F55CED7F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F940386DF3201A80AC9 = { + fileRef = F55CED810383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F950386DF3201A80AC9 = { + fileRef = F55CED860383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F960386DF3201A80AC9 = { + fileRef = F55CED870383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F970386DF3201A80AC9 = { + fileRef = F55CED890383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F980386DF3201A80AC9 = { + fileRef = F55CED8B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F990386DF3201A80AC9 = { + fileRef = F55CED8C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F9A0386DF3201A80AC9 = { + fileRef = F55CED8E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F9B0386DF3201A80AC9 = { + fileRef = F55CED920383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F9C0386DF3201A80AC9 = { + fileRef = F55CED940383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F9D0386DF3201A80AC9 = { + buildActionMask = 2147483647; + files = ( + F59A5F9E0386DF3201A80AC9, + F59A5F9F0386DF3201A80AC9, + F59A5FA00386DF3201A80AC9, + F59A5FA10386DF3201A80AC9, + F59A5FA20386DF3201A80AC9, + F59A5FA30386DF3201A80AC9, + F59A5FA40386DF3201A80AC9, + F59A5FA50386DF3201A80AC9, + F59A5FA60386DF3201A80AC9, + F59A5FA70386DF3201A80AC9, + F59A5FA80386DF3201A80AC9, + F59A5FA90386DF3201A80AC9, + F59A5FAA0386DF3201A80AC9, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F59A5F9E0386DF3201A80AC9 = { + fileRef = F55CED7B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5F9F0386DF3201A80AC9 = { + fileRef = F55CED7C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA00386DF3201A80AC9 = { + fileRef = F55CED7D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA10386DF3201A80AC9 = { + fileRef = F55CED7E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA20386DF3201A80AC9 = { + fileRef = F55CED800383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA30386DF3201A80AC9 = { + fileRef = F55CED880383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA40386DF3201A80AC9 = { + fileRef = F55CED8A0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA50386DF3201A80AC9 = { + fileRef = F55CED8D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA60386DF3201A80AC9 = { + fileRef = F55CED8F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA70386DF3201A80AC9 = { + fileRef = F55CED930383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA80386DF3201A80AC9 = { + fileRef = F55CED950383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FA90386DF3201A80AC9 = { + fileRef = F55CED960383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FAA0386DF3201A80AC9 = { + fileRef = F55CED970383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F59A5FAB0386DF3201A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F59A5FAC0386DF3201A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXRezBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F59A5FAD0386DF3201A80AC9 = { + isa = PBXLibraryReference; + path = flext_t.max.a; + refType = 3; + }; + F5AAF616038683E801A80AC9 = { + buildPhases = ( + F5AAF617038683E801A80AC9, + F5AAF622038683E801A80AC9, + F5AAF630038683E801A80AC9, + F5AAF631038683E801A80AC9, + ); + buildSettings = { + DEBUGGING_SYMBOLS = NO; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + HEADER_SEARCH_PATHS = "\"$(SYSTEM_DEVELOPER_DIR)/Headers/FlatCarbon\" /Volumes/Daten/Prog/sdk-beta-osx/c74support/msp-includes /Volumes/Daten/Prog/sdk-beta-osx/c74support/max-includes"; + LIBRARY_STYLE = STATIC; + OPTIMIZATION_CFLAGS = "-O3"; + OTHER_CFLAGS = "-D MAXMSP -D unix"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOL_FLAGS = ""; + OTHER_REZFLAGS = ""; + PRODUCT_NAME = flext.max.a; + REZ_EXECUTABLE = YES; + SECTORDER_FLAGS = ""; + WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas"; + }; + comments = "flext for PD running on OS X (darwin)\nsingle threaded performance version"; + dependencies = ( + ); + isa = PBXLibraryTarget; + name = "Max@OSX single"; + productName = "PD@OSX"; + productReference = F5AAF632038683E801A80AC9; + shouldUseHeadermap = 0; + }; + F5AAF617038683E801A80AC9 = { + buildActionMask = 2147483647; + files = ( + F5AAF618038683E801A80AC9, + F5AAF619038683E801A80AC9, + F5AAF61A038683E801A80AC9, + F5AAF61B038683E801A80AC9, + F5AAF61C038683E801A80AC9, + F5AAF61D038683E801A80AC9, + F5AAF61E038683E801A80AC9, + F5AAF61F038683E801A80AC9, + F5AAF620038683E801A80AC9, + F5AAF621038683E801A80AC9, + ); + isa = PBXHeadersBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F5AAF618038683E801A80AC9 = { + fileRef = F55CED7F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF619038683E801A80AC9 = { + fileRef = F55CED810383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF61A038683E801A80AC9 = { + fileRef = F55CED860383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF61B038683E801A80AC9 = { + fileRef = F55CED870383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF61C038683E801A80AC9 = { + fileRef = F55CED890383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF61D038683E801A80AC9 = { + fileRef = F55CED8B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF61E038683E801A80AC9 = { + fileRef = F55CED8C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF61F038683E801A80AC9 = { + fileRef = F55CED8E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF620038683E801A80AC9 = { + fileRef = F55CED920383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF621038683E801A80AC9 = { + fileRef = F55CED940383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF622038683E801A80AC9 = { + buildActionMask = 2147483647; + files = ( + F5AAF623038683E801A80AC9, + F5AAF624038683E801A80AC9, + F5AAF625038683E801A80AC9, + F5AAF626038683E801A80AC9, + F5AAF627038683E801A80AC9, + F5AAF628038683E801A80AC9, + F5AAF629038683E801A80AC9, + F5AAF62A038683E801A80AC9, + F5AAF62B038683E801A80AC9, + F5AAF62C038683E801A80AC9, + F5AAF62D038683E801A80AC9, + F5AAF62E038683E801A80AC9, + F5AAF62F038683E801A80AC9, + ); + isa = PBXSourcesBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F5AAF623038683E801A80AC9 = { + fileRef = F55CED7B0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF624038683E801A80AC9 = { + fileRef = F55CED7C0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF625038683E801A80AC9 = { + fileRef = F55CED7D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF626038683E801A80AC9 = { + fileRef = F55CED7E0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF627038683E801A80AC9 = { + fileRef = F55CED800383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF628038683E801A80AC9 = { + fileRef = F55CED880383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF629038683E801A80AC9 = { + fileRef = F55CED8A0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF62A038683E801A80AC9 = { + fileRef = F55CED8D0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF62B038683E801A80AC9 = { + fileRef = F55CED8F0383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF62C038683E801A80AC9 = { + fileRef = F55CED930383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF62D038683E801A80AC9 = { + fileRef = F55CED950383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF62E038683E801A80AC9 = { + fileRef = F55CED960383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF62F038683E801A80AC9 = { + fileRef = F55CED970383E50201A80AC9; + isa = PBXBuildFile; + settings = { + }; + }; + F5AAF630038683E801A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXFrameworksBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F5AAF631038683E801A80AC9 = { + buildActionMask = 2147483647; + files = ( + ); + isa = PBXRezBuildPhase; + runOnlyForDeploymentPostprocessing = 0; + }; + F5AAF632038683E801A80AC9 = { + isa = PBXLibraryReference; + path = flext.max.a; + refType = 3; + }; + }; + rootObject = 0867D690FE84028FC02AAC07; +} diff --git a/externals/grill/flext/flext-PB/flext-PB.pbproj/thomas.pbxuser b/externals/grill/flext/flext-PB/flext-PB.pbproj/thomas.pbxuser new file mode 100755 index 00000000..975a358d --- /dev/null +++ b/externals/grill/flext/flext-PB/flext-PB.pbproj/thomas.pbxuser @@ -0,0 +1,1370 @@ +// !$*UTF8*$! +{ + 0867D690FE84028FC02AAC07 = { + activeBuildStyle = F5128F2503864E5501A80AC9; + activeTarget = F59A5F910386DF3201A80AC9; + addToTargets = ( + ); + perUserDictionary = { + PBXPerProjectTemplateStateSaveDate = 59170540; + PBXWorkspaceContents = ( + { + LeftSlideOut = { + Split0 = { + Split0 = { + NavContent0 = { + bookmark = F59A603E0386FAA401A80AC9; + history = ( + F55CEDDD0383EF9001A80AC9, + F55CEE580383FC2801A80AC9, + F5AAF63303868F5F01A80AC9, + F5AAF63403868F5F01A80AC9, + F5AAF63503868F5F01A80AC9, + F5AAF63703868F5F01A80AC9, + F5AAF63803868F5F01A80AC9, + F5AAF63903868F5F01A80AC9, + F5AAF63A03868F5F01A80AC9, + F5AAF63B03868F5F01A80AC9, + F59A60240386FAA401A80AC9, + F59A60250386FAA401A80AC9, + F59A60260386FAA401A80AC9, + F59A60270386FAA401A80AC9, + F59A60280386FAA401A80AC9, + F59A60290386FAA401A80AC9, + F59A602A0386FAA401A80AC9, + ); + prevStack = ( + F55CEDE30383EF9001A80AC9, + F55CEDE40383EF9001A80AC9, + F55CEDEB0383EF9001A80AC9, + F55CEDF20383EF9001A80AC9, + F55CEDF30383EF9001A80AC9, + F55CEE5E0383FC2801A80AC9, + F55CEE5F0383FC2801A80AC9, + F55CEE600383FC2801A80AC9, + F55CEE610383FC2801A80AC9, + F55CEE620383FC2801A80AC9, + F55CEE630383FC2801A80AC9, + F55CEE640383FC2801A80AC9, + F55CEE650383FC2801A80AC9, + F55CEE660383FC2801A80AC9, + F55CEE670383FC2801A80AC9, + F55CEE680383FC2801A80AC9, + F55CEE690383FC2801A80AC9, + F55CEE6A0383FC2801A80AC9, + F55CEE6B0383FC2801A80AC9, + F55CEE6C0383FC2801A80AC9, + F55CEE6D0383FC2801A80AC9, + F55CEE6E0383FC2801A80AC9, + F55CEE6F0383FC2801A80AC9, + F55CEE700383FC2801A80AC9, + F55CEE710383FC2801A80AC9, + F55CEE720383FC2801A80AC9, + F55CEE730383FC2801A80AC9, + F55CEE740383FC2801A80AC9, + F55CEE750383FC2801A80AC9, + F55CEE760383FC2801A80AC9, + F55CEE770383FC2801A80AC9, + F55CEE780383FC2801A80AC9, + F55CEE790383FC2801A80AC9, + F55CEE7A0383FC2801A80AC9, + F55CEE7B0383FC2801A80AC9, + F55CEE7C0383FC2801A80AC9, + F55CEE7D0383FC2801A80AC9, + F55CEE7E0383FC2801A80AC9, + F55CEE7F0383FC2801A80AC9, + F55CEE800383FC2801A80AC9, + F55CEE810383FC2801A80AC9, + F55CEE820383FC2801A80AC9, + F55CEE830383FC2801A80AC9, + F55CEE840383FC2801A80AC9, + F55CEE850383FC2801A80AC9, + F55CEE860383FC2801A80AC9, + F55CEE870383FC2801A80AC9, + F55CEE880383FC2801A80AC9, + F55CEE890383FC2801A80AC9, + F55CEE8A0383FC2801A80AC9, + F55CEE8B0383FC2801A80AC9, + F55CEE8C0383FC2801A80AC9, + F55CEE8D0383FC2801A80AC9, + F55CEE8E0383FC2801A80AC9, + F55CEE8F0383FC2801A80AC9, + F55CEE900383FC2801A80AC9, + F55CEE910383FC2801A80AC9, + F5AAF63D03868F5F01A80AC9, + F5AAF63E03868F5F01A80AC9, + F5AAF63F03868F5F01A80AC9, + F5AAF64003868F5F01A80AC9, + F5AAF64103868F5F01A80AC9, + F5AAF64203868F5F01A80AC9, + F5AAF64303868F5F01A80AC9, + F5AAF64403868F5F01A80AC9, + F5AAF64503868F5F01A80AC9, + F5AAF64603868F5F01A80AC9, + F5AAF64703868F5F01A80AC9, + F5AAF64803868F5F01A80AC9, + F5AAF64903868F5F01A80AC9, + F5AAF64A03868F5F01A80AC9, + F5AAF64B03868F5F01A80AC9, + F5AAF64C03868F5F01A80AC9, + F5AAF64D03868F5F01A80AC9, + F5AAF64E03868F5F01A80AC9, + F59A602B0386FAA401A80AC9, + F59A602C0386FAA401A80AC9, + F59A602D0386FAA401A80AC9, + F59A602E0386FAA401A80AC9, + F59A602F0386FAA401A80AC9, + F59A60300386FAA401A80AC9, + F59A60310386FAA401A80AC9, + F59A60320386FAA401A80AC9, + F59A60330386FAA401A80AC9, + F59A60340386FAA401A80AC9, + F59A60350386FAA401A80AC9, + F59A60360386FAA401A80AC9, + F59A60370386FAA401A80AC9, + F59A60380386FAA401A80AC9, + F59A60390386FAA401A80AC9, + F59A603A0386FAA401A80AC9, + F59A603B0386FAA401A80AC9, + F59A603C0386FAA401A80AC9, + F59A603D0386FAA401A80AC9, + ); + }; + NavCount = 1; + NavGeometry0 = { + Frame = "{{0, 0}, {878, 388}}"; + NavBarVisible = YES; + }; + }; + SplitCount = 1; + Tab0 = { + Debugger = { + Split0 = { + SplitCount = 2; + }; + SplitCount = 1; + TabCount = 2; + }; + LauncherConfigVersion = 7; + }; + Tab1 = { + LauncherConfigVersion = 3; + Runner = { + }; + }; + TabCount = 4; + }; + SplitCount = 1; + Tab1 = { + OptionsSetName = "Hierarchy, all classes"; + }; + TabCount = 5; + }; + }, + ); + PBXWorkspaceGeometries = ( + { + ContentSize = "{1109, 658}"; + LeftSlideOut = { + ActiveTab = 3; + Collapsed = NO; + Frame = "{{0, 23}, {1109, 635}}"; + Split0 = { + ActiveTab = 2; + Collapsed = NO; + Frame = "{{231, 0}, {878, 635}}"; + Split0 = { + Frame = "{{0, 247}, {878, 388}}"; + }; + SplitCount = 1; + Tab0 = { + Debugger = { + Collapsed = NO; + Frame = "{{0, 0}, {572, 214}}"; + Split0 = { + Frame = "{{0, 24}, {572, 190}}"; + Split0 = { + Frame = "{{0, 0}, {279, 190}}"; + }; + Split1 = { + DebugVariablesTableConfiguration = ( + Name, + 123, + Value, + 85, + Summary, + 62.123, + ); + Frame = "{{288, 0}, {284, 190}}"; + }; + SplitCount = 2; + }; + SplitCount = 1; + Tab0 = { + Frame = "{{0, 0}, {100, 50}}"; + }; + Tab1 = { + Frame = "{{0, 0}, {100, 50}}"; + }; + TabCount = 2; + TabsVisible = YES; + }; + Frame = "{{0, 0}, {572, 214}}"; + LauncherConfigVersion = 7; + }; + Tab1 = { + Frame = "{{0, 0}, {572, 125}}"; + LauncherConfigVersion = 3; + Runner = { + Frame = "{{0, 0}, {572, 125}}"; + }; + }; + Tab2 = { + BuildMessageFrame = "{{0, 0}, {880, 120}}"; + BuildTranscriptFrame = "{{0, 129}, {880, 96}}"; + Frame = "{{0, 0}, {878, 223}}"; + }; + Tab3 = { + Frame = "{{0, 0}, {572, 265}}"; + }; + TabCount = 4; + TabsVisible = YES; + }; + SplitCount = 1; + Tab0 = { + Frame = "{{0, 0}, {202, 635}}"; + GroupTreeTableConfiguration = ( + SCMStatusColumn, + 22, + TargetStatusColumn, + 18, + MainColumn, + 147, + ); + }; + Tab1 = { + ClassesFrame = "{{0, 0}, {247, 330}}"; + ClassesTreeTableConfiguration = ( + PBXBookColumnIdentifier, + 20, + PBXClassColumnIdentifier, + 204, + ); + Frame = "{{0, 0}, {245, 549}}"; + MembersFrame = "{{0, 339}, {247, 210}}"; + MembersTreeTableConfiguration = ( + PBXBookColumnIdentifier, + 20, + PBXMethodColumnIdentifier, + 203, + ); + }; + Tab2 = { + Frame = "{{0, 0}, {226, 549}}"; + }; + Tab3 = { + Frame = "{{0, 0}, {207, 635}}"; + TargetTableConfiguration = ( + ActiveObject, + 16, + ObjectNames, + 202.296, + ); + }; + Tab4 = { + BreakpointsTreeTableConfiguration = ( + breakpointColumn, + 138, + enabledColumn, + 31, + ); + Frame = "{{0, 0}, {191, 549}}"; + }; + TabCount = 5; + TabsVisible = YES; + }; + StatusViewVisible = YES; + Template = F5F68CF101725D4C0D7A8F4C; + ToolbarVisible = YES; + WindowLocation = "{14, 21}"; + }, + ); + PBXWorkspaceStateSaveDate = 59170540; + }; + perUserProjectItems = { + F55CEDDD0383EF9001A80AC9 = F55CEDDD0383EF9001A80AC9; + F55CEDE30383EF9001A80AC9 = F55CEDE30383EF9001A80AC9; + F55CEDE40383EF9001A80AC9 = F55CEDE40383EF9001A80AC9; + F55CEDEB0383EF9001A80AC9 = F55CEDEB0383EF9001A80AC9; + F55CEDF20383EF9001A80AC9 = F55CEDF20383EF9001A80AC9; + F55CEDF30383EF9001A80AC9 = F55CEDF30383EF9001A80AC9; + F55CEE580383FC2801A80AC9 = F55CEE580383FC2801A80AC9; + F55CEE5E0383FC2801A80AC9 = F55CEE5E0383FC2801A80AC9; + F55CEE5F0383FC2801A80AC9 = F55CEE5F0383FC2801A80AC9; + F55CEE600383FC2801A80AC9 = F55CEE600383FC2801A80AC9; + F55CEE610383FC2801A80AC9 = F55CEE610383FC2801A80AC9; + F55CEE620383FC2801A80AC9 = F55CEE620383FC2801A80AC9; + F55CEE630383FC2801A80AC9 = F55CEE630383FC2801A80AC9; + F55CEE640383FC2801A80AC9 = F55CEE640383FC2801A80AC9; + F55CEE650383FC2801A80AC9 = F55CEE650383FC2801A80AC9; + F55CEE660383FC2801A80AC9 = F55CEE660383FC2801A80AC9; + F55CEE670383FC2801A80AC9 = F55CEE670383FC2801A80AC9; + F55CEE680383FC2801A80AC9 = F55CEE680383FC2801A80AC9; + F55CEE690383FC2801A80AC9 = F55CEE690383FC2801A80AC9; + F55CEE6A0383FC2801A80AC9 = F55CEE6A0383FC2801A80AC9; + F55CEE6B0383FC2801A80AC9 = F55CEE6B0383FC2801A80AC9; + F55CEE6C0383FC2801A80AC9 = F55CEE6C0383FC2801A80AC9; + F55CEE6D0383FC2801A80AC9 = F55CEE6D0383FC2801A80AC9; + F55CEE6E0383FC2801A80AC9 = F55CEE6E0383FC2801A80AC9; + F55CEE6F0383FC2801A80AC9 = F55CEE6F0383FC2801A80AC9; + F55CEE700383FC2801A80AC9 = F55CEE700383FC2801A80AC9; + F55CEE710383FC2801A80AC9 = F55CEE710383FC2801A80AC9; + F55CEE720383FC2801A80AC9 = F55CEE720383FC2801A80AC9; + F55CEE730383FC2801A80AC9 = F55CEE730383FC2801A80AC9; + F55CEE740383FC2801A80AC9 = F55CEE740383FC2801A80AC9; + F55CEE750383FC2801A80AC9 = F55CEE750383FC2801A80AC9; + F55CEE760383FC2801A80AC9 = F55CEE760383FC2801A80AC9; + F55CEE770383FC2801A80AC9 = F55CEE770383FC2801A80AC9; + F55CEE780383FC2801A80AC9 = F55CEE780383FC2801A80AC9; + F55CEE790383FC2801A80AC9 = F55CEE790383FC2801A80AC9; + F55CEE7A0383FC2801A80AC9 = F55CEE7A0383FC2801A80AC9; + F55CEE7B0383FC2801A80AC9 = F55CEE7B0383FC2801A80AC9; + F55CEE7C0383FC2801A80AC9 = F55CEE7C0383FC2801A80AC9; + F55CEE7D0383FC2801A80AC9 = F55CEE7D0383FC2801A80AC9; + F55CEE7E0383FC2801A80AC9 = F55CEE7E0383FC2801A80AC9; + F55CEE7F0383FC2801A80AC9 = F55CEE7F0383FC2801A80AC9; + F55CEE800383FC2801A80AC9 = F55CEE800383FC2801A80AC9; + F55CEE810383FC2801A80AC9 = F55CEE810383FC2801A80AC9; + F55CEE820383FC2801A80AC9 = F55CEE820383FC2801A80AC9; + F55CEE830383FC2801A80AC9 = F55CEE830383FC2801A80AC9; + F55CEE840383FC2801A80AC9 = F55CEE840383FC2801A80AC9; + F55CEE850383FC2801A80AC9 = F55CEE850383FC2801A80AC9; + F55CEE860383FC2801A80AC9 = F55CEE860383FC2801A80AC9; + F55CEE870383FC2801A80AC9 = F55CEE870383FC2801A80AC9; + F55CEE880383FC2801A80AC9 = F55CEE880383FC2801A80AC9; + F55CEE890383FC2801A80AC9 = F55CEE890383FC2801A80AC9; + F55CEE8A0383FC2801A80AC9 = F55CEE8A0383FC2801A80AC9; + F55CEE8B0383FC2801A80AC9 = F55CEE8B0383FC2801A80AC9; + F55CEE8C0383FC2801A80AC9 = F55CEE8C0383FC2801A80AC9; + F55CEE8D0383FC2801A80AC9 = F55CEE8D0383FC2801A80AC9; + F55CEE8E0383FC2801A80AC9 = F55CEE8E0383FC2801A80AC9; + F55CEE8F0383FC2801A80AC9 = F55CEE8F0383FC2801A80AC9; + F55CEE900383FC2801A80AC9 = F55CEE900383FC2801A80AC9; + F55CEE910383FC2801A80AC9 = F55CEE910383FC2801A80AC9; + F59A60240386FAA401A80AC9 = F59A60240386FAA401A80AC9; + F59A60250386FAA401A80AC9 = F59A60250386FAA401A80AC9; + F59A60260386FAA401A80AC9 = F59A60260386FAA401A80AC9; + F59A60270386FAA401A80AC9 = F59A60270386FAA401A80AC9; + F59A60280386FAA401A80AC9 = F59A60280386FAA401A80AC9; + F59A60290386FAA401A80AC9 = F59A60290386FAA401A80AC9; + F59A602A0386FAA401A80AC9 = F59A602A0386FAA401A80AC9; + F59A602B0386FAA401A80AC9 = F59A602B0386FAA401A80AC9; + F59A602C0386FAA401A80AC9 = F59A602C0386FAA401A80AC9; + F59A602D0386FAA401A80AC9 = F59A602D0386FAA401A80AC9; + F59A602E0386FAA401A80AC9 = F59A602E0386FAA401A80AC9; + F59A602F0386FAA401A80AC9 = F59A602F0386FAA401A80AC9; + F59A60300386FAA401A80AC9 = F59A60300386FAA401A80AC9; + F59A60310386FAA401A80AC9 = F59A60310386FAA401A80AC9; + F59A60320386FAA401A80AC9 = F59A60320386FAA401A80AC9; + F59A60330386FAA401A80AC9 = F59A60330386FAA401A80AC9; + F59A60340386FAA401A80AC9 = F59A60340386FAA401A80AC9; + F59A60350386FAA401A80AC9 = F59A60350386FAA401A80AC9; + F59A60360386FAA401A80AC9 = F59A60360386FAA401A80AC9; + F59A60370386FAA401A80AC9 = F59A60370386FAA401A80AC9; + F59A60380386FAA401A80AC9 = F59A60380386FAA401A80AC9; + F59A60390386FAA401A80AC9 = F59A60390386FAA401A80AC9; + F59A603A0386FAA401A80AC9 = F59A603A0386FAA401A80AC9; + F59A603B0386FAA401A80AC9 = F59A603B0386FAA401A80AC9; + F59A603C0386FAA401A80AC9 = F59A603C0386FAA401A80AC9; + F59A603D0386FAA401A80AC9 = F59A603D0386FAA401A80AC9; + F59A603E0386FAA401A80AC9 = F59A603E0386FAA401A80AC9; + F5AAF63303868F5F01A80AC9 = F5AAF63303868F5F01A80AC9; + F5AAF63403868F5F01A80AC9 = F5AAF63403868F5F01A80AC9; + F5AAF63503868F5F01A80AC9 = F5AAF63503868F5F01A80AC9; + F5AAF63703868F5F01A80AC9 = F5AAF63703868F5F01A80AC9; + F5AAF63803868F5F01A80AC9 = F5AAF63803868F5F01A80AC9; + F5AAF63903868F5F01A80AC9 = F5AAF63903868F5F01A80AC9; + F5AAF63A03868F5F01A80AC9 = F5AAF63A03868F5F01A80AC9; + F5AAF63B03868F5F01A80AC9 = F5AAF63B03868F5F01A80AC9; + F5AAF63D03868F5F01A80AC9 = F5AAF63D03868F5F01A80AC9; + F5AAF63E03868F5F01A80AC9 = F5AAF63E03868F5F01A80AC9; + F5AAF63F03868F5F01A80AC9 = F5AAF63F03868F5F01A80AC9; + F5AAF64003868F5F01A80AC9 = F5AAF64003868F5F01A80AC9; + F5AAF64103868F5F01A80AC9 = F5AAF64103868F5F01A80AC9; + F5AAF64203868F5F01A80AC9 = F5AAF64203868F5F01A80AC9; + F5AAF64303868F5F01A80AC9 = F5AAF64303868F5F01A80AC9; + F5AAF64403868F5F01A80AC9 = F5AAF64403868F5F01A80AC9; + F5AAF64503868F5F01A80AC9 = F5AAF64503868F5F01A80AC9; + F5AAF64603868F5F01A80AC9 = F5AAF64603868F5F01A80AC9; + F5AAF64703868F5F01A80AC9 = F5AAF64703868F5F01A80AC9; + F5AAF64803868F5F01A80AC9 = F5AAF64803868F5F01A80AC9; + F5AAF64903868F5F01A80AC9 = F5AAF64903868F5F01A80AC9; + F5AAF64A03868F5F01A80AC9 = F5AAF64A03868F5F01A80AC9; + F5AAF64B03868F5F01A80AC9 = F5AAF64B03868F5F01A80AC9; + F5AAF64C03868F5F01A80AC9 = F5AAF64C03868F5F01A80AC9; + F5AAF64D03868F5F01A80AC9 = F5AAF64D03868F5F01A80AC9; + F5AAF64E03868F5F01A80AC9 = F5AAF64E03868F5F01A80AC9; + }; + projectwideBuildSettings = { + }; + wantsIndex = 1; + wantsSCM = -1; + }; + F55CEDC10383E6E401A80AC9 = { + activeExec = 0; + }; + F55CEDDD0383EF9001A80AC9 = { + fRef = F55CED810383E50201A80AC9; + isa = PBXTextBookmark; + name = "flclass.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 755; + vrLoc = 0; + }; + F55CEDE30383EF9001A80AC9 = { + fRef = F55CED810383E50201A80AC9; + isa = PBXTextBookmark; + name = "flclass.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 755; + vrLoc = 0; + }; + F55CEDE40383EF9001A80AC9 = { + fRef = F55CED7F0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flbase.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 883; + vrLoc = 0; + }; + F55CEDEB0383EF9001A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEDF20383EF9001A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEDF30383EF9001A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEDF60383F55201A80AC9 = { + activeExec = 0; + }; + F55CEE130383F57A01A80AC9 = { + activeExec = 0; + }; + F55CEE300383F59B01A80AC9 = { + activeExec = 0; + }; + F55CEE4E0383F97301A80AC9 = { + activeExec = 0; + }; + F55CEE580383FC2801A80AC9 = { + fRef = F55CED960383E50201A80AC9; + isa = PBXTextBookmark; + name = "flutil.cpp: 28"; + rLen = 0; + rLoc = 518; + rType = 0; + vrLen = 463; + vrLoc = 341; + }; + F55CEE5E0383FC2801A80AC9 = { + fRef = F55CED7B0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flatom-pr.cpp: 38"; + rLen = 0; + rLoc = 769; + rType = 0; + vrLen = 594; + vrLoc = 0; + }; + F55CEE5F0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE600383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE610383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE620383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE630383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE640383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + }; + F55CEE650383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE660383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + }; + F55CEE670383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE680383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE690383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE6A0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE6B0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE6C0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE6D0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE6E0383FC2801A80AC9 = { + fRef = F55CED960383E50201A80AC9; + isa = PBXTextBookmark; + name = "flutil.cpp: 28"; + rLen = 0; + rLoc = 518; + rType = 0; + vrLen = 463; + vrLoc = 341; + }; + F55CEE6F0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE700383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE710383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE720383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + }; + F55CEE730383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE740383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE750383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE4E0383F97301A80AC9; + }; + F55CEE760383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE770383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE780383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE4E0383F97301A80AC9; + }; + F55CEE790383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE7A0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE4E0383F97301A80AC9; + }; + F55CEE7B0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE7C0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE7D0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE7E0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE7F0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE800383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE810383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE820383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE830383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE840383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + }; + F55CEE850383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE860383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE870383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE880383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE890383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE8A0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + }; + F55CEE8B0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE4E0383F97301A80AC9; + }; + F55CEE8C0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F55CEE8D0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F55CEE8E0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + }; + F55CEE8F0383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + }; + F55CEE900383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE4E0383F97301A80AC9; + }; + F55CEE910383FC2801A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + }; + F59A5F910386DF3201A80AC9 = { + activeExec = 0; + }; + F59A60240386FAA401A80AC9 = { + fRef = F55CED8A0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flext.cpp: cb_px_in6"; + rLen = 0; + rLoc = 2568; + rType = 0; + vrLen = 594; + vrLoc = 65; + }; + F59A60250386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A60260386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE4E0383F97301A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 89}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + "com.apple.target-editor-pane.settings", + ); + }; + }; + F59A60270386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A60280386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 89}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGeneralSettingsModule, + ); + }; + }; + F59A60290386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F59A5F910386DF3201A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 55}, {600, 334}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGccCompilerSettingsModule, + ); + }; + }; + F59A602A0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A602B0386FAA401A80AC9 = { + fRef = F55CED8A0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flext.cpp: cb_px_in6"; + rLen = 0; + rLoc = 2568; + rType = 0; + vrLen = 594; + vrLoc = 65; + }; + F59A602C0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 55}, {600, 334}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGccCompilerSettingsModule, + ); + }; + }; + F59A602D0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F59A5F910386DF3201A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 55}, {600, 334}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGccCompilerSettingsModule, + ); + }; + }; + F59A602E0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 55}, {600, 334}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGccCompilerSettingsModule, + ); + }; + }; + F59A602F0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F59A5F910386DF3201A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 55}, {600, 334}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGccCompilerSettingsModule, + ); + }; + }; + F59A60300386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A60310386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 87}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetInstallationSettingsModule, + ); + }; + }; + F59A60320386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F59A5F910386DF3201A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 87}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetInstallationSettingsModule, + ); + }; + }; + F59A60330386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 87}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetInstallationSettingsModule, + ); + }; + }; + F59A60340386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A60350386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE130383F57A01A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A60360386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 87}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetInstallationSettingsModule, + ); + }; + }; + F59A60370386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A60380386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE4E0383F97301A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 89}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + "com.apple.target-editor-pane.settings", + ); + }; + }; + F59A60390386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDC10383E6E401A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A603A0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F59A5F910386DF3201A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 89}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGeneralSettingsModule, + ); + }; + }; + F59A603B0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 89}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGeneralSettingsModule, + ); + }; + }; + F59A603C0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F59A603D0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F59A5F910386DF3201A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 55}, {600, 334}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetGccCompilerSettingsModule, + ); + }; + }; + F59A603E0386FAA401A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEE300383F59B01A80AC9; + uiCtxt = { + TOCViewDetailVisibleRect = "{{0, 0}, {600, 246}}"; + TOCViewExpandedItems = ( + "com.apple.target-editor-pane.settings", + "com.apple.target-editor-pane.settings.simple", + "com.apple.target-editor-pane.buildphases", + ); + TOCViewMasterVisibleRect = "{{0, 0}, {239, 334}}"; + TOCViewSelectedItems = ( + PBXTargetSummarySettingsModule, + ); + }; + }; + F5AAF616038683E801A80AC9 = { + activeExec = 0; + }; + F5AAF63303868F5F01A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F5AAF63403868F5F01A80AC9 = { + fRef = F5AAF65003868F5F01A80AC9; + isa = PBXTextBookmark; + name = "ext_user.h: 44"; + rLen = 0; + rLoc = 1970; + rType = 0; + vrLen = 1130; + vrLoc = 0; + }; + F5AAF63503868F5F01A80AC9 = { + fRef = F55CED920383E50201A80AC9; + isa = PBXTextBookmark; + name = "flstdc.h: 86"; + rLen = 35; + rLoc = 1625; + rType = 0; + vrLen = 559; + vrLoc = 1418; + }; + F5AAF63703868F5F01A80AC9 = { + fRef = F5AAF65103868F5F01A80AC9; + isa = PBXTextBookmark; + name = "ext_proto.h: 48"; + rLen = 0; + rLoc = 1525; + rType = 0; + vrLen = 773; + vrLoc = 0; + }; + F5AAF63803868F5F01A80AC9 = { + fRef = F55CED940383E50201A80AC9; + isa = PBXTextBookmark; + name = "flsupport.h: GetAInt"; + rLen = 100; + rLoc = 8684; + rType = 0; + vrLen = 1340; + vrLoc = 8025; + }; + F5AAF63903868F5F01A80AC9 = { + fRef = F55CED7B0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flatom-pr.cpp: 88"; + rLen = 0; + rLoc = 1612; + rType = 0; + vrLen = 460; + vrLoc = 1183; + }; + F5AAF63A03868F5F01A80AC9 = { + fRef = F55CED7E0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flbase.cpp: 43"; + rLen = 2; + rLoc = 1108; + rType = 0; + vrLen = 703; + vrLoc = 723; + }; + F5AAF63B03868F5F01A80AC9 = { + fRef = F55CED7F0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flbase.h: 245"; + rLen = 26; + rLoc = 6548; + rType = 0; + vrLen = 933; + vrLoc = 6166; + }; + F5AAF63D03868F5F01A80AC9 = { + isa = PBXTargetBookmark; + trg = F55CEDF60383F55201A80AC9; + }; + F5AAF63E03868F5F01A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + }; + F5AAF63F03868F5F01A80AC9 = { + fRef = F5AAF65303868F5F01A80AC9; + isa = PBXTextBookmark; + name = "ext_user.h: 44"; + rLen = 0; + rLoc = 1970; + rType = 0; + vrLen = 1130; + vrLoc = 0; + }; + F5AAF64003868F5F01A80AC9 = { + fRef = F55CED920383E50201A80AC9; + isa = PBXTextBookmark; + name = "flstdc.h: 86"; + rLen = 35; + rLoc = 1625; + rType = 0; + vrLen = 559; + vrLoc = 1418; + }; + F5AAF64103868F5F01A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + }; + F5AAF64203868F5F01A80AC9 = { + fRef = F55CED7B0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flatom-pr.cpp: 32"; + rLen = 0; + rLoc = 621; + rType = 0; + vrLen = 464; + vrLoc = 259; + }; + F5AAF64303868F5F01A80AC9 = { + fRef = F55CED940383E50201A80AC9; + isa = PBXTextBookmark; + name = "flsupport.h: MakeSymbol"; + rLen = 92; + rLoc = 4015; + rType = 0; + vrLen = 824; + vrLoc = 3771; + }; + F5AAF64403868F5F01A80AC9 = { + fRef = F55CED7F0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flbase.h: 21"; + rLen = 23; + rLoc = 444; + rType = 0; + vrLen = 535; + vrLoc = 0; + }; + F5AAF64503868F5F01A80AC9 = { + fRef = F55CED940383E50201A80AC9; + isa = PBXTextBookmark; + name = "flsupport.h: MakeSymbol"; + rLen = 92; + rLoc = 4015; + rType = 0; + vrLen = 824; + vrLoc = 3771; + }; + F5AAF64603868F5F01A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + }; + F5AAF64703868F5F01A80AC9 = { + fRef = F55CED940383E50201A80AC9; + isa = PBXTextBookmark; + name = "flsupport.h: 155"; + rLen = 0; + rLoc = 3865; + rType = 0; + vrLen = 549; + vrLoc = 1935; + }; + F5AAF64803868F5F01A80AC9 = { + isa = PBXTargetBookmark; + trg = F5AAF616038683E801A80AC9; + }; + F5AAF64903868F5F01A80AC9 = { + fRef = F5AAF65203868F5F01A80AC9; + isa = PBXTextBookmark; + name = "ext_proto.h: 48"; + rLen = 0; + rLoc = 1525; + rType = 0; + vrLen = 773; + vrLoc = 0; + }; + F5AAF64A03868F5F01A80AC9 = { + fRef = F55CED7B0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flatom-pr.cpp: 21"; + rLen = 0; + rLoc = 470; + rType = 0; + vrLen = 440; + vrLoc = 350; + }; + F5AAF64B03868F5F01A80AC9 = { + fRef = F55CED940383E50201A80AC9; + isa = PBXTextBookmark; + name = "flsupport.h: GetAInt"; + rLen = 100; + rLoc = 8684; + rType = 0; + vrLen = 1340; + vrLoc = 8025; + }; + F5AAF64C03868F5F01A80AC9 = { + fRef = F55CED7B0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flatom-pr.cpp: 88"; + rLen = 0; + rLoc = 1612; + rType = 0; + vrLen = 460; + vrLoc = 1183; + }; + F5AAF64D03868F5F01A80AC9 = { + fRef = F55CED7E0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flbase.cpp: 43"; + rLen = 2; + rLoc = 1108; + rType = 0; + vrLen = 703; + vrLoc = 723; + }; + F5AAF64E03868F5F01A80AC9 = { + fRef = F55CED7F0383E50201A80AC9; + isa = PBXTextBookmark; + name = "flbase.h: 245"; + rLen = 26; + rLoc = 6548; + rType = 0; + vrLen = 933; + vrLoc = 6166; + }; + F5AAF65003868F5F01A80AC9 = { + isa = PBXFileReference; + name = ext_user.h; + path = "/Volumes/Daten/Prog/sdk-beta-osx/c74support/max-includes/ext_user.h"; + refType = 0; + }; + F5AAF65103868F5F01A80AC9 = { + isa = PBXFileReference; + name = ext_proto.h; + path = "/Volumes/Daten/Prog/sdk-beta-osx/c74support/max-includes/ext_proto.h"; + refType = 0; + }; + F5AAF65203868F5F01A80AC9 = { + isa = PBXFileReference; + name = ext_proto.h; + path = "/Volumes/Daten/Prog/sdk-beta-osx/c74support/max-includes/ext_proto.h"; + refType = 0; + }; + F5AAF65303868F5F01A80AC9 = { + isa = PBXFileReference; + name = ext_user.h; + path = "/Volumes/Daten/Prog/sdk-beta-osx/c74support/max-includes/ext_user.h"; + refType = 0; + }; +} diff --git a/externals/grill/guitest/flgui.cpp b/externals/grill/guitest/flgui.cpp new file mode 100644 index 00000000..86d8e4ea --- /dev/null +++ b/externals/grill/guitest/flgui.cpp @@ -0,0 +1,646 @@ +#include "flgui.h" +#include "flguiobj.h" +#include "flinternal.h" + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + + +#ifdef PD +t_class *flext_gui::px_class = NULL; +t_class *flext_gui::pxkey_class = NULL; + +struct flext_gui::px_object // no virtual table! +{ + t_object obj; // MUST reside at memory offset 0 + t_canvas *canv; + + void init(t_canvas *c) { canv = c; } +}; + +struct flext_gui::pxkey_object // no virtual table! +{ + t_object obj; // MUST reside at memory offset 0 + flext_gui *th; + + void init(flext_gui *t) { th = t; } +}; +#endif + + +flext_gui::flext_gui(int xs,int ys): + objs(NULL), +#ifdef PD + xsize(xs),ysize(ys), +#endif +#ifdef MAXMSP + curx(-1),cury(-1),curmod(-1), + created(false), +#endif + bindsym(NULL) +{ + canvas = new Canvas(thisCanvas()); + objs = new GuiGroup(canvas); + +#ifdef PD + AddCanvas(); +#else + t_box *b = (t_box *)gensym("#B")->s_thing; + + int x = b->b_rect.left,y = b->b_rect.top; + t_pxbox *p = thisHdr(); + box_new(&p->z_box, thisCanvas(), F_DRAWFIRSTIN | F_GROWBOTH | F_SAVVY,x,y,x+xs,y+ys); + p->z_box.b_firstin = (void *)p; /* it's not really an inlet */ + box_ready(&p->z_box); +#endif +} + +flext_gui::~flext_gui() +{ +#ifdef PD + RmvCanvas(); +#endif + + delete objs; + delete canvas; +} + + +void flext_gui::setup(t_class *c) +{ +#ifdef PD + SetWidget(c); + + pxkey_class = class_new(gensym("flext_gui key proxy"),NULL,NULL,sizeof(pxkey_object),CLASS_PD|CLASS_NOINLET, A_NULL); + add_anything(pxkey_class,pxkey_method); + pxkey = (pxkey_object *)pd_new(pxkey_class); + + pd_bind(&pxkey_class,gensym("#keyname")); +// pd_bind(&pxkey_class,gensym("#key")); +// pd_bind(&pxkey_class,gensym("#keyup")); + + gcanv = NULL; + +#ifdef DIRECT_TK + px_class = class_new(gensym("flext_gui proxy"),NULL,NULL,sizeof(px_object),CLASS_PD|CLASS_NOINLET, A_NULL); + add_anything(px_class,px_method); + + gcm_motion = MakeSymbol("_tk_motion"); + gcm_mousekey = MakeSymbol("_tk_mousekey"); + gcm_mousewheel = MakeSymbol("_tk_mousewheel"); + gcm_key = MakeSymbol("_tk_key"); + gcm_destroy = MakeSymbol("_tk_destroy"); +#endif + + // this is wrong if a modifier key is pressed during creation of the first object..... + curmod = 0; +#else + addmess((method)sg_update, "update", A_CANT, A_NULL); + addmess((method)sg_click, "click", A_CANT, A_NULL); + addmess((method)sg_psave, "psave", A_CANT, A_NULL); + addmess((method)sg_bfont, "bfont", A_CANT, A_NULL); + addmess((method)sg_key, "key", A_CANT, A_NULL); + addmess((method)sg_bidle, "bidle", A_CANT, A_NULL); +#endif +} + +#ifdef PD + +int flext_gui::evmask = evMotion|evMouseDown|evKeyDown|evKeyUp; +int flext_gui::curmod = 0; +flext_gui::pxkey_object *flext_gui::pxkey = NULL; +flext_gui::guicanv *flext_gui::gcanv = NULL; + +#ifdef DIRECT_TK +const t_symbol *flext_gui::gcm_motion = NULL; +const t_symbol *flext_gui::gcm_mousekey = NULL; +const t_symbol *flext_gui::gcm_mousewheel = NULL; +const t_symbol *flext_gui::gcm_key = NULL; +const t_symbol *flext_gui::gcm_destroy = NULL; + +void flext_gui::px_method(px_object *obj,const t_symbol *s,int argc,t_atom *argv) +{ + guicanv *ix = gcanv; + for(; ix && ix->canv != obj->canv; ix = ix->nxt); + + if(ix) { + CBParams parms; + + if(s == gcm_motion) { + parms.kind = evMotion; + parms.pMotion.x = GetAInt(argv[0]); + parms.pMotion.y = GetAInt(argv[1]); + parms.pMotion.mod = GetAInt(argv[2]); + } + else if(s == gcm_mousekey) { + parms.kind = GetAInt(argv[0])?evMouseDown:evMouseUp; + parms.pMouseKey.x = GetAInt(argv[1]); + parms.pMouseKey.y = GetAInt(argv[2]); + parms.pMouseKey.b = GetAInt(argv[3]); + parms.pMouseKey.mod = GetAInt(argv[4]); + } + else if(s == gcm_mousewheel) { + parms.kind = evMouseWheel; + parms.pMouseWheel.x = GetAInt(argv[0]); + parms.pMouseWheel.y = GetAInt(argv[1]); + parms.pMouseWheel.mod = GetAInt(argv[2]); + parms.pMouseWheel.delta = GetAInt(argv[3]); + } + else if(s == gcm_key) { + parms.kind = GetAInt(argv[0])?evKeyDown:evKeyUp; + parms.pKey.k = GetAInt(argv[1]); + parms.pKey.a = GetAInt(argv[2]); +// parms.pKey.n = GetAInt(argv[3]); + parms.pKey.mod = GetAInt(argv[4]); + } + else if(s == gcm_destroy) { +// post("TK destroy"); + DelCanvas(ix->canv); + } + + if(parms.kind != evNone) { + for(canvobj *co = ix->head; co; co = co->nxt) + co->guiobj->m_Method(parms); + } + + } + else + error("flext_gui: canvas not found!"); +} + +#endif + +static const char *extkeys[] = { + "Escape","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12", + "Prior","Next","Home","End","Delete","Insert","" +}; + +void flext_gui::pxkey_method(pxkey_object *obj,const t_symbol *s,int argc,t_atom *argv) +{ +/* + if(s == sym_float && argc == 1) { + lastkey = GetInt(argv[0]); + } + else +*/ + if(s == sym_list && argc == 2) { + CBParams p; + + bool down = GetABool(argv[0]); + const char *str = GetString(argv[1]); + int code = str[0]; + int asc = code; + int mod = mod_None; + if(code && str[1] != 0) { + code = asc = 0; + if(GetSymbol(argv[1]) == MakeSymbol("Shift_L") || GetSymbol(argv[1]) == MakeSymbol("Shift_R")) { + code = 2001; + mod = mod_Shift; + } + else if(GetSymbol(argv[1]) == MakeSymbol("Control_L") || GetSymbol(argv[1]) == MakeSymbol("Control_R")) { + code = 2002; + mod = mod_Ctrl; + } + else if(GetSymbol(argv[1]) == MakeSymbol("Alt_L") || GetSymbol(argv[1]) == MakeSymbol("Alt_R")) { + code = 2003; + mod = mod_Alt; + } + else { + for(int i = 0;; ++i) { + const char *ci = extkeys[i]; + if(!*ci) break; + if(GetSymbol(argv[1]) == MakeSymbol(ci)) { + code = 1000+i; + break; + } + } + } +#ifdef DEBUG + else + post("unknown modifier %s",str); +#endif + } + + if(down) curmod |= mod; + else curmod &= ~mod; + +// post("Key down=%i c=%c mod=%i",down?1:0,code,curmod); + + if(code || mod) { + // button is pressed + p.kind = down?evKeyDown:evKeyUp; + p.ext = true; + p.pKey.k = code; //lastkey; + p.pKey.a = asc; + p.pKey.mod = curmod; + + for(guicanv *ix = gcanv; ix; ix = ix->nxt) + for(canvobj *ci = ix->head; ci; ci = ci->nxt) + ci->guiobj->m_Method(p); + } + } + else + post("flext_gui key proxy - unknown method"); +} + + +flext_gui::guicanv::guicanv(t_canvas *c): + canv(c),nxt(NULL),ref(0), + head(NULL),tail(NULL) +{ + char tmp[25]; + sprintf(tmp,"FLCANV%x",c); + sym = MakeSymbol(tmp); + +#ifdef DIRECT_TK + // proxy for canvas messages + (px = (px_object *)pd_new(px_class))->init(c); +#endif +} + +flext_gui::guicanv::~guicanv() +{ +#ifdef DIRECT_TK + if(px) pd_free(&px->obj.ob_pd); +#endif +} + +void flext_gui::guicanv::Push(flext_gui *o) +{ + canvobj *co = new canvobj(o); + if(tail) tail->nxt = co; + tail = co; + if(!head) head = tail; + + ++ref; +} + +void flext_gui::guicanv::Pop(flext_gui *o) +{ + canvobj *prv = NULL,*ix = head; + for(; ix && ix->guiobj != o; prv = ix,ix = ix->nxt); + + if(ix) { + --ref; + if(prv) prv->nxt = ix->nxt; + else head = ix->nxt; + if(!ix->nxt) tail = prv; + } + else + error("flext_gui: object not found in canvas!"); +} + + +void flext_gui::AddCanvas() +{ + t_canvas *c = thisCanvas(); + guicanv *prv = NULL,*ix = gcanv; + for(; ix && ix->canv != c; prv = ix,ix = ix->nxt); + + if(ix) { + ix->Push(this); + } + else { + guicanv *nc = new guicanv(c); + if(prv) prv->nxt = nc; + else gcanv = nc; + + nc->Push(this); + +#ifdef DIRECT_TK + pd_bind(&nc->px->obj.ob_pd,(t_symbol *)nc->sym); + +/* + // initialize new canvas object + sys_vgui("bind .x%x.c <Motion> {pd %s %s %%x %%y %%s \\;}\n",c,GetString(nc->sym),GetString(gcm_motion)); + + sys_vgui("bind .x%x.c <ButtonPress> {pd %s %s 1 %%x %%y %%b %%s \\;}\n",c,GetString(nc->sym),GetString(gcm_mousekey)); + sys_vgui("bind .x%x.c <ButtonRelease> {pd %s %s 0 %%x %%y %%b %%s \\;}\n",c,GetString(nc->sym),GetString(gcm_mousekey)); + sys_vgui("bind .x%x.c <MouseWheel> {pd %s %s %%x %%y %%s %%D \\;}\n",c,GetString(nc->sym),GetString(gcm_mousewheel)); + sys_vgui("bind .x%x.c <KeyPress> {pd %s %s 1 %%k %%A %%N %%s \\;}\n",c,GetString(nc->sym),GetString(gcm_key)); + sys_vgui("bind .x%x.c <KeyRelease> {pd %s %s 0 %%k %%A %%N %%s \\;}\n",c,GetString(nc->sym),GetString(gcm_key)); + + // what happend to objects in subpatchers? + sys_vgui("bind .x%x.c <Destroy> {pd %s %s \\;}\n",c,GetString(nc->sym),GetString(gcm_destroy)); + + // sys_vgui("bind .x%x.c <Visibility> {pd %s %s %x %s \\;}\n",c,GetString(nc->sym),"_tk_visibility",this); +*/ +#endif + } +} + +void flext_gui::RmvCanvas() +{ + guicanv *ix = gcanv; + for(; ix && ix->canv != thisCanvas(); ix = ix->nxt); + + if(ix) { + ix->Pop(this); + if(!ix->Refs()) DelCanvas(thisCanvas()); + } + else { + error("flext_gui: Canvas not found!"); + } +} + +void flext_gui::DelCanvas(t_canvas *c) +{ + guicanv *prv = NULL,*ix = gcanv; + for(; ix && ix->canv != c; prv = ix,ix = ix->nxt); + + if(ix) { +#ifdef DIRECT_TK + pd_unbind(&ix->px->obj.ob_pd,(t_symbol *)ix->sym); +#endif + + if(prv) prv->nxt = ix->nxt; + else gcanv = ix->nxt; + } + else { + error("flext_gui: Canvas not found!"); + } +} + +static GuiObj *GetGuiObj(const t_atom &a) +{ + GuiObj *th = NULL; + sscanf(flext::GetString(a),"%x",&th); + return th; +} + +void flext_gui::g_Displace(int dx, int dy) +{ +// post("Displace"); + + XLo(XLo()+dx); + YLo(YLo()+dy); + + Group().MoveRel(dx,dy); + FixLines(); +} + +void flext_gui::g_Delete() +{ + objs->Clear(); + DelLines(); +} + + + +t_widgetbehavior flext_gui::widgetbehavior; + +void flext_gui::SetWidget(t_class *c) +{ + // widgetbehavior struct MUST be resident... (static is just ok here) + + widgetbehavior.w_getrectfn = sg_getrect; + widgetbehavior.w_displacefn = sg_displace; + widgetbehavior.w_selectfn = sg_select; + widgetbehavior.w_activatefn = NULL; //sg_activate; + widgetbehavior.w_deletefn = sg_delete; + widgetbehavior.w_visfn = sg_vis; + widgetbehavior.w_clickfn = sg_click; + widgetbehavior.w_propertiesfn = sg_properties; + widgetbehavior.w_savefn = sg_save; + class_setwidget(c, &widgetbehavior); +} + +void flext_gui::sg_getrect(t_gobj *c, t_glist *,int *xp1, int *yp1, int *xp2, int *yp2) +{ + flext_gui *th = thisObject(c); + /*th->g_GetRect(*xp1,*yp1,*xp2,*yp2);*/ + *xp1 = th->XLo(),*yp1 = th->YLo(),*xp2 = th->XHi(),*yp2 = th->YHi(); +} + +void flext_gui::sg_displace(t_gobj *c, t_glist *, int dx, int dy) +{ + thisObject(c)->g_Displace(dx,dy); +} + +void flext_gui::sg_select(t_gobj *c, t_glist *, int selected) +{ +// post("Select"); + + flext_gui *th = thisObject(c); + th->g_Edit(th->selected = (selected != 0)); +} + +void flext_gui::sg_vis(t_gobj *c, t_glist *, int vis) +{ + post("Visible %i",vis); + + if(vis) { + flext_gui *g = thisObject(c); + g->g_Create(); + g->Group().MoveRel(g->XLo(),g->YLo()); + g->FixLines(); + } +} + +int flext_gui::sg_click(t_gobj *c, t_glist *,int xpix, int ypix, int shift, int alt, int dbl, int doit) +{ + flext_gui *g = thisObject(c); + CBParams p; + int x = xpix-g->XLo(); + int y = ypix-g->YLo(); + + // PD bug: shift isn't reported for idle mousing +// int mod = (alt?mod_Alt:0)+(shift?mod_Shift:0)+(dbl?mod_Double:0); + + if(doit) { + // button is pressed + p.kind = evMouseDown; + p.pMouseKey.x = x; + p.pMouseKey.y = y; + p.pMouseKey.b = 1; + p.pMouseKey.mod = curmod; //mod; + } + else { + // only mouse position change + p.kind = evMotion; + p.pMotion.x = x; + p.pMotion.y = y; + p.pMotion.mod = curmod; //mod; + } + g->m_Method(p); + return 1; +} + +void flext_gui::sg_delete(t_gobj *c, t_glist *) +{ + thisObject(c)->g_Delete(); +} + +void flext_gui::sg_properties(t_gobj *c, t_glist *) +{ + thisObject(c)->g_Properties(); +} + +void flext_gui::sg_save(t_gobj *c, t_binbuf *b) +{ + thisObject(c)->g_Save(b); +} + +/* +bool flext_gui::sg_Key(flext_base *c,int argc,t_atom *argv) +{ + return true; +} + +bool flext_gui::sg_KeyNum(flext_base *c,int &keynum) +{ + flext_gui *g = dynamic_cast<flext_gui *>(c); + post("KeyNum %i",keynum); + return true; +} + +bool flext_gui::sg_KeyUp(flext_base *c,int &keynum) +{ + flext_gui *g = dynamic_cast<flext_gui *>(c); + post("KeyUp %i",keynum); + return true; +} +*/ + +#else // MAXMSP + +int flext_gui::evmask = evMotion|evMouseDown|evKeyDown; + +static void dragfun() +{ +} + +static void tmfun() +{ +} + +void flext_gui::sg_click(t_object *x, Point pt, short m) +{ + flext_gui *g = thisObject(x); + CBParams p(evMouseDown); + p.pMouseKey.x = pt.h-g->XLo(); + p.pMouseKey.y = pt.v-g->YLo(); + p.pMouseKey.b = 0; + p.pMouseKey.mod = (m&256?mod_Meta:0)+(m&512?mod_Shift:0)+(m&1024?mod_Caps:0)+(m&2048?mod_Alt:0)+(m&4096?mod_Ctrl:0); + g->m_Method(p); +} + +void flext_gui::sg_update(t_object *x) +{ + flext_gui *g = thisObject(x); + if(!g->created) { g->g_Create(); g->created = true; } + + // draw elements + g->Update(); +} + +void flext_gui::sg_psave (t_object *x, t_binbuf *dest) { thisObject(x)->g_Save(dest); } + +void flext_gui::sg_bfont (t_object *x, short size, short font) {} + +void flext_gui::sg_key (t_object *x, short keyvalue) +{ + flext_gui *g = thisObject(x); + + CBParams p(evKeyDown); + p.pKey.k = keyvalue; + p.pKey.a = 0; + p.pKey.mod = 0; + g->m_Method(p); +} + +void flext_gui::sg_enter (t_object *x) {} + +void flext_gui::sg_clipregion (t_object *x, RgnHandle *rgn, short *result) {} + +void flext_gui::sg_bidle (t_object *x) +{ + flext_gui *g = thisObject(x); + Point pnt; GetMouse(&pnt); + + CBParams p(evMotion); + p.pMotion.x = pnt.h-g->XLo(); + p.pMotion.y = pnt.v-g->YLo(); + p.pMotion.mod = 0; + + if(p.pMotion.x != g->curx || p.pMotion.y != g->cury || p.pMotion.mod != g->curmod) { + g->m_Method(p); + g->curx = p.pMotion.x; + g->cury = p.pMotion.y; + g->curmod = p.pMotion.mod; + } +} + +void flext_gui::g_Displace(int dx, int dy) +{ +} + +void flext_gui::g_Delete() +{ + objs->Clear(); +} + +void flext_gui::Update() +{ + box_ready(&thisHdr()->z_box); + + if(Group().Canv().Pre(XLo(),YLo())) + Group().Draw(); + Group().Canv().Post(); +} + +#endif // PD / MAXMSP + +void flext_gui::m_Method(const CBParams &p) +{ +/* + switch(p.kind) { + case evMotion: { + // if(!g->Selected() || mod) + post("Motion: x=%i y=%i m=%i",p.pMotion.x,p.pMotion.y,p.pMotion.mod); + break; + } + case evMouseDown: { + post("MouseDown: x=%i y=%i b=%i m=%i",p.pMouseKey.x,p.pMouseKey.y,p.pMouseKey.b,p.pMouseKey.mod); + break; + } + case evMouseUp: { + post("MouseUp: x=%i y=%i b=%i m=%i",p.pMouseKey.x,p.pMouseKey.y,p.pMouseKey.b,p.pMouseKey.mod); + break; + } + case evMouseWheel: { + post("Mousewheel: x=%i y=%i m=%i d=%i",p.pMouseWheel.x,p.pMouseWheel.y,p.pMouseWheel.mod,p.pMouseWheel.delta); + break; + } + case evKeyDown: { + post("KeyDown: k=%i a=%i m=%i",p.pKey.k,p.pKey.a,p.pKey.mod); + break; + } + case evKeyUp: { + post("KeyUp: k=%i a=%i m=%i",p.pKey.k,p.pKey.a,p.pKey.mod); + break; + } + } +*/ + if(!Selected() || p.kind != evMotion || p.kind != evMouseDown || p.kind != evMouseUp) + Group().Method(*this,p); + } + +bool flext_gui::BindEvent(GuiSingle &o,bool (*cb)(flext_gui &o,GuiSingle &obj,const CBParams &p),int evs) +{ + if((evs&EventMask()) == evs) { + o.AddEvent(evs,cb); + return true; + } + else + // not all requested events supported + return false; +} + +void flext_gui::UnbindEvent(GuiSingle &o,bool (*cb)(flext_gui &o,GuiSingle &obj,const CBParams &p),int evs) +{ + o.RmvEvent(evs,cb); +} + + diff --git a/externals/grill/guitest/flgui.h b/externals/grill/guitest/flgui.h new file mode 100644 index 00000000..d9b302db --- /dev/null +++ b/externals/grill/guitest/flgui.h @@ -0,0 +1,232 @@ +#ifndef __FLEXT_GUI +#define __FLEXT_GUI + +#define FLEXT_VIRT +#include <flext.h> + +#ifdef PD +#pragma warning( disable : 4091 ) +#include <g_canvas.h> +#endif + +class Canvas; +class GuiObj; +class GuiGroup; +class GuiSingle; + +class flext_gui: + virtual public flext_base +{ + FLEXT_HEADER_S(flext_gui,flext_base,setup) + +public: + flext_gui(int xs,int ys); + ~flext_gui(); + + enum CBEvs { + evNone = 0, + evMotion = 0x01, + evMouseDown = 0x02, + evMouseUp = 0x04, + evMouseWheel = 0x08, + evKeyDown = 0x10, + evKeyUp = 0x20 + }; + + class CBParams { + public: + CBParams(CBEvs k = evNone): kind(k),ext(false) {} + + CBEvs kind; + union { + struct { int x,y,mod; } pMotion; + struct { int x,y,b,mod; } pMouseKey; + struct { int x,y,mod,delta; } pMouseWheel; + struct { int k,a,mod; } pKey; + }; + bool ext; + }; + + static int EventMask() { return evmask; } + + bool BindEvent(GuiSingle &o,bool (*cb)(flext_gui &o,GuiSingle &obj,const CBParams &p),int evs); + void UnbindEvent(GuiSingle &o,bool (*cb)(flext_gui &o,GuiSingle &obj,const CBParams &p),int evs); + +protected: + + virtual void g_Create() {} + virtual void g_Delete(); +// virtual void g_GetRect(int &xp1,int &yp1,int &xp2,int &yp2); + virtual void g_Edit(bool selected) {} + virtual void g_Displace(int dx, int dy); +// virtual void g_Activate(bool state) {} +// virtual int g_Click(int xpix, int ypix, int shift, int alt, int dbl, int doit) { return 0; } + virtual void g_Properties() {} + virtual void g_Save(t_binbuf *b) {} +/* + virtual bool g_Motion(GuiObj &obj,int x,int y,int mod) { return false; } + virtual bool g_MouseKey(GuiObj &obj,bool down,int x,int y,int b,int mod) { return false; } + virtual bool g_MouseWheel(GuiObj &obj,int x,int y,int d,int mod) { return false; } + virtual bool g_Key(GuiObj &obj,bool down,int k,int a,int n,int mod) { return false; } + virtual bool g_Region(GuiObj &obj,bool on,int mod) { return false; } + virtual bool g_Focus(GuiObj &obj,bool on,int mod) { return false; } +*/ + +#ifdef PD + bool Selected() const { return selected; } + + void FixLines() { canvas_fixlinesfor( thisCanvas(), thisHdr() ); } + void DelLines() { canvas_deletelinesfor( glist_getcanvas(thisCanvas()), (t_text *)thisHdr()); } + + int XLo() const { return thisHdr()->te_xpix; } + int YLo() const { return thisHdr()->te_ypix; } + int XHi() const { return XLo()+XSize()-1; } + int YHi() const { return YLo()+YSize()-1; } + void XLo(int x) { thisHdr()->te_xpix = x; } + void YLo(int y) { thisHdr()->te_ypix = y; } + + int XSize() const { return xsize; } + int YSize() const { return ysize; } +#else // MAXMSP + bool Selected() const { return box_ownerlocked((t_box *)(&thisHdr()->z_box)) == 0; } + + void FixLines() {} + void DelLines() {} + + int XLo() const { return thisHdr()->z_box.b_rect.left; } + int YLo() const { return thisHdr()->z_box.b_rect.top; } + int XHi() const { return thisHdr()->z_box.b_rect.right; } + int YHi() const { return thisHdr()->z_box.b_rect.bottom; } + void XLo(int x) { thisHdr()->z_box.b_rect.left = x; } + void YLo(int y) { thisHdr()->z_box.b_rect.top = y; } + + int XSize() const { return XHi()-XLo()+1; } + int YSize() const { return YHi()-YLo()+1; } +#endif + + const t_symbol *Id() const { return bindsym; } + + GuiGroup &Group() { return *objs; } + + +// static void Setup(t_class *c); + + + enum Modifier { + mod_None = 0, + mod_Ctrl = 0x0001, + mod_Shift = 0x0002, + mod_Alt = 0x0004, + mod_Meta = 0x0008, + mod_Mod1 = 0x0010, + mod_Mod2 = 0x0020, + mod_Mod3 = 0x0040, + mod_Caps = 0x0080, + mod_Double = 0x0100, +// mod_Triple = 0x0200, + mod_Button1 = 0x1000, + mod_Button2 = 0x2000, + mod_Button3 = 0x4000, + mod_Button4 = 0x8000 + }; + +private: + bool visible; + Canvas *canvas; + GuiGroup *objs; + + const t_symbol *bindsym; + + static int evmask; + + static void setup(t_class *); + + virtual void m_Method(const CBParams &p); + +#ifdef PD + bool selected; + int xsize,ysize; + + static void sg_getrect(t_gobj *c, t_glist *,int *xp1, int *yp1, int *xp2, int *yp2); + static void sg_displace(t_gobj *c, t_glist *, int dx, int dy); + static void sg_select(t_gobj *c, t_glist *, int selected); +// static void sg_activate(t_gobj *c, t_glist *, int state) { thisObject(c)->g_Activate(state != 0); } + static void sg_delete(t_gobj *c, t_glist *); + static void sg_vis(t_gobj *c, t_glist *, int vis); + static int sg_click(t_gobj *c, t_glist *,int xpix, int ypix, int shift, int alt, int dbl, int doit); + static void sg_properties(t_gobj *c, t_glist *); + static void sg_save(t_gobj *c, t_binbuf *b); +// static void sg_motion(void *c, float dx,float dy) { thisObject((t_gobj *)c)->g_Motion(dx,dy); } + + static bool sg_Key(flext_base *c,int argc,t_atom *argv); + static bool sg_KeyNum(flext_base *c,int &keynum); + static bool sg_KeyUp(flext_base *c,int &keynum); + + static t_widgetbehavior widgetbehavior; + static void SetWidget(t_class *c); + + struct px_object; + struct pxkey_object; + static int curmod; //,lastkey; + static pxkey_object *pxkey; + + class canvobj { + public: + canvobj(flext_gui *go): guiobj(go),nxt(NULL) {} + + flext_gui *guiobj; + canvobj *nxt; + }; + + class guicanv { + public: + guicanv(t_canvas *c); + ~guicanv(); + + int Refs() const { return ref; } + void Push(flext_gui *o); + void Pop(flext_gui *o); + +#ifdef DIRECT_TK + px_object *px; +#endif + const t_symbol *sym; + t_canvas *canv; + guicanv *nxt; + canvobj *head,*tail; + int ref; + }; + + static guicanv *gcanv; + static const t_symbol *gcm_motion,*gcm_mousekey,*gcm_mousewheel,*gcm_key,*gcm_destroy; + static void px_method(px_object *c,const t_symbol *s,int argc,t_atom *argv); + static void pxkey_method(pxkey_object *c,const t_symbol *s,int argc,t_atom *argv); + + void AddCanvas(); + void RmvCanvas(); + static void DelCanvas(t_canvas *c); + +public: + static t_class *px_class,*pxkey_class; + static void sg_tk(t_canvas *c,const t_symbol *s,int argc,t_atom *argv); + +#else + int curx,cury,curmod; + bool created; + static t_clock clock; + static t_qelem qelem; + + void Update(); + + static void sg_click(t_object *x, Point pt, short modifiers); + static void sg_update(t_object *x); + static void sg_psave (t_object *x, t_binbuf *dest); + static void sg_bfont (t_object *x, short size, short font); + static void sg_key (t_object *x,short keyvalue); + static void sg_enter (t_object *x); + static void sg_clipregion (t_object *x, RgnHandle *rgn, short *result); + static void sg_bidle(t_object *x); +#endif +}; + +#endif diff --git a/externals/grill/guitest/flguiobj.cpp b/externals/grill/guitest/flguiobj.cpp new file mode 100644 index 00000000..b845ae5e --- /dev/null +++ b/externals/grill/guitest/flguiobj.cpp @@ -0,0 +1,801 @@ +#include "flguiobj.h" + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <stdarg.h> + + +#define USETAGS + +#define BUFSIZE 20000 +#define ZONE 1000 + + +#ifdef PD +bool Canvas::store = true; +bool Canvas::debug = false; +#endif + +Canvas::Canvas(t_canvas *c): + canvas(c) +#ifdef PD + ,buffer(new char[BUFSIZE]),bufix(0),waiting(0) +#endif +{} + +Canvas::~Canvas() +{ +#ifdef PD + if(buffer) delete[] buffer; +#endif +} + +#ifdef PD +void Canvas::Send(const char *t) +{ + if(debug) post("GUI - %s",t); + sys_gui((char *)t); +} + +void Canvas::SendBuf() +{ + if(bufix) { + Send(buffer); + bufix = 0; + } +} + +void Canvas::ToBuf(const char *t) +{ + int len = strlen(t); + if(!len) return; + + bool end = t[len-1] == '\n'; + if((store && waiting) || !end) { + int nxt = bufix+len; + if(nxt >= BUFSIZE || (end && nxt >= BUFSIZE-ZONE)) SendBuf(); + + memcpy(buffer+bufix,t,len); + buffer[bufix += len] = 0; + } + else { + SendBuf(); + Send(t); + } +} + +Canvas &Canvas::TkC() +{ + char tmp[20]; + sprintf(tmp,".x%x.c ",canvas); + ToBuf(tmp); + return *this; +} + +Canvas &Canvas::TkE() +{ + ToBuf("\n"); + return *this; +} + +Canvas &Canvas::Tk(char *fmt,...) +{ + // int result, i; + char buf[2048]; + va_list ap; + + va_start(ap, fmt); + vsprintf(buf, fmt, ap); + ToBuf(buf); + va_end(ap); + return *this; +} +#endif + +bool Canvas::Pre(int x,int y) +{ + xpos = x,ypos = y; +#ifdef PD + ++waiting; + return true; +#else + svgp = patcher_setport(canvas); + if(svgp != NULL) { + GetForeColor(&svcol); + GetPenState(&svpen); + ::PenMode(patCopy); + return true; + } + else return false; +#endif +} + +void Canvas::Post() +{ +#ifdef PD + if(!--waiting) SendBuf(); +#else + if(svgp) { + RGBForeColor(&svcol); + SetPenState(&svpen); + SetPort(svgp); + } +#endif +} + + +// -------------------------------------------------------------------------- + + +Rect &Rect::Add(const Pnt &p) +{ + if(p.x < lo.x) lo.x = p.x; + if(p.y < lo.y) lo.y = p.y; + if(p.x > hi.x) hi.x = p.x; + if(p.y > hi.y) hi.y = p.y; + return *this; +} + +Rect &Rect::Add(const Rect &r) +{ + if(r.lo.x < lo.x) lo.x = r.lo.x; + if(r.lo.y < lo.y) lo.y = r.lo.y; + if(r.hi.x > hi.x) hi.x = r.hi.x; + if(r.hi.y > hi.y) hi.y = r.hi.y; + return *this; +} + +bool Rect::In(const Pnt &p) const +{ + return p.x >= lo.x && p.x <= hi.x && p.y >= lo.y && p.y <= hi.y; +} + +bool Rect::Inter(const Rect &r) const +{ + return true; +} + + +// -------------------------------------------------------------------------- + + +GuiObj::GuiObj(Canvas *c,GuiGroup *p): + canvas(c),idsym(NULL), + parent(p) +// ,ori(0,0) +{} + +GuiObj::~GuiObj() +{ +// Delete(); +} + + +// -------------------------------------------------------------------------- + +GuiSingle::Event::Event(int evmask,bool (*m)(flext_gui &g,GuiSingle &obj,const flext_gui::CBParams &p)): + methfl(evmask),method(m),ext(false),nxt(NULL) +{} + +GuiSingle::Event::~Event() { if(nxt) delete nxt; } + + +GuiSingle::GuiSingle(Canvas *c,GuiGroup *p,const t_symbol *s): + GuiObj(c,p),sym(s),active(false),event(NULL) +{ + char tmp[20]; +#ifdef __MWERKS__ + std:: +#endif + sprintf(tmp,"GUI%x",this); + idsym = MakeSymbol(tmp); +} + +GuiSingle::~GuiSingle() +{ + Delete(); + if(event) delete event; +} + +void GuiSingle::Symbol(const t_symbol *s) +{ + sym = s; +} + +GuiSingle *GuiSingle::Find(const t_symbol *s) +{ + return sym == s?this:NULL; +} + +GuiObj &GuiSingle::MoveTo(int x,int y) +{ +#ifdef PD + if(active) { + canvas->TkC().Tk("coords %s %i %i\n",GetString(Id()), x, y); + } +#endif + rect.MoveTo(x,y); + return *this; +} + +GuiObj &GuiSingle::MoveRel(int dx,int dy) +{ +#ifdef PD + if(active) { + canvas->TkC().Tk("move %s %i %i\n",GetString(Id()), dx, dy); + } +#endif + rect.Move(dx,dy); + return *this; +} + +GuiObj &GuiSingle::Delete() +{ +#ifdef PD + if(active) { + canvas->TkC().Tk("delete -tags %s\n",GetString(Id())); + active = false; + } +#endif + return *this; +} + +GuiObj &GuiSingle::FillColor(unsigned long col) +{ +#ifdef PD + if(active) { + canvas->TkC().Tk("itemconfigure %s -fill #%06x\n",GetString(Id()),col); + } +#endif + return *this; +} + +GuiObj &GuiSingle::Outline(unsigned long col) +{ +#ifdef PD + if(active) { + canvas->TkC().Tk("itemconfigure %s -outline #%06x\n",GetString(Id()),col); + } +#endif + return *this; +} + +GuiObj &GuiSingle::Focus() +{ +#ifdef PD + if(active) { + canvas->TkC().Tk("focus %s\n",GetString(Id())); + } +#endif + return *this; +} + +bool GuiSingle::Method(flext_gui &g,const flext_gui::CBParams &p) +{ + bool ret = true; + for(Event *ei = event; ei && ret; ei = ei->nxt) + ret = ret && ((ei->method && (ei->methfl&p.kind))?ei->method(g,*this,p):true); + return ret; +} + +void GuiSingle::AddEvent(int evmask,bool (*m)(flext_gui &g,GuiSingle &obj,const flext_gui::CBParams &p)) +{ + Event *prv = NULL,*ix = event; + for(; ix && ix->method != m; prv = ix,ix = ix->nxt) {} + + if(ix) + // previous handler found -> update event mask + ix->methfl |= evmask; + else { + // no previous handler was found -> make new one + + Event *nev = new Event(evmask,m); + if(prv) prv->nxt = nev; + else event = nev; + } +} + +void GuiSingle::RmvEvent(int evmask,bool (*m)(flext_gui &g,GuiSingle &obj,const flext_gui::CBParams &p)) +{ + Event *prv = NULL,*ix = event; + for(; ix && ix->method != m; prv = ix,ix = ix->nxt) {} + + if(ix) { + // handler found + + if(!(ix->methfl &= ~evmask)) { + // mask has become zero -> remove handler + + if(prv) prv->nxt = ix->nxt; + else event = ix->nxt; + ix->nxt = NULL; + delete ix; + } + } +} + + + +// -------------------------------------------------------------------------- + + +GuiGroup::GuiGroup(Canvas *c,GuiGroup *p): + GuiObj(c,p),head(NULL),tail(NULL) +{ + char tmp[20]; +#ifdef __MWERKS__ + std:: +#endif + sprintf(tmp,"GRP%x",this); + idsym = MakeSymbol(tmp); +} + +GuiGroup::~GuiGroup() { Clear(); } + +void GuiGroup::Clear() +{ + for(Part *ix = head; ix; ) { + Part *n = ix->nxt; +#ifdef PD + RemoveTag(ix->obj); +#endif + if(ix->owner) delete ix->obj; + delete ix; + ix = n; + } + head = tail = NULL; +} + +void GuiGroup::Add(GuiObj *o,bool owner) +{ + o->canvas = canvas; +#ifdef PD + AddTag(o); // valid only for GuiSingle! +#endif + Part *n = new Part(o,owner); + if(!head) head = n; + else tail->nxt = n; + tail = n; + + rect.Add(o->rect); +} + +GuiSingle *GuiGroup::Find(const t_symbol *s) +{ + GuiSingle *r = NULL; + for(Part *ix = head; ix && !r; ix = ix->nxt) { + r = ix->obj->Find(s); + } + return r; +} + +GuiSingle *GuiGroup::Detach(const t_symbol *s) +{ + if(head) { + Part *p = NULL,*ix = head; + while(ix) { + if(ix->obj->Symbol() == s) { + // found + if(p) p->nxt = ix->nxt; + GuiSingle *ret = (GuiSingle *)(ix->obj); + +#ifdef PD + RemoveTag(ret); +#endif + if(head == ix) head = ix->nxt; + if(tail == ix) tail = p; + + delete ix; + + return ret; + } + else p = ix,ix = ix->nxt; + } + } + return NULL; +} + +GuiObj &GuiGroup::MoveRel(int dx,int dy) +{ +#ifdef PD + canvas->TkC().Tk("move %s %i %i\n",GetString(Id()), dx, dy); +#endif + for(Part *ix = head; ix; ix = ix->nxt) { + ix->obj->rect.Move(dx,dy); + } + return *this; +} + +GuiObj &GuiGroup::Delete() +{ +#ifdef PD + canvas->TkC().Tk("delete -tags %s\n",GetString(Id())); + + for(Part *ix = head; ix; ix = ix->nxt) ix->obj->Inactive(); +#endif + return *this; +} + + +GuiObj &GuiGroup::Draw() +{ + for(Part *ix = head; ix; ix = ix->nxt) ix->obj->Draw(); + return *this; +} + + +#ifdef PD + +void GuiGroup::AddTag(GuiObj *o) +{ + canvas->TkC().Tk("addtag %s withtag %s\n",GetString(Id()),GetString(o->Id())); +} + +void GuiGroup::RemoveTag(GuiObj *o) +{ + canvas->TkC().Tk("dtag %s %s\n",GetString(o->Id()),GetString(Id())); +} + +#endif + +GuiGroup *GuiGroup::Add_Group() +{ + GuiGroup *obj = new GuiGroup(canvas,this); + Add(obj); + return obj; +} + + +GuiSingle *GuiGroup::Add_Point(int x,int y,long fill) +{ + GuiPoint *obj = new GuiPoint(canvas,this); + obj->Set(x,y,fill); + Add(obj); + return obj; +} + +GuiSingle *GuiGroup::Add_Cloud(int n,const Pnt *p,long fill) +{ + GuiCloud *obj = new GuiCloud(canvas,this); + obj->Set(n,p,fill); + Add(obj); + return obj; +} + +GuiSingle *GuiGroup::Add_Box(int x,int y,int xsz,int ysz,int width,long fill,long outl) +{ + GuiBox *obj = new GuiBox(canvas,this); + obj->Set(x,y,xsz,ysz,width,fill,outl); + Add(obj); + return obj; +} + +GuiSingle *GuiGroup::Add_Rect(int x,int y,int xsz,int ysz,int width,long outl) +{ + GuiRect *obj = new GuiRect(canvas,this); + obj->Set(x,y,xsz,ysz,width,outl); + Add(obj); + return obj; +} + +GuiSingle *GuiGroup::Add_Line(int x1,int y1,int x2,int y2,int width,long fill) +{ + GuiLine *obj = new GuiLine(canvas,this); + obj->Set(x1,y1,x2,y2,width,fill); + Add(obj); + return obj; +} + +GuiSingle *GuiGroup::Add_Poly(int n,const Pnt *p,int width,long fill) +{ + GuiPoly *obj = new GuiPoly(canvas,this); + obj->Set(n,p,width,fill); + Add(obj); + return obj; +} + +GuiSingle *GuiGroup::Add_Text(int x,int y,const char *txt,long fill,GuiText::just_t just) +{ + GuiText *obj = new GuiText(canvas,this); + obj->Set(x,y,txt,fill,just); + Add(obj); + return obj; +} + +GuiSingle *GuiGroup::Remove(GuiSingle *go) +{ + for(Part *prv = NULL,*ix = head; ix; prv = ix,ix = ix->nxt) + if(ix->obj == go) { + if(prv) prv->nxt = ix->nxt; + else head = ix->nxt; + if(!head) tail = NULL; + + GuiObj *ret = ix->obj; + delete ix; + + if(head) { + rect = head->obj->rect; + for(ix = head->nxt; ix; ix = ix->nxt) rect.Add(ix->obj->rect); + } + + return (GuiSingle *)ret; + } + + return NULL; +} + +bool GuiGroup::Method(flext_gui &g,const flext_gui::CBParams &p) +{ + bool go = true; + for(Part *ix = head; go && ix; ix = ix->nxt) go = go && ix->obj->Method(g,p); + return go; +} + + +// -------------------------------------------------------------------------- + + +GuiObj &GuiPoint::Set(int x,int y,long fl) +{ + Delete(); + fill = fl; + rect(x,y,x,y); + +#ifdef PD + canvas->TkC(); + canvas->Tk("create line %i %i %i %i -tags %s",x,y,x+1,y,GetString(Id())); + if(fill >= 0) canvas->Tk(" -fill #%06x",fill); + canvas->TkE(); + + active = true; +#endif + return *this; +} + +GuiObj &GuiPoint::Draw() +{ +#ifdef MAXMSP +#endif + return *this; +} + + +GuiObj &GuiCloud::Set(int n,const Pnt *p,long fl) +{ + int i; + Delete(); + + fill = fl; + pnt = new Pnt[pnts = n]; + rect(pnt[0] = p[0],p[0]); + for(i = 1; i < n; ++i) rect.Add(pnt[i] = p[i]); + +#ifdef PD + canvas->TkC().Tk("create line"); + for(i = 0; i < n; ++i) + canvas->Tk(" %i %i",p[i].X(),p[i].Y()); + canvas->Tk(" -tags %s",GetString(Id())); + if(fill >= 0) canvas->Tk(" -fill #%06x",fill); + canvas->TkE(); + + active = true; +#endif + return *this; +} + +GuiObj &GuiCloud::Draw() +{ +#ifdef MAXMSP +#endif + return *this; +} + +GuiObj &GuiCloud::Delete() +{ + if(pnt) { delete[] pnt; pnt = NULL; } + return *this; +} + + +GuiObj &GuiBox::Set(int x,int y,int xsz,int ysz,int wd,long fl,long outl) +{ + Delete(); + rect(x,y,x+xsz-1,y+ysz-1); + width = wd,fill = fl,outln = outl; + +#ifdef PD + canvas->TkC().Tk("create rectangle %i %i %i %i -tags %s",x,y,x+xsz,y+ysz,GetString(Id())); + if(wd >= 0) canvas->Tk(" -width %i",wd); + if(fl >= 0) canvas->Tk(" -fill #%06x",fl); + if(outl >= 0) canvas->Tk(" -outline #%06x",outl); + canvas->TkE(); + + active = true; +#endif + return *this; +} + +GuiObj &GuiBox::Draw() +{ +#ifdef MAXMSP + ::Rect r; + ::RGBColor col; + int w = width; + if(!w) w = 1; + + r.left = Canv().X()+rect.Lo().X(); + r.top = Canv().Y()+rect.Lo().Y(); + r.right = Canv().X()+rect.Hi().X(); + r.bottom = Canv().Y()+rect.Hi().Y(); + + if(width >= 0) { + col.red = (outln>>8)&0xff00; + col.green = outln&0xff00; + col.blue = (outln&0xff)<<8; + ::RGBForeColor(&col); + ::PenSize(w,w); + ::FrameRect(&r); + } + col.red = (fill>>8)&0xff00; + col.green = fill&0xff00; + col.blue = (fill&0xff)<<8; + ::RGBForeColor(&col); + ::PaintRect(&r); +#endif + return *this; +} + + +GuiObj &GuiRect::Set(int x,int y,int xsz,int ysz,int wd,long outl) +{ + Delete(); + rect(x,y,x+xsz-1,y+ysz-1); + width = wd,outln = outl; + +#ifdef PD + canvas->TkC().Tk("create line %i %i %i %i %i %i %i %i %i %i -tags %s",x,y,x+xsz,y,x+xsz,y+ysz,x,y+ysz,x,y,GetString(Id())); + if(width >= 0) canvas->Tk(" -width %i",width); + if(outl >= 0) canvas->Tk(" -fill #%06x",outl); + canvas->TkE(); + + active = true; +#endif + return *this; +} + +GuiObj &GuiRect::Draw() +{ +#ifdef MAXMSP +#endif + return *this; +} + + +GuiObj &GuiLine::Set(int x1,int y1,int x2,int y2,int wd,long fl) +{ + Delete(); + rect(p1(x1,y1),p2(x2,y2)); + width = wd,fill = fl; + +#ifdef PD + canvas->TkC().Tk("create line %i %i %i %i -tags %s",x1,y1,x2,y2,GetString(Id())); + if(width >= 0) canvas->Tk(" -width %i",width); + if(fill >= 0) canvas->Tk(" -fill #%06x",fill); + canvas->TkE(); + + active = true; +#endif + return *this; +} + +GuiObj &GuiLine::Draw() +{ +#ifdef MAXMSP + ::Point p; + ::RGBColor col; + int w = width; + if(!w) w = 1; + + col.red = (fill>>8)&0xff00; + col.green = fill&0xff00; + col.blue = (fill&0xff)<<8; + ::RGBForeColor(&col); + ::PenSize(w,w); + p.h = Canv().X()+p1.X(); + p.v = Canv().Y()+p1.Y(); + ::MoveTo(p.h,p.v); + p.h = Canv().X()+p2.X(); + p.v = Canv().Y()+p2.Y(); + ::LineTo(p.h,p.v); +#endif + return *this; +} + + +GuiObj &GuiPoly::Set(int n,const Pnt *p,int wd,long fl) +{ + int i; + + Delete(); + + width = wd,fill = fl; + pnt = new Pnt[pnts = n]; + rect(pnt[0] = p[0],p[0]); + for(i = 1; i < n; ++i) rect.Add(pnt[i] = p[i]); + +#ifdef PD + canvas->TkC().Tk("create line"); + for(i = 0; i < n; ++i) + canvas->Tk(" %i %i",p[i].X(),p[i].Y()); + canvas->Tk(" -tags %s",GetString(Id())); + if(width >= 0) canvas->Tk(" -width %i",width); + if(fill >= 0) canvas->Tk(" -fill #%06x",fill); + canvas->TkE(); + + active = true; +#endif + return *this; +} + +GuiObj &GuiPoly::Draw() +{ +#ifdef MAXMSP + ::Point p; + ::RGBColor col; + int ox = Canv().X(),oy = Canv().Y(); + int w = width; + if(!w) w = 1; + + col.red = (fill>>8)&0xff00; + col.green = fill&0xff00; + col.blue = (fill&0xff)<<8; + ::RGBForeColor(&col); + ::PenSize(w,w); + p.h = ox+pnt[0].X(); + p.v = oy+pnt[0].Y(); + ::MoveTo(p.h,p.v); + for(int i = 1; i < pnts; ++i) { + p.h = ox+pnt[i].X(); + p.v = oy+pnt[i].Y(); + ::LineTo(p.h,p.v); + } +#endif + return *this; +} + +GuiObj &GuiPoly::Delete() +{ + if(pnt) { delete[] pnt; pnt = NULL; } + return *this; +} + + +GuiObj &GuiText::Set(int x,int y,const char *txt,long fl,just_t jt) +{ + Delete(); + rect(x,y,x,y); + fill = fl,just = jt; + +#ifdef PD + canvas->TkC().Tk("create text %i %i -tags %s",x,y,GetString(Id())); + if(txt) canvas->Tk(" -text %s",txt); + if(fill >= 0) canvas->Tk(" -fill #%06x",fill); + if(just != none) { + static const char justtxt[][7] = {"left","right","center"}; + canvas->Tk(" -justify %s",justtxt[(int)just]); + } + canvas->TkE(); + + active = true; +#endif + return *this; +} + +GuiObj &GuiText::Draw() +{ +#ifdef MAXMSP +#endif + return *this; +} + diff --git a/externals/grill/guitest/flguiobj.h b/externals/grill/guitest/flguiobj.h new file mode 100644 index 00000000..807b0f07 --- /dev/null +++ b/externals/grill/guitest/flguiobj.h @@ -0,0 +1,362 @@ +#ifndef __FLGUIOBJ_H +#define __FLGUIOBJ_H + +#define FLEXT_VIRT +#include <flext.h> +#include "flgui.h" + + +class Canvas +{ +public: + Canvas(t_canvas *c); + ~Canvas(); + +#ifdef PD + Canvas &Tk(char *fmt,...); + Canvas &TkC(); + Canvas &TkE(); + + void ToBuf(const char *t); +#endif + + bool Pre(int x,int y); + void Post(); + + int X() const { return xpos; } + int Y() const { return ypos; } + +protected: + + t_canvas *canvas; + int xpos,ypos; + +#ifdef PD + void Send(const char *t); + void SendBuf(); + + static bool debug,store; + + char *buffer; + int bufix; + int waiting; +#else + PenState svpen; + RGBColor svcol; + GrafPtr svgp; +#endif +}; + + +class Pnt +{ +public: + Pnt() {} + Pnt(const Pnt &p): x(p.x),y(p.y) {} + Pnt(int px,int py): x(px),y(py) {} + + Pnt &operator =(const Pnt &p) { x = p.x,y = p.y; return *this; } + Pnt &operator ()(int px,int py) { x = px,y = py; return *this; } + + Pnt &Move(int dx,int dy) { x += dx,y += dy; return *this; } + + int X() const { return x; } + int Y() const { return y; } + +//protected: + int x,y; +}; + +class Rect +{ +public: + Rect() {} + Rect(const Rect &r): lo(r.lo),hi(r.hi) {} + Rect(int xlo,int ylo,int xhi,int yhi): lo(xlo,ylo),hi(xhi,yhi) {} + + Rect &operator =(const Rect &r) { lo = r.lo; hi = r.hi; return *this; } + Rect &operator ()(const Pnt &l,const Pnt &h) { lo = l; hi = h; return *this; } + Rect &operator ()(int xlo,int ylo,int xhi,int yhi) { lo(xlo,ylo); hi(xhi,yhi); return *this; } + + Rect &Move(int dx,int dy) { lo.Move(dx,dy); hi.Move(dx,dy); return *this; } + Rect &MoveTo(int x,int y) { hi(x+hi.X()-lo.X(),y+hi.Y()-lo.Y()); lo(x,y); return *this; } + + Pnt &Lo() { return lo; } + Pnt &Hi() { return hi; } + int SizeX() const { return hi.X()-lo.X()+1; } + int SizeY() const { return hi.Y()-lo.Y()+1; } + + Rect &Add(const Pnt &p); + Rect &Add(const Rect &r); + bool In(const Pnt &p) const; + bool Inter(const Rect &r) const; + +protected: + Pnt lo,hi; +}; + +class GuiObj: + public flext +{ + friend class GuiGroup; +public: + GuiObj(Canvas *c = NULL,GuiGroup *p = NULL); + virtual ~GuiObj(); + + const t_symbol *Id() const { return idsym; } + virtual const t_symbol *Symbol() const { return NULL; } + + virtual void Active() {} + virtual void Inactive() {} + +/* + void Origin(int x,int y) { ori(x,y); } + void Origin(const Pnt &p) { ori = p; } + const Pnt &Origin() const { return ori; } + void OriMove(int dx,int dy) { ori.Move(dx,dy); } + int OriX() const { return ori.X(); } + int OriY() const { return ori.Y(); } +*/ + + virtual GuiSingle *Find(const t_symbol *s) { return NULL; } + inline GuiSingle *Find(const char *s) { return Find(MakeSymbol(s)); } + + virtual GuiObj &MoveRel(int dx,int dy) = 0; + virtual GuiObj &Focus() { return *this; } + + virtual GuiObj &Draw() = 0; + + Canvas &Canv() { return *canvas; } + +protected: + virtual GuiObj &Delete() = 0; + + GuiGroup *parent; + Canvas *canvas; + const t_symbol *idsym; + + virtual bool Method(flext_gui &g,const flext_gui::CBParams &p) = 0; + + Rect rect; +}; + + +class GuiSingle: + public GuiObj +{ + friend class flext_gui; +public: + GuiSingle(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL); + ~GuiSingle(); + + virtual const t_symbol *Symbol() const { return sym; } + virtual void Symbol(const t_symbol *s); + void Symbol(const char *s) { Symbol(MakeSymbol(s)); } + + virtual void Active() { active = true; } + virtual void Inactive() { active = false; } + + virtual bool In(const Pnt &p) const { return false; } + + virtual GuiSingle *Find(const t_symbol *s); + virtual GuiObj &MoveTo(int x,int y); + virtual GuiObj &MoveRel(int dx,int dy); + virtual GuiObj &FillColor(unsigned long col); + virtual GuiObj &Outline(unsigned long col); + + virtual GuiObj &Focus(); + + GuiGroup &Parent() { return *parent; } + +protected: + virtual GuiObj &Delete(); + + const t_symbol *sym; + bool active; + + class Event { + public: + Event(int evmask,bool (*m)(flext_gui &g,GuiSingle &obj,const flext_gui::CBParams &p)); + ~Event(); + + int methfl; + bool (*method)(flext_gui &g,GuiSingle &obj,const flext_gui::CBParams &p); + bool ext; + Event *nxt; + } *event; + + void AddEvent(int evmask,bool (*m)(flext_gui &g,GuiSingle &obj,const flext_gui::CBParams &p)); + void RmvEvent(int evmask,bool (*m)(flext_gui &g,GuiSingle &obj,const flext_gui::CBParams &p)); + + virtual bool Method(flext_gui &g,const flext_gui::CBParams &p); +}; + + +class GuiPoint: + public GuiSingle +{ + friend class GuiGroup; + + GuiPoint(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiObj &Set(int x,int y,long fill = -1); + virtual GuiObj &Draw(); + + long fill; +public: +}; + + +class GuiCloud: + public GuiSingle +{ + friend class GuiGroup; + + GuiCloud(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s),pnt(NULL) {} + GuiObj &Set(int n,const Pnt *p,long fill = -1); + virtual GuiObj &Draw(); + virtual GuiObj &Delete(); + + long fill; + int pnts; + Pnt *pnt; +public: +}; + + +class GuiBox: + public GuiSingle +{ + friend class GuiGroup; + + GuiBox(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiObj &Set(int x,int y,int xsz,int ysz,int width = -1,long fill = -1,long outl = -1); + virtual GuiObj &Draw(); + + virtual bool In(const Pnt &p) const { return rect.In(p); } + + int width; + long fill,outln; +public: +}; + + +class GuiRect: + public GuiSingle +{ + friend class GuiGroup; + + GuiRect(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiObj &Set(int x,int y,int xsz,int ysz,int width = -1,long outl = -1); + virtual GuiObj &Draw(); + + virtual bool In(const Pnt &p) const { return rect.In(p); } + + int width; + long outln; +public: +}; + + +class GuiLine: + public GuiSingle +{ + friend class GuiGroup; + + GuiLine(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiObj &Set(int x1,int y1,int x2,int y2,int width = -1,long fill = -1); + virtual GuiObj &Draw(); + + int width; + long fill; + Pnt p1,p2; +public: +}; + + +class GuiPoly: + public GuiSingle +{ + friend class GuiGroup; + + GuiPoly(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s),pnt(NULL) {} + GuiObj &Set(int n,const Pnt *p,int width = -1,long fill = -1); + virtual GuiObj &Draw(); + virtual GuiObj &Delete(); + + int width; + long fill; + int pnts; + Pnt *pnt; +public: +}; + + +class GuiText: + public GuiSingle +{ + friend class GuiGroup; +public: + enum just_t { none = -1,left = 0,right,center }; +protected: + GuiText(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiObj &Set(int x,int y,const char *txt = NULL,long fill = -1,just_t just = none); + virtual GuiObj &Draw(); + + just_t just; + long fill; +}; + + +class GuiGroup: + public GuiObj +{ + friend class flext_gui; +public: + GuiGroup(Canvas *c,GuiGroup *p = NULL); + ~GuiGroup(); + + virtual GuiSingle *Find(const t_symbol *s); + virtual GuiObj &MoveRel(int dx,int dy); + + void Clear(); + void Add(GuiObj *o,bool own = true); + GuiSingle *Detach(const t_symbol *s); + + virtual GuiObj &Draw(); + + GuiGroup *Add_Group(); + GuiSingle *Add_Point(int x,int y,long fill = -1); + inline GuiSingle *Add_Point(const Pnt &p,long fill = -1) { return Add_Point(p.X(),p.Y(),fill); } + GuiSingle *Add_Cloud(int n,const Pnt *p,long fill = -1); + GuiSingle *Add_Box(int x,int y,int xsz,int ysz,int width = -1,long fill = -1,long outl = -1); + GuiSingle *Add_Rect(int x,int y,int xsz,int ysz,int width = -1,long outl = -1); + GuiSingle *Add_Line(int x1,int y1,int x2,int y2,int width = -1,long fill = -1); + inline GuiSingle *Add_Line(const Pnt &p1,const Pnt &p2,int width = -1,long fill = -1) { return Add_Line(p1.X(),p1.Y(),p2.X(),p2.Y(),width,fill); } + GuiSingle *Add_Poly(int n,const Pnt *p,int width = -1,long fill = -1); + GuiSingle *Add_Text(int x,int y,const char *txt,long fill = -1,GuiText::just_t just = GuiText::none); + inline GuiSingle *Add_Text(const Pnt &p,const char *txt,long fill = -1,GuiText::just_t just = GuiText::none) { return Add_Text(p.X(),p.Y(),txt,fill,just); } + + GuiSingle *Remove(GuiSingle *obj); + +protected: +#ifdef PD + void AddTag(GuiObj *o); + void RemoveTag(GuiObj *o); +#endif + + virtual GuiObj &Delete(); + + class Part + { + public: + Part(GuiObj *o,bool own = true): obj(o),owner(own),nxt(NULL) {} + + GuiObj *obj; + bool owner; + Part *nxt; + } *head,*tail; + + virtual bool Method(flext_gui &g,const flext_gui::CBParams &p); +}; + +#endif diff --git a/externals/grill/guitest/guitest.dsp b/externals/grill/guitest/guitest.dsp new file mode 100644 index 00000000..e7dcf20e --- /dev/null +++ b/externals/grill/guitest/guitest.dsp @@ -0,0 +1,112 @@ +# Microsoft Developer Studio Project File - Name="guitest" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** NICHT BEARBEITEN ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=guitest - 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 "guitest.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 "guitest.mak" CFG="guitest - Win32 Debug" +!MESSAGE +!MESSAGE Für die Konfiguration stehen zur Auswahl: +!MESSAGE +!MESSAGE "guitest - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library") +!MESSAGE "guitest - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "max/guitest" +# PROP Scc_LocalPath "." +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "guitest - 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\r" +# PROP Intermediate_Dir "msvc\r" +# 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" /D "GUITEST_EXPORTS" /YX /FD /c +# ADD CPP /nologo /W3 /GR /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /I "F:\prog\packs\wxwindows-2.3.2\include" /I "F:\prog\packs\wxwindows-2.3.2\lib\mswdll" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# SUBTRACT CPP /Fr +# 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 user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib pd.lib flext-pdwin.lib /nologo /dll /machine:I386 /libpath:"c:\programme\audio\pd\bin" /libpath:"f:\prog\max\flext\pd-msvc" /libpath:"F:\prog\packs\wxwindows-2.2.9\lib" + +!ELSEIF "$(CFG)" == "guitest - 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\d" +# PROP Intermediate_Dir "msvc\d" +# 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" /D "GUITEST_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /GR /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /I "F:\prog\packs\wxwindows-2.3.2\include" /I "F:\prog\packs\wxwindows-2.3.2\lib\mswdlld" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /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 gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib pd.lib flext_d-pdwin.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"c:\programme\audio\pd\bin" /libpath:"f:\prog\max\flext\pd-msvc" /libpath:"F:\prog\packs\wxwindows-2.3.2\lib" + +!ENDIF + +# Begin Target + +# Name "guitest - Win32 Release" +# Name "guitest - Win32 Debug" +# Begin Source File + +SOURCE=.\flgui.cpp +# End Source File +# Begin Source File + +SOURCE=.\flgui.h +# End Source File +# Begin Source File + +SOURCE=.\flguiobj.cpp +# End Source File +# Begin Source File + +SOURCE=.\flguiobj.h +# End Source File +# Begin Source File + +SOURCE=.\main.cpp +# End Source File +# End Target +# End Project diff --git a/externals/grill/guitest/main.cpp b/externals/grill/guitest/main.cpp new file mode 100644 index 00000000..775a206b --- /dev/null +++ b/externals/grill/guitest/main.cpp @@ -0,0 +1,152 @@ +#include "flgui.h" +#include "flguiobj.h" + +#include <stdlib.h> +/* +#include <stdio.h> +#include <string.h> +#include <stdarg.h> +*/ + +#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 303) +#error You need at least flext version 0.3.3 +#endif + + +#define V void +#define I int +#define C char +#define BL bool +#define L long +#define UL unsigned long + +class guitest: +public flext_gui,virtual public flext_base +{ + FLEXT_HEADER(guitest,flext_gui) + +public: + guitest(I argc,t_atom *argv); + ~guitest(); + + virtual void m_bang() + { + post("%s - bang!",thisName()); + } + +protected: + + virtual void g_Create(); + virtual void g_Edit(bool selected); + + static bool g_Motion(flext_gui &g,GuiSingle &obj,const CBParams &p); + static bool g_MouseKey(flext_gui &g,GuiSingle &obj,const CBParams &p); + static bool g_Key(flext_gui &g,GuiSingle &obj,const CBParams &p); + + virtual void g_Properties(); + virtual void g_Save(t_binbuf *b); + +private: + FLEXT_CALLBACK(m_bang); +}; + +FLEXT_NEW_V("guitest",guitest) + + +void guitest::g_Create() +{ + GuiSingle *frame = Group().Add_Box(0,0,XSize(),YSize(),-1,0xE0E0E0); + frame->Symbol("rect1"); + GuiSingle *wave = Group().Add_Box(8,10,XSize()-16,YSize()-11,0,0x4040FF); + Group().Add_Text(1,1,"Hula",-1); + + I n = XSize()-16; + Pnt *p = new Pnt[n]; + for(int i = 0; i < n; ++i) { + p[i](8+i,10+rand()%(YSize()-11)); + } + Group().Add_Poly(n,p,-1,0xC0C0C0); + delete[] p; + + if(!BindEvent(*frame,g_Motion,evMotion)) post("Motion not supported"); + if(!BindEvent(*wave,g_MouseKey,evMouseDown)) post("MouseDown not supported"); + if(!BindEvent(*wave,g_MouseKey,evKeyDown)) post("KeyDown not supported"); + if(!BindEvent(*wave,g_MouseKey,evKeyUp)) post("KeyUp not supported"); +} + +void guitest::g_Properties() +{ + post("properties"); +} + +void guitest::g_Save(t_binbuf *b) +{ + post("save"); +#ifdef PD + binbuf_addv(b, "ssiis;", gensym("#X"),gensym("obj"), + (t_int)XLo(), (t_int)YLo(),MakeSymbol(thisName()) + // here the arguments + ); +#else +#endif +} + +void guitest::g_Edit(bool selected) +{ + post("select is=%d", selected); + + GuiSingle *obj = Group().Find(MakeSymbol("rect1")); + if(obj) + obj->Outline(selected?0xFF0000:0x000000); + else + post("obj not found"); +} + +bool guitest::g_Motion(flext_gui &g,GuiSingle &obj,const CBParams &p) +{ + if(p.kind == evMotion) { + post("Motion %s x:%i y:%i mod:%i",GetString(obj.Id()),p.pMotion.x,p.pMotion.y,p.pMotion.mod); + } + else + post("Motion"); + return true; +} + +bool guitest::g_MouseKey(flext_gui &g,GuiSingle &obj,const CBParams &p) +{ + if(p.kind == evMouseDown) { + post("MouseDown %s x:%i y:%i b:%i mod:%i",GetString(obj.Id()),p.pMouseKey.x,p.pMouseKey.y,p.pMouseKey.b,p.pMouseKey.mod); + } + else if(p.kind == evKeyDown) { + post("KeyDown %s asc:%i key:%i mod:%i",GetString(obj.Id()),p.pKey.a,p.pKey.k,p.pKey.mod); + } + else if(p.kind == evKeyUp) { + post("KeyUp %s asc:%i key:%i mod:%i",GetString(obj.Id()),p.pKey.a,p.pKey.k,p.pKey.mod); + } + return true; +} + +bool guitest::g_Key(flext_gui &g,GuiSingle &obj,const CBParams &p) +{ + post("Key"); + return true; +} + + + + + +guitest::guitest(I argc,t_atom *argv): + flext_gui(400,100) +{ + AddInAnything(); + AddOutInt(2); + + FLEXT_ADDBANG(0,m_bang); +} + +guitest::~guitest() +{ +} + + diff --git a/externals/grill/pool/pool.cpp b/externals/grill/pool/pool.cpp index b45f0e87..d7304f57 100644 --- a/externals/grill/pool/pool.cpp +++ b/externals/grill/pool/pool.cpp @@ -29,19 +29,19 @@ static I compare(const S *a,const S *b) static I compare(const A &a,const A &b) { - if(a.a_type == b.a_type) { - switch(a.a_type) { + if(flext::GetType(a) == flext::GetType(b)) { + switch(flext::GetType(a)) { case A_FLOAT: - return compare(a.a_w.w_float,b.a_w.w_float); + return compare(flext::GetFloat(a),flext::GetFloat(b)); #ifdef MAXMSP case A_LONG: - return compare((I)a.a_w.w_long,(I)b.a_w.w_long); + return compare(flext::GetInt(a),flext::GetInt(b)); #endif case A_SYMBOL: - return compare(a.a_w.w_symbol,b.a_w.w_symbol); + return compare(flext::GetSymbol(a),flext::GetSymbol(b)); #ifdef PD case A_POINTER: - return a.a_w.w_gpointer == b.a_w.w_gpointer?0:(a.a_w.w_gpointer < b.a_w.w_gpointer?-1:1); + return flext::GetPointer(a) == flext::GetPointer(b)?0:(flext::GetPointer(a) < flext::GetPointer(b)?-1:1); #endif default: LOG("pool - atom comparison: type not handled"); @@ -49,7 +49,7 @@ static I compare(const A &a,const A &b) } } else - return a.a_type < b.a_type?-1:1; + return flext::GetType(a) < flext::GetType(b)?-1:1; } @@ -368,18 +368,15 @@ static C *ReadAtom(C *c,A *a) switch(s) { case 0: // integer #ifdef MAXMSP - a->a_type = A_LONG; - a->a_w.w_long = atol(m); + flext::SetInt(*a,atoi(m)); break; #endif case 1: // float - a->a_type = A_FLOAT; - a->a_w.w_float = (F)atof(m); + flext::SetFloat(*a,(F)atof(m)); break; default: { // anything else is a symbol C t = *c; *c = 0; - a->a_type = A_SYMBOL; - a->a_w.w_symbol = (S *)flext::MakeSymbol(m); + flext::SetString(*a,m); *c = t; break; } @@ -422,7 +419,7 @@ static V WriteAtom(ostream &os,const A &a) break; #endif case A_SYMBOL: - os << flext::GetString(a.a_w.w_symbol); + os << flext::GetString(flext::GetSymbol(a)); break; } } diff --git a/externals/grill/pool/pool.cw b/externals/grill/pool/pool.cw Binary files differindex b977091c..123cb10f 100755 --- a/externals/grill/pool/pool.cw +++ b/externals/grill/pool/pool.cw diff --git a/externals/grill/pool/pool.help b/externals/grill/pool/pool.help Binary files differindex 24d189b7..c4ce9d74 100755 --- a/externals/grill/pool/pool.help +++ b/externals/grill/pool/pool.help diff --git a/externals/grill/py/scripts/sendrecv.py b/externals/grill/py/scripts/sendrecv.py index f31eae2d..5b0cc1df 100644 --- a/externals/grill/py/scripts/sendrecv.py +++ b/externals/grill/py/scripts/sendrecv.py @@ -18,7 +18,12 @@ There are several classes exposing py/pyext features: """ -import pyext +try: + import pyext +except: + print "ERROR: This script must be loaded by the PD/Max pyext external" + + from time import sleep ################################################################# @@ -142,7 +147,7 @@ class ex3(pyext._class): # make flower self._tocanvas("obj",ori.real,ori.imag,"bng",20,250,50,0,"empty","yeah","empty",0,-6,64,8,-24198,-1,-1) - for i in range(num): + for i in xrange(num): l[i] = ori+rad*exp(complex(0,i*2*pi/num)) self._tocanvas("obj",l[i].real,l[i].imag,"bng",15,250,50,0,"empty","yeah"+str(i),"empty",0,-6,64,8,0,-1,-1) self._tocanvas("connect",2,0,3+i,0) @@ -153,7 +158,7 @@ class ex3(pyext._class): sleep(1./(i+1)) # move objects around - for i in range(200): + for i in xrange(200): ix = randint(0,num-1) l[ix] = ori+rad*complex(2*random()-1,2*random()-1) self._send("yeah"+str(ix),"pos",l[ix].real,l[ix].imag) @@ -162,7 +167,7 @@ class ex3(pyext._class): # now delete # this is not well-done... from time to time an object remains self._tocanvas("editmode",1) - for i in range(num): + for i in xrange(num): self._tocanvas("mouse",l[i].real,l[i].imag,0,0) self._tocanvas("cut") diff --git a/externals/grill/py/scripts/simple.py b/externals/grill/py/scripts/simple.py index 60cebec7..da35a6b4 100644 --- a/externals/grill/py/scripts/simple.py +++ b/externals/grill/py/scripts/simple.py @@ -63,7 +63,10 @@ pyext Usage: """ -import pyext +try: + import pyext +except: + print "ERROR: This script must be loaded by the PD/Max pyext external" ################################################################# diff --git a/externals/grill/py/scripts/tcltk.py b/externals/grill/py/scripts/tcltk.py index 154a51b1..04828a25 100644 --- a/externals/grill/py/scripts/tcltk.py +++ b/externals/grill/py/scripts/tcltk.py @@ -7,7 +7,11 @@ """This is an example script for showing a nonsense tcl/tk application.""" -import pyext +try: + import pyext +except: + print "ERROR: This script must be loaded by the PD/Max pyext external" + from Tkinter import * import random @@ -40,7 +44,7 @@ class Application(Frame): r = self.mcanv.create_rectangle(50,50,200,200) self.mcanv.addtag_withtag('group',r) - for i in range(500): + for i in xrange(500): x = random.uniform(50,200) y = random.uniform(50,200) l = self.mcanv.create_line(x,y,x+1,y) diff --git a/externals/grill/py/scripts/threads.py b/externals/grill/py/scripts/threads.py index f7740bd3..ec0488d7 100644 --- a/externals/grill/py/scripts/threads.py +++ b/externals/grill/py/scripts/threads.py @@ -16,7 +16,11 @@ For threading support pyext exposes several function and variables """ -import pyext +try: + import pyext +except: + print "ERROR: This script must be loaded by the PD/Max pyext external" + from time import sleep ################################################################# @@ -33,7 +37,7 @@ class ex1(pyext._class): # method for bang to any inlet def bang_(self,n): - for i in range(self.loops): + for i in xrange(self.loops): # if _shouldexit is true, the thread ought to stop if self._shouldexit: break diff --git a/externals/grill/xsample/source/main.cpp b/externals/grill/xsample/source/main.cpp index 27d66338..85fea90d 100644 --- a/externals/grill/xsample/source/main.cpp +++ b/externals/grill/xsample/source/main.cpp @@ -24,10 +24,9 @@ V lib_setup() FLEXT_DSP_SETUP(xgroove); #ifdef MAXMSP - // That's not the right place..... (doesn't work) - finder_addclass((char *)"MSP Sampling",(char *)"xgroove~"); - finder_addclass((char *)"MSP Sampling",(char *)"xplay~"); - finder_addclass((char *)"MSP Sampling",(char *)"xrecord~"); + finder_addclass((C *)"MSP Sampling",(C *)"xgroove~"); + finder_addclass((C *)"MSP Sampling",(C *)"xplay~"); + finder_addclass((C *)"MSP Sampling",(C *)"xrecord~"); #endif } |