From ed4ce25dc69fd6361f7655a3ab5d05186754316c Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Thu, 6 Jan 2005 04:59:21 +0000 Subject: build system for flext-based externals reconsidered flext::buffer:Update improved buffer handling added object construction and destruction flags updated autoconf system updated documentation updated build system svn path=/trunk/; revision=2467 --- externals/grill/flext/notes.txt | 65 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 externals/grill/flext/notes.txt (limited to 'externals/grill/flext/notes.txt') diff --git a/externals/grill/flext/notes.txt b/externals/grill/flext/notes.txt new file mode 100644 index 00000000..a1f5ab44 --- /dev/null +++ b/externals/grill/flext/notes.txt @@ -0,0 +1,65 @@ +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! +- flext_dsp: Max/MSP doesn't correctly report in/out channel counts + +- 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 -- cgit v1.2.1