flext  0.6.0
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
flext_base Class Reference

#include <flclass.h>

Inheritance diagram for flext_base:
flext_dsp flext_sndobj flext_stk

Classes

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

Public Types

enum  metharg {
  a_null = 0, a_float, a_int, a_bool,
  a_symbol, a_pointer, a_list, a_any,
  a_LIST, a_ANY
}
 
enum  xlettype {
  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!) More...
 
virtual void m_loadbang ()
 
virtual void CbClick ()
 called on (double-)click into object box More...
 
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. More...
 
virtual bool CbMethodResort (int inlet, const t_symbol *s, int argc, const t_atom *argv)
 Called for every unhandled message (by CbMethodHandler) More...
 
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. More...
 
void AddInAnything (const char *desc, int m=1)
 Add inlet(s) for anythings (with description) More...
 
void AddInFloat (int m=1)
 Add inlet(s) for floats. More...
 
void AddInFloat (const char *desc, int m=1)
 Add inlet(s) for floats (with description) More...
 
void AddInInt (int m=1)
 Add inlet(s) for integers. More...
 
void AddInInt (const char *desc, int m=1)
 Add inlet(s) for integers (with description) More...
 
void AddInSymbol (int m=1)
 Add inlet(s) for symbols. More...
 
void AddInSymbol (const char *desc, int m=1)
 Add inlet(s) for symbol (with description) More...
 
void AddInBang (int m=1)
 Add inlet(s) for bang. More...
 
void AddInBang (const char *desc, int m=1)
 Add inlet(s) for bangs (with description) More...
 
void AddInList (int m=1)
 Add inlet(s) for lists. More...
 
void AddInList (const char *desc, int m=1)
 Add inlet(s) for lists (with description) More...
 
void AddOutAnything (int m=1)
 Add outlet(s) for anythings. More...
 
void AddOutAnything (const char *desc, int m=1)
 Add outlet(s) for anythings (with description) More...
 
void AddOutFloat (int m=1)
 Add outlet(s) for floats. More...
 
void AddOutFloat (const char *desc, int m=1)
 Add outlet(s) for floats (with description) More...
 
void AddOutInt (int m=1)
 Add outlet(s) for integers. More...
 
void AddOutInt (const char *desc, int m=1)
 Add outlet(s) for integers (with description) More...
 
void AddOutSymbol (int m=1)
 Add outlet(s) for symbols. More...
 
void AddOutSymbol (const char *desc, int m=1)
 Add outlet(s) for symbols (with description) More...
 
void AddOutBang (int m=1)
 Add outlet(s) for bangs. More...
 
void AddOutBang (const char *desc, int m=1)
 Add outlet(s) for bangs (with description) More...
 
void AddOutList (int m=1)
 Add outlet(s) for lists. More...
 
void AddOutList (const char *desc, int m=1)
 Add outlet(s) for lists (with description) More...
 
bool SetupInOut ()
 
int CntIn () const
 Get number of inlets. More...
 
int CntOut () const
 Get number of outlets. More...
 
int CntInSig () const
 Get number of signal inlets. More...
 
int CntOutSig () const
 Get number of signal outlets. More...
 
outlet * GetOut (int ix) const
 Get pointer to outlet (not in the constructor!) More...
 
int GetOutAttr () const
 
void ToOutBang (int n) const
 Output bang (index n starts with 0) More...
 
void ToOutFloat (int n, float f) const
 Output float (index n starts with 0) More...
 
void ToOutInt (int n, int f) const
 Output integer (index n starts with 0) More...
 
void ToOutBool (int n, bool f) const
 Output boolean (index n starts with 0) More...
 
void ToOutDouble (int n, double d) const
 Output double (index n starts with 0) More...
 
void ToOutSymbol (int n, const t_symbol *s) const
 Output symbol (index n starts with 0) More...
 
void ToOutString (int n, const char *s) const
 Output string aka symbol (index n starts with 0) More...
 
void ToOutAtom (int n, const t_atom &at) const
 Output atom (index n starts with 0) More...
 
void ToOutList (int n, int argc, const t_atom *argv) const
 Output list (index n starts with 0) More...
 
void ToOutList (int n, const AtomList &list) const
 Output list (index n starts with 0) More...
 
void ToOutAnything (int n, const t_symbol *s, int argc, const t_atom *argv) const
 Output anything (index n starts with 0) More...
 
void ToOutAnything (int n, const AtomAnything &any) const
 Output anything (index n starts with 0) More...
 
void ToOutAnything (int n, const t_symbol *s, const AtomList &list) const
 Output anything (index n starts with 0) More...
 
void ToQueueBang (int n) const
 Output low priority bang (index n starts with 0) More...
 
void ToQueueFloat (int n, float f) const
 Output low priority float (index n starts with 0) More...
 
void ToQueueInt (int n, int f) const
 Output low priority integer (index n starts with 0) More...
 
void ToQueueBool (int n, bool f) const
 Output low priority boolean (index n starts with 0) More...
 
void ToQueueDouble (int n, double d) const
 Output double (index n starts with 0) More...
 
void ToQueueSymbol (int n, const t_symbol *s) const
 Output low priority symbol (index n starts with 0) More...
 
void ToQueueString (int n, const char *s) const
 Output low priority string aka symbol (to appointed outlet) More...
 
void ToQueueAtom (int n, const t_atom &at) const
 Output low priority atom (index n starts with 0) More...
 
void ToQueueList (int n, int argc, const t_atom *argv) const
 Output low priority list (index n starts with 0) More...
 
void ToQueueList (int n, const AtomList &list) const
 Output low priority list (index n starts with 0) More...
 
void ToQueueAnything (int n, const t_symbol *s, int argc, const t_atom *argv) const
 Output low priority anything (index n starts with 0) More...
 
void ToQueueAnything (int n, const AtomAnything &any) const
 Output low priority anything (index n starts with 0) More...
 
void ToSelfBang (int n) const
 Send bang to self (inlet n) More...
 
void ToSelfFloat (int n, float f) const
 Send float to self (inlet n) More...
 
void ToSelfInt (int n, int f) const
 Send integer to self (inlet n) More...
 
void ToSelfBool (int n, bool f) const
 Send boolean to self (inlet n) More...
 
void ToSelfDouble (int n, double d) const
 Send double to self (index n starts with 0) More...
 
void ToSelfSymbol (int n, const t_symbol *s) const
 Send symbol to self (inlet n) More...
 
void ToSelfString (int n, const char *s) const
 Send string aka symbol to self (inlet 0) More...
 
void ToSelfAtom (int n, const t_atom &at) const
 Output atom (index n starts with 0) More...
 
void ToSelfList (int n, int argc, const t_atom *argv) const
 Send list to self (inlet n) More...
 
void ToSelfList (int n, const AtomList &list) const
 Send list to self (inlet n) More...
 
void ToSelfAnything (int n, const t_symbol *s, int argc, const t_atom *argv) const
 Send anything to self (inlet n) More...
 
void ToSelfAnything (int n, const AtomAnything &any) const
 Send anything to self (inlet n) More...
 
void MsgAddBang (MsgBundle *mb, int n) const
 Output bang (index n starts with 0) More...
 
void MsgAddFloat (MsgBundle *mb, int n, float f) const
 Output float (index n starts with 0) More...
 
void MsgAddInt (MsgBundle *mb, int n, int f) const
 Output integer (index n starts with 0) More...
 
void MsgAddBool (MsgBundle *mb, int n, bool f) const
 Output boolean (index n starts with 0) More...
 
void MsgAddDouble (MsgBundle *mb, int n, double d) const
 Output double (index n starts with 0) More...
 
void MsgAddSymbol (MsgBundle *mb, int n, const t_symbol *s) const
 Output symbol (index n starts with 0) More...
 
void MsgAddString (MsgBundle *mb, int n, const char *s) const
 Output string aka symbol (to appointed outlet) More...
 
void MsgAddAtom (MsgBundle *mb, int n, const t_atom &at) const
 Output atom (index n starts with 0) More...
 
void MsgAddList (MsgBundle *mb, int n, int argc, const t_atom *argv) const
 Output list (index n starts with 0) More...
 
void MsgAddList (MsgBundle *mb, int n, const AtomList &list) const
 Output list (index n starts with 0) More...
 
void MsgAddAnything (MsgBundle *mb, int n, const t_symbol *s, int argc, const t_atom *argv) const
 Output anything (index n starts with 0) More...
 
void MsgAddAnything (MsgBundle *mb, int n, const AtomAnything &any) const
 Output anything (index n starts with 0) More...
 
void MsgSelfBang (MsgBundle *mb, int n) const
 
void MsgSelfFloat (MsgBundle *mb, int n, float f) const
 Send float to self (inlet n) More...
 
