[PD-cvs] externals/grill/flext build.bat,1.4,1.5 build.sh,1.4,1.5 build.txt,1.3,1.4 changes.txt,1.74,1.75 notes.txt,1.4,1.5

Thomas Grill xovo at users.sourceforge.net
Sun Feb 27 05:56:12 CET 2005


Update of /cvsroot/pure-data/externals/grill/flext
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26917

Modified Files:
	build.bat build.sh build.txt changes.txt notes.txt 
Log Message:
small name change and reuse of Fifo cells
fixed eol-style
new lock-free lifo and fifo
fixes for linux
eliminated ChannelsIn/ChannelsOut
updated docs
build system: added profiler mode, more fixes
fix for linux
autodetection of build platform
fix for flext_dsp @ Max


Index: notes.txt
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/notes.txt,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** notes.txt	8 Feb 2005 04:56:22 -0000	1.4
--- notes.txt	27 Feb 2005 04:56:10 -0000	1.5
***************
*** 1,64 ****
! flext - C++ layer for Max/MSP and pd (pure data) externals
! 
! Copyright (c) 2001-2005 Thomas Grill (gr at grrrr.org)
! For information on usage and redistribution, and for a DISCLAIMER OF ALL
! WARRANTIES, see the file, "license.txt," in this distribution.  
! 
! ----------------------------------------------------------------------------
! 
! VARIOUS NOTES:
! 
! Platform specific:
! - PD does not allow signal and message to go into the same inlet (except leftmost inlet)
! - PD: with DSP objects all float messages to the leftmost inlet are converted to signal
! 
! Restrictions in compatibility mode:
! - Max allows only 9 float/int inlets
! 
! Porting to new compilers/platforms:
! - enums must be int-sized!!!
! - compiler must support bool type
! - an STL implementation must exist
! - C++ exceptions and RTTI must be enabled
! 
! ----------------------------------------------------------------------------
! 
! KNOWN BUGS:
! - can't use MFC libraries because of global new and delete overloadings
! - MaxMSP Mach-O DSP externals cannot be the first externals loaded (e.g. in Max Runtime)
!     there must be a CFM signal external loaded beforehand!!! (Max will crash otherwise)
! 
! ----------------------------------------------------------------------------
! 
! TODO LIST:
! 
! - optimizations for object initialization and messaging
! - SIMD for gcc
! 
! - update documentation
! - add log messages for debugging version
! - use PD's t_float and t_int types (or comparable for 32-bit safety)
! 
! - add double handlers
! - add signal in/out connection query function
! 
! - support for Max qelem style
! 
! - flext::post and flext::error should print via a worker thread (and should be unlimited in characters)
! 
! - manage running threads individually (stop, isrunning?, priority etc.)
! 
! ----------------------------------------------------------------------------
! 
! TESTS TO DO:
! 
! - PD: problems with timed buffer redrawing (takes a lot of cpu time)
! - hard thread termination upon object destruction doesn't seem to work properly -> crash
! - Max rounding bug ... buffer resize could be one sample less!
! 
! - PD: figure out what "pointer" messages do and whether they are correctly implemented in flext
! 
! - Max buffer~ resize: flext_base::buffer::Frames(): must we use buffer or system sample rate?
! 
! - check whether m_dsp gets called upon deletion of a used buffer (PD and MaxMSP may behave differently).
! 	-> PD does call m_dsp, Max/MSP does not
--- 1,66 ----
! flext - C++ layer for Max/MSP and pd (pure data) externals
! 
! Copyright (c) 2001-2005 Thomas Grill (gr at grrrr.org)
! For information on usage and redistribution, and for a DISCLAIMER OF ALL
! WARRANTIES, see the file, "license.txt," in this distribution.  
! 
! ----------------------------------------------------------------------------
! 
! VARIOUS NOTES:
! 
! Platform specific:
! - PD does not allow signal and message to go into the same inlet (except leftmost inlet)
! - PD: with DSP objects all float messages to the leftmost inlet are converted to signal
! 
! Restrictions in compatibility mode:
! - Max allows only 9 float/int inlets
! 
! Porting to new compilers/platforms:
! - enums must be int-sized!!!
! - compiler must support bool type
! - an STL implementation must exist
! - C++ exceptions and RTTI must be enabled
! 
! ----------------------------------------------------------------------------
! 
! KNOWN BUGS:
! - can't use MFC libraries because of global new and delete overloadings
! 
! - MaxMSP Mach-O DSP externals cannot be the first externals loaded (e.g. in Max Runtime)
!     there must be a CFM signal external loaded beforehand!!! (Max will crash otherwise)
! 	-> i think this is fixed in Max in the meantime!
! 
! ----------------------------------------------------------------------------
! 
! TODO LIST:
! 
! - optimizations for object initialization and messaging
! - SIMD for gcc
! 
! - update documentation
! - add log messages for debugging version
! - use PD's t_float and t_int types (or comparable for 32-bit safety)
! 
! - add double handlers
! - add signal in/out connection query function
! 
! - support for Max qelem style
! 
! - flext::post and flext::error should print via a worker thread (and should be unlimited in characters)
! 
! - manage running threads individually (stop, isrunning?, priority etc.)
! 
! ----------------------------------------------------------------------------
! 
! TESTS TO DO:
! 
! - PD: problems with timed buffer redrawing (takes a lot of cpu time)
! - hard thread termination upon object destruction doesn't seem to work properly -> crash
! - Max rounding bug ... buffer resize could be one sample less!
! 
! - PD: figure out what "pointer" messages do and whether they are correctly implemented in flext
! 
! - Max buffer~ resize: flext_base::buffer::Frames(): must we use buffer or system sample rate?
! 
! - check whether m_dsp gets called upon deletion of a used buffer (PD and MaxMSP may behave differently).
! 	-> PD does call m_dsp, Max/MSP does not

Index: build.sh
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/build.sh,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** build.sh	10 Jan 2005 04:58:35 -0000	1.4
--- build.sh	27 Feb 2005 04:56:09 -0000	1.5
***************
*** 19,31 ****
  
  # Arguments:
! # $1 - platform (win/lnx/mac)
! # $2 - system (pd/max)
! # $3 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
! # $4 - target (build/clean/install)
  
! platform=$1
! rtsys=$2
! compiler=$3
! target=$4
  
  # --- The subbatch knowns which make utility to use ---
--- 19,38 ----
  
  # Arguments:
! # $1 - system (pd/max)
! # $2 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
! # $3 - target (build/clean/install)
  
! unamesys=$(uname -s)
! 
! case $unamesys in
! 	Linux) platform=lnx;;
! 	Darwin) platform=mac;;
! 	CYGWIN*) platform=win;;
! 	*) echo Platform $unamesys not supported; exit;;
! esac
! 
! rtsys=$1
! compiler=$2
! target=$3
  
  # --- The subbatch knowns which make utility to use ---
***************
*** 35,43 ****
  	[ -n "$platform" -a -n "$rtsys" -a -n "$compiler" -a -f $subbatch ]
  then 
! 	bash $subbatch $platform $rtsys $target $5 $6 $7 $8 $9
  else
  	echo 
! 	echo SYNTAX: build.sh [platform] [system] [compiler] {target}
! 	echo platform ... win / lnx / mac
  	echo system ..... pd / max
  	echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
--- 42,49 ----
  	[ -n "$platform" -a -n "$rtsys" -a -n "$compiler" -a -f $subbatch ]
  then 
! 	bash $subbatch $platform $rtsys $target $4 $5 $6 $7 $8 $9
  else
  	echo 
! 	echo SYNTAX: build.sh [system] [compiler] {target}
  	echo system ..... pd / max
  	echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
***************
*** 47,49 ****
--- 53,57 ----
  	echo system path and that all relevant environment variables are properly set.
  	echo
+ 	echo For further information read flext/build.txt
+ 	echo
  fi

Index: build.txt
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/build.txt,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** build.txt	13 Jan 2005 04:58:59 -0000	1.3
--- build.txt	27 Feb 2005 04:56:09 -0000	1.4
***************
*** 43,53 ****
  Useful combinations of the above are
  
! win pd msvc, using nmake
! win pd cygwin, using gnumake
! win pd mingw, using gnumake
! win max msvc, using nmake
! win pd bcc, using bmake
! mac pd gcc, using gnumake
! mac max gcc, using gnumake - Mach-O externals only (Max 4.5 upwards)
  
  
--- 43,58 ----
  Useful combinations of the above are
  
! under Windows:
! pd msvc, using nmake
! pd cygwin, using gnumake
! pd mingw, using gnumake
! max msvc, using nmake
! pd bcc, using bmake
! 
! under Linux or MacOSX:
! pd gcc, using gnumake
! 
! under MacOSX:
! max gcc, using gnumake - Mach-O externals only (Max 4.5 upwards)
  
  
***************
*** 80,86 ****
  
  e.g. under Windows
! 	build win pd msvc
  or under unix with
! 	bash build.sh lnx pd gcc
  
  When you run it for the first time, one or more configuration files will be created 
--- 85,91 ----
  
  e.g. under Windows
! 	build pd msvc
  or under unix with
! 	bash build.sh pd gcc
  
  When you run it for the first time, one or more configuration files will be created 
***************
*** 89,95 ****
  
  Then install flext with (under Windows)
! 	build win pd msvc install
  or (under unix)
! 	bash build.sh lnx pd gcc install
  
  
--- 94,100 ----
  
  Then install flext with (under Windows)
! 	build pd msvc install
  or (under unix)
! 	bash build.sh pd gcc install
  
  
***************
*** 104,119 ****
  
  e.g. under Windows
! 	..\flext\build win pd msvc
  Then install your newly built external with
! 	..\flext\build win pd msvc install
  You can clean up the intermediate build folders with
! 	..\flext\build win pd msvc clean
  
  or under unix with
! 	bash ../flext/build.sh lnx pd gcc
  Then install your external with
! 	bash ../flext/build.sh lnx pd gcc install
  You can clean up the intermediate build folders with
! 	bash ../flext/build.sh lnx pd gcc clean
  
  
--- 109,124 ----
  
  e.g. under Windows
! 	..\flext\build pd msvc
  Then install your newly built external with
! 	..\flext\build pd msvc install
  You can clean up the intermediate build folders with
! 	..\flext\build pd msvc clean
  
  or under unix with
! 	bash ../flext/build.sh pd gcc
  Then install your external with
! 	bash ../flext/build.sh pd gcc install
  You can clean up the intermediate build folders with
! 	bash ../flext/build.sh pd gcc clean
  
  

Index: build.bat
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/build.bat,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** build.bat	5 Jan 2005 05:04:07 -0000	1.4
--- build.bat	27 Feb 2005 04:56:09 -0000	1.5
***************
*** 19,31 ****
  
  rem Arguments:
! rem %1 - platform (win/lnx/mac)
! rem %2 - system (pd/max)
! rem %3 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
! rem %4 - target (build/clean/install)
  
! set platform=%1
! set rtsys=%2
! set compiler=%3
! set target=%4
  
  rem --- The subbatch knowns which make utility to use ---
--- 19,30 ----
  
  rem Arguments:
! rem %1 - system (pd/max)
! rem %2 - compiler (msvc/gcc/mingw/cygwin/bcc/icc)
! rem %3 - target (build/clean/install)
  
! set platform=win
! set rtsys=%1
! set compiler=%2
! set target=%3
  
  rem --- The subbatch knowns which make utility to use ---
***************
*** 38,42 ****
  if not exist %subbatch% goto syntax
  
! call %subpatch% %subbatch% %platform% %rtsys% %target% %5 %6 %7 %8 %9
  
  goto end
--- 37,41 ----
  if not exist %subbatch% goto syntax
  
! call %subpatch% %subbatch% %platform% %rtsys% %target% %4 %5 %6 %7 %8 %9
  
  goto end
***************
*** 46,51 ****
  
  echo .
! echo SYNTAX: build [platform] [system] [compiler] {target}
! echo platform ... win / lnx / mac
  echo system   ... pd / max
  echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
--- 45,49 ----
  
  echo .
! echo SYNTAX: build [system] [compiler] {target}
  echo system   ... pd / max
  echo compiler ... msvc / gcc / mingw / cygwin / bcc / icc
***************
*** 55,58 ****
--- 53,58 ----
  echo system path and that all relevant environment variables are properly set.
  echo .
+ echo For further information read flext/build.txt
+ echo .
  
  :end

Index: changes.txt
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/changes.txt,v
retrieving revision 1.74
retrieving revision 1.75
diff -C2 -d -r1.74 -r1.75
*** changes.txt	12 Feb 2005 04:56:08 -0000	1.74
--- changes.txt	27 Feb 2005 04:56:10 -0000	1.75
***************
*** 34,37 ****
--- 34,38 ----
  - fixes to flext::Timer::At method
  - eliminated misleading flext_dsp::ChannelsIn and ChannelsOut
+ - added lock-free Lifo and Fifo structures and used it with message queueing
  
  0.4.7:





More information about the Pd-cvs mailing list