aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/readme.txt
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-01-05 05:04:55 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-01-05 05:04:55 +0000
commitb1d0383c31cc936710fb9099f6d9e86e7eeae569 (patch)
tree6b885467b10f0a29d58893a031ea10251369f37a /externals/grill/flext/readme.txt
parent011a5b60d4992b2325219865ee7ffca9741a1155 (diff)
made default configurations generic
two more flext tutorials fixes for Max headers cleanups updated build system updated tutorials revised the documentation updated for OSX upgraded version number svn path=/trunk/; revision=2465
Diffstat (limited to 'externals/grill/flext/readme.txt')
-rw-r--r--externals/grill/flext/readme.txt167
1 files changed, 51 insertions, 116 deletions
diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt
index 97c1f4b2..e0baf10c 100644
--- a/externals/grill/flext/readme.txt
+++ b/externals/grill/flext/readme.txt
@@ -1,6 +1,6 @@
flext - C++ layer for Max/MSP and pd (pure data) externals
-Copyright (c) 2001-2004 Thomas Grill (xovo@gmx.net)
+Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
For information on usage and redistribution, and for a DISCLAIMER OF ALL
WARRANTIES, see the file, "license.txt," in this distribution.
@@ -8,143 +8,78 @@ This package seeks to encourage the development of open source software
for the pd and Max/MSP platforms.
Donations for further development of the package are highly appreciated.
-Visit https://www.paypal.com/xclick/business=t.grill%40gmx.net&item_name=flext&no_note=1&tax=0&currency_code=EUR
+https://www.paypal.com/xclick/business=t.grill%40gmx.net&item_name=flext&no_note=1&tax=0&currency_code=EUR
----------------------------------------------------------------------------
-o for PD you need the pd source code (which is most likely part of the distribution)
- download from: http://www-crca.ucsd.edu/~msp/software.html
+Abstract:
-o for Max/MSP you will also need the Max/MSP SDK for OS9 (http://www.cycling74.com/products/dlmaxmsp.html)
- or OSX (http://www.cycling74.com/products/dlxmax.html)
- and for threading the Multiprocessing library (download at http://developer.apple.com/sdk/)
+flext seeks to represent a uniform programming interface for extending the most common
+modular real-time audio systems Max/MSP and Pure Data (PD) with external modules, or
+short externals. These modules provide a way to tailor such a system for one’s
+special needs and supply additional functionality.
-o if you choose to compile with SndObj support you will need the respective library
- download from: http://www.may.ie/academic/music/musictec/SndObj/main.html
+Source code based on flext is able to exploit nearly all features of the
+respective real-time framework while staying completely independent of the
+actual host system and platform (hardware and operating system).
-o if you choose to compile with STK support you will need the respective package and build a library
- download from: http://ccrma-www.stanford.edu/software/stk/
- For linking it may preferable to use a library of all the STK objects.
- Under linux you can create one from the STK directory with something like
- "g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o"
+flext currently supports development for PD under Linux, Windows and OSX as well as
+Max/MSP under OS9, OSX and Windows with various programming environments.
----------------------------------------------------------------------------
+Goals/features of the package:
-BUILDING & INSTALLING:
-======================
-
-
-pd - Windows:
--------------
-o Microsoft Visual C++ 6 or 7:
- edit "config-pd-msvc.txt"
- start a dos-shell (cmd.exe) and set the compiler environment (vcvars32.bat)
- run "build-pd-msvc.bat"
-
-o Borland C++ 5.5 (free):
- edit "config-pd-bcc.txt" and run "build-pd-bcc.bat"
- BCC++ currently supports non-threaded static flext libraries only
-
-o Cygwin: edit "config-pd-cygwin.txt" & run "sh build-pd-cygwin.sh"
- additional settings (e.g. target processor, compiler flags) can be made in makefile.pd-cygwin
-
-o MinGW: edit "config-pd-mingw.txt" & run "build-pd-mingw.bat"
- the MinGW binaries have to be in the PATH
- additional settings (e.g. target processor, compiler flags) can be made in makefile.pd-mingw
- MinGW currently supports non-threaded static flext libraries only
-
-
-With your project using flext, be sure to define "FLEXT_SYS=2".
-
-
-pd - linux:
------------
-o GCC,ICC: edit "config-pd-linux.txt" & run "sh build-pd-linux.sh"
- additional settings (e.g. target processor, compiler flags) can be made in makefile.pd-linux
-
-Several variations of the flext library will be built: release and debug version of single-threaded and multi-threaded static libraries and of a multi-threaded shared library, respectively.
-These will be installed into the flext directory given in config-pd-linux.txt. For the shared libraries to be found, be sure to specify the flext folder in the /etc/ld.so.conf.
-
-
-With your project using flext, be sure to define "FLEXT_SYS=2".
-
-
-pd - MacOSX:
------------
-o GCC: edit "config-pd-darwin.txt" & run "sh build-pd-darwin.sh"
- additional settings (e.g. target processor, compiler flags) can be made in makefile.pd-darwin
-
-
-With your project using flext, be sure to define "FLEXT_SYS=2".
-
-
-Max/MSP - Windows:
-------------------
-o Microsoft Visual C++ 6 or 7: edit "config-max-msvc.txt" & run "build-max-msvc.bat"
-
-
-With your project using flext, be sure to define "FLEXT_SYS=1".
-
-
-Max/MSP - MacOS 9:
-------------------
-o Metrowerks CodeWarrior: edit & use the "flext.cw" project file
-
-You must have the following "Source Trees" (CW preferences, not project specific!) defined:
-"flext" - Pointing to the flext main directory
-"Cycling74" - Pointing to the Cycling 74 SDK
-"MP SDK" - Pointing to the Multiprocessing SDK (for threading support)
-
-
-With your project using flext, be sure to define "FLEXT_SYS=1"
-- alternatively use the prefix file "flcwmax.h" or "flcwmax-thr.h" for threading support.
-
-
-Max/MSP - MacOSX:
-------------------
-o Metrowerks CodeWarrior: edit & use the "flext.cw" project file
+pros:
+- better readability of code compared to straight C externals
+- faster development, more robust coding
+- sharing of common methods and data by using base classes
+- any input to any inlet (with the exception of signal streams)
+- transparent use of threads for methods
+- libraries of externals in Max/MSP
+- more than 3 typed creation arguments possible for Max/MSP
-Be sure to have the latest Max/MSK SDK downloadable from http://www.cycling74.com
-You should use "version 4.5 headers" rather than "version 4.3 headers".
+cons:
+- introduces a small overhead to speed of message and signal handling
+- overhead in object size (due to possibly unneeded code)
-You must have the following "Source Trees" (CW preferences, not project specific!) defined:
-"OS X Volume" - Pointing to your OSX boot drive
-"flext" - Pointing to the flext main directory
-"Cycling74 OSX" - Pointing to the SDK for Max/MSP - the path should end with /c74support
-"MP SDK" - Pointing to the Multiprocessing SDK (for threading support)
+----------------------------------------------------------------------------
-Note: Some parts of the Max/MSP SDK may not be compliant to the C standard.
-If you get errors for lines like
-#endif _MOTO_
-You should changes all of these to
-#endif /* _MOTO_ */
+Prerequisites:
+o --- PD ---
+ You need the pd source code which is most likely part of the distribution.
+ Otherwise download from: http://www-crca.ucsd.edu/~msp/software.html
-o GCC: edit "config-max-darwin.txt" & run "sh build-max-darwin.sh"
- additional settings (e.g. target processor, compiler flags) can be made in makefile.max-darwin
+o --- Max/MSP ---
+ You will need the latest Max/MSP SDK
+ for Windows (http://synthesisters.com/pluggo3/downloadMaxWinSDK.php)
+ for OSX (http://www.synthesisters.com/sdk/max.php)
+ or for OS9 (ask Cycling'74 where to find that)
+ For OS9 threading support you'll also need the Multiprocessing library
+ (download at http://developer.apple.com/sdk/)
-With your project using flext, be sure to define "FLEXT_SYS=1"
-- alternatively use the prefix file "flcwmax-x.h" or "flcwmax-x-thr.h" for threading support.
+o --- SndObj ---
+ If you choose to compile with SndObj support you will need the respective library
+ download from: http://www.may.ie/academic/music/musictec/SndObj/main.html
+o --- STK ---
+ If you choose to compile with STK support you will need the respective package
+ and build a library.
+ download from: http://ccrma-www.stanford.edu/software/stk/
+ For linking it may preferable to use a library of all the STK objects.
+ Under linux you can create one from the STK directory with something like
+ "g++ -c -pipe -I include -D __LINUX_OSS__ src/*.cpp && ar r libstk.a *.o && rm -f *.o"
----------------------------------------------------------------------------
-Goals/features of the package:
+Building and installing of flext and flext-based externals:
-pros:
-- better readability of code compared to straight C externals
-- faster development, more robust coding
-- sharing of common methods and data by using base classes
-- any input to any inlet (with the exception of signal streams)
-- transparent use of threads for methods
-- libraries of externals in MaxMSP
-- more than 3 typed creation arguments possible for MaxMSP
+ Read the build.txt document
-cons:
-- introduces a small overhead to speed of message handling
-- overhead in object size (due to possibly unneeded code)
+----------------------------------------------------------------------------
-see flext.h, fldefs.h and flclass.h for the documented base definitions and classes
+History of changes:
+ Read the changes.txt document