void MsgSelfInt (MsgBundle *mb, int n, int f) const
 Send integer to self (inlet n) More...
 
void MsgSelfBool (MsgBundle *mb, int n, bool f) const
 Send boolean to self (inlet n) More...
 
void MsgSelfDouble (MsgBundle *mb, int n, double d) const
 Output double (index n starts with 0) More...
 
void MsgSelfSymbol (MsgBundle *mb, int n, const t_symbol *s) const
 Send symbol to self (inlet n) More...
 
void MsgSelfString (MsgBundle *mb, int n, const char *s) const
 Send string aka symbol to self (inlet 0) More...
 
void MsgSelfAtom (MsgBundle *mb, int n, const t_atom &at) const
 Output atom (index n starts with 0) More...
 
void MsgSelfList (MsgBundle *mb, int n, int argc, const t_atom *argv) const
 Send list to self (inlet n) More...
 
void MsgSelfList (MsgBundle *mb, int n, const AtomList &list) const
 Send list to self (inlet n) More...
 
void MsgSelfAnything (MsgBundle *mb, int n, const t_symbol *s, int argc, const t_atom *argv) const
 Send anything to self (inlet n) More...
 
void MsgSelfAnything (MsgBundle *mb, int n, const AtomAnything &any) const
 Send anything to self (inlet n) More...
 
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. More...
 
bool Bind (const t_symbol *sym)
 Bind object to a symbol. More...
 
bool Unbind (const t_symbol *sym)
 Unbind object from a symbol. More...
 
bool Bind (const char *sym)
 Bind object to a symbol (as string) More...
 
bool Unbind (const char *sym)
 Unbind object from a symbol (as string) More...
 
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. More...
 
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. More...
 
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. More...
 
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) More...
 
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) More...
 
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) More...
 
bool UnbindAll ()
 
bool StartThread (void(*meth)(thr_params *p), thr_params *p, const char *=NULL)
 Start a thread for this object. More...
 
bool StopThreads ()
 Terminate all threads of this object. More...
 
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, metharg tp, methfun gfun, methfun sfun)
 

Static Public Member Functions

static const t_symbol * thisTag ()
 Retrieve currently processed message tag (NULL if no message processing) More...
 
static void SetDist (t_classid c, bool d=true)
 Set Max/MSP style of distributing list elements over (message) inlets. More...
 
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, metharg tp,...)
 This is the central function to add message handlers. It is used by all other AddMethod incarnations. More...
 
static ItemContClAttrs (t_classid c)
 
static void AddAttrib (ItemCont *aa, ItemCont *ma, const t_symbol *attr, metharg tp, methfun gfun, methfun sfun)
 Add get and set attributes. More...
 
static void AddAttrib (t_classid c, const t_symbol *attr, metharg tp, methfun gfun, methfun sfun)
 

Protected Member Functions

 flext_base ()
 
virtual bool Init ()
 Set up inlets and outlets, method and attribute lists. More...
 
virtual void Exit ()
 Deallocate all kinds of stuff. More...
 
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. More...
 
bool DumpAttrib (const char *attr) const
 Dump an attribute to the attribute outlet. More...
 
bool ListAttrib () const
 List attributes. More...
 
void ListAttrib (AtomList &a) const
 List attributes. More...
 
bool GetAttrib (const t_symbol *s, AtomList &a) const
 Get an attribute value. More...
 
bool SetAttrib (const t_symbol *s, int argc, const t_atom *argv)
 Set an attribute value. More...
 
bool SetAttrib (const t_symbol *s, const AtomList &a)
 Set an attribute value. More...
 
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. More...
 
unsigned long XletCode (xlettype tp=xlet_none,...)
 get a code for a list of inlets or outlets More...
 
void AddInlets (unsigned long code)
 Add some inlets by a special code representing the types. More...
 
void AddInlet (xlettype tp, int mult=1, const char *desc=NULL)
 Add one or more inlet(s) More...
 
void AddOutlets (unsigned long code)
 Add some inlets by a special code representing the types. More...
 
void AddOutlet (xlettype tp, int mult=1, const char *desc=NULL)
 Add one or more outlet(s) More...
 
void DescInlet (int ix, const char *desc)
 Set the description of an indexed inlet. More...
 
void DescOutlet (int ix, const char *desc)
 Set the description of an indexed outlet. More...
 

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. More...
 
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) More...
 
bool InitOutlets ()
 initialize outlets (according to class or object constructor definitions) More...
 

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. More...
 
static void QFlush (flext_base *th=NULL)
 Flush messages in the queue. More...
 
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 More...
 
static void SetProxies (t_class *c, bool dsp)
 set up inlet proxies More...
 
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 More...
 
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 More...
 
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

◆ metharg

enum flext_base::metharg
Enumerator
a_null 
a_float 
a_int 
a_bool 
a_symbol 
a_pointer 
a_list 
a_any 
a_LIST 
a_ANY 

◆ xlettype

enum flext_base::xlettype
Enumerator
xlet_none 
xlet_float 
xlet_int 
xlet_sym 
xlet_list 
xlet_any 
xlet_LIST 
xlet_ANY 
xlet_sig 

Constructor & Destructor Documentation

◆ flext_base()

flext_base::flext_base ( )
protected

Member Function Documentation

◆ AddAttrib() [1/3]

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

◆ AddAttrib() [2/3]

void flext_base::AddAttrib ( ItemCont aa,
ItemCont ma,
const t_symbol *  attr,
metharg  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,
metharg  tp,
methfun  gfun,
methfun  sfun 
)
static

◆ AddIdle() [1/2]

void flext_base::AddIdle ( )

◆ AddIdle() [2/2]

void flext_base::AddIdle ( bool(*)(int argc, const t_atom *argv)  idlefun,
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 *)  m 
)
inline

◆ AddMethod() [2/63]

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

◆ AddMethod() [3/63]

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

◆ AddMethod() [4/63]

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

◆ AddMethod() [5/63]

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

◆ AddMethod() [6/63]

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

◆ AddMethod() [7/63]

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

◆ AddMethod() [8/63]

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

◆ AddMethod() [9/63]

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

◆ AddMethod() [10/63]

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

◆ AddMethod() [11/63]

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

◆ AddMethod() [12/63]

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

◆ AddMethod() [13/63]

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

◆ AddMethod() [14/63]

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

◆ AddMethod() [15/63]

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

◆ AddMethod() [16/63]

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

◆ AddMethod() [17/63]

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

◆ AddMethod() [18/63]

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

◆ AddMethod() [19/63]

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

◆ AddMethod() [20/63]

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

◆ AddMethod() [21/63]

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

◆ AddMethod() [22/63]

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

◆ AddMethod() [23/63]

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

◆ AddMethod() [24/63]

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

◆ AddMethod() [25/63]

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

◆ AddMethod() [26/63]

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

◆ AddMethod() [27/63]

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

◆ AddMethod() [28/63]

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

◆ AddMethod() [29/63]

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

◆ AddMethod() [30/63]

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

◆ AddMethod() [31/63]

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

◆ AddMethod() [32/63]

void flext_base::AddMethod ( ItemCont ma,
int  inlet,
const t_symbol *  tag,
methfun  fun,
metharg  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]

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

◆ AddMethod() [34/63]

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

◆ AddMethod() [35/63]

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

◆ AddMethod() [36/63]

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

◆ AddMethod() [37/63]

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

◆ AddMethod() [38/63]

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

◆ AddMethod() [39/63]

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

◆ AddMethod() [40/63]

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

◆ AddMethod() [41/63]

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

◆ AddMethod() [42/63]

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

◆ AddMethod() [43/63]

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

◆ AddMethod() [44/63]

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

◆ AddMethod() [45/63]

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

◆ AddMethod() [46/63]

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

◆ AddMethod() [47/63]

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

◆ AddMethod() [48/63]

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

◆ AddMethod() [49/63]

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

◆ AddMethod() [50/63]

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

◆ AddMethod() [51/63]

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

◆ AddMethod() [52/63]

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

◆ AddMethod() [53/63]

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

◆ AddMethod() [54/63]

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

◆ AddMethod() [55/63]

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

◆ AddMethod() [56/63]

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

◆ AddMethod() [57/63]

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

◆ AddMethod() [58/63]

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

◆ AddMethod() [59/63]

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

◆ AddMethod() [60/63]

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

◆ AddMethod() [61/63]

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

◆ AddMethod() [62/63]

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

◆ AddMethod() [63/63]

static void flext_base::AddMethod ( t_classid  c,
int  inlet,
const t_symbol *  tag,
bool(*)(flext_base *, t_symbol *, int, t_atom *)  m 
)
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()

static 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]

static 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()

static 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()

static 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

Friends And Related Function Documentation

◆ 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: