Go to the documentation of this file.
24 #pragma warning(disable: 4786)
28 #pragma warn -8008 // Condition is always false
29 #pragma warn -8057 // Parameter is never used
30 #pragma warn -8066 // Unreachable code
74 virtual
void CbLoadbang();
76 virtual
void m_loadbang();
79 virtual
void CbClick();
85 virtual
bool CbMethodHandler(
int inlet,const t_symbol *s,
int argc,const t_atom *argv);
89 virtual
bool CbMethodResort(
int inlet,const t_symbol *s,
int argc,const t_atom *argv);
90 virtual
bool m_method_(
int inlet,const t_symbol *s,
int argc,const t_atom *argv);
92 virtual
bool CbIdle();
116 void AddInAnything(
int m = 1) { AddInlet(xlet_any,m); }
120 void AddInAnything(
const char *desc,
int m = 1) { AddInlet(xlet_any,m,desc); }
124 void AddInFloat(
const char *desc,
int m = 1) { AddInlet(xlet_float,m,desc); }
128 void AddInInt(
const char *desc,
int m = 1) { AddInlet(xlet_int,m,desc); }
132 void AddInSymbol(
const char *desc,
int m = 1) { AddInlet(xlet_sym,m,desc); }
136 void AddInBang(
const char *desc,
int m = 1) { AddInlet(xlet_sym,m,desc); }
140 void AddInList(
const char *desc,
int m = 1) { AddInlet(xlet_list,m,desc); }
149 void AddOutFloat(
const char *desc,
int m = 1) { AddOutlet(xlet_float,m,desc); }
153 void AddOutInt(
const char *desc,
int m = 1) { AddOutlet(xlet_int,m,desc); }
157 void AddOutSymbol(
const char *desc,
int m = 1) { AddOutlet(xlet_sym,m,desc); }
161 void AddOutBang(
const char *desc,
int m = 1) { AddOutlet(xlet_sym,m,desc); }
165 void AddOutList(
const char *desc,
int m = 1) { AddOutlet(xlet_list,m,desc); }
176 int CntIn()
const {
return incnt; }
187 static const t_symbol *
thisTag() {
return curtag; }
192 outlet *
GetOut(
int ix)
const {
return outlets[ix]; }
194 int GetOutAttr()
const {
return HasAttributes()?CntOut():0; }
205 void ToOutBang(
int n)
const;
208 void ToOutFloat(
int n,
float f)
const;
211 void ToOutInt(
int n,
int f)
const;
214 void ToOutBool(
int n,
bool f)
const { ToOutInt(n,f?1:0); }
217 void ToOutDouble(
int n,
double d)
const { t_atom dbl[2]; ToOutList(n,2,SetDouble(dbl,d)); }
220 void ToOutSymbol(
int n,
const t_symbol *s)
const;
222 void ToOutString(
int n,
const char *s)
const { ToOutSymbol(n,MakeSymbol(s)); }
225 void ToOutAtom(
int n,
const t_atom &at)
const;
228 void ToOutList(
int n,
int argc,
const t_atom *argv)
const;
233 void ToOutAnything(
int n,
const t_symbol *s,
int argc,
const t_atom *argv)
const;
245 void ToQueueBang(
int n)
const;
249 void ToQueueFloat(
int n,
float f)
const;
252 void ToQueueInt(
int n,
int f)
const;
258 void ToQueueDouble(
int n,
double d)
const { t_atom dbl[2]; ToQueueList(n,2,SetDouble(dbl,d)); }
261 void ToQueueSymbol(
int n,
const t_symbol *s)
const;
263 void ToQueueString(
int n,
const char *s)
const { ToQueueSymbol(n,MakeSymbol(s)); }
266 void ToQueueAtom(
int n,
const t_atom &at)
const;
269 void ToQueueList(
int n,
int argc,
const t_atom *argv)
const;
274 void ToQueueAnything(
int n,
const t_symbol *s,
int argc,
const t_atom *argv)
const;
285 void ToSelfBang(
int n)
const { ToQueueBang(-1-n); }
292 void ToSelfInt(
int n,
int f)
const { ToQueueInt(-1-n,f); }
298 void ToSelfDouble(
int n,
double d)
const { t_atom dbl[2]; ToSelfList(n,2,SetDouble(dbl,d)); }
301 void ToSelfSymbol(
int n,
const t_symbol *s)
const { ToQueueSymbol(-1-n,s); }
303 void ToSelfString(
int n,
const char *s)
const { ToSelfSymbol(n,MakeSymbol(s)); }
306 void ToSelfAtom(
int n,
const t_atom &at)
const { ToQueueAtom(-1-n,at); }
309 void ToSelfList(
int n,
int argc,
const t_atom *argv)
const { ToQueueList(-1-n,argc,argv); }
314 void ToSelfAnything(
int n,
const t_symbol *s,
int argc,
const t_atom *argv)
const { ToQueueAnything(-1-n,s,argc,argv); }
328 void MsgAddBang(MsgBundle *mb,
int n)
const;
332 void MsgAddFloat(MsgBundle *mb,
int n,
float f)
const;
335 void MsgAddInt(MsgBundle *mb,
int n,
int f)
const;
338 void MsgAddBool(MsgBundle *mb,
int n,
bool f)
const { MsgAddInt(mb,n,f?1:0); }
341 void MsgAddDouble(MsgBundle *mb,
int n,
double d)
const { t_atom dbl[2]; MsgAddList(mb,n,2,SetDouble(dbl,d)); }
344 void MsgAddSymbol(MsgBundle *mb,
int n,
const t_symbol *s)
const;
346 void MsgAddString(MsgBundle *mb,
int n,
const char *s)
const { MsgAddSymbol(mb,n,MakeSymbol(s)); }
349 void MsgAddAtom(MsgBundle *mb,
int n,
const t_atom &at)
const;
352 void MsgAddList(MsgBundle *mb,
int n,
int argc,
const t_atom *argv)
const;
355 void MsgAddList(MsgBundle *mb,
int n,
const AtomList &list)
const {
MsgAddList(mb,n,list.Count(),list.Atoms()); }
358 void MsgAddAnything(MsgBundle *mb,
int n,
const t_symbol *s,
int argc,
const t_atom *argv)
const;
362 void MsgSelfBang(MsgBundle *mb,
int n)
const { MsgAddBang(mb,-1-n); }
365 void MsgSelfFloat(MsgBundle *mb,
int n,
float f)
const { MsgAddFloat(mb,-1-n,f); }
368 void MsgSelfInt(MsgBundle *mb,
int n,
int f)
const { MsgAddInt(mb,-1-n,f); }
371 void MsgSelfBool(MsgBundle *mb,
int n,
bool f)
const { MsgSelfInt(mb,n,f?1:0); }
374 void MsgSelfDouble(MsgBundle *mb,
int n,
double d)
const { t_atom dbl[2]; MsgSelfList(mb,n,2,SetDouble(dbl,d)); }
377 void MsgSelfSymbol(MsgBundle *mb,
int n,
const t_symbol *s)
const { MsgAddSymbol(mb,-1-n,s); }
379 void MsgSelfString(MsgBundle *mb,
int n,
const char *s)
const { MsgSelfSymbol(mb,n,MakeSymbol(s)); }
382 void MsgSelfAtom(MsgBundle *mb,
int n,
const t_atom &at)
const { MsgAddAtom(mb,-1-n,at); }
385 void MsgSelfList(MsgBundle *mb,
int n,
int argc,
const t_atom *argv)
const { MsgAddList(mb,-1-n,argc,argv); }
390 void MsgSelfAnything(MsgBundle *mb,
int n,
const t_symbol *s,
int argc,
const t_atom *argv)
const { MsgAddAnything(mb,-1-n,s,argc,argv); }
425 void AddMethod(
int inlet,
bool (*m)(
flext_base *,
const t_symbol *,
int,
const t_atom *)) {
AddMethod(ThMeths(),inlet,sym_anything,(methfun)m,a_any,a_null); }
430 void AddMethod(
int inlet,
bool (*m)(
flext_base *,
float &,
float &,
float &)) {
AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_float,a_float,a_float,a_null); }
431 #if FLEXT_SYS == FLEXT_SYS_PD
434 void AddMethod(
int inlet,
bool (*m)(
flext_base *,
int &)) { AddMethod(ThMeths(),inlet,sym_int,(methfun)m,a_int,a_null); }
437 void AddMethod(
int inlet,
bool (*m)(
flext_base *,
int &,
int &,
int &)) {
AddMethod(ThMeths(),inlet,sym_list,(methfun)m,a_int,a_int,a_int,a_null); }
440 void AddMethod(
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,t_symbol *,
int,t_atom *)) {
AddMethod(ThMeths(),inlet,tag,(methfun)m,a_any,a_null); }
441 void AddMethod(
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,
const t_symbol *,
int,
const t_atom *)) {
AddMethod(ThMeths(),inlet,tag,(methfun)m,a_any,a_null); }
459 static void SetDist(t_classid c,
bool d =
true);
473 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,
int,
const t_atom *)) {
AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_list,a_null); }
476 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,t_symbol *,
int,t_atom *)) {
AddMethod(ClMeths(c),inlet,sym_anything,(methfun)m,a_any,a_null); }
477 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,
const t_symbol *,
int,
const t_atom *)) {
AddMethod(ClMeths(c),inlet,sym_anything,(methfun)m,a_any,a_null); }
478 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,t_symbol *&)) {
AddMethod(ClMeths(c),inlet,sym_symbol,(methfun)m,a_symbol,a_null); }
479 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,
const t_symbol *&)) {
AddMethod(ClMeths(c),inlet,sym_symbol,(methfun)m,a_symbol,a_null); }
481 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,
float &,
float &)) {
AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_float,a_float,a_null); }
482 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,
float &,
float &,
float &)) {
AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_float,a_float,a_float,a_null); }
483 #if FLEXT_SYS == FLEXT_SYS_PD
486 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,
int &)) { AddMethod(ClMeths(c),inlet,sym_int,(methfun)m,a_int,a_null); }
488 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,
int &,
int &)) {
AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_int,a_int,a_null); }
489 static void AddMethod(t_classid c,
int inlet,
bool (*m)(
flext_base *,
int &,
int &,
int &)) {
AddMethod(ClMeths(c),inlet,sym_list,(methfun)m,a_int,a_int,a_int,a_null); }
490 static void AddMethod(t_classid c,
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,
int,t_atom *)) {
AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_list,a_null); }
491 static void AddMethod(t_classid c,
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,
int,
const t_atom *)) {
AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_list,a_null); }
492 static void AddMethod(t_classid c,
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,t_symbol *,
int,t_atom *)) {
AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_any,a_null); }
493 static void AddMethod(t_classid c,
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,
const t_symbol *,
int,
const t_atom *)) {
AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_any,a_null); }
494 static void AddMethod(t_classid c,
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,t_symbol *&)) {
AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_symbol,a_null); }
495 static void AddMethod(t_classid c,
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,
const t_symbol *&)) {
AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_symbol,a_null); }
496 static void AddMethod(t_classid c,
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,
float &)) {
AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_float,a_null); }
497 static void AddMethod(t_classid c,
int inlet,
const t_symbol *tag,
bool (*m)(
flext_base *,
int &)) {
AddMethod(ClMeths(c),inlet,tag,(methfun)m,a_int,a_null); }
501 static void AddMethod(t_classid c,
int inlet,
const char *tag,
bool (*m)(
flext_base *,
const t_symbol *,
int,
const t_atom *)) {
AddMethod(c,inlet,MakeSymbol(tag),m); }
508 static void AddIdle(
bool (*idlefun)(
int argc,
const t_atom *argv),
int argc,
const t_atom *argv);
519 bool Bind(
const t_symbol *sym);
522 bool Unbind(
const t_symbol *sym);
525 bool Bind(
const char *sym) {
return Bind(MakeSymbol(sym)); }
535 bool BindMethod(
const t_symbol *sym,
bool (*meth)(
flext_base *obj,t_symbol *sym,
int argc,t_atom *argv,
void *data),
void *data = NULL);
542 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);
549 bool GetBoundMethod(
const t_symbol *sym,
bool (*meth)(
flext_base *obj,t_symbol *sym,
int argc,t_atom *argv,
void *data),
void *&data);
552 bool BindMethod(
const char *sym,
bool (*meth)(
flext_base *obj,t_symbol *sym,
int argc,t_atom *argv,
void *data),
void *data = NULL) {
return BindMethod(MakeSymbol(sym),meth,data); }
554 bool UnbindMethod(
const char *sym,
bool (*meth)(
flext_base *obj,t_symbol *sym,
int argc,t_atom *argv,
void *data) = NULL,
void **data = NULL) {
return UnbindMethod(MakeSymbol(sym),meth,data); }
573 bool StartThread(
void (*meth)(thr_params *p),thr_params *p,
const char * = NULL) { p->cl =
this;
return flext::LaunchThread(meth,p); }
578 #endif // FLEXT_THREADS
634 static void AddAttrib(t_classid c,
const t_symbol *attr,
bool (*get)(
flext_base *,
const t_symbol *&),
bool (*set)(
flext_base *,
const t_symbol *&)) {
AddAttrib(c,attr,a_symbol,(methfun)get,(methfun)set); }
649 bool DumpAttrib(
const t_symbol *attr)
const;
654 static int CheckAttrib(
int argc,
const t_atom *argv);
656 static int CheckAttrib(
const AtomList &args,
int offset = 0) {
return CheckAttrib(args.Count()-offset,args.Atoms()+offset)+offset; }
659 bool ListAttrib()
const;
661 void ListAttrib(AtomList &a)
const;
663 bool GetAttrib(
const t_symbol *s,AtomList &a)
const;
665 bool SetAttrib(
const t_symbol *s,
int argc,
const t_atom *argv);
670 bool BangAttrib(
const t_symbol *a);
674 bool BangAttribAll();
676 bool ShowAttrib(
const t_symbol *a,
bool show)
const;
681 void ListMethods(AtomList &a,
int inlet = 0)
const;
687 unsigned long XletCode(xlettype tp = xlet_none,...);
693 void AddInlets(
unsigned long code);
696 void AddInlet(xlettype tp,
int mult = 1,
const char *desc = NULL);
701 void AddOutlets(
unsigned long code);
704 void AddOutlet(xlettype tp,
int mult = 1,
const char *desc = NULL);
707 void DescInlet(
int ix,
const char *desc);
710 void DescOutlet(
int ix,
const char *desc);
727 bool IsAttr()
const {
return attr != NULL; }
740 virtual void clear();
752 int Min()
const {
return -1; }
753 int Max()
const {
return size-2; }
758 void Add(
Item *it,
const t_symbol *tag,
int inlet = 0);
760 bool Remove(
Item *it,
const t_symbol *tag,
int inlet,
bool free);
762 Item *FindList(
const t_symbol *tag,
int inlet = 0);
768 return *cont[inlet+1];
776 void Resize(
int nsz);
791 void SetArgs(methfun fun,
int argc,
metharg *args);
807 afl_get = 0x01, afl_set = 0x02,
808 afl_getset = afl_get|afl_set,
812 bool IsGet()
const {
return (flags&afl_getset) == afl_get; }
813 bool IsSet()
const {
return (flags&afl_getset) == afl_set; }
814 bool IsShown()
const {
return (flags&afl_shown) != 0; }
833 enum { afl_save = 0x01,afl_init = 0x02,afl_inited = 0x04 };
835 void SetSave(
bool s) {
if(s) flags |= afl_save;
else flags &= ~afl_save; }
836 bool IsSaved()
const {
return (flags&afl_save) != 0; }
837 void SetInit(
bool s) {
if(s) flags |= afl_init;
else flags &= ~afl_init; }
838 bool IsInit()
const {
return (flags&afl_init) != 0; }
839 void SetInitValue(
int argc,
const t_atom *argv) { init(argc,argv); flags |= afl_inited; }
853 virtual void clear();
857 void ToSysBang(
int n)
const { outlet *o = GetOut(n);
if(o) { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); } }
858 void ToSysFloat(
int n,
float f)
const { outlet *o = GetOut(n);
if(o) { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); } }
859 void ToSysInt(
int n,
int f)
const { outlet *o = GetOut(n);
if(o) { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); } }
860 void ToSysSymbol(
int n,
const t_symbol *s)
const { outlet *o = GetOut(n);
if(o) { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); } }
861 void ToSysString(
int n,
const char *s)
const { ToSysSymbol(n,MakeSymbol(s)); }
862 void ToSysList(
int n,
int argc,
const t_atom *argv)
const { outlet *o = GetOut(n);
if(o) { CRITON(); outlet_list((t_outlet *)o,const_cast<t_symbol *>(sym_list),argc,(t_atom *)argv); CRITOFF(); } }
864 void ToSysAnything(
int n,
const t_symbol *s,
int argc,
const t_atom *argv)
const { outlet *o = GetOut(n);
if(o) { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); } }
868 void ToSysBool(
int n,
bool f)
const { ToSysInt(n,f?1:0); }
869 void ToSysAtom(
int n,
const t_atom &at)
const;
870 void ToSysDouble(
int n,
double d)
const { t_atom dbl[2]; ToSysList(n,2,SetDouble(dbl,d)); }
872 static void ToSysMsg(MsgBundle *mb);
875 static void AddMessageMethods(t_class *c,
bool dsp,
bool dspin);
889 void Unbind(
const t_symbol *s);
896 static ItemCont *ClMeths(t_classid c);
899 static void AddMethod(ItemCont *ma,
int inlet,
const t_symbol *tag,methfun fun,metharg tp,...);
902 static ItemCont *ClAttrs(t_classid c);
904 static void AddAttrib(ItemCont *aa,ItemCont *ma,
const t_symbol *attr,metharg tp,methfun gfun,methfun sfun);
905 void AddAttrib(
const t_symbol *attr,metharg tp,methfun gfun,methfun sfun);
906 static void AddAttrib(t_classid c,
const t_symbol *attr,metharg tp,methfun gfun,methfun sfun);
912 static void Setup(t_classid c);
923 void Desc(
const char *c);
941 #if FLEXT_SYS == FLEXT_SYS_PD
947 typedef bool (*methfun_V)(
flext_base *c,
int argc,t_atom *argv);
948 typedef bool (*methfun_A)(
flext_base *c,
const t_symbol *s,
int argc,t_atom *argv);
959 bool FindMeth(
int inlet,
const t_symbol *s,
int argc,
const t_atom *argv);
960 bool FindMethAny(
int inlet,
const t_symbol *s,
int argc,
const t_atom *argv);
961 bool TryMethTag(
Item *lst,
const t_symbol *tag,
int argc,
const t_atom *argv);
962 bool TryMethSym(
Item *lst,
const t_symbol *s);
963 bool TryMethAny(
Item *lst,
const t_symbol *s,
int argc,
const t_atom *argv);
968 AttrItem *FindAttrib(
const t_symbol *tag,
bool get,
bool msg =
false)
const;
970 bool InitAttrib(
int argc,
const t_atom *argv);
972 bool DumpAttrib(
const t_symbol *tag,
AttrItem *a)
const;
973 bool GetAttrib(
const t_symbol *tag,
AttrItem *a,AtomList &l)
const;
974 bool SetAttrib(
const t_symbol *tag,
AttrItem *a,
int argc,
const t_atom *argv);
977 bool BangAttrib(
const t_symbol *tag,AttrItem *a);
979 bool ShowAttrib(AttrItem *a,
bool show)
const;
981 static bool cb_ListMethods(
flext_base *c,
int argc,
const t_atom *argv);
987 static void StartQueue();
989 static void QWorker(thr_params *);
997 #if FLEXT_SYS == FLEXT_SYS_PD
999 static void SetGfx(t_classid c);
1001 #ifndef FLEXT_NOATTREDIT
1003 static bool cb_AttrDialog(
flext_base *c,
int argc,
const t_atom *argv);
1004 static void cb_GfxProperties(
flext_hdr *c, t_glist *);
1007 #ifdef FLEXT_ATTRHIDE
1008 static void cb_GfxVis(
flext_hdr *c, t_glist *gl,
int vis);
1009 static void cb_GfxSave(
flext_hdr *c, t_binbuf *b);
1010 static void cb_GfxSelect(
flext_hdr *x,
struct _glist *glist,
int state);
1012 void BinbufArgs(t_binbuf *b,t_binbuf *args,
bool withname,
bool transdoll);
1013 void BinbufAttr(t_binbuf *b,
bool transdoll);
1017 static void cb_float(
flext_hdr *c,t_float f);
1018 static void cb_symbol(
flext_hdr *c,
const t_symbol *s);
1020 static void cb_anything(
flext_hdr *c,
const t_symbol *s,
int argc,t_atom *argv);
1033 static void px_float(
px_object *c,t_float f);
1034 static void px_symbol(
px_object *c,
const t_symbol *s);
1036 static void px_anything(
px_object *c,
const t_symbol *s,
int argc,t_atom *argv);
1039 static void cb_px_ft1(
flext_hdr *c,t_float f);
1040 static void cb_px_ft2(
flext_hdr *c,t_float f);
1041 static void cb_px_ft3(
flext_hdr *c,t_float f);
1042 static void cb_px_ft4(
flext_hdr *c,t_float f);
1043 static void cb_px_ft5(
flext_hdr *c,t_float f);
1044 static void cb_px_ft6(
flext_hdr *c,t_float f);
1045 static void cb_px_ft7(
flext_hdr *c,t_float f);
1046 static void cb_px_ft8(
flext_hdr *c,t_float f);
1047 static void cb_px_ft9(
flext_hdr *c,t_float f);
1049 #elif FLEXT_SYS == FLEXT_SYS_MAX
1050 typedef object px_object;
1052 static void cb_float(
flext_hdr *c,
double f);
1053 static void cb_int(
flext_hdr *c,
long v);
1054 static void cb_anything(
flext_hdr *c,
const t_symbol *s,
short argc,t_atom *argv);
1056 static void cb_px_in1(
flext_hdr *c,
long v);
1057 static void cb_px_in2(
flext_hdr *c,
long v);
1058 static void cb_px_in3(
flext_hdr *c,
long v);
1059 static void cb_px_in4(
flext_hdr *c,
long v);
1060 static void cb_px_in5(
flext_hdr *c,
long v);
1061 static void cb_px_in6(
flext_hdr *c,
long v);
1062 static void cb_px_in7(
flext_hdr *c,
long v);
1063 static void cb_px_in8(
flext_hdr *c,
long v);
1064 static void cb_px_in9(
flext_hdr *c,
long v);
1066 static void cb_px_ft1(
flext_hdr *c,
double f);
1067 static void cb_px_ft2(
flext_hdr *c,
double f);
1068 static void cb_px_ft3(
flext_hdr *c,
double f);
1069 static void cb_px_ft4(
flext_hdr *c,
double f);
1070 static void cb_px_ft5(
flext_hdr *c,
double f);
1071 static void cb_px_ft6(
flext_hdr *c,
double f);
1072 static void cb_px_ft7(
flext_hdr *c,
double f);
1073 static void cb_px_ft8(
flext_hdr *c,
double f);
1074 static void cb_px_ft9(
flext_hdr *c,
double f);
1094 static void px_method(
pxbnd_object *c,
const t_symbol *s,
int argc,t_atom *argv);
1098 static void SetupBindProxy();
1103 static void SetProxies(t_class *c,
bool dsp);
1115 #if FLEXT_SYS == FLEXT_SYS_MAX
1116 char **indesc,**outdesc;
1118 static void cb_assist(
flext_hdr *c,
void *b,
long msg,
long arg,
char *s);
1119 static void cb_click (
flext_hdr *c, Point pt,
short mods);
1121 static void cb_dsp(
flext_hdr *c,t_signal **s,
short *count);
1122 #elif FLEXT_SYS == FLEXT_SYS_PD
1123 static void cb_click(
flext_hdr *z,t_floatarg xpos,t_floatarg ypos,t_floatarg shift,t_floatarg ctrl,t_floatarg alt);
1125 static void cb_dsp(
flext_hdr *c,t_signal **s);
void SetSave(bool s)
Definition: flclass.h:835
void AddAttrib(const char *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
Definition: flclass.h:617
void MsgAddAnything(MsgBundle *mb, int n, const AtomAnything &any) const
Output anything (index n starts with 0)
Definition: flclass.h:360
void ToSelfFloat(int n, float f) const
Send float to self (inlet n)
Definition: flclass.h:289
void ToOutAnything(int n, const t_symbol *s, const AtomList &list) const
Output anything (index n starts with 0)
Definition: flclass.h:237
Item * nxt
Definition: flclass.h:730
void ToSysSymbol(int n, const t_symbol *s) const
Definition: flclass.h:860
methfun fun
Definition: flclass.h:821
void SetInitValue(const AtomList &l)
Definition: flclass.h:840
void * vt
Definition: flclass.h:944
void AddMethod(int inlet, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:427
void ToSelfBool(int n, bool f) const
Send boolean to self (inlet n)
Definition: flclass.h:295
void MsgSelfDouble(MsgBundle *mb, int n, double d) const
Output double (index n starts with 0)
Definition: flclass.h:374
void AddOutAnything(const char *desc, int m=1)
Add outlet(s) for anythings (with description)
Definition: flclass.h:145
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:501
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
Definition: flclass.h:631
#define FLEXT_ASSERT(b)
Definition: flstdc.h:284
px_object ** inlets
Definition: flclass.h:1077
bool Unbind(const char *sym)
Unbind object from a symbol (as string)
Definition: flclass.h:527
This represents either an inlet or outlet during construction.
Definition: flclass.h:915
void MsgSelfAtom(MsgBundle *mb, int n, const t_atom &at) const
Output atom (index n starts with 0)
Definition: flclass.h:382
int argc
Definition: flclass.h:794
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:440
void AddOutList(const char *desc, int m=1)
Add outlet(s) for lists (with description)
Definition: flclass.h:165
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:491
void ToSysAnything(int n, const t_symbol *s, int argc, const t_atom *argv) const
Definition: flclass.h:864
t_object obj
Definition: flclass.h:1027
flext_base * base
Definition: flclass.h:1028
Represent a data value of an attribute.
Definition: flclass.h:827
void AddInSymbol(int m=1)
Add inlet(s) for symbols.
Definition: flclass.h:130
Definition: flclass.h:404
flext support functions and classes
Definition: flclass.h:1083
unsigned char outsigs
Definition: flclass.h:932
bool IsShown() const
Definition: flclass.h:814
const t_symbol * tag
Definition: flclass.h:823
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
Definition: flclass.h:644
static const t_symbol * curtag
current message tag
Definition: flclass.h:930
void ToSysInt(int n, int f) const
Definition: flclass.h:859
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:502
Definition: flclass.h:403
bool IsGet() const
Definition: flclass.h:812
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:498
#define FLEXT_HEADER_S(NEW_CLASS, PARENT_CLASS, SETUPFUN)
Flext class header with setup function.
Definition: fldefs_hdr.h:47
void AddOutList(int m=1)
Add outlet(s) for lists.
Definition: flclass.h:163
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int &))
Definition: flclass.h:505
void AddMethod(int inlet, bool(*m)(flext_base *, float &))
Definition: flclass.h:428
void ToSelfInt(int n, int f) const
Send integer to self (inlet n)
Definition: flclass.h:292
Item(AttrItem *a)
Definition: flclass.h:724
bool IsInitValue() const
Definition: flclass.h:841
AttrItem * counter
Definition: flclass.h:822
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)
Definition: flclass.h:554
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
Definition: flclass.h:632
void AddMethod(int inlet, bool(*m)(flext_base *, int &, int &))
Definition: flclass.h:436
void AddOutInt(const char *desc, int m=1)
Add outlet(s) for integers (with description)
Definition: flclass.h:153
metharg argtp
Definition: flclass.h:820
int it
Definition: flclass.h:938
float ft
Definition: flclass.h:937
const t_symbol * st
Definition: flclass.h:940
void ToQueueString(int n, const char *s) const
Output low priority string aka symbol (to appointed outlet)
Definition: flclass.h:263
void AddMethod(int inlet, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:421
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
Definition: flclass.h:642
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:476
static t_class * pxbnd_class
Definition: flclass.h:1081
bool IsSaved() const
Definition: flclass.h:836
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *))
Definition: flclass.h:422
void ToQueueDouble(int n, double d) const
Output double (index n starts with 0)
Definition: flclass.h:258
void AddMethod(int inlet, bool(*m)(flext_base *, int &, int &, int &))
Definition: flclass.h:437
int size
Definition: flclass.h:779
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:493
void ToSysFloat(int n, float f) const
Definition: flclass.h:858
void AddOutSymbol(const char *desc, int m=1)
Add outlet(s) for symbols (with description)
Definition: flclass.h:157
void MsgSelfBang(MsgBundle *mb, int n) const
Definition: flclass.h:362
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
Definition: flclass.h:614
outlet ** outlets
Definition: flclass.h:934
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
Definition: flclass.h:613
int index
Definition: flclass.h:818
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:450
void AddMethod(int inlet, bool(*m)(flext_base *, int &))
Definition: flclass.h:432
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int &))
Definition: flclass.h:484
void ToQueueAnything(int n, const AtomAnything &any) const
Output low priority anything (index n starts with 0)
Definition: flclass.h:276
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)
Definition: flclass.h:556
void ToSelfDouble(int n, double d) const
Send double to self (index n starts with 0)
Definition: flclass.h:298
xlettype
Definition: flclass.h:586
Definition: flclass.h:406
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
Definition: flclass.h:638
void ToQueueBool(int n, bool f) const
Output low priority boolean (index n starts with 0)
Definition: flclass.h:255
static const t_symbol * thisTag()
Retrieve currently processed message tag (NULL if no message processing)
Definition: flclass.h:187
void MsgSelfList(MsgBundle *mb, int n, const AtomList &list) const
Send list to self (inlet n)
Definition: flclass.h:387
bool IsSet() const
Definition: flclass.h:813
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int &, int &, int &))
Definition: flclass.h:489
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, float &))
Definition: flclass.h:444
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:473
bool SetAttrib(const t_symbol *s, const AtomList &a)
Set an attribute value.
Definition: flclass.h:667
void AddMethod(int inlet, bool(*m)(flext_base *))
Definition: flclass.h:419
void MsgAddList(MsgBundle *mb, int n, const AtomList &list) const
Output list (index n starts with 0)
Definition: flclass.h:355
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int &, int &))
Definition: flclass.h:488
void AddOutBang(int m=1)
Add outlet(s) for bangs.
Definition: flclass.h:159
void init(flext_base *b, BindItem *it, void *d)
Definition: flclass.h:1093
bool BothExist() const
Definition: flclass.h:815
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *))
Definition: flclass.h:471
TablePtrMap< const t_symbol *, Item *, 8 > TablePtrMapDef
Definition: flclass.h:733
int index
Definition: flclass.h:1029
void AddOutSymbol(int m=1)
Add outlet(s) for symbols.
Definition: flclass.h:155
void AddMethod(int inlet, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:425
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:477
void AddInBang(const char *desc, int m=1)
Add inlet(s) for bangs (with description)
Definition: flclass.h:136
void ToSysBang(int n) const
Definition: flclass.h:857
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:446
void MsgAddString(MsgBundle *mb, int n, const char *s) const
Output string aka symbol (to appointed outlet)
Definition: flclass.h:346
ItemCont * bindhead
Definition: flclass.h:957
void ToSysAnything(int n, const t_symbol *s, const AtomList &list) const
Definition: flclass.h:866
Definition: flclass.h:589
void MsgSelfAnything(MsgBundle *mb, int n, const t_symbol *s, int argc, const t_atom *argv) const
Send anything to self (inlet n)
Definition: flclass.h:390
void AddMethod(int inlet, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:424
void AddMethodDef(int inlet, const t_symbol *tag=NULL)
Definition: flclass.h:416
pxbnd_object * px
Definition: flclass.h:892
ItemSet ** cont
Definition: flclass.h:780
void AddInAnything(const char *desc, int m=1)
Add inlet(s) for anythings (with description)
Definition: flclass.h:120
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
Definition: flclass.h:637
void ToSelfList(int n, int argc, const t_atom *argv) const
Send list to self (inlet n)
Definition: flclass.h:309
Definition: flclass.h:405
void ToSysList(int n, int argc, const t_atom *argv) const
Definition: flclass.h:862
AtomList init
Definition: flclass.h:844
void ToSelfSymbol(int n, const t_symbol *s) const
Send symbol to self (inlet n)
Definition: flclass.h:301
bool ShowAttrib(const char *a, bool show)
Definition: flclass.h:678
#define FLEXT_TEMPLATE
Definition: flprefix.h:455
void ToSysAnything(int n, const AtomAnything &any) const
Definition: flclass.h:865
int flags
Definition: flclass.h:819
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:490
t_symbol * t_symptr
Definition: flstdc.h:225
bool bt
Definition: flclass.h:939
metharg
Definition: flclass.h:401
void AddOutFloat(const char *desc, int m=1)
Add outlet(s) for floats (with description)
Definition: flclass.h:149
ItemCont * methhead
Definition: flclass.h:956
bool ListAttrib() const
List attributes.
Definition: flattr.cpp:195
void AddOutBang(const char *desc, int m=1)
Add outlet(s) for bangs (with description)
Definition: flclass.h:161
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:479
methfun fun
Definition: flclass.h:796
Definition: flclass.h:1025
void * data
Definition: flclass.h:1091
Definitions for internal flext usage.
AttrData()
Definition: flclass.h:831
AttrItem * Counterpart()
Definition: flclass.h:816
void AddMethod(int inlet, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:426
void ToOutDouble(int n, double d) const
Output double (index n starts with 0)
Definition: flclass.h:217
void ToSelfString(int n, const char *s) const
Send string aka symbol to self (inlet 0)
Definition: flclass.h:303
int CntOut() const
Get number of outlets.
Definition: flclass.h:179
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, float &, float &))
Definition: flclass.h:481
Internal flext base classes.
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
Definition: flclass.h:634
void ToQueueList(int n, const AtomList &list) const
Output low priority list (index n starts with 0)
Definition: flclass.h:271
void AddOutAnything(int m=1)
Add outlet(s) for anythings.
Definition: flclass.h:143
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *))
Definition: flclass.h:474
int members
Definition: flclass.h:778
void ToOutList(int n, const AtomList &list) const
Output list (index n starts with 0)
Definition: flclass.h:230
int Members() const
Get counter for total members (for index of new item)
Definition: flclass.h:772
int flags
Definition: flclass.h:845
void AddInInt(int m=1)
Add inlet(s) for integers.
Definition: flclass.h:126
void AddAttrib(const char *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
Definition: flclass.h:622
void AddInSymbol(const char *desc, int m=1)
Add inlet(s) for symbol (with description)
Definition: flclass.h:132
void MsgSelfSymbol(MsgBundle *mb, int n, const t_symbol *s) const
Send symbol to self (inlet n)
Definition: flclass.h:377
void AddOutInt(int m=1)
Add outlet(s) for integers.
Definition: flclass.h:151
bool SetupInOut()
Definition: flclass.h:168
ItemCont * ThMeths()
Definition: flclass.h:895
This represents an item of the symbol-bound method list.
Definition: flclass.h:882
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
Definition: flclass.h:641
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
Definition: flclass.h:610
void AddInFloat(int m=1)
Add inlet(s) for floats.
Definition: flclass.h:122
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
Definition: flclass.h:635
This represents an item of the attribute list.
Definition: flclass.h:800
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)
Definition: flclass.h:552
void ToSelfList(int n, const AtomList &list) const
Send list to self (inlet n)
Definition: flclass.h:311
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:495
void AddMethod(int inlet, bool(*m)(flext_base *, float &, float &, float &))
Definition: flclass.h:430
ItemSet & GetInlet(int inlet=0)
Get list for an inlet.
Definition: flclass.h:765
AttrDataCont * attrdata
Definition: flclass.h:966
t_object obj
Definition: flclass.h:1088
void MsgAddDouble(MsgBundle *mb, int n, double d) const
Output double (index n starts with 0)
Definition: flclass.h:341
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, float &))
Definition: flclass.h:504
xlettype tp
Definition: flclass.h:920
bool IsAttr() const
Definition: flclass.h:727
void SetInit(bool s)
Definition: flclass.h:837
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *))
Definition: flclass.h:475
bool DumpAttrib(const char *attr) const
Dump an attribute to the attribute outlet.
Definition: flclass.h:651
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, int &))
Definition: flclass.h:497
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:449
static bool qustarted
Definition: flclass.h:995
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:494
static t_class * px_class
Definition: flclass.h:1023
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:443
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
Definition: flclass.h:639
void MsgAddBool(MsgBundle *mb, int n, bool f) const
Output boolean (index n starts with 0)
Definition: flclass.h:338
void ToSelfAnything(int n, const AtomAnything &any) const
Send anything to self (inlet n)
Definition: flclass.h:316
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:439
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
Definition: flclass.h:616
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
Definition: flclass.h:615
void AddAttrib(const char *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
Definition: flclass.h:623
int index
Definition: flclass.h:793
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:447
void AddInBang(int m=1)
Add inlet(s) for bang.
Definition: flclass.h:134
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:492
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:438
#define FLEXT_SHARE
Definition: flprefix.h:418
void MsgSelfInt(MsgBundle *mb, int n, int f) const
Send integer to self (inlet n)
Definition: flclass.h:368
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, float &, float &, float &))
Definition: flclass.h:482
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
Definition: flclass.h:633
Definition: flclass.h:936
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, float &))
Definition: flclass.h:452
BindItem * item
Definition: flclass.h:1090
bool IsInit() const
Definition: flclass.h:838
void AddOutFloat(int m=1)
Add outlet(s) for floats.
Definition: flclass.h:147
Definition: flclass.h:746
int Max() const
Definition: flclass.h:753
bool Contained(int i) const
Definition: flclass.h:755
ItemCont * attrhead
Definition: flclass.h:965
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:451
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:500
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, float &))
Definition: flclass.h:496
int Min() const
Definition: flclass.h:752
void ToSysList(int n, const AtomList &list) const
Definition: flclass.h:863
void AddInList(const char *desc, int m=1)
Add inlet(s) for lists (with description)
Definition: flclass.h:140
int CntInSig() const
Get number of signal inlets.
Definition: flclass.h:181
Definition: flclass.h:588
void AddAttrib(const char *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
Definition: flclass.h:619
#define FLEXT_CLASSDEF(CL)
Definition: flprefix.h:383
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:499
This represents an item of the method list.
Definition: flclass.h:784
static flext_base * thisObject(flext_hdr *c)
Definition: flclass.h:910
static int CheckAttrib(const AtomList &args, int offset=0)
Definition: flclass.h:656
void ToSysString(int n, const char *s) const
Definition: flclass.h:861
void AddAttrib(const char *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
Definition: flclass.h:621
int CntOutSig() const
Get number of signal outlets.
Definition: flclass.h:183
void AddInList(int m=1)
Add inlet(s) for lists.
Definition: flclass.h:138
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, int &))
Definition: flclass.h:445
flext_base * base
Definition: flclass.h:1089
void ToOutBool(int n, bool f) const
Output boolean (index n starts with 0)
Definition: flclass.h:214
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:441
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
Definition: flclass.h:612
void MsgSelfList(MsgBundle *mb, int n, int argc, const t_atom *argv) const
Send list to self (inlet n)
Definition: flclass.h:385
void MsgSelfString(MsgBundle *mb, int n, const char *s) const
Send string aka symbol to self (inlet 0)
Definition: flclass.h:379
Definition: flclass.h:848
void SetInitValue(int argc, const t_atom *argv)
Definition: flclass.h:839
void AddMethod(int inlet, bool(*m)(flext_base *, float &, float &))
Definition: flclass.h:429
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *))
Definition: flclass.h:423
metharg * args
Definition: flclass.h:795
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:478
const AtomList & GetInitValue() const
Definition: flclass.h:842
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:503
Definition: flclass.h:735
#define FLEXT_TEMPINST(fun)
Definition: flprefix.h:457
bool BangAttrib(const char *a)
Definition: flclass.h:672
void AddAttrib(const char *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
Definition: flclass.h:618
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
Definition: flclass.h:643
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
Definition: flclass.h:611
void AddMethod(int inlet, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:420
void AddInInt(const char *desc, int m=1)
Add inlet(s) for integers (with description)
Definition: flclass.h:128
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, int &))
Definition: flclass.h:453
void ToOutAnything(int n, const AtomAnything &any) const
Output anything (index n starts with 0)
Definition: flclass.h:235
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, float &))
Definition: flclass.h:480
void MsgSelfBool(MsgBundle *mb, int n, bool f) const
Send boolean to self (inlet n)
Definition: flclass.h:371
static bool cb_ListAttrib(flext_base *c)
Definition: flclass.h:982
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:472
void AddMethodDef(int inlet, const char *tag=NULL)
Definition: flclass.h:417
char * desc
Definition: flclass.h:921
AttrItem * attr
Definition: flclass.h:729
bool SetAttrib(const t_symbol *tag, AttrItem *a, const AtomList &l)
Definition: flclass.h:975
void ToSysDouble(int n, double d) const
Definition: flclass.h:870
void ToSelfAtom(int n, const t_atom &at) const
Output atom (index n starts with 0)
Definition: flclass.h:306
Definition: flclass.h:721
int GetOutAttr() const
Definition: flclass.h:194
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:448
t_gpointer * pt
Definition: flclass.h:942
special map class (faster and less memory-consuming than std::map)
bool Bind(const char *sym)
Bind object to a symbol (as string)
Definition: flclass.h:525
outlet * GetOut(int ix) const
Get pointer to outlet (not in the constructor!)
Definition: flclass.h:192
void MsgSelfFloat(MsgBundle *mb, int n, float f) const
Send float to self (inlet n)
Definition: flclass.h:365
The obligatory PD or Max/MSP object header.
Definition: flbase.h:38
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
Definition: flclass.h:636
void AddAttrib(const char *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
Definition: flclass.h:620
void ToOutString(int n, const char *s) const
Output string aka symbol (index n starts with 0)
Definition: flclass.h:222
void init(flext_base *b, int ix)
Definition: flclass.h:1031
void AddInFloat(const char *desc, int m=1)
Add inlet(s) for floats (with description)
Definition: flclass.h:124
void ToSelfAnything(int n, const t_symbol *s, int argc, const t_atom *argv) const
Send anything to self (inlet n)
Definition: flclass.h:314
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:442
ItemCont * ThAttrs()
Definition: flclass.h:901
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
Definition: flclass.h:640
void MsgSelfAnything(MsgBundle *mb, int n, const AtomAnything &any) const
Send anything to self (inlet n)
Definition: flclass.h:392
void ToSysBool(int n, bool f) const
Definition: flclass.h:868