flext 0.6.2
flext_base Class Reference

#include <flclass.h>

Inheritance diagram for flext_base:
flext_dsp flext_sndobj flext_stk

Classes

class  Item
class  ItemSet
class  ItemCont
class  MethItem
 This represents an item of the method list. More...
class  AttrItem
 This represents an item of the attribute list. More...
class  AttrData
 Represent a data value of an attribute. More...
class  AttrDataCont
class  BindItem
 This represents an item of the symbol-bound method list. More...
class  xlet
 This represents either an inlet or outlet during construction. More...
union  t_any
struct  px_object
class  pxbnd_object

Public Types

enum  {
  a_null = 0 , a_float , a_int , a_bool ,
  a_symbol , a_pointer , a_list , a_any ,
  a_LIST , a_ANY
}
enum  {
  xlet_none = 0 , xlet_float , xlet_int , xlet_sym ,
  xlet_list , xlet_any , xlet_LIST , xlet_ANY ,
  xlet_sig
}
typedef bool(* methfun) (flext_base *c)
typedef TablePtrMap< const t_symbol *, Item *, 8 > TablePtrMapDef

Public Member Functions

virtual void CbLoadbang ()
 called on patcher load (not on mere object creation!)
virtual void m_loadbang ()
virtual void CbClick ()
 called on (double-)click into object box
virtual bool CbMethodHandler (int inlet, const t_symbol *s, int argc, const t_atom *argv)
 Called for every incoming message. All method handling is done in there.
virtual bool CbMethodResort (int inlet, const t_symbol *s, int argc, const t_atom *argv)
 Called for every unhandled message (by CbMethodHandler).
virtual bool m_method_ (int inlet, const t_symbol *s, int argc, const t_atom *argv)
virtual bool CbIdle ()
void AddInAnything (int m=1)
 Add inlet(s) for anythings.
void AddInAnything (const char *desc, int m=1)
 Add inlet(s) for anythings (with description).
void AddInFloat (int m=1)
 Add inlet(s) for floats.
void AddInFloat (const char *desc, int m=1)
 Add inlet(s) for floats (with description).
void AddInInt (int m=1)
 Add inlet(s) for integers.
void AddInInt (const char *desc, int m=1)
 Add inlet(s) for integers (with description).
void AddInSymbol (int m=1)
 Add inlet(s) for symbols.
void AddInSymbol (const char *desc, int m=1)
 Add inlet(s) for symbol (with description).
void AddInBang (int m=1)
 Add inlet(s) for bang.
void AddInBang (const char *desc, int m=1)
 Add inlet(s) for bangs (with description).
void AddInList (int m=1)
 Add inlet(s) for lists.
void AddInList (const char *desc, int m=1)
 Add inlet(s) for lists (with description).
void AddOutAnything (int m=1)
 Add outlet(s) for anythings.
void AddOutAnything (const char *desc, int m=1)
 Add outlet(s) for anythings (with description).
void AddOutFloat (int m=1)
 Add outlet(s) for floats.
void AddOutFloat (const char *desc, int m=1)
 Add outlet(s) for floats (with description).
void AddOutInt (int m=1)
 Add outlet(s) for integers.
void AddOutInt (const char *desc, int m=1)
 Add outlet(s) for integers (with description).
void AddOutSymbol (int m=1)
 Add outlet(s) for symbols.
void AddOutSymbol (const char *desc, int m=1)
 Add outlet(s) for symbols (with description).
void AddOutBang (int m=1)
 Add outlet(s) for bangs.
void AddOutBang (const char *desc, int m=1)
 Add outlet(s) for bangs (with description).
void AddOutList (int m=1)
 Add outlet(s) for lists.
void AddOutList (const char *desc, int m=1)
 Add outlet(s) for lists (with description).
bool SetupInOut ()
int CntIn () const
 Get number of inlets.
int CntOut () const
 Get number of outlets.
int CntInSig () const
 Get number of signal inlets.
int CntOutSig () const
 Get number of signal outlets.
outlet * GetOut (int ix) const
 Get pointer to outlet (not in the constructor!).
int GetOutAttr () const
void ToOutBang (int n) const
 Output bang (index n starts with 0).
void ToOutFloat (int n, float f) const
 Output float (index n starts with 0).
void ToOutInt (int n, int f) const
 Output integer (index n starts with 0).
void ToOutBool (int n, bool f) const
 Output boolean (index n starts with 0).
void ToOutDouble (int n, double d) const
 Output double (index n starts with 0).
void ToOutSymbol (int n, const t_symbol *s) const
 Output symbol (index n starts with 0).
void ToOutString (int n, const char *s) const
 Output string aka symbol (index n starts with 0).
void ToOutAtom (int n, const t_atom &at) const
 Output atom (index n starts with 0).
void ToOutList (int n, int argc, const t_atom *argv) const
 Output list (index n starts with 0).
void ToOutList (int n, const AtomList &list) const
 Output list (index n starts with 0).
void ToOutAnything (int n, const t_symbol *s, int argc, const t_atom *argv) const
 Output anything (index n starts with 0).
void ToOutAnything (int n, const AtomAnything &any) const
 Output anything (index n starts with 0).
void ToOutAnything (int n, const t_symbol *s, const AtomList &list) const
 Output anything (index n starts with 0).
void ToQueueBang (int n) const
 Output low priority bang (index n starts with 0).
void ToQueueFloat (int n, float f) const
 Output low priority float (index n starts with 0).
void ToQueueInt (int n, int f) const
 Output low priority integer (index n starts with 0).
void ToQueueBool (int n, bool f) const
 Output low priority boolean (index n starts with 0).
void ToQueueDouble (int n, double d) const
 Output double (index n starts with 0).
void ToQueueSymbol (int n, const t_symbol *s) const
 Output low priority symbol (index n starts with 0).
void ToQueueString (int n, const char *s) const
 Output low priority string aka symbol (to appointed outlet).
void ToQueueAtom (int n, const t_atom &at) const
 Output low priority atom (index n starts with 0).
void ToQueueList (int n, int argc, const t_atom *argv) const
 Output low priority list (index n starts with 0).
void ToQueueList (int n, const AtomList &list) const
 Output low priority list (index n starts with 0).
void ToQueueAnything (int n, const t_symbol *s, int argc, const t_atom *argv) const
 Output low priority anything (index n starts with 0).
void ToQueueAnything (int n, const AtomAnything &any) const
 Output low priority anything (index n starts with 0).
void ToSelfBang (int n) const
 Send bang to self (inlet n).
void ToSelfFloat (int n, float f) const
 Send float to self (inlet n).
void ToSelfInt (int n, int f) const
 Send integer to self (inlet n).
void ToSelfBool (int n, bool f) const
 Send boolean to self (inlet n).
void ToSelfDouble (int n, double d) const
 Send double to self (index n starts with 0).
void ToSelfSymbol (int n, const t_symbol *s) const
 Send symbol to self (inlet n).
void ToSelfString (int n, const char *s) const
 Send string aka symbol to self (inlet 0).
void ToSelfAtom (int n, const t_atom &at) const
 Output atom (index n starts with 0).
void ToSelfList (int n, int argc, const t_atom *argv) const
 Send list to self (inlet n).
void ToSelfList (int n, const AtomList &list) const
 Send list to self (inlet n).
void ToSelfAnything (int n, const t_symbol *s, int argc, const t_atom *argv) const
 Send anything to self (inlet n).
void ToSelfAnything (int n, const AtomAnything &any) const
 Send anything to self (inlet n).
void MsgAddBang (MsgBundle *mb, int n) const
 Output bang (index n starts with 0).
void MsgAddFloat (MsgBundle *mb, int n, float f) const
 Output float (index n starts with 0).
void MsgAddInt (MsgBundle *mb, int n, int f) const
 Output integer (index n starts with 0).
void MsgAddBool (MsgBundle *mb, int n, bool f) const
 Output boolean (index n starts with 0).
void MsgAddDouble (MsgBundle *mb, int n, double d) const
 Output double (index n starts with 0).
void MsgAddSymbol (MsgBundle *mb, int n, const t_symbol *s) const
 Output symbol (index n starts with 0).
void MsgAddString (MsgBundle *mb, int n, const char *s) const
 Output string aka symbol (to appointed outlet).
void MsgAddAtom (MsgBundle *mb, int n, const t_atom &at) const
 Output atom (index n starts with 0).
void MsgAddList (MsgBundle *mb, int n, int argc, const t_atom *argv) const
 Output list (index n starts with 0).
void MsgAddList (MsgBundle *mb, int n, const AtomList &list) const
 Output list (index n starts with 0).
void MsgAddAnything (MsgBundle *mb, int n, const t_symbol *s, int argc, const t_atom *argv) const
 Output anything (index n starts with 0).
void MsgAddAnything (MsgBundle *mb, int n, const AtomAnything &any) const
 Output anything (index n starts with 0).
void MsgSelfBang (MsgBundle *mb, int n) const
void MsgSelfFloat (MsgBundle *mb, int n, float f) const
 Send float to self (inlet n).
void MsgSelfInt (MsgBundle *mb, int n, int f) const
 Send integer to self (inlet n).
void MsgSelfBool (MsgBundle *mb, int n, bool f) const
 Send boolean to self (inlet n).
void MsgSelfDouble (MsgBundle *mb, int n, double d) const
 Output double (index n starts with 0).
void MsgSelfSymbol (MsgBundle *mb, int n, const t_symbol *s) const
 Send symbol to self (inlet n).
void MsgSelfString (MsgBundle *mb, int n, const char *s) const
 Send string aka symbol to self (inlet 0).
void MsgSelfAtom (MsgBundle *mb, int n, const t_atom &at) const
 Output atom (index n starts with 0).
void MsgSelfList (MsgBundle *mb, int n, int argc, const t_atom *argv) const
 Send list to self (inlet n).
void MsgSelfList (MsgBundle *mb, int n, const AtomList &list) const
 Send list to self (inlet n).
void MsgSelfAnything (MsgBundle *mb, int n, const t_symbol *s, int argc, const t_atom *argv) const
 Send anything to self (inlet n).
void MsgSelfAnything (MsgBundle *mb, int n, const AtomAnything &any) const
 Send anything to self (inlet n).
void AddMethodDef (int inlet, const t_symbol *tag=NULL)
void AddMethodDef (int inlet, const char *tag=NULL)
void AddMethod (int inlet, bool(*m)(flext_base *))
void AddMethod (int inlet, bool(*m)(flext_base *, int, t_atom *))
void AddMethod (int inlet, bool(*m)(flext_base *, int, const t_atom *))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *))
void AddMethod (int inlet, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
void AddMethod (int inlet, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
void AddMethod (int inlet, bool(*m)(flext_base *, t_symbol *&))
void AddMethod (int inlet, bool(*m)(flext_base *, const t_symbol *&))
void AddMethod (int inlet, bool(*m)(flext_base *, float &))
void AddMethod (int inlet, bool(*m)(flext_base *, float &, float &))
void AddMethod (int inlet, bool(*m)(flext_base *, float &, float &, float &))
void AddMethod (int inlet, bool(*m)(flext_base *, int &))
void AddMethod (int inlet, bool(*m)(flext_base *, int &, int &))
void AddMethod (int inlet, bool(*m)(flext_base *, int &, int &, int &))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, t_atom *))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, const t_atom *))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *&))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *&))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *, float &))
void AddMethod (int inlet, const t_symbol *tag, bool(*m)(flext_base *, int &))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *, int, t_atom *))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *, int, const t_atom *))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *&))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *&))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *, float &))
void AddMethod (int inlet, const char *tag, bool(*m)(flext_base *, int &))
void AddIdle ()
bool DoDist () const
 Query whether lists are distributed.
bool Bind (const t_symbol *sym)
 Bind object to a symbol.
bool Unbind (const t_symbol *sym)
 Unbind object from a symbol.
bool Bind (const char *sym)
 Bind object to a symbol (as string).
bool Unbind (const char *sym)
 Unbind object from a symbol (as string).
bool BindMethod (const t_symbol *sym, bool(*meth)(flext_base *obj, t_symbol *sym, int argc, t_atom *argv, void *data), void *data=NULL)
 Bind a method to a symbol.
bool UnbindMethod (const t_symbol *sym, bool(*meth)(flext_base *obj, t_symbol *sym, int argc, t_atom *argv, void *data)=NULL, void **data=NULL)
 Unbind a method from a symbol.
bool GetBoundMethod (const t_symbol *sym, bool(*meth)(flext_base *obj, t_symbol *sym, int argc, t_atom *argv, void *data), void *&data)
 Get data of bound method of a symbol.
bool BindMethod (const char *sym, bool(*meth)(flext_base *obj, t_symbol *sym, int argc, t_atom *argv, void *data), void *data=NULL)
 Bind a method to a symbol (as string).
bool UnbindMethod (const char *sym, bool(*meth)(flext_base *obj, t_symbol *sym, int argc, t_atom *argv, void *data)=NULL, void **data=NULL)
 Unbind a method from a symbol (as string).
bool GetBoundMethod (const char *sym, bool(*meth)(flext_base *obj, t_symbol *sym, int argc, t_atom *argv, void *data), void *&data)
 Get data of bound method of a symbol (as string).
bool UnbindAll ()
bool StartThread (void(*meth)(thr_params *p), thr_params *p, const char *=NULL)
 Start a thread for this object.
bool StopThreads ()
 Terminate all threads of this object.
void ToSysBang (int n) const
void ToSysFloat (int n, float f) const
void ToSysInt (int n, int f) const
void ToSysSymbol (int n, const t_symbol *s) const
void ToSysString (int n, const char *s) const
void ToSysList (int n, int argc, const t_atom *argv) const
void ToSysList (int n, const AtomList &list) const
void ToSysAnything (int n, const t_symbol *s, int argc, const t_atom *argv) const
void ToSysAnything (int n, const AtomAnything &any) const
void ToSysAnything (int n, const t_symbol *s, const AtomList &list) const
void ToSysBool (int n, bool f) const
void ToSysAtom (int n, const t_atom &at) const
void ToSysDouble (int n, double d) const
ItemContThMeths ()
ItemContThAttrs ()
void AddAttrib (const t_symbol *attr, int tp, methfun gfun, methfun sfun)

Static Public Member Functions

static const t_symbol * thisTag ()
 Retrieve currently processed message tag (NULL if no message processing).
static void SetDist (t_classid c, bool d=true)
 Set Max/MSP style of distributing list elements over (message) inlets.
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, int, t_atom *))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, int, const t_atom *))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, t_symbol *&))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, const t_symbol *&))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, float &))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, float &, float &))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, float &, float &, float &))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, int &))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, int &, int &))
static void AddMethod (t_classid c, int inlet, bool(*m)(flext_base *, int &, int &, int &))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, t_atom *))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, const t_atom *))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *&))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *&))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, float &))
static void AddMethod (t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, int &))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int, t_atom *))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int, const t_atom *))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *&))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *&))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, float &))
static void AddMethod (t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int &))
static void AddIdle (bool(*idlefun)(int argc, const t_atom *argv), int argc, const t_atom *argv)
static void ToSysMsg (MsgBundle *mb)
static void AddMessageMethods (t_class *c, bool dsp, bool dspin)
static ItemContClMeths (t_classid c)
static void AddMethod (ItemCont *ma, int inlet, const t_symbol *tag, methfun fun, int tp,...)
 This is the central function to add message handlers. It is used by all other AddMethod incarnations.
static ItemContClAttrs (t_classid c)
static void AddAttrib (ItemCont *aa, ItemCont *ma, const t_symbol *attr, int tp, methfun gfun, methfun sfun)
 Add get and set attributes.
static void AddAttrib (t_classid c, const t_symbol *attr, int tp, methfun gfun, methfun sfun)

Protected Member Functions

 flext_base ()
virtual bool Init ()
 Set up inlets and outlets, method and attribute lists.
virtual void Exit ()
 Deallocate all kinds of stuff.
void AddAttrib (const t_symbol *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
void AddAttrib (const t_symbol *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
void AddAttrib (const t_symbol *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
void AddAttrib (const t_symbol *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
void AddAttrib (const t_symbol *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
void AddAttrib (const t_symbol *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
void AddAttrib (const t_symbol *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
void AddAttrib (const char *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
void AddAttrib (const char *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
void AddAttrib (const char *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
void AddAttrib (const char *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
void AddAttrib (const char *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
void AddAttrib (const char *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
void AddAttrib (const char *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
bool DumpAttrib (const t_symbol *attr) const
 Dump an attribute to the attribute outlet.
bool DumpAttrib (const char *attr) const
 Dump an attribute to the attribute outlet.
bool ListAttrib () const
 List attributes.
void ListAttrib (AtomList &a) const
 List attributes.
bool GetAttrib (const t_symbol *s, AtomList &a) const
 Get an attribute value.
bool SetAttrib (const t_symbol *s, int argc, const t_atom *argv)
 Set an attribute value.
bool SetAttrib (const t_symbol *s, const AtomList &a)
 Set an attribute value.
bool BangAttrib (const t_symbol *a)
bool BangAttrib (const char *a)
bool BangAttribAll ()
bool ShowAttrib (const t_symbol *a, bool show) const
bool ShowAttrib (const char *a, bool show)
void ListMethods (AtomList &a, int inlet=0) const
 List methods.
unsigned long XletCode (int tp=xlet_none,...)
 get a code for a list of inlets or outlets
void AddInlets (unsigned long code)
 Add some inlets by a special code representing the types.
void AddInlet (int tp, int mult=1, const char *desc=NULL)
 Add one or more inlet(s).
void AddOutlets (unsigned long code)
 Add some inlets by a special code representing the types.
void AddOutlet (int tp, int mult=1, const char *desc=NULL)
 Add one or more outlet(s).
void DescInlet (int ix, const char *desc)
 Set the description of an indexed inlet.
void DescOutlet (int ix, const char *desc)
 Set the description of an indexed outlet.

Static Protected Member Functions

static void AddAttrib (t_classid c, const t_symbol *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
static void AddAttrib (t_classid c, const t_symbol *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
static void AddAttrib (t_classid c, const t_symbol *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
static void AddAttrib (t_classid c, const t_symbol *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
static void AddAttrib (t_classid c, const t_symbol *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
static void AddAttrib (t_classid c, const t_symbol *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
static void AddAttrib (t_classid c, const t_symbol *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
static void AddAttrib (t_classid c, const char *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
static void AddAttrib (t_classid c, const char *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
static void AddAttrib (t_classid c, const char *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
static void AddAttrib (t_classid c, const char *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
static void AddAttrib (t_classid c, const char *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
static void AddAttrib (t_classid c, const char *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
static void AddAttrib (t_classid c, const char *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
static int CheckAttrib (int argc, const t_atom *argv)
static int CheckAttrib (const AtomList &args, int offset=0)

Private Types

typedef bool(* methfun_V) (flext_base *c, int argc, t_atom *argv)
typedef bool(* methfun_A) (flext_base *c, const t_symbol *s, int argc, t_atom *argv)
typedef bool(* methfun_0) (flext_base *c)
typedef bool(* methfun_1) (flext_base *c, t_any &)
typedef bool(* methfun_2) (flext_base *c, t_any &, t_any &)
typedef bool(* methfun_3) (flext_base *c, t_any &, t_any &, t_any &)
typedef bool(* methfun_4) (flext_base *c, t_any &, t_any &, t_any &, t_any &)
typedef bool(* methfun_5) (flext_base *c, t_any &, t_any &, t_any &, t_any &, t_any &)

Private Member Functions

bool FindMeth (int inlet, const t_symbol *s, int argc, const t_atom *argv)
 Find a method item for a specific tag and arguments.
bool FindMethAny (int inlet, const t_symbol *s, int argc, const t_atom *argv)
bool TryMethTag (Item *lst, const t_symbol *tag, int argc, const t_atom *argv)
bool TryMethSym (Item *lst, const t_symbol *s)
bool TryMethAny (Item *lst, const t_symbol *s, int argc, const t_atom *argv)
AttrItemFindAttrib (const t_symbol *tag, bool get, bool msg=false) const
bool InitAttrib (int argc, const t_atom *argv)
bool DumpAttrib (const t_symbol *tag, AttrItem *a) const
bool GetAttrib (const t_symbol *tag, AttrItem *a, AtomList &l) const
bool SetAttrib (const t_symbol *tag, AttrItem *a, int argc, const t_atom *argv)
bool SetAttrib (const t_symbol *tag, AttrItem *a, const AtomList &l)
bool BangAttrib (const t_symbol *tag, AttrItem *a)
bool ShowAttrib (AttrItem *a, bool show) const
bool InitInlets ()
 initialize inlets (according to class or object constructor definitions)
bool InitOutlets ()
 initialize outlets (according to class or object constructor definitions)

Static Private Member Functions

static flext_basethisObject (flext_hdr *c)
static void Setup (t_classid c)
static bool cb_ListMethods (flext_base *c, int argc, const t_atom *argv)
static bool cb_ListAttrib (flext_base *c)
static void StartQueue ()
 Start message queue.
static void QFlush (flext_base *th=NULL)
 Flush messages in the queue.
static void SetGfx (t_classid c)
static void cb_bang (flext_hdr *c)
static void cb_float (flext_hdr *c, t_float f)
static void cb_symbol (flext_hdr *c, const t_symbol *s)
static void cb_anything (flext_hdr *c, const t_symbol *s, int argc, t_atom *argv)
static void cb_px_ft1 (flext_hdr *c, t_float f)
static void cb_px_ft2 (flext_hdr *c, t_float f)
static void cb_px_ft3 (flext_hdr *c, t_float f)
static void cb_px_ft4 (flext_hdr *c, t_float f)
static void cb_px_ft5 (flext_hdr *c, t_float f)
static void cb_px_ft6 (flext_hdr *c, t_float f)
static void cb_px_ft7 (flext_hdr *c, t_float f)
static void cb_px_ft8 (flext_hdr *c, t_float f)
static void cb_px_ft9 (flext_hdr *c, t_float f)
static void SetupBindProxy ()
 create proxy class for symbol binding
static void SetProxies (t_class *c, bool dsp)
 set up inlet proxies
static void cb_loadbang (flext_hdr *c)
static void cb_click (flext_hdr *z, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
static void cb_dsp (flext_hdr *c, t_signal **s)

Private Attributes

unsigned char incnt
 number of message and signal inlets/outlets
unsigned char outcnt
unsigned char insigs
unsigned char outsigs
outlet ** outlets
ItemContmethhead
ItemContbindhead
ItemContattrhead
AttrDataContattrdata
px_object ** inlets

Static Private Attributes

static xlet inlist []
static xlet outlist []
static const t_symbol * curtag = NULL
 current message tag
static bool qustarted = false
static t_class * px_class = NULL
static t_class * pxbnd_class = NULL

Friends

class flext_obj

Member Typedef Documentation

◆ methfun

typedef bool(* flext_base::methfun) (flext_base *c)

◆ methfun_0

typedef bool(* flext_base::methfun_0) (flext_base *c)
private

◆ methfun_1

typedef bool(* flext_base::methfun_1) (flext_base *c, t_any &)
private

◆ methfun_2

typedef bool(* flext_base::methfun_2) (flext_base *c, t_any &, t_any &)
private

◆ methfun_3

typedef bool(* flext_base::methfun_3) (flext_base *c, t_any &, t_any &, t_any &)
private

◆ methfun_4

typedef bool(* flext_base::methfun_4) (flext_base *c, t_any &, t_any &, t_any &, t_any &)
private

◆ methfun_5

typedef bool(* flext_base::methfun_5) (flext_base *c, t_any &, t_any &, t_any &, t_any &, t_any &)
private

◆ methfun_A

typedef bool(* flext_base::methfun_A) (flext_base *c, const t_symbol *s, int argc, t_atom *argv)
private

◆ methfun_V

typedef bool(* flext_base::methfun_V) (flext_base *c, int argc, t_atom *argv)
private

◆ TablePtrMapDef

typedef TablePtrMap<const t_symbol *,Item *,8> flext_base::TablePtrMapDef

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
xlet_none 
xlet_float 
xlet_int 
xlet_sym 
xlet_list 
xlet_any 
xlet_LIST 
xlet_ANY 
xlet_sig 

◆ anonymous enum

anonymous enum
Enumerator
a_null 
a_float 
a_int 
a_bool 
a_symbol 
a_pointer 
a_list 
a_any 
a_LIST 
a_ANY 

Constructor & Destructor Documentation

◆ flext_base()

flext_base::flext_base ( )
protected

Member Function Documentation

◆ AddAttrib() [1/3]

void flext_base::AddAttrib ( const t_symbol * attr,
int tp,
methfun gfun,
methfun sfun )

◆ AddAttrib() [2/3]

void flext_base::AddAttrib ( ItemCont * aa,
ItemCont * ma,
const t_symbol * attr,
int tp,
methfun gfun,
methfun sfun )
static

Add get and set attributes.

◆ AddAttrib() [3/3]

void flext_base::AddAttrib ( t_classid c,
const t_symbol * attr,
int tp,
methfun gfun,
methfun sfun )
static

◆ AddIdle() [1/2]

void flext_base::AddIdle ( )

◆ AddIdle() [2/2]

void flext_base::AddIdle ( bool(* idlefun )(int argc, const t_atom *argv),
int argc,
const t_atom * argv )
static

◆ AddMessageMethods()

void flext_base::AddMessageMethods ( t_class * c,
bool dsp,
bool dspin )
static

◆ AddMethod() [1/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *) )
inline

◆ AddMethod() [2/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, const t_symbol *&) )
inline

◆ AddMethod() [3/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, const t_symbol *, int, const t_atom *) )
inline

◆ AddMethod() [4/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, float &) )
inline

◆ AddMethod() [5/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, float &, float &) )
inline

◆ AddMethod() [6/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, float &, float &, float &) )
inline

◆ AddMethod() [7/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, int &) )
inline

◆ AddMethod() [8/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, int &, int &) )
inline

◆ AddMethod() [9/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, int &, int &, int &) )
inline

◆ AddMethod() [10/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, int, const t_atom *) )
inline

◆ AddMethod() [11/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, int, t_atom *) )
inline

◆ AddMethod() [12/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, t_symbol *&) )
inline

◆ AddMethod() [13/63]

void flext_base::AddMethod ( int inlet,
bool(* )(flext_base *, t_symbol *, int, t_atom *) )
inline

◆ AddMethod() [14/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *) )
inline

◆ AddMethod() [15/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *, const t_symbol *&) )
inline

◆ AddMethod() [16/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *, const t_symbol *, int, const t_atom *) )
inline

◆ AddMethod() [17/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *, float &) )
inline

◆ AddMethod() [18/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *, int &) )
inline

◆ AddMethod() [19/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *, int, const t_atom *) )
inline

◆ AddMethod() [20/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *, int, t_atom *) )
inline

◆ AddMethod() [21/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *, t_symbol *&) )
inline

◆ AddMethod() [22/63]

void flext_base::AddMethod ( int inlet,
const char * tag,
bool(* )(flext_base *, t_symbol *, int, t_atom *) )
inline

◆ AddMethod() [23/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *) )
inline

◆ AddMethod() [24/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *, const t_symbol *&) )
inline

◆ AddMethod() [25/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *, const t_symbol *, int, const t_atom *) )
inline

◆ AddMethod() [26/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *, float &) )
inline

◆ AddMethod() [27/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *, int &) )
inline

◆ AddMethod() [28/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *, int, const t_atom *) )
inline

◆ AddMethod() [29/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *, int, t_atom *) )
inline

◆ AddMethod() [30/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *, t_symbol *&) )
inline

◆ AddMethod() [31/63]

void flext_base::AddMethod ( int inlet,
const t_symbol * tag,
bool(* )(flext_base *, t_symbol *, int, t_atom *) )
inline

◆ AddMethod() [32/63]

void flext_base::AddMethod ( ItemCont * ma,
int inlet,
const t_symbol * tag,
methfun fun,
int tp,
... )
static

This is the central function to add message handlers. It is used by all other AddMethod incarnations.

Add a method to the queue.

◆ AddMethod() [33/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *) )
inlinestatic

◆ AddMethod() [34/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, const t_symbol *&) )
inlinestatic

◆ AddMethod() [35/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, const t_symbol *, int, const t_atom *) )
inlinestatic

◆ AddMethod() [36/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, float &) )
inlinestatic

◆ AddMethod() [37/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, float &, float &) )
inlinestatic

◆ AddMethod() [38/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, float &, float &, float &) )
inlinestatic

◆ AddMethod() [39/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, int &) )
inlinestatic

◆ AddMethod() [40/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, int &, int &) )
inlinestatic

◆ AddMethod() [41/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, int &, int &, int &) )
inlinestatic

◆ AddMethod() [42/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, int, const t_atom *) )
inlinestatic

◆ AddMethod() [43/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, int, t_atom *) )
inlinestatic

◆ AddMethod() [44/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, t_symbol *&) )
inlinestatic

◆ AddMethod() [45/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
bool(* )(flext_base *, t_symbol *, int, t_atom *) )
inlinestatic

◆ AddMethod() [46/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *) )
inlinestatic

◆ AddMethod() [47/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *, const t_symbol *&) )
inlinestatic

◆ AddMethod() [48/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *, const t_symbol *, int, const t_atom *) )
inlinestatic

◆ AddMethod() [49/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *, float &) )
inlinestatic

◆ AddMethod() [50/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *, int &) )
inlinestatic

◆ AddMethod() [51/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *, int, const t_atom *) )
inlinestatic

◆ AddMethod() [52/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *, int, t_atom *) )
inlinestatic

◆ AddMethod() [53/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *, t_symbol *&) )
inlinestatic

◆ AddMethod() [54/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const char * tag,
bool(* )(flext_base *, t_symbol *, int, t_atom *) )
inlinestatic

◆ AddMethod() [55/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *) )
inlinestatic

◆ AddMethod() [56/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *, const t_symbol *&) )
inlinestatic

◆ AddMethod() [57/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *, const t_symbol *, int, const t_atom *) )
inlinestatic

◆ AddMethod() [58/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *, float &) )
inlinestatic

◆ AddMethod() [59/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *, int &) )
inlinestatic

◆ AddMethod() [60/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *, int, const t_atom *) )
inlinestatic

◆ AddMethod() [61/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *, int, t_atom *) )
inlinestatic

◆ AddMethod() [62/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *, t_symbol *&) )
inlinestatic

◆ AddMethod() [63/63]

void flext_base::AddMethod ( t_classid c,
int inlet,
const t_symbol * tag,
bool(* )(flext_base *, t_symbol *, int, t_atom *) )
inlinestatic

◆ AddMethodDef() [1/2]

void flext_base::AddMethodDef ( int inlet,
const char * tag = NULL )
inline

◆ AddMethodDef() [2/2]

void flext_base::AddMethodDef ( int inlet,
const t_symbol * tag = NULL )
inline

◆ BangAttrib() [1/3]

bool flext_base::BangAttrib ( const char * a)
inlineprotected

◆ BangAttrib() [2/3]

bool flext_base::BangAttrib ( const t_symbol * a)
protected

◆ BangAttrib() [3/3]

bool flext_base::BangAttrib ( const t_symbol * tag,
AttrItem * a )
private

◆ BangAttribAll()

bool flext_base::BangAttribAll ( )
protected

◆ cb_anything()

void flext_base::cb_anything ( flext_hdr * c,
const t_symbol * s,
int argc,
t_atom * argv )
staticprivate

◆ cb_bang()

void flext_base::cb_bang ( flext_hdr * c)
staticprivate

◆ cb_click()

void flext_base::cb_click ( flext_hdr * z,
t_floatarg xpos,
t_floatarg ypos,
t_floatarg shift,
t_floatarg ctrl,
t_floatarg alt )
staticprivate

◆ cb_dsp()

void flext_base::cb_dsp ( flext_hdr * c,
t_signal ** s )
staticprivate

◆ cb_float()

void flext_base::cb_float ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_ListAttrib()

bool flext_base::cb_ListAttrib ( flext_base * c)
inlinestaticprivate

◆ cb_ListMethods()

bool flext_base::cb_ListMethods ( flext_base * c,
int argc,
const t_atom * argv )
staticprivate

◆ cb_loadbang()

void flext_base::cb_loadbang ( flext_hdr * c)
staticprivate

◆ cb_px_ft1()

void flext_base::cb_px_ft1 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_px_ft2()

void flext_base::cb_px_ft2 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_px_ft3()

void flext_base::cb_px_ft3 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_px_ft4()

void flext_base::cb_px_ft4 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_px_ft5()

void flext_base::cb_px_ft5 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_px_ft6()

void flext_base::cb_px_ft6 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_px_ft7()

void flext_base::cb_px_ft7 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_px_ft8()

void flext_base::cb_px_ft8 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_px_ft9()

void flext_base::cb_px_ft9 ( flext_hdr * c,
t_float f )
staticprivate

◆ cb_symbol()

void flext_base::cb_symbol ( flext_hdr * c,
const t_symbol * s )
staticprivate

◆ CheckAttrib() [1/2]

int flext_base::CheckAttrib ( const AtomList & args,
int offset = 0 )
inlinestaticprotected

◆ CheckAttrib() [2/2]

int flext_base::CheckAttrib ( int argc,
const t_atom * argv )
staticprotected

◆ ClAttrs()

flext_base::ItemCont * flext_base::ClAttrs ( t_classid c)
static

◆ ClMeths()

flext_base::ItemCont * flext_base::ClMeths ( t_classid c)
static

◆ DoDist()

bool flext_base::DoDist ( ) const

Query whether lists are distributed.

◆ DumpAttrib() [1/3]

bool flext_base::DumpAttrib ( const char * attr) const
inlineprotected

Dump an attribute to the attribute outlet.

◆ DumpAttrib() [2/3]

bool flext_base::DumpAttrib ( const t_symbol * attr) const
protected

Dump an attribute to the attribute outlet.

◆ DumpAttrib() [3/3]

bool flext_base::DumpAttrib ( const t_symbol * tag,
AttrItem * a ) const
private
Parameters
tagsymbol "get[attribute]"

◆ Exit()

void flext_base::Exit ( )
protectedvirtual

Deallocate all kinds of stuff.

This virtual function is called before the destructor. We do this because here we can still call virtual methods.

Reimplemented in flext_dsp, flext_sndobj, and flext_stk.

◆ FindAttrib()

flext_base::AttrItem * flext_base::FindAttrib ( const t_symbol * tag,
bool get,
bool msg = false ) const
private

◆ FindMeth()

bool flext_base::FindMeth ( int inlet,
const t_symbol * s,
int argc,
const t_atom * argv )
private

Find a method item for a specific tag and arguments.

Remarks
All attributes are also stored in the method list and retrieved by a member of the method item

◆ FindMethAny()

bool flext_base::FindMethAny ( int inlet,
const t_symbol * s,
int argc,
const t_atom * argv )
private

◆ GetAttrib() [1/2]

bool flext_base::GetAttrib ( const t_symbol * s,
AtomList & a ) const
protected

Get an attribute value.

◆ GetAttrib() [2/2]

bool flext_base::GetAttrib ( const t_symbol * tag,
AttrItem * a,
AtomList & l ) const
private

◆ Init()

bool flext_base::Init ( )
protectedvirtual

Set up inlets and outlets, method and attribute lists.

This virtual function is called after the object has been created, that is, after the constructor has been processed. It creates the inlets and outlets and the message and attribute lists.

Note
You can override it in your own class, but be sure to call it,
otherwise no inlets/outlets will be created
All inlet, outlets, method and attribute declarations must be made before a call to Init!
Remarks
Creation of inlets/outlets can't be done upon declaration, as Max/MSP needs creation
in reverse.

Reimplemented in flext_sndobj, and flext_stk.

◆ InitAttrib()

bool flext_base::InitAttrib ( int argc,
const t_atom * argv )
private

◆ InitInlets()

bool flext_base::InitInlets ( )
private

initialize inlets (according to class or object constructor definitions)

◆ InitOutlets()

bool flext_base::InitOutlets ( )
private

initialize outlets (according to class or object constructor definitions)

◆ ListAttrib() [1/2]

bool flext_base::ListAttrib ( ) const
protected

List attributes.

◆ ListAttrib() [2/2]

void flext_base::ListAttrib ( AtomList & a) const
protected

List attributes.

◆ ListMethods()

void flext_base::ListMethods ( AtomList & a,
int inlet = 0 ) const
protected

List methods.

◆ QFlush()

void flext_base::QFlush ( flext_base * th = NULL)
staticprivate

Flush messages in the queue.

◆ SetAttrib() [1/4]

bool flext_base::SetAttrib ( const t_symbol * s,
const AtomList & a )
inlineprotected

Set an attribute value.

◆ SetAttrib() [2/4]

bool flext_base::SetAttrib ( const t_symbol * s,
int argc,
const t_atom * argv )
protected

Set an attribute value.

◆ SetAttrib() [3/4]

bool flext_base::SetAttrib ( const t_symbol * tag,
AttrItem * a,
const AtomList & l )
inlineprivate

◆ SetAttrib() [4/4]

bool flext_base::SetAttrib ( const t_symbol * tag,
AttrItem * a,
int argc,
const t_atom * argv )
private

◆ SetDist()

void flext_base::SetDist ( t_classid c,
bool d = true )
static

Set Max/MSP style of distributing list elements over (message) inlets.

◆ SetGfx()

void flext_base::SetGfx ( t_classid c)
staticprivate

◆ SetProxies()

void flext_base::SetProxies ( t_class * c,
bool dsp )
staticprivate

set up inlet proxies

◆ Setup()

void flext_base::Setup ( t_classid id)
staticprivate

Set up proxy classes and basic methods at class creation time This ensures that they are processed before the registered flext messages

◆ SetupBindProxy()

void flext_base::SetupBindProxy ( )
staticprivate

create proxy class for symbol binding

Set up the proxy class for symbol-bound methods.

◆ ShowAttrib() [1/3]

bool flext_base::ShowAttrib ( AttrItem * a,
bool show ) const
private

◆ ShowAttrib() [2/3]

bool flext_base::ShowAttrib ( const char * a,
bool show )
inlineprotected

◆ ShowAttrib() [3/3]

bool flext_base::ShowAttrib ( const t_symbol * a,
bool show ) const
protected

◆ StartQueue()

void flext_base::StartQueue ( )
staticprivate

Start message queue.

◆ ThAttrs()

ItemCont * flext_base::ThAttrs ( )
inline

◆ thisObject()

flext_base * flext_base::thisObject ( flext_hdr * c)
inlinestaticprivate

◆ ThMeths()

ItemCont * flext_base::ThMeths ( )
inline

◆ ToSysAnything() [1/3]

void flext_base::ToSysAnything ( int n,
const AtomAnything & any ) const
inline

◆ ToSysAnything() [2/3]

void flext_base::ToSysAnything ( int n,
const t_symbol * s,
const AtomList & list ) const
inline

◆ ToSysAnything() [3/3]

void flext_base::ToSysAnything ( int n,
const t_symbol * s,
int argc,
const t_atom * argv ) const
inline

◆ ToSysAtom()

void flext_base::ToSysAtom ( int n,
const t_atom & at ) const

◆ ToSysBang()

void flext_base::ToSysBang ( int n) const
inline

◆ ToSysBool()

void flext_base::ToSysBool ( int n,
bool f ) const
inline

◆ ToSysDouble()

void flext_base::ToSysDouble ( int n,
double d ) const
inline

◆ ToSysFloat()

void flext_base::ToSysFloat ( int n,
float f ) const
inline

◆ ToSysInt()

void flext_base::ToSysInt ( int n,
int f ) const
inline

◆ ToSysList() [1/2]

void flext_base::ToSysList ( int n,
const AtomList & list ) const
inline

◆ ToSysList() [2/2]

void flext_base::ToSysList ( int n,
int argc,
const t_atom * argv ) const
inline

◆ ToSysMsg()

void flext_base::ToSysMsg ( MsgBundle * mb)
static

◆ ToSysString()

void flext_base::ToSysString ( int n,
const char * s ) const
inline

◆ ToSysSymbol()

void flext_base::ToSysSymbol ( int n,
const t_symbol * s ) const
inline

◆ TryMethAny()

bool flext_base::TryMethAny ( Item * lst,
const t_symbol * s,
int argc,
const t_atom * argv )
private

◆ TryMethSym()

bool flext_base::TryMethSym ( Item * lst,
const t_symbol * s )
private

◆ TryMethTag()

bool flext_base::TryMethTag ( Item * lst,
const t_symbol * tag,
int argc,
const t_atom * argv )
private

◆ flext_obj

friend class flext_obj
friend

Member Data Documentation

◆ attrdata

AttrDataCont* flext_base::attrdata
mutableprivate

◆ attrhead

ItemCont* flext_base::attrhead
mutableprivate

◆ bindhead

ItemCont* flext_base::bindhead
mutableprivate

◆ curtag

const t_symbol * flext_base::curtag = NULL
staticprivate

current message tag

◆ incnt

unsigned char flext_base::incnt
private

number of message and signal inlets/outlets

◆ inlets

px_object** flext_base::inlets
private

◆ inlist

flext_base::xlet flext_base::inlist
staticprivate

◆ insigs

unsigned char flext_base::insigs
private

◆ methhead

ItemCont* flext_base::methhead
mutableprivate

◆ outcnt

unsigned char flext_base::outcnt
private

◆ outlets

outlet** flext_base::outlets
private

◆ outlist

flext_base::xlet flext_base::outlist
staticprivate

◆ outsigs

unsigned char flext_base::outsigs
private

◆ px_class

t_class * flext_base::px_class = NULL
staticprivate

◆ pxbnd_class

t_class * flext_base::pxbnd_class = NULL
staticprivate

◆ qustarted

bool flext_base::qustarted = false
staticprivate

The documentation for this class was generated from the following files: