Commit d223578a authored by thomas's avatar thomas
Browse files

documentation


git-svn-id: https://svn.grrrr.org/ext/trunk@739 4d9ac71a-51e6-0310-8455-cad1006bcd31
parent 33b5f4c4
......@@ -23,7 +23,6 @@ Version history:
- added "getmethods" message (for attribute-enabled externals) to list methods for a specified inlet (default = 0)
- "getattributes" or "getmethods" output lists are now alphabethically sorted
- flext::StopThread function to terminate running threads (started with LaunchThread)
- added flext::post() and flext::error() console printing (thread-safe)
- added flext::CmpAtom and AtomList::operator < methods ... useful for using lists as keys for STL
- make use of new PD thread locking (PD functions sys_lock() and sys_unlock()), queue messages only if necessary
- better FLEXT_OSAPI resolution
......@@ -35,6 +34,7 @@ Version history:
- moved memory functions and console output from flext to super-base-class flext_root and derived all helper classes from that
- changed FLEXT_THREAD_X: wrappers doesn't delete the passed data pointer anymore -> the called method is responsible for that (and it knows the type....)
- enabled binding of more than one function to a symbol and added flext_base::GetBoundMethod
- native support for Windows threading model
0.4.4:
- fixed deadly bug for Max/MSP method-to-symbol-binding proxies
......@@ -277,11 +277,12 @@ general:
- add log messages for debugging version
- use PD's t_float and t_int types (or comparable for 32-Bit safety)
- make links flext.a -> libflext.a for compatibility
- add double handlers
- add signal in/out connection query function
- support for Max qelem style
bugs:
- attributes and attribute editor saving with patcher arguments (like $0-gugu )
......@@ -290,8 +291,9 @@ bugs:
- Max rounding bug ... buffer resize could be one sample less!
- flext_dsp: Max/MSP doesn't correctly report in/out channel counts
- new called in a flext-based class member function doesn _NOT_ call flext::operator new.
how can we achieve that????
- linker problems between MFC libraries and global new and delete overloadings
- flext::post and flext::error should print via a worker thread
tests:
- PD: figure out what "pointer" messages do and where they occur
......
# Doxyfile 1.3-rc2
# Doxyfile 1.3.5
#---------------------------------------------------------------------------
# General configuration options
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = flext
PROJECT_NUMBER = "version 0.4.4"
PROJECT_NUMBER = "version 0.5.0"
OUTPUT_DIRECTORY = f:/prog/max/flext/doc/
OUTPUT_LANGUAGE = English
USE_WINDOWS_ENCODING = YES
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = NO
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
......@@ -15,35 +37,18 @@ HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = NO
STRIP_FROM_PATH =
INTERNAL_DOCS = YES
CASE_SENSE_NAMES = YES
SHORT_NAMES = NO
HIDE_SCOPE_NAMES = NO
VERBATIM_HEADERS = NO
SHOW_INCLUDE_FILES = YES
JAVADOC_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
DETAILS_AT_TOP = YES
INHERIT_DOCS = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ALIASES =
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
OPTIMIZE_OUTPUT_FOR_C = YES
OPTIMIZE_OUTPUT_JAVA = NO
SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
......@@ -77,6 +82,7 @@ INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = YES
REFERENCES_RELATION = YES
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
......@@ -117,6 +123,7 @@ LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
......@@ -137,8 +144,10 @@ MAN_LINKS = NO
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
......@@ -183,24 +192,21 @@ HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_WIDTH = 1024
MAX_DOT_GRAPH_HEIGHT = 1024
MAX_DOT_GRAPH_DEPTH = 0
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO
CGI_NAME = search.cgi
CGI_URL =
DOC_URL =
DOC_ABSPATH =
BIN_ABSPATH = /usr/local/bin/
EXT_DOC_PATHS =
......@@ -140,7 +140,6 @@ class FLEXT_SHARE FLEXT_CLASSDEF(flext_obj):
//! Get the PD or Max/MSP object
t_sigobj *thisHdr() { FLEXT_ASSERT(x_obj); return &x_obj->obj; }
//! Get the PD or Max/MSP object
const t_sigobj *thisHdr() const { FLEXT_ASSERT(x_obj); return &x_obj->obj; }
//! Get the class name (as a string)
const char *thisName() const { return GetString(m_name); }
......
......@@ -29,6 +29,8 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#define FLEXT_CAST static_cast
#endif
//! @} FLEXT_DEFS
#include "fldefs_hdr.h"
#include "fldefs_setup.h"
......@@ -65,8 +67,4 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#endif // FLEXT_ATTRIBUTES
//! @} FLEXT_DEFS
#endif // __FLEXT_DEFS_H
......@@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
/*! \defgroup FLEXT_D_CADDATTR Announce object attributes at class scope
\ingroup FLEXT_D_ATTRIB
\note These can only be used at class construction time
@{
*/
......@@ -67,6 +68,7 @@ AddAttrib(CL,NAME,(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(f
/*! \defgroup FLEXT_D_ADDATTR Announce object attributes
\ingroup FLEXT_D_ATTRIB
\note These can only be used at object construction time
\note (in constructor or in Init() function before call to parent's Init())
@{
......
......@@ -35,6 +35,7 @@ static bool FLEXT_GET_PRE(FUN)(flext_base *c,TP &arg) \
/*! \defgroup FLEXT_DA_CALLSET Definition of attribute set handlers
\ingroup FLEXT_D_ATTRIB
@{
*/
......@@ -75,6 +76,7 @@ static bool FLEXT_SET_PRE(FUN)(flext_base *c,AtomList *&arg) \
//! @} FLEXT_DA_CALLSET
/*! \defgroup FLEXT_DA_CALLGET Definition of attribute get handlers
\ingroup FLEXT_D_ATTRIB
@{
*/
......@@ -116,6 +118,7 @@ static bool FLEXT_GET_PRE(FUN)(flext_base *c,AtomList *&arg) \
/*! \defgroup FLEXT_DA_CALLVAR Definition of attribute transfer handlers (both get and set)
\ingroup FLEXT_D_ATTRIB
@{
*/
......
......@@ -17,14 +17,14 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#define __FLEXT_DEFS_ATTRVAR_H
/*! \brief Declare an implicite attribute set function
/*! \brief Declare an implicit attribute set function
\internal
*/
#define FLEXT_ATTRSET_(VAR,TP) \
static bool FLEXT_SET_PRE(VAR)(flext_base *c,TP &arg) \
{ FLEXT_CAST<thisType *>(c)->VAR = arg; return true; }
/*! \brief Declare an implicite attribute get function
/*! \brief Declare an implicit attribute get function
\internal
*/
#define FLEXT_ATTRGET_(VAR,TP) \
......@@ -33,26 +33,27 @@ static bool FLEXT_GET_PRE(VAR)(flext_base *c,TP &arg) \
/*! \defgroup FLEXT_DA_ATTRSET Definition of implicite attribute set handlers
/*! \defgroup FLEXT_DA_ATTRSET Definition of implicit attribute set handlers
\ingroup FLEXT_D_ATTRIB
@{
*/
//! Declare an implicite set function for a float attribute
//! Declare an implicit set function for a float attribute
#define FLEXT_ATTRSET_F(VAR) \
\
FLEXT_ATTRSET_(VAR,float)
//! Declare an implicite set function for an integer attribute
//! Declare an implicit set function for an integer attribute
#define FLEXT_ATTRSET_I(VAR) \
\
FLEXT_ATTRSET_(VAR,int)
//! Declare an implicite set function for a symbol attribute
//! Declare an implicit set function for a symbol attribute
#define FLEXT_ATTRSET_S(VAR) \
\
FLEXT_ATTRSET_(VAR,const t_symbol *)
//! Declare an implicite set function for a boolean attribute
//! Declare an implicit set function for a boolean attribute
#define FLEXT_ATTRSET_B(VAR) \
\
FLEXT_ATTRSET_(VAR,bool)
......@@ -61,38 +62,39 @@ static bool FLEXT_SET_PRE(VAR)(flext_base *c,int &arg) \
{ FLEXT_CAST<thisType *>(c)->VAR = arg != 0; return true; }
*/
//! Declare an implicite set function for an enum attribute
//! Declare an implicit set function for an enum attribute
#define FLEXT_ATTRSET_E(VAR,TP) \
\
FLEXT_ATTRSET_(VAR,TP)
//! Declare an implicite set function for a variable list attribute
//! Declare an implicit set function for a variable list attribute
#define FLEXT_ATTRSET_V(VAR) \
static bool FLEXT_SET_PRE(VAR)(flext_base *c,AtomList *&arg) \
{ FLEXT_CAST<thisType *>(c)->VAR = *arg; return true; }
//! @} FLEXT_DA_ATTRSET
/*! \defgroup FLEXT_DA_ATTRGET Definition of implicite attribute get handlers
/*! \defgroup FLEXT_DA_ATTRGET Definition of implicit attribute get handlers
\ingroup FLEXT_D_ATTRIB
@{
*/
//! Declare an implicite get function for a float attribute
//! Declare an implicit get function for a float attribute
#define FLEXT_ATTRGET_F(VAR) \
\
FLEXT_ATTRGET_(VAR,float)
//! Declare an implicite get function for an integer attribute
//! Declare an implicit get function for an integer attribute
#define FLEXT_ATTRGET_I(VAR) \
\
FLEXT_ATTRGET_(VAR,int)
//! Declare an implicite get function for a symbol attribute
//! Declare an implicit get function for a symbol attribute
#define FLEXT_ATTRGET_S(VAR) \
\
FLEXT_ATTRGET_(VAR,const t_symbol *)
//! Declare an implicite get function for a boolean attribute
//! Declare an implicit get function for a boolean attribute
#define FLEXT_ATTRGET_B(VAR) \
\
FLEXT_ATTRGET_(VAR,bool)
......@@ -101,12 +103,12 @@ static bool FLEXT_GET_PRE(VAR)(flext_base *c,int &arg) \
{ arg = FLEXT_CAST<thisType *>(c)->VAR?1:0; return true; }
*/
//! Declare an implicite get function for an enum attribute
//! Declare an implicit get function for an enum attribute
#define FLEXT_ATTRGET_E(VAR,TP) \
\
FLEXT_ATTRGET_(VAR,TP)
//! Declare an implicite get function for a variable list attribute
//! Declare an implicit get function for a variable list attribute
#define FLEXT_ATTRGET_V(VAR) \
static bool FLEXT_GET_PRE(VAR)(flext_base *c,AtomList *&arg) \
{ *arg = FLEXT_CAST<thisType *>(c)->VAR; return true; }
......@@ -114,36 +116,37 @@ static bool FLEXT_GET_PRE(VAR)(flext_base *c,AtomList *&arg) \
//! @} FLEXT_DA_ATTRGET
/*! \defgroup FLEXT_DA_ATTRVAR Definition of implicite attribute transfer handlers (both get and set)
/*! \defgroup FLEXT_DA_ATTRVAR Definition of implicit attribute transfer handlers (both get and set)
\ingroup FLEXT_D_ATTRIB
@{
*/
//! Declare both implicite get and set functions for a float attribute
//! Declare both implicit get and set functions for a float attribute
#define FLEXT_ATTRVAR_F(VAR) \
\
FLEXT_ATTRGET_F(VAR) FLEXT_ATTRSET_F(VAR)
//! Declare both implicite get and set functions for an integer attribute
//! Declare both implicit get and set functions for an integer attribute
#define FLEXT_ATTRVAR_I(VAR) \
\
FLEXT_ATTRGET_I(VAR) FLEXT_ATTRSET_I(VAR)
//! Declare both implicite get and set functions for a symbol attribute
//! Declare both implicit get and set functions for a symbol attribute
#define FLEXT_ATTRVAR_S(VAR) \
\
FLEXT_ATTRGET_S(VAR) FLEXT_ATTRSET_S(VAR)
//! Declare both implicite get and set functions for a boolean attribute
//! Declare both implicit get and set functions for a boolean attribute
#define FLEXT_ATTRVAR_B(VAR) \
\
FLEXT_ATTRGET_B(VAR) FLEXT_ATTRSET_B(VAR)
//! Declare both implicite get and set functions for an enum attribute
//! Declare both implicit get and set functions for an enum attribute
#define FLEXT_ATTRVAR_E(VAR,TP) \
\
FLEXT_ATTRGET_(VAR,TP) FLEXT_ATTRSET_(VAR,TP)
//! Declare both implicite get and set functions for a variable list attribute
//! Declare both implicit get and set functions for a variable list attribute
#define FLEXT_ATTRVAR_V(VAR) \
\
FLEXT_ATTRGET_V(VAR) FLEXT_ATTRSET_V(VAR)
......
......@@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
/*! \defgroup FLEXT_D_CADDMETHOD Add flext methods within class scope
\ingroup FLEXT_D_METHOD
\note These can only be used at class construction time
@{
*/
......@@ -108,6 +109,7 @@ FLEXT_CADDMETHOD_3(CL,IX,M_TAG,M_FUN,int,int,int)
/*! \defgroup FLEXT_D_ADDMETHOD Add flext methods
\ingroup FLEXT_D_METHOD
\note These can only be used at object construction time
\note (in constructor or in Init() function before call to parent's Init())
@{
......
......@@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
/*! \defgroup FLEXT_D_CALLMETHOD Call flext methods manually
\ingroup FLEXT_D_METHOD
@{
*/
......
......@@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
/*! \defgroup FLEXT_D_CALLBACK Declare callbacks for class methods
\ingroup FLEXT_D_METHOD
@{
*/
......
......@@ -8,7 +8,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
*/
/*! \file fldef_setup.h
/*! \file fldefs_setup.h
\brief This file contains all #defines for actual usage
*/
......@@ -27,6 +27,8 @@ WARRANTIES, see the file, "license.txt," in this distribution.
- There may be additional names (aliases) appened, separated by spaces
- There may be a help path prepended, separated by a colon
- This help path doesn't work for Max/MSP. There you'll have to use a object mapping file (Max/MSP version >= 4.2)
@{
*/
......
......@@ -150,7 +150,7 @@ private:
For each method that shall be exposed to the realtime-system (for receiving messages) and
every attribute (for setting and getting values) callbacks have to be set up.
The functions in the groups "\ref FLEXT_D_CALLBACK" and "\ref FLEXT_D_ATTRIB" allow for their
The functions in the groups \ref FLEXT_D_CALLBACK and \ref FLEXT_D_ATTRIB allow for their
convenient definition.
\verbatim
......
......@@ -18,6 +18,10 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "flstdc.h"
#include <new>
/*! \defgroup FLEXT_SUPPORT Flext support classes
@{
*/
class FLEXT_SHARE FLEXT_CLASSDEF(flext_root);
typedef class FLEXT_CLASSDEF(flext_root) flext_root;
......@@ -65,6 +69,7 @@ public:
//! @} FLEXT_S_MEMORY
};
#if !defined(_MSC_VER) && !defined(__BORLANDC__)
#define NEWTHROW throw(std::bad_alloc)
#define DELTHROW throw()
......@@ -1106,6 +1111,6 @@ inline bool operator <=(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF
inline bool operator >(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF(flext)::CmpAtom(a,b) > 0; }
inline bool operator >=(const t_atom &a,const t_atom &b) { return FLEXT_CLASSDEF(flext)::CmpAtom(a,b) >= 0; }
//! @} // FLEXT_SUPPORT
#endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment