diff options
Diffstat (limited to 'externals/grill/flext/notes.txt')
-rw-r--r-- | externals/grill/flext/notes.txt | 130 |
1 files changed, 66 insertions, 64 deletions
diff --git a/externals/grill/flext/notes.txt b/externals/grill/flext/notes.txt index 3538ca5f..4833b7e6 100644 --- a/externals/grill/flext/notes.txt +++ b/externals/grill/flext/notes.txt @@ -1,64 +1,66 @@ -flext - C++ layer for Max/MSP and pd (pure data) externals - -Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org) -For information on usage and redistribution, and for a DISCLAIMER OF ALL -WARRANTIES, see the file, "license.txt," in this distribution. - ----------------------------------------------------------------------------- - -VARIOUS NOTES: - -Platform specific: -- PD does not allow signal and message to go into the same inlet (except leftmost inlet) -- PD: with DSP objects all float messages to the leftmost inlet are converted to signal - -Restrictions in compatibility mode: -- Max allows only 9 float/int inlets - -Porting to new compilers/platforms: -- enums must be int-sized!!! -- compiler must support bool type -- an STL implementation must exist -- C++ exceptions and RTTI must be enabled - ----------------------------------------------------------------------------- - -KNOWN BUGS: -- 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 +flext - C++ layer for Max/MSP and pd (pure data) externals
+
+Copyright (c) 2001-2005 Thomas Grill (gr@grrrr.org)
+For information on usage and redistribution, and for a DISCLAIMER OF ALL
+WARRANTIES, see the file, "license.txt," in this distribution.
+
+----------------------------------------------------------------------------
+
+VARIOUS NOTES:
+
+Platform specific:
+- PD does not allow signal and message to go into the same inlet (except leftmost inlet)
+- PD: with DSP objects all float messages to the leftmost inlet are converted to signal
+
+Restrictions in compatibility mode:
+- Max allows only 9 float/int inlets
+
+Porting to new compilers/platforms:
+- enums must be int-sized!!!
+- compiler must support bool type
+- an STL implementation must exist
+- C++ exceptions and RTTI must be enabled
+
+----------------------------------------------------------------------------
+
+KNOWN BUGS:
+- 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
|