aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/notes.txt
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-01-06 04:59:21 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-01-06 04:59:21 +0000
commited4ce25dc69fd6361f7655a3ab5d05186754316c (patch)
tree39f14a7ccb5116b0368a921944469f747e95c1d0 /externals/grill/flext/notes.txt
parentaeb9247272c2772c491df8f682aebf0097c98519 (diff)
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
Diffstat (limited to 'externals/grill/flext/notes.txt')
-rw-r--r--externals/grill/flext/notes.txt65
1 files changed, 65 insertions, 0 deletions
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