Index: /trunk/SophyaPI/PI/Quartz/PI.xcodeproj/brunomansoux.pbxuser
===================================================================
--- /trunk/SophyaPI/PI/Quartz/PI.xcodeproj/brunomansoux.pbxuser	(revision 3471)
+++ /trunk/SophyaPI/PI/Quartz/PI.xcodeproj/brunomansoux.pbxuser	(revision 3472)
@@ -100,5 +100,5 @@
 				);
 			};
-			PBXPerProjectTemplateStateSaveDate = 224673928;
+			PBXPerProjectTemplateStateSaveDate = 224675161;
 			PBXWorkspaceContents = (
 				{
@@ -358,31 +358,31 @@
 				},
 			);
-			PBXWorkspaceStateSaveDate = 224673928;
+			PBXWorkspaceStateSaveDate = 224675161;
 		};
 		perUserProjectItems = {
-			6D03F0750D4765880007FC26 /* PBXTextBookmark */ = 6D03F0750D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0760D4765880007FC26 /* PBXTextBookmark */ = 6D03F0760D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0770D4765880007FC26 /* PBXTextBookmark */ = 6D03F0770D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0780D4765880007FC26 /* PBXTextBookmark */ = 6D03F0780D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0790D4765880007FC26 /* PBXTextBookmark */ = 6D03F0790D4765880007FC26 /* PBXTextBookmark */;
-			6D03F07A0D4765880007FC26 /* PBXTextBookmark */ = 6D03F07A0D4765880007FC26 /* PBXTextBookmark */;
-			6D03F07B0D4765880007FC26 /* PBXTextBookmark */ = 6D03F07B0D4765880007FC26 /* PBXTextBookmark */;
-			6D03F07C0D4765880007FC26 /* PBXTextBookmark */ = 6D03F07C0D4765880007FC26 /* PBXTextBookmark */;
-			6D03F07D0D4765880007FC26 /* PBXTextBookmark */ = 6D03F07D0D4765880007FC26 /* PBXTextBookmark */;
-			6D03F07E0D4765880007FC26 /* PBXTextBookmark */ = 6D03F07E0D4765880007FC26 /* PBXTextBookmark */;
-			6D03F07F0D4765880007FC26 /* PBXTextBookmark */ = 6D03F07F0D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0810D4765880007FC26 /* PBXTextBookmark */ = 6D03F0810D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0830D4765880007FC26 /* PBXTextBookmark */ = 6D03F0830D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0840D4765880007FC26 /* PBXTextBookmark */ = 6D03F0840D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0850D4765880007FC26 /* PBXTextBookmark */ = 6D03F0850D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0860D4765880007FC26 /* PBXTextBookmark */ = 6D03F0860D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0870D4765880007FC26 /* PBXTextBookmark */ = 6D03F0870D4765880007FC26 /* PBXTextBookmark */;
-			6D03F0890D4765880007FC26 /* PBXTextBookmark */ = 6D03F0890D4765880007FC26 /* PBXTextBookmark */;
-			6D03F08A0D4765880007FC26 /* PBXTextBookmark */ = 6D03F08A0D4765880007FC26 /* PBXTextBookmark */;
-			6D03F08B0D4765880007FC26 /* PBXTextBookmark */ = 6D03F08B0D4765880007FC26 /* PBXTextBookmark */;
-			6D03F08C0D4765880007FC26 /* PBXTextBookmark */ = 6D03F08C0D4765880007FC26 /* PBXTextBookmark */;
-			6D75B9B00D0D768C00083859 /* PBXTextBookmark */ = 6D75B9B00D0D768C00083859 /* PBXTextBookmark */;
-			6DA1EC110D64419F00BEE134 /* PBXTextBookmark */ = 6DA1EC110D64419F00BEE134 /* PBXTextBookmark */;
-			6DEF2BC20D5C97F5006053F9 /* PBXTextBookmark */ = 6DEF2BC20D5C97F5006053F9 /* PBXTextBookmark */;
+			6D03F0750D4765880007FC26 = 6D03F0750D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0760D4765880007FC26 = 6D03F0760D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0770D4765880007FC26 = 6D03F0770D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0780D4765880007FC26 = 6D03F0780D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0790D4765880007FC26 = 6D03F0790D4765880007FC26 /* PBXTextBookmark */;
+			6D03F07A0D4765880007FC26 = 6D03F07A0D4765880007FC26 /* PBXTextBookmark */;
+			6D03F07B0D4765880007FC26 = 6D03F07B0D4765880007FC26 /* PBXTextBookmark */;
+			6D03F07C0D4765880007FC26 = 6D03F07C0D4765880007FC26 /* PBXTextBookmark */;
+			6D03F07D0D4765880007FC26 = 6D03F07D0D4765880007FC26 /* PBXTextBookmark */;
+			6D03F07E0D4765880007FC26 = 6D03F07E0D4765880007FC26 /* PBXTextBookmark */;
+			6D03F07F0D4765880007FC26 = 6D03F07F0D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0810D4765880007FC26 = 6D03F0810D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0830D4765880007FC26 = 6D03F0830D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0840D4765880007FC26 = 6D03F0840D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0850D4765880007FC26 = 6D03F0850D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0860D4765880007FC26 = 6D03F0860D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0870D4765880007FC26 = 6D03F0870D4765880007FC26 /* PBXTextBookmark */;
+			6D03F0890D4765880007FC26 = 6D03F0890D4765880007FC26 /* PBXTextBookmark */;
+			6D03F08A0D4765880007FC26 = 6D03F08A0D4765880007FC26 /* PBXTextBookmark */;
+			6D03F08B0D4765880007FC26 = 6D03F08B0D4765880007FC26 /* PBXTextBookmark */;
+			6D03F08C0D4765880007FC26 = 6D03F08C0D4765880007FC26 /* PBXTextBookmark */;
+			6D75B9B00D0D768C00083859 = 6D75B9B00D0D768C00083859 /* PBXTextBookmark */;
+			6DA1EC110D64419F00BEE134 = 6DA1EC110D64419F00BEE134 /* PBXTextBookmark */;
+			6DEF2BC20D5C97F5006053F9 = 6DEF2BC20D5C97F5006053F9 /* PBXTextBookmark */;
 		};
 		sourceControlManager = 6DF29DE50B71EEB300F55B65 /* Source Control */;
@@ -708,12 +708,4 @@
 		};
 	};
-	6D526BFE066245C7009E5976 /* machdefs.h */ = {
-		uiCtxt = {
-			sepNavIntBoundsRect = "{{0, 0}, {824, 5628}}";
-			sepNavSelRange = "{4303, 0}";
-			sepNavVisRect = "{{0, 2072}, {824, 850}}";
-			sepNavWindowFrame = "{{15, 38}, {939, 959}}";
-		};
-	};
 	6D526C000662461A009E5976 /* piwdggen.h */ = {
 		uiCtxt = {
@@ -850,7 +842,7 @@
 		name = "xp1.cc: 204";
 		rLen = 0;
-		rLoc = 5220;
-		rType = 0;
-		vrLen = 1115;
+		rLoc = 5151;
+		rType = 0;
+		vrLen = 781;
 		vrLoc = 4370;
 	};
@@ -1078,7 +1070,7 @@
 		name = "xp1.cc: 204";
 		rLen = 0;
-		rLoc = 5220;
-		rType = 0;
-		vrLen = 1115;
+		rLoc = 5151;
+		rType = 0;
+		vrLen = 781;
 		vrLoc = 4370;
 	};
Index: /trunk/SophyaPI/PI/Quartz/PI.xcodeproj/project.pbxproj
===================================================================
--- /trunk/SophyaPI/PI/Quartz/PI.xcodeproj/project.pbxproj	(revision 3471)
+++ /trunk/SophyaPI/PI/Quartz/PI.xcodeproj/project.pbxproj	(revision 3472)
@@ -268,5 +268,4 @@
 		6D0E251D0665D642009E5976 /* pimsghandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D526C020662462C009E5976 /* pimsghandler.h */; };
 		6D0E251E0665D653009E5976 /* PI_Prefix.h in Headers */ = {isa = PBXBuildFile; fileRef = 32BAE0B70371A74B00C91783 /* PI_Prefix.h */; };
-		6D0E251F0665D8A1009E5976 /* machdefs.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D526BFE066245C7009E5976 /* machdefs.h */; };
 		6D0E25200665D8A2009E5976 /* picolist.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D526C040662464E009E5976 /* picolist.h */; };
 		6D0E25210665E286009E5976 /* picontainergen.h in Headers */ = {isa = PBXBuildFile; fileRef = 6D526BFA06624512009E5976 /* picontainergen.h */; };
@@ -362,5 +361,4 @@
 		6D526BFA06624512009E5976 /* picontainergen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = picontainergen.h; path = ../Src/picontainergen.h; sourceTree = SOURCE_ROOT; };
 		6D526BFC066245AE009E5976 /* pisysdep.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = pisysdep.h; path = ../Src/pisysdep.h; sourceTree = SOURCE_ROOT; };
-		6D526BFE066245C7009E5976 /* machdefs.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = machdefs.h; path = ../Src/machdefs.h; sourceTree = SOURCE_ROOT; };
 		6D526C000662461A009E5976 /* piwdggen.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = piwdggen.h; path = ../Src/piwdggen.h; sourceTree = SOURCE_ROOT; };
 		6D526C020662462C009E5976 /* pimsghandler.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = pimsghandler.h; path = ../Src/pimsghandler.h; sourceTree = SOURCE_ROOT; };
@@ -571,5 +569,4 @@
 				32BAE0B70371A74B00C91783 /* PI_Prefix.h */,
 				6D526C040662464E009E5976 /* picolist.h */,
-				6D526BFE066245C7009E5976 /* machdefs.h */,
 				6D526C000662461A009E5976 /* piwdggen.h */,
 				6D526C0606624678009E5976 /* piwdggen.cc */,
@@ -649,5 +646,4 @@
 				6D0E251D0665D642009E5976 /* pimsghandler.h in Headers */,
 				6D0E251E0665D653009E5976 /* PI_Prefix.h in Headers */,
-				6D0E251F0665D8A1009E5976 /* machdefs.h in Headers */,
 				6D0E25200665D8A2009E5976 /* picolist.h in Headers */,
 				6D0E25210665E286009E5976 /* picontainergen.h in Headers */,
Index: /trunk/SophyaPI/PI/Quartz/qtmachdefs.h
===================================================================
--- /trunk/SophyaPI/PI/Quartz/qtmachdefs.h	(revision 3472)
+++ /trunk/SophyaPI/PI/Quartz/qtmachdefs.h	(revision 3472)
@@ -0,0 +1,401 @@
+#ifndef MACHDEFS_SEEN
+#define MACHDEFS_SEEN
+
+/***********************************************************************/
+/* Find hardware, OS and compiler combination                          */
+/***********************************************************************/
+
+#if defined(OSF1) 
+#define MACH_ALPHA
+#define OS_OSF1
+#endif
+
+#if defined(_AIX) || defined(AIX)
+#define MACH_IBMRS
+#define OS_AIX
+#endif
+
+#if defined(__hpux__) || defined(HPUX)
+#define MACH_HP
+#define OS_HPUX
+#endif
+
+#ifdef __MWERKS__
+#define MACH_POWERMAC
+#define OS_MACOS
+#endif
+
+#if defined(SunOS)  || defined ( sun )
+#define MACH_SUN
+#define OS_SOLARIS
+#endif
+
+#ifdef IRIX64
+#define MACH_SGI
+#define OS_IRIX64
+#endif
+
+#ifdef __APPLE__
+#ifdef __MACH__
+#define MACH_POWERPC
+#define OS_MACOSX
+#endif
+#endif
+
+#if defined(Linux)  || defined(linux)
+#if defined(__alpha__)
+#define MACH_ALPHA
+#elif defined(powerpc)
+#define MACH_POWERPC
+#elif defined(__i386__)
+#define MACH_INTEL
+#else
+#error Undefined Platform (machine) type with linux in machdefs.h
+#endif
+#define OS_LINUX
+#endif
+
+
+/***********************************************************************/
+/* Hardware/OS dependent stuff                                         */
+/***********************************************************************/
+
+#if defined(OS_OSF1)
+
+  typedef signed char int_1;
+  typedef unsigned char uint_1;
+  typedef int int_4;
+  typedef unsigned int uint_4;
+  typedef short int_2;
+  typedef unsigned short uint_2;
+  typedef float r_4;
+  typedef double r_8;
+  typedef long long int_8;
+  typedef unsigned long long uint_8;
+
+#define  SWAP 1
+#define  SWAPDEFAUT 1
+
+#elif  defined(OS_HPUX)
+
+  typedef signed char int_1;
+  typedef unsigned char uint_1;
+  typedef int int_4 ;
+  typedef unsigned int uint_4;
+  typedef short int_2;
+  typedef unsigned short uint_2;
+  typedef float r_4;
+  typedef double r_8;
+  typedef long long int_8;
+  typedef unsigned long long uint_8;
+
+#define  SWAP 0
+#define  SWAPDEFAUT   0
+
+
+#elif  defined( OS_AIX )
+
+  typedef signed char int_1;
+  typedef unsigned char uint_1;
+  typedef int int_4;
+  typedef unsigned int uint_4;
+  typedef short int_2;
+  typedef unsigned short uint_2;
+  typedef float r_4;
+  typedef double r_8;
+  typedef long long int_8;
+  typedef unsigned long long uint_8;
+
+#define  SWAP 0
+#define  SWAPDEFAUT   0
+
+/* Check for solaris on intel... */
+#elif  defined( OS_SOLARIS ) && defined( MACH_SUN )
+
+  typedef signed char int_1;
+  typedef unsigned char uint_1;
+  typedef int int_4;
+  typedef unsigned int uint_4;
+  typedef short int_2;
+  typedef unsigned short uint_2;
+  typedef float r_4;
+  typedef double r_8;
+  typedef long long int_8;
+  typedef unsigned long long uint_8;
+
+#define  SWAP 0
+#define  SWAPDEFAUT   0
+
+#elif  defined( OS_IRIX64 )
+
+  typedef signed char int_1;
+  typedef unsigned char uint_1;
+  typedef int int_4;
+  typedef unsigned int uint_4;
+  typedef short int_2;
+  typedef unsigned short uint_2;
+  typedef float r_4;
+  typedef double r_8;
+  typedef long long int_8;
+  typedef unsigned long long uint_8;
+
+#define  SWAP 0
+#define  SWAPDEFAUT   0
+
+/* Check linux on other machines than Intel */
+#elif defined(OS_LINUX)
+/* Sizes OK for PowerPC, Alpha, Intel    */
+/* On Alpha, long is 8 bytes             */
+  typedef signed char int_1;
+  typedef unsigned char uint_1;
+  typedef int int_4;
+  typedef unsigned int uint_4;
+  typedef short int_2;
+  typedef unsigned short uint_2;
+  typedef float r_4;
+  typedef double r_8;
+  typedef long long int_8;
+  typedef unsigned long long uint_8;
+
+#if defined(powerpc) || (__alpha__)
+#define SWAP 0
+#define SWAPDEFAUT 0
+#else
+#define  SWAP 1
+#define  SWAPDEFAUT   1
+#endif
+
+#elif defined(OS_MACOS)
+
+  typedef signed char int_1;
+  typedef unsigned char uint_1;
+  typedef long int_4;
+  typedef unsigned long uint_4;
+  typedef short int_2;
+  typedef unsigned short uint_2;
+  typedef float r_4;
+  typedef double r_8;
+  typedef long long int_8;
+  typedef unsigned long long uint_8;
+
+#define  SWAP 0
+#define  SWAPDEFAUT   0
+
+#elif defined(OS_MACOSX)
+
+  typedef signed char int_1;
+  typedef unsigned char uint_1;
+  typedef int int_4;
+  typedef unsigned int uint_4;
+  typedef short int_2;
+  typedef unsigned short uint_2;
+  typedef float r_4;
+  typedef double r_8;
+  typedef long long int_8;
+  typedef unsigned long long uint_8;
+  typedef unsigned char pistring[256];
+//  typedef void (*Callback)(void* userData);
+
+#define  SWAP 0
+#define  SWAPDEFAUT   0
+
+
+#else
+#error  Undefined Machine/OS type in machdefs.h
+#endif
+
+
+
+#if SWAP==1
+#define IS_BIG_ENDIAN 0
+#else
+#define IS_BIG_ENDIAN 1
+#endif
+
+
+/***********************************************************************/
+/* Find Compiler                                                       */
+/***********************************************************************/
+
+/*    __MWERKS__   : Metrowerks Codewarrior (>= PRO 4)                 */
+/*    __DECCXX     : DEC CXX, version >= 6 is required                 */
+/*    __GNUG__     : GNU C++ 2.8.1, egcs ??                            */
+/*    __aCC__      : aCC on HP                                         */
+/*    __KCC__      : KCC, version >= 3.3 is required                   */
+/*    __SGICC__    : SGI (IRIX64) CC compiler                          */
+
+/***********************************************************************/
+/* Compiler-specific stuff                                             */
+/***********************************************************************/
+
+/* Some features will be *required* for Planck. Which ones ?               */
+  
+/*   ANSI_TEMPLATES        : use ANSI syntax for explicit templates        */
+/*   GNUG_TEMPLATES        : use GNU syntax for explicit templates         */
+/*   PRAGMA_TEMPLATES      : use pragma template, a la cxx                 */
+/*   COMPILER_EXCEPTIONS   : knows about exceptions  --- required ?        */ 
+/*   STREAMPOS_IS_CLASS    : streampos is a real class                     */
+/*   ITER_TAG              : use iter_tag for iterator qualifiers in STL   */
+/*   NO_STRSTREAM          : does not have strstream                       */
+/*   NO_EXPLICIT           : does not know about explicit keyword          */
+/*   HAS_IOS_BIN                                                           */
+/*   HAS_IOS_NOCREATE                                                      */
+/*   HAS_VEC_NEW           : operator new[]                                */
+/*   CC_HAS_RTTI_SUPPORT     has Run Time Type Identification support      */
+/*   ANSI_IO               : rdbuf()->pubseekoff rather than seekg         */
+/*   HAS_STR_NPOS          : has string::npos and not a global NPOS        */
+/*   NO_IOS_COMPLEX        : does not have operator << defined for complex */
+
+
+/* The following is true for most compilers */
+
+#ifndef HAS_VEC_NEW
+#define HAS_VEC_NEW
+#endif
+
+#ifndef COMPILER_EXCEPTIONS
+#define COMPILER_EXCEPTIONS
+#endif
+
+#ifndef  CC_HAS_RTTI_SUPPORT 
+#define  CC_HAS_RTTI_SUPPORT 
+#endif
+
+/* now the specific things */
+
+#ifdef __MWERKS__
+#define ANSI_TEMPLATES
+#undef  HAS_VEC_NEW
+#define NO_STRSTREAM
+//#define STREAMPOS_IS_CLASS
+#define ITER_TAG
+#define HAS_IOS_BIN 
+#define HAS_IOS_NOCREATE 
+#define HAS_STR_NPOS
+#endif
+
+#ifdef __GNUG__
+#define ANSI_TEMPLATES
+// #define GNU_TEMPLATES
+#define HAS_STR_NPOS
+#define HAS_IOS_BIN
+#define HAS_IOS_NOCREATE
+#endif
+
+#ifdef __DECCXX
+#define HAS_STR_NPOS
+#define ITER_TAG
+#define __CXX_PRAGMA_TEMPLATES__
+#define PRAGMA_TEMPLATES
+#endif
+
+#if defined (__aCC__)  
+#ifndef ANSI_TEMPLATES
+#define ANSI_TEMPLATES
+#endif
+#endif
+
+#if defined(__KCC__)
+/* KCC V 3.2 ne compile pas  i/ostream s ; long p = s.tellg();  OK en  V 3.3 */
+#define HAS_STR_NPOS
+#ifndef ANSI_TEMPLATES
+#define ANSI_TEMPLATES
+#endif
+#endif
+
+#if defined(__SGICC__)
+#define HAS_STR_NPOS
+#ifndef ANSI_TEMPLATES
+#define ANSI_TEMPLATES
+#endif
+#endif
+
+/* Get things has homogeneous as possible between compilers */
+
+#ifdef HAS_STR_NPOS
+#define NPOS string::npos
+#else
+#define NPOS (size_t)-1
+#endif
+
+#ifndef __GNUG__
+#define __PRETTY_FUNCTION__ __FILE__ " __LINE__ "
+#ifndef __FUNCTION__
+#define __FUNCTION__ __FILE__ " __LINE__ "
+#endif
+#ifndef __KCC__
+#define __attribute__(_x_)
+#endif
+#endif
+
+#ifdef NO_EXPLICIT
+#define explicit
+#endif
+
+#ifdef HAS_IOS_BIN
+#define IOS_BIN ios::binary
+#else
+#define IOS_BIN 0
+#endif
+
+#ifdef ANSI_IO
+#define seekg(p_, m_) rdbuf()->pubseekoff(p_,m_)
+#define seekp(p_, m_) rdbuf()->pubseekoff(p_,m_)
+#endif
+
+#ifdef __MWERKS__
+//#define hypot(_x_,_y_) sqrt((_x_)*(_x_) + (_y_)*(_y_))
+#define random() (rand()*65538.0 + rand()*2. + rand())
+#define srandom srand
+#define initstate(seed, tab, n) srand(seed)
+#define nice(_x)
+
+#ifdef __cplusplus
+#include <string.h>
+#include <string>
+inline bool operator< (string const& s1, string const& s2)
+{ return (strcmp(s1.c_str(), s2.c_str()) < 0); }
+#endif
+#endif
+
+#ifdef OS_MACOSX
+#define NO_VALUES_H
+/* BMX */
+#include "PI_Prefix.h"
+/* #include "osx_values.h" */
+/* Faute de mieux pour le moment : */
+#define drand48() ((double)(random())/LONG_MAX)
+#endif
+
+
+/********************************************************/
+/* Outil d'impressions pour debug */
+#define PR(_data_)  {cout<<" "<<#_data_<<" "<<_data_;}
+#define CR {cout<<"\n"<<flush;}
+/* ********************************************************/
+
+/* ---- Activation des flags de debug/bound checking  ----- */
+#ifdef SOPHYA_DEBUG
+#define SO_BOUNDCHECKING
+#endif
+
+/* ---- La taille et les index des tableaux ---- */
+#ifdef SGI_ARCH64
+typedef int_8 sa_size_t ;
+#else
+typedef int_4 sa_size_t ;
+#endif
+
+/* Compatibilite, avant de migrer tout le code en "PLANCK" */
+
+#ifdef __cplusplus
+/* Standard C++ library classes are in the namespace std  */
+namespace std { }
+using namespace std;
+/*  SOPHYA classes are in namespace SOPHYA  */
+namespace SOPHYA {}
+using namespace SOPHYA;
+#define EXPLICIT explicit
+#endif
+
+#endif
