aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-07-06 16:08:20 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-07-06 16:08:20 +0000
commit216da4973fc523fc207d5d0f5986da227e7e6665 (patch)
tree41a77238b1b922bc8855ec54a861e76b3eb89336 /externals/grill/flext
parent8d2c1c06ae0d256689d3ec6de169f9bf75d96028 (diff)
changed initialization functions accordingly
FIFO code with mutex lock c++ conformance fix fixes for Codewarrior updates for OSX extracted maps into flmap.h fix for BCC made flext::Forward threadsafe don't install build system yet digest one-element list messages as single atoms updated tutorials fixes for MSVC6 documentation slimmed object data structures simplified message analysis corrected flext version to 0.4.5 added X86-64 code for lockfree fifos preparation of release upgraded version number svn path=/trunk/; revision=3292
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/Doxyfile (renamed from externals/grill/flext/flext.doxy)133
-rw-r--r--externals/grill/flext/build.sh2
-rw-r--r--externals/grill/flext/build.txt7
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc10
-rw-r--r--externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc10
-rw-r--r--externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc10
-rw-r--r--externals/grill/flext/buildsys/win/max/gnumake-mingw.inc4
-rw-r--r--externals/grill/flext/flext.mcpbin935395 -> 935395 bytes
-rw-r--r--externals/grill/flext/flext.vcproj6
-rw-r--r--externals/grill/flext/notes.txt2
-rw-r--r--externals/grill/flext/source/flbase.h21
-rw-r--r--externals/grill/flext/source/flbind.cpp2
-rw-r--r--externals/grill/flext/source/flclass.h16
-rw-r--r--externals/grill/flext/source/flcontainers.h43
-rw-r--r--externals/grill/flext/source/fldoxygen.h6
-rw-r--r--externals/grill/flext/source/flext.h2
-rwxr-xr-xexternals/grill/flext/source/flitem.cpp2
-rw-r--r--externals/grill/flext/source/flmap.h2
-rwxr-xr-xexternals/grill/flext/source/flprefix.h4
-rw-r--r--externals/grill/flext/source/flsupport.h8
-rw-r--r--externals/grill/flext/source/flthr.cpp8
-rw-r--r--externals/grill/flext/tutorial/signal2/main.cpp4
22 files changed, 197 insertions, 105 deletions
diff --git a/externals/grill/flext/flext.doxy b/externals/grill/flext/Doxyfile
index bd564300..63e8b61d 100644
--- a/externals/grill/flext/flext.doxy
+++ b/externals/grill/flext/Doxyfile
@@ -4,45 +4,55 @@
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = flext
-PROJECT_NUMBER = "version 0.5.0"
-OUTPUT_DIRECTORY = c:/data/pdmax/flext/doc/
+PROJECT_NUMBER = 0.5.0
+OUTPUT_DIRECTORY = ./doc
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
-USE_WINDOWS_ENCODING = YES
+USE_WINDOWS_ENCODING = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
-ABBREVIATE_BRIEF =
+ABBREVIATE_BRIEF = "The $name class" \
+ "The $name widget" \
+ "The $name file" \
+ is \
+ provides \
+ specifies \
+ contains \
+ represents \
+ a \
+ an \
+ the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
-FULL_PATH_NAMES = NO
-STRIP_FROM_PATH =
+FULL_PATH_NAMES = YES
+STRIP_FROM_PATH = /Applications/util/
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
-DETAILS_AT_TOP = YES
+DETAILS_AT_TOP = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 8
ALIASES =
-OPTIMIZE_OUTPUT_FOR_C = YES
+OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
-EXTRACT_ALL = NO
-EXTRACT_PRIVATE = NO
-EXTRACT_STATIC = NO
-EXTRACT_LOCAL_CLASSES = NO
+EXTRACT_ALL = YES
+EXTRACT_PRIVATE = YES
+EXTRACT_STATIC = YES
+EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
-HIDE_UNDOC_MEMBERS = YES
-HIDE_UNDOC_CLASSES = YES
+HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
-INTERNAL_DOCS = YES
-CASE_SENSE_NAMES = YES
+INTERNAL_DOCS = NO
+CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
@@ -63,7 +73,7 @@ FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
-WARN_IF_UNDOCUMENTED = NO
+WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
@@ -71,15 +81,53 @@ WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
-INPUT = c:/data/pdmax/flext/source/
-FILE_PATTERNS = *.cpp \
- *.h
+INPUT = \
+ /Users/thomas/Develop/pdmax/flext/source
+FILE_PATTERNS = *.c \
+ *.cc \
+ *.cxx \
+ *.cpp \
+ *.c++ \
+ *.d \
+ *.java \
+ *.ii \
+ *.ixx \
+ *.ipp \
+ *.i++ \
+ *.inl \
+ *.h \
+ *.hh \
+ *.hxx \
+ *.hpp \
+ *.h++ \
+ *.idl \
+ *.odl \
+ *.cs \
+ *.php \
+ *.php3 \
+ *.inc \
+ *.m \
+ *.mm \
+ *.dox \
+ *.C \
+ *.CC \
+ *.C++ \
+ *.II \
+ *.I++ \
+ *.H \
+ *.HH \
+ *.H++ \
+ *.CS \
+ *.PHP \
+ *.PHP3 \
+ *.M \
+ *.MM
RECURSIVE = NO
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
-EXAMPLE_PATTERNS =
+EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
@@ -88,32 +136,32 @@ FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
-SOURCE_BROWSER = YES
+SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
+REFERENCED_BY_RELATION = NO
+REFERENCES_RELATION = NO
USE_HTAGS = NO
-VERBATIM_HEADERS = NO
+VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
-ALPHABETICAL_INDEX = YES
+ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
-HTML_OUTPUT = flext-doc
+HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = YES
-CHM_FILE = ..\flext-doc.chm
-HHC_LOCATION = "c:\programme\prog\html help workshop\hhc.exe"
+CHM_FILE =
+HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
@@ -124,16 +172,16 @@ TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
+GENERATE_LATEX = YES
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
-PAPER_TYPE = a4
+PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
-PDF_HYPERLINKS = NO
-USE_PDFLATEX = NO
+PDF_HYPERLINKS = YES
+USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
@@ -141,8 +189,8 @@ LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
-COMPACT_RTF = YES
-RTF_HYPERLINKS = YES
+COMPACT_RTF = NO
+RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
@@ -176,16 +224,13 @@ PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
-EXPAND_ONLY_PREDEF = YES
+EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
-PREDEFINED = FLEXT_THREADS \
- MAXMSP \
- NT \
- PD \
- unix \
- FLEXT_ATTRIBUTES
+PREDEFINED = FLEXT_SYS=2 \
+ FLEXT_SHARED \
+ __DOXYGEN__
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
@@ -206,7 +251,7 @@ CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
-TEMPLATE_RELATIONS = YES
+TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
@@ -217,7 +262,7 @@ DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
-MAX_DOT_GRAPH_DEPTH = 0
+MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
diff --git a/externals/grill/flext/build.sh b/externals/grill/flext/build.sh
index 1e8d4d61..c467fd45 100644
--- a/externals/grill/flext/build.sh
+++ b/externals/grill/flext/build.sh
@@ -41,7 +41,7 @@ subbatch=${flext}buildsys/build-${compiler}.sh
if
[ -n "$platform" -a -n "$rtsys" -a -n "$compiler" -a -f $subbatch ]
then
- bash $subbatch $platform $rtsys $target $4 $5 $6 $7 $8 $9
+ sh $subbatch $platform $rtsys $target $4 $5 $6 $7 $8 $9
else
echo
echo SYNTAX: build.sh [system] [compiler] {target}
diff --git a/externals/grill/flext/build.txt b/externals/grill/flext/build.txt
index 3f1073d2..fd7be6c8 100644
--- a/externals/grill/flext/build.txt
+++ b/externals/grill/flext/build.txt
@@ -45,7 +45,7 @@ Useful combinations of the above are
under Windows:
pd msvc, using nmake
pd cygwin, using gnumake
-pd mingw, using gnumake
+pd mingw, using gnumake (from the CMD prompt, not msys!)
max msvc, using nmake
pd bcc, using bmake
@@ -144,9 +144,10 @@ A missing combination does not necessarily mean that it won't work.
win-pd-msvc, single/multi/shared
win-pd-bcc, single/multi/shared
-win-pd-mingw, single/multi/shared
-win-pd-cygwin,
+win-pd-mingw, single/multi/shared (from CMD prompt, not MSYS)
+win-pd-cygwin, --- NOT WORKING (compiles but crashes) ----
win-max-msvc, single/multi/shared
+win-max-mingw, --- NOT WORKING (wrong structure packing) ----
mac-pd-gcc, single/multi/shared
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
index 33af6a1c..be34b094 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-gcc-flext.inc
@@ -61,10 +61,10 @@ else
endif
install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
# transfer build system
- cp -rf buildsys $(FLEXTSYS)
- install build.sh $(FLEXTSYS)
- chmod -R a+rx $(FLEXTSYS)
+# cp -rf buildsys $(FLEXTSYS)
+# install build.sh $(FLEXTSYS)
+# chmod -R a+rx $(FLEXTSYS)
# make convenience script
- echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
- chmod a+rx $(FLEXTBIN)/flext-build.sh
+# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
+# chmod a+rx $(FLEXTBIN)/flext-build.sh
diff --git a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
index 03d0191e..c133baed 100644
--- a/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
+++ b/externals/grill/flext/buildsys/lnx/gnumake-icc-flext.inc
@@ -61,10 +61,10 @@ else
endif
install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
# transfer build system
- cp -rf buildsys $(FLEXTSYS)
- install build.sh $(FLEXTSYS)
- chmod -R a+rx $(FLEXTSYS)
+# cp -rf buildsys $(FLEXTSYS)
+# install build.sh $(FLEXTSYS)
+# chmod -R a+rx $(FLEXTSYS)
# make convenience script
- echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
- chmod a+rx $(FLEXTBIN)/flext-build.sh
+# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
+# chmod a+rx $(FLEXTBIN)/flext-build.sh
diff --git a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc
index eab21cac..2dad1981 100644
--- a/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc
+++ b/externals/grill/flext/buildsys/mac/gnumake-gcc-flext.inc
@@ -93,9 +93,9 @@ endif
install $(patsubst %,$(SRCDIR)/%,$(HDRS)) $(FLEXTINC)
endif
# transfer build system
- cp -rf buildsys $(FLEXTSYS)
- install build.sh $(FLEXTSYS)
- chmod -R a+rx $(FLEXTSYS)
+# cp -rf buildsys $(FLEXTSYS)
+# install build.sh $(FLEXTSYS)
+# chmod -R a+rx $(FLEXTSYS)
# make convenience script
- echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
- chmod a+rx $(FLEXTBIN)/flext-build.sh
+# echo bash $(FLEXTSYS)/build.sh $$\* > $(FLEXTBIN)/flext-build.sh
+# chmod a+rx $(FLEXTBIN)/flext-build.sh
diff --git a/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
index 6d4e46f7..ccf14536 100644
--- a/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
+++ b/externals/grill/flext/buildsys/win/max/gnumake-mingw.inc
@@ -1,5 +1,7 @@
DEFS += -DFLEXT_SYS=1
-CFLAGS += -fpack-struct=2 -D_WIN32_WINNT=0x501
+
+# fpack-struct should align to 2 bytes... can't specify that...
+CFLAGS += -fpack-struct -D_WIN32_WINNT=0x501
INCPATH += -I$(MAXSDKPATH)/max-includes -I$(MAXSDKPATH)/msp-includes
LIBPATH += -L$(MAXSDKPATH)/max-includes -L$(MAXSDKPATH)/msp-includes
diff --git a/externals/grill/flext/flext.mcp b/externals/grill/flext/flext.mcp
index acb3760d..8455ff79 100644
--- a/externals/grill/flext/flext.mcp
+++ b/externals/grill/flext/flext.mcp
Binary files differ
diff --git a/externals/grill/flext/flext.vcproj b/externals/grill/flext/flext.vcproj
index bf4a298c..791f2797 100644
--- a/externals/grill/flext/flext.vcproj
+++ b/externals/grill/flext/flext.vcproj
@@ -794,13 +794,13 @@ copy F:\prog\max\flext\max-msvc\flext.max.dll f:\prog\dll
Name="doc"
Filter="">
<File
- RelativePath="changes.txt">
+ RelativePath=".\build.txt">
</File>
<File
- RelativePath="source\fldoxygen.h">
+ RelativePath="changes.txt">
</File>
<File
- RelativePath="make-files.txt">
+ RelativePath="source\fldoxygen.h">
</File>
<File
RelativePath=".\notes.txt">
diff --git a/externals/grill/flext/notes.txt b/externals/grill/flext/notes.txt
index d5669606..e4dcb3cf 100644
--- a/externals/grill/flext/notes.txt
+++ b/externals/grill/flext/notes.txt
@@ -42,7 +42,7 @@ TODO LIST:
- optimizations for object initialization and messaging
- speed up message handling (usage of other containers?)
- SIMD for gcc
-- lock-free code for 64-bit architectures
+- lock-free code for old AMD 64-bit architectures
- update documentation
- add log messages for debugging version
diff --git a/externals/grill/flext/source/flbase.h b/externals/grill/flext/source/flbase.h
index b487a63e..d20f1866 100644
--- a/externals/grill/flext/source/flbase.h
+++ b/externals/grill/flext/source/flbase.h
@@ -94,12 +94,9 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj):
{
public:
- /*! \defgroup FLEXT_OBJCLASS Object base class
- @{
- */
// --- creation -------------------------------------------------------
- /*! \defgroup FLEXT_O_CREATION Creation/Destruction functionality
+ /*! \defgroup FLEXT_OBJ_CREATION Object creation/destruction functionality
@{
*/
@@ -129,11 +126,11 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj):
//! Virtual function called at destruction (before the destructor)
virtual void Exit();
- //! @} FLEXT_O_CREATION
+ //! @} FLEXT_OBJ_CREATION
// --- info -------------------------------------------------------
- /*! \defgroup FLEXT_O_INFO Get various information
+ /*! \defgroup FLEXT_OBJ_INFO Get various information
@{
*/
@@ -161,11 +158,11 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj):
bool HasAttributes() const;
- //! @} FLEXT_O_INFO
+ //! @} FLEXT_OBJ_INFO
// --- help -------------------------------------------------------
- /*! \defgroup FLEXT_O_HELP Help/assistance functionality
+ /*! \defgroup FLEXT_OBJ_HELP Help/assistance functionality
\remark This is still PD only
@{
*/
@@ -178,12 +175,12 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj):
//! Define the help reference symbol for a class
void DefineHelp(const char *ref,const char *dir = NULL,bool addtilde = false) { DefineHelp(thisClassId(),ref,dir,addtilde); }
- //! @}
+ //! @} FLEXT_OBJ_HELP
// --- internal stuff -------------------------------------------------------
- /*! \defgroup FLEXT_O_INTERNAL Internal stuff
+ /*! \defgroup FLEXT_OBJ_INTERNAL Internal stuff
\internal
@{
*/
@@ -262,9 +259,7 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj):
//! Get the canvas arguments
void CanvasArgs(AtomList &args) const;
- //! @} FLEXT_O_INTERNAL
-
- //! @} FLEXT_OBJCLASS
+ //! @} FLEXT_OBJ_INTERNAL
};
diff --git a/externals/grill/flext/source/flbind.cpp b/externals/grill/flext/source/flbind.cpp
index 7611fc59..8f78c300 100644
--- a/externals/grill/flext/source/flbind.cpp
+++ b/externals/grill/flext/source/flbind.cpp
@@ -188,7 +188,7 @@ bool flext_base::UnbindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_sym
Item *it = set.find(sym);
if(fun) {
// check if function matches
- for(; it && static_cast<BindItem *>(it)->fun != fun; it = it->nxt);
+ for(; it && static_cast<BindItem *>(it)->fun != fun; it = it->nxt) {}
}
item = static_cast<BindItem *>(it);
}
diff --git a/externals/grill/flext/source/flclass.h b/externals/grill/flext/source/flclass.h
index e8b68e69..ff9e8a26 100644
--- a/externals/grill/flext/source/flclass.h
+++ b/externals/grill/flext/source/flclass.h
@@ -506,6 +506,15 @@ public:
// xxx internal stuff xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+public: // needed by VC++ 6
+
+ enum xlettype {
+ xlet_none = 0,
+ xlet_float,xlet_int,xlet_sym,xlet_list,xlet_any,
+ xlet_LIST,xlet_ANY, // use AtomList and AtomAnything
+ xlet_sig
+ };
+
protected:
FLEXT_CLASSDEF(flext_base)();
@@ -516,13 +525,6 @@ protected:
virtual bool Init();
- enum xlettype {
- xlet_none = 0,
- xlet_float,xlet_int,xlet_sym,xlet_list,xlet_any,
- xlet_LIST,xlet_ANY, // use AtomList and AtomAnything
- xlet_sig
- };
-
/*! \defgroup FLEXT_C_ATTR Attribute handling methods (object scope)
@{
*/
diff --git a/externals/grill/flext/source/flcontainers.h b/externals/grill/flext/source/flcontainers.h
index 0e248ffb..76442d15 100644
--- a/externals/grill/flext/source/flcontainers.h
+++ b/externals/grill/flext/source/flcontainers.h
@@ -307,8 +307,49 @@ public:
}
inline size_t Size() const { return oc; }
+
#else
-#error Platform not supported
+ // no lock free code available for this compiler/platform
+
+ inline void Push(Cell *c)
+ {
+#ifdef FLEXT_THREADS
+ mutex.Lock();
+#endif
+ c->link = (Cell *)top;
+ top = c;
+ ++oc;
+#ifdef FLEXT_THREADS
+ mutex.Unlock();
+#endif
+ }
+
+ inline Cell *Pop()
+ {
+ if(top) {
+ Cell *r;
+#ifdef FLEXT_THREADS
+ mutex.Lock();
+#endif
+ r = (Cell *)top;
+ top = r->link;
+ --oc;
+#ifdef FLEXT_THREADS
+ mutex.Unlock();
+#endif
+ return r;
+ }
+ else
+ return NULL;
+ }
+
+ inline size_t Size() const { return oc; }
+
+private:
+#ifdef FLEXT_THREADS
+ flext::ThrMutex mutex;
+#endif
+
#endif
private:
diff --git a/externals/grill/flext/source/fldoxygen.h b/externals/grill/flext/source/fldoxygen.h
index 51579520..96343528 100644
--- a/externals/grill/flext/source/fldoxygen.h
+++ b/externals/grill/flext/source/fldoxygen.h
@@ -14,7 +14,7 @@
Currently there exist two widely used modular systems for real-time audio that can be
extended by self-written objects (so called "externals"):<br>
-Max/MSP (http://www.cycling74.com) and Pure Data (http://www.pure-data.org).
+Max/MSP (http://www.cycling74.com) and Pure Data (http://www.pure-data.org) .
Both come with APIs that are not very different (as they share their origin), but as well not quite the same.
Flext seeks to provide a unifying interface for the APIs of those real-time systems while also
@@ -48,7 +48,7 @@ Currently, flext supports
<ul>
<li>PD on Windows with Microsoft Visual C++, Borland C++ and gcc(cygwin) compilers
<li>PD on Linux with gcc
-<li>PD on Mac OSX with gcc (makefile or Project Builder)
+<li>PD on Mac OSX with gcc (makefile or Xcode)
<li>Max/MSP on Mac OS9 and OSX with Metrowerks CodeWarrior
</ul>
@@ -78,7 +78,7 @@ referenced works and their license texts.
\section DOWNLOAD Download
-Download the latest flext version from http://www.parasitaere-kapazitaeten.net/ext/flext .<br>
+Download the latest flext version from http://grrrr.org/ext/flext .<br>
Alternatively, you can check out the cvs version from http://sourceforge.net/projects/pure-data .
\section USAGE Usage
diff --git a/externals/grill/flext/source/flext.h b/externals/grill/flext/source/flext.h
index f58447e5..a55e2b67 100644
--- a/externals/grill/flext/source/flext.h
+++ b/externals/grill/flext/source/flext.h
@@ -26,7 +26,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#define FLEXT_VERSION 500
//! \brief flext version string
-#define FLEXT_VERSTR "0.5.0pre"
+#define FLEXT_VERSTR "0.5.0"
//! @}
diff --git a/externals/grill/flext/source/flitem.cpp b/externals/grill/flext/source/flitem.cpp
index 52657c75..1ae65fa8 100755
--- a/externals/grill/flext/source/flitem.cpp
+++ b/externals/grill/flext/source/flitem.cpp
@@ -124,4 +124,4 @@ flext_base::ItemCont *flext_base::GetClassArr(t_classid c,int ix)
if(!cont) map.insert(c,cont = new ItemCont);
return cont;
}
-*/ \ No newline at end of file
+*/
diff --git a/externals/grill/flext/source/flmap.h b/externals/grill/flext/source/flmap.h
index 0d3f623d..601f1df7 100644
--- a/externals/grill/flext/source/flmap.h
+++ b/externals/grill/flext/source/flmap.h
@@ -188,7 +188,7 @@ private:
template <typename K,typename T,int N = 8>
class TablePtrMap
:
-#if defined(_MSC_VER) && _MSC_VER < 1300
+#if (defined(_MSC_VER) && _MSC_VER < 1300) || defined(__BORLANDC__) || defined(__MWERKS__)
public // necessary for VC6
#endif
TableAnyMap
diff --git a/externals/grill/flext/source/flprefix.h b/externals/grill/flext/source/flprefix.h
index 4b3e96fb..68d9e120 100755
--- a/externals/grill/flext/source/flprefix.h
+++ b/externals/grill/flext/source/flprefix.h
@@ -364,7 +364,9 @@ WARRANTIES, see the file, "license.txt," in this distribution.
exported functions refer to the first instance loaded!
Therefore different class names are used so that the correct type of flext function is called.
*/
-#if defined(FLEXT_SHARED)
+#ifdef __DOXYGEN__
+ #define FLEXT_CLASSDEF(CL) CL
+#elif defined(FLEXT_SHARED)
#define FLEXT_CLASSDEF(CL) CL##_shared
#elif defined(FLEXT_THREADS)
#define FLEXT_CLASSDEF(CL) CL##_multi
diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h
index 9d91ee9c..a439b47b 100644
--- a/externals/grill/flext/source/flsupport.h
+++ b/externals/grill/flext/source/flsupport.h
@@ -53,8 +53,10 @@ public:
//! Overloaded delete method
void operator delete(void *blk);
+#ifndef __BORLANDC__
inline void *operator new(size_t,void *p) { return p; }
inline void operator delete(void *,void *) {}
+#endif
#ifdef FLEXT_DEBUGMEM
static bool MemCheck(void *blk);
@@ -62,13 +64,15 @@ public:
static bool MemCheck(void *) { return true; }
#endif
- #ifndef __MRC__ // doesn't allow new[] overloading?!
+#ifndef __MRC__ // doesn't allow new[] overloading?!
inline void *operator new[](size_t bytes) { return operator new(bytes); }
inline void operator delete[](void *blk) { operator delete(blk); }
+#ifndef __BORLANDC__
inline void *operator new[](size_t,void *p) { return p; }
inline void operator delete[](void *,void *) {}
- #endif
+#endif
+#endif
//! Get an aligned memory block
static void *NewAligned(size_t bytes,int bitalign = 128);
diff --git a/externals/grill/flext/source/flthr.cpp b/externals/grill/flext/source/flthr.cpp
index fb2a28b5..e7e534eb 100644
--- a/externals/grill/flext/source/flthr.cpp
+++ b/externals/grill/flext/source/flthr.cpp
@@ -25,7 +25,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include <time.h>
-#if FLEXT_OSAPI == FLEXT_OSAPI_UNIX_POSIX || FLEXT_OSAPI == FLEXT_OSAPI_WIN_POSIX
+#if FLEXT_OSAPI == FLEXT_OSAPI_MAC_MACH || FLEXT_OSAPI == FLEXT_OSAPI_UNIX_POSIX || FLEXT_OSAPI == FLEXT_OSAPI_WIN_POSIX
#include <sys/time.h>
#include <unistd.h>
#elif FLEXT_OS == FLEXT_OS_WIN
@@ -51,7 +51,7 @@ class thr_entry
, public Fifo::Cell
{
public:
- void thr_entry::Set(void (*m)(thr_params *),thr_params *p,thrid_t id = GetThreadId())
+ void Set(void (*m)(thr_params *),thr_params *p,thrid_t id = GetThreadId())
{
th = p?p->cl:NULL;
meth = m,params = p,thrid = id;
@@ -91,7 +91,7 @@ public:
thr_entry *fnd;
while((fnd = Pop()) && !fnd->Is(id)) qutmp.Push(fnd);
// put back entries
- for(thr_entry *ti; ti = qutmp.Pop(); ) Push(ti);
+ for(thr_entry *ti; (ti = qutmp.Pop()) != NULL; ) Push(ti);
if(fnd && !pop) Push(fnd);
return fnd;
}
@@ -180,7 +180,7 @@ void flext::ThrHelper(void *)
// start all inactive threads
thr_entry *ti;
- while(ti = thrpending.Pop()) {
+ while((ti = thrpending.Pop()) != NULL) {
bool ok;
#if FLEXT_THREADS == FLEXT_THR_POSIX
diff --git a/externals/grill/flext/tutorial/signal2/main.cpp b/externals/grill/flext/tutorial/signal2/main.cpp
index 69d86e5b..7793bb00 100644
--- a/externals/grill/flext/tutorial/signal2/main.cpp
+++ b/externals/grill/flext/tutorial/signal2/main.cpp
@@ -63,7 +63,7 @@ void signal2::m_bang()
// output various parameters of the pd audio system
ToOutFloat(0,Samplerate());
ToOutInt(1,Blocksize());
- ToOutInt(2,ChannelsIn());
- ToOutInt(3,ChannelsOut());
+ ToOutInt(2,CntInSig());
+ ToOutInt(3,CntOutSig());
}