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; }
736 :
public TablePtrMapDef
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);
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);
952 typedef bool (*methfun_3)(
flext_base *c,t_any &,t_any &,t_any &);
953 typedef bool (*methfun_4)(
flext_base *c,t_any &,t_any &,t_any &,t_any &);
954 typedef bool (*methfun_5)(
flext_base *c,t_any &,t_any &,t_any &,t_any &,t_any &);
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 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 AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:448
px_object ** inlets
Definition: flclass.h:1077
void AddInInt(int m=1)
Add inlet(s) for integers.
Definition: flclass.h:126
Definition: flclass.h:721
void ToQueueAnything(int n, const AtomAnything &any) const
Output low priority anything (index n starts with 0)
Definition: flclass.h:276
void ToOutAnything(int n, const AtomAnything &any) const
Output anything (index n starts with 0)
Definition: flclass.h:235
void MsgSelfDouble(MsgBundle *mb, int n, double d) const
Output double (index n starts with 0)
Definition: flclass.h:374
ItemCont * ThAttrs()
Definition: flclass.h:901
void ToSelfDouble(int n, double d) const
Send double to self (index n starts with 0)
Definition: flclass.h:298
void MsgSelfList(MsgBundle *mb, int n, int argc, const t_atom *argv) const
Send list to self (inlet n)
Definition: flclass.h:385
void AddOutList(int m=1)
Add outlet(s) for lists.
Definition: flclass.h:163
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:440
void ToSelfAtom(int n, const t_atom &at) const
Output atom (index n starts with 0)
Definition: flclass.h:306
ItemSet & GetInlet(int inlet=0)
Get list for an inlet.
Definition: flclass.h:765
int Min() const
Definition: flclass.h:752
void MsgSelfInt(MsgBundle *mb, int n, int f) const
Send integer to self (inlet n)
Definition: flclass.h:368
unsigned char outsigs
Definition: flclass.h:932
This represents an item of the method list.
Definition: flclass.h:784
Internal flext base classes.
float ft
Definition: flclass.h:937
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 char *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:501
static const t_symbol * curtag
current message tag
Definition: flclass.h:930
void ToSysInt(int n, int f) const
Definition: flclass.h:859
void MsgAddList(MsgBundle *mb, int n, const AtomList &list) const
Output list (index n starts with 0)
Definition: flclass.h:355
pxbnd_object * px
Definition: flclass.h:892
void AddInSymbol(const char *desc, int m=1)
Add inlet(s) for symbol (with description)
Definition: flclass.h:132
const t_symbol * st
Definition: flclass.h:940
void ToOutList(int n, const AtomList &list) const
Output list (index n starts with 0)
Definition: flclass.h:230
int GetOutAttr() const
Definition: flclass.h:194
#define FLEXT_HEADER_S(NEW_CLASS, PARENT_CLASS, SETUPFUN)
Flext class header with setup function.
Definition: fldefs_hdr.h:47
void AddInInt(const char *desc, int m=1)
Add inlet(s) for integers (with description)
Definition: flclass.h:128
int flags
Definition: flclass.h:819
t_gpointer * pt
Definition: flclass.h:942
void AddAttrib(const char *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
Definition: flclass.h:622
void AddMethod(int inlet, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:421
flext_base * base
Definition: flclass.h:1028
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
void * data
Definition: flclass.h:1091
void AddAttrib(const char *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
Definition: flclass.h:619
methfun fun
Definition: flclass.h:821
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
Definition: flclass.h:633
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *))
Definition: flclass.h:422
void ToOutString(int n, const char *s) const
Output string aka symbol (index n starts with 0)
Definition: flclass.h:222
BindItem * item
Definition: flclass.h:1090
void AddInList(int m=1)
Add inlet(s) for lists.
Definition: flclass.h:138
void AddMethod(int inlet, bool(*m)(flext_base *, int &))
Definition: flclass.h:432
void AddOutInt(int m=1)
Add outlet(s) for integers.
Definition: flclass.h:151
void ToSysFloat(int n, float f) const
Definition: flclass.h:858
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
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:502
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int &))
Definition: flclass.h:484
void SetInitValue(int argc, const t_atom *argv)
Definition: flclass.h:839
outlet ** outlets
Definition: flclass.h:934
xlettype
Definition: flclass.h:586
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int &))
Definition: flclass.h:505
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:498
void AddMethod(int inlet, bool(*m)(flext_base *, float &))
Definition: flclass.h:428
bool IsInitValue() const
Definition: flclass.h:841
void AddMethod(int inlet, bool(*m)(flext_base *, int &, int &))
Definition: flclass.h:436
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
Definition: flclass.h:614
bool IsInit() const
Definition: flclass.h:838
bool BothExist() const
Definition: flclass.h:815
void AddInSymbol(int m=1)
Add inlet(s) for symbols.
Definition: flclass.h:130
Item(AttrItem *a)
Definition: flclass.h:724
AttrItem * counter
Definition: flclass.h:822
bool Unbind(const char *sym)
Unbind object from a symbol (as string)
Definition: flclass.h:527
flext support functions and classes
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 *, t_symbol *, int, t_atom *))
Definition: flclass.h:476
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:473
void AddMethod(int inlet, bool(*m)(flext_base *))
Definition: flclass.h:419
void ToSelfAnything(int n, const AtomAnything &any) const
Send anything to self (inlet n)
Definition: flclass.h:316
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int &, int &))
Definition: flclass.h:488
static t_class * pxbnd_class
Definition: flclass.h:1081
void AddMethod(int inlet, bool(*m)(flext_base *, int &, int &, int &))
Definition: flclass.h:437
int CntOut() const
Get number of outlets.
Definition: flclass.h:179
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
Definition: flclass.h:616
Definition: flclass.h:746
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *))
Definition: flclass.h:471
void AddMethod(int inlet, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:425
void AddInList(const char *desc, int m=1)
Add inlet(s) for lists (with description)
Definition: flclass.h:140
void MsgSelfList(MsgBundle *mb, int n, const AtomList &list) const
Send list to self (inlet n)
Definition: flclass.h:387
void SetInitValue(const AtomList &l)
Definition: flclass.h:840
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:450
void ToQueueList(int n, const AtomList &list) const
Output low priority list (index n starts with 0)
Definition: flclass.h:271
void * vt
Definition: flclass.h:944
int argc
Definition: flclass.h:794
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 AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:446
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
Definition: flclass.h:611
void ToSysBang(int n) const
Definition: flclass.h:857
flext_base * base
Definition: flclass.h:1089
void ToSelfBool(int n, bool f) const
Send boolean to self (inlet n)
Definition: flclass.h:295
void ToSysAnything(int n, const t_symbol *s, const AtomList &list) const
Definition: flclass.h:866
bool IsSet() const
Definition: flclass.h:813
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
Definition: flclass.h:643
void MsgSelfAnything(MsgBundle *mb, int n, const AtomAnything &any) const
Send anything to self (inlet n)
Definition: flclass.h:392
methfun fun
Definition: flclass.h:796
This represents either an inlet or outlet during construction.
Definition: flclass.h:915
metharg * args
Definition: flclass.h:795
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
Definition: flclass.h:610
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int &, int &, int &))
Definition: flclass.h:489
void AddMethod(int inlet, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:424
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
Definition: flclass.h:632
t_symbol * t_symptr
Definition: flstdc.h:225
bool SetAttrib(const t_symbol *s, const AtomList &a)
Set an attribute value.
Definition: flclass.h:667
AtomList init
Definition: flclass.h:844
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
Definition: flclass.h:612
bool SetupInOut()
Definition: flclass.h:168
Definition: flclass.h:406
bool ShowAttrib(const char *a, bool show)
Definition: flclass.h:678
#define FLEXT_ASSERT(b)
Definition: flstdc.h:284
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 ToSysList(int n, int argc, const t_atom *argv) const
Definition: flclass.h:862
void AddInFloat(int m=1)
Add inlet(s) for floats.
Definition: flclass.h:122
TablePtrMap< const t_symbol *, Item *, 8 > TablePtrMapDef
Definition: flclass.h:733
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:477
void ToSysAnything(int n, const AtomAnything &any) const
Definition: flclass.h:865
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:490
void MsgAddAnything(MsgBundle *mb, int n, const AtomAnything &any) const
Output anything (index n starts with 0)
Definition: flclass.h:360
ItemCont * bindhead
Definition: flclass.h:957
Definition: flclass.h:848
void MsgAddString(MsgBundle *mb, int n, const char *s) const
Output string aka symbol (to appointed outlet)
Definition: flclass.h:346
void AddMethodDef(int inlet, const t_symbol *tag=NULL)
Definition: flclass.h:416
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
metharg
Definition: flclass.h:401
void MsgAddDouble(MsgBundle *mb, int n, double d) const
Output double (index n starts with 0)
Definition: flclass.h:341
void AddInFloat(const char *desc, int m=1)
Add inlet(s) for floats (with description)
Definition: flclass.h:124
void AddInBang(int m=1)
Add inlet(s) for bang.
Definition: flclass.h:134
void MsgSelfString(MsgBundle *mb, int n, const char *s) const
Send string aka symbol to self (inlet 0)
Definition: flclass.h:379
static const t_symbol * thisTag()
Retrieve currently processed message tag (NULL if no message processing)
Definition: flclass.h:187
Definition: flclass.h:588
static void AddAttrib(t_classid c, const t_symbol *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
Definition: flclass.h:631
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 AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, bool &), bool(*set)(flext_base *, bool &))
Definition: flclass.h:640
void AddInBang(const char *desc, int m=1)
Add inlet(s) for bangs (with description)
Definition: flclass.h:136
Represent a data value of an attribute.
Definition: flclass.h:827
bool Bind(const char *sym)
Bind object to a symbol (as string)
Definition: flclass.h:525
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, float &, float &))
Definition: flclass.h:481
int Max() const
Definition: flclass.h:753
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, AtomList *&), bool(*set)(flext_base *, AtomList *&))
Definition: flclass.h:615
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
char * desc
Definition: flclass.h:921
void AddAttrib(const char *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
Definition: flclass.h:623
bool Contained(int i) const
Definition: flclass.h:755
bool IsAttr() const
Definition: flclass.h:727
void ToOutAnything(int n, const t_symbol *s, const AtomList &list) const
Output anything (index n starts with 0)
Definition: flclass.h:237
AttrItem * Counterpart()
Definition: flclass.h:816
const AtomList & GetInitValue() const
Definition: flclass.h:842
Definition: flclass.h:404
void AddAttrib(const char *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
Definition: flclass.h:620
const t_symbol * tag
Definition: flclass.h:823
bool ListAttrib() const
List attributes.
Definition: flattr.cpp:195
ItemCont * ThMeths()
Definition: flclass.h:895
#define FLEXT_TEMPINST(fun)
Definition: flprefix.h:457
bool IsGet() const
Definition: flclass.h:812
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:479
void AddAttrib(const t_symbol *attr, bool(*get)(flext_base *, const t_symbol *&), bool(*set)(flext_base *, const t_symbol *&))
Definition: flclass.h:613
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
Definition: flclass.h:638
ItemCont * methhead
Definition: flclass.h:956
Definition: flclass.h:735
#define FLEXT_TEMPLATE
Definition: flprefix.h:455
void ToOutDouble(int n, double d) const
Output double (index n starts with 0)
Definition: flclass.h:217
void AddMethod(int inlet, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:426
void MsgAddBool(MsgBundle *mb, int n, bool f) const
Output boolean (index n starts with 0)
Definition: flclass.h:338
xlettype tp
Definition: flclass.h:920
AttrDataCont * attrdata
Definition: flclass.h:966
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *))
Definition: flclass.h:475
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
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:449
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:494
void AddOutBang(const char *desc, int m=1)
Add outlet(s) for bangs (with description)
Definition: flclass.h:161
Definition: flclass.h:1083
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *))
Definition: flclass.h:474
The obligatory PD or Max/MSP object header.
Definition: flbase.h:38
void ToSelfInt(int n, int f) const
Send integer to self (inlet n)
Definition: flclass.h:292
static bool qustarted
Definition: flclass.h:995
t_object obj
Definition: flclass.h:1027
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:443
int CntOutSig() const
Get number of signal outlets.
Definition: flclass.h:183
void SetSave(bool s)
Definition: flclass.h:835
This represents an item of the symbol-bound method list.
Definition: flclass.h:882
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:438
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, float &, float &, float &))
Definition: flclass.h:482
int index
Definition: flclass.h:1029
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, float &))
Definition: flclass.h:452
void AddOutInt(const char *desc, int m=1)
Add outlet(s) for integers (with description)
Definition: flclass.h:153
AttrData()
Definition: flclass.h:831
void AddAttrib(const char *attr, bool(*get)(flext_base *, t_symptr &), bool(*set)(flext_base *, t_symptr &))
Definition: flclass.h:621
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 ToSelfList(int n, int argc, const t_atom *argv) const
Send list to self (inlet n)
Definition: flclass.h:309
void ToSelfFloat(int n, float f) const
Send float to self (inlet n)
Definition: flclass.h:289
void AddMethod(int inlet, bool(*m)(flext_base *, float &, float &, float &))
Definition: flclass.h:430
#define FLEXT_SHARE
Definition: flprefix.h:418
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:451
void AddOutFloat(const char *desc, int m=1)
Add outlet(s) for floats (with description)
Definition: flclass.h:149
void init(flext_base *b, int ix)
Definition: flclass.h:1031
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, float &))
Definition: flclass.h:504
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:495
This represents an item of the attribute list.
Definition: flclass.h:800
void AddOutSymbol(int m=1)
Add outlet(s) for symbols.
Definition: flclass.h:155
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, int &))
Definition: flclass.h:497
Definition: flclass.h:589
static t_class * px_class
Definition: flclass.h:1023
void ToQueueBool(int n, bool f) const
Output low priority boolean (index n starts with 0)
Definition: flclass.h:255
void MsgSelfBool(MsgBundle *mb, int n, bool f) const
Send boolean to self (inlet n)
Definition: flclass.h:371
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
bool DumpAttrib(const char *attr) const
Dump an attribute to the attribute outlet.
Definition: flclass.h:651
void AddOutList(const char *desc, int m=1)
Add outlet(s) for lists (with description)
Definition: flclass.h:165
ItemSet ** cont
Definition: flclass.h:780
int flags
Definition: flclass.h:845
void AddAttrib(const char *attr, bool(*get)(flext_base *, float &), bool(*set)(flext_base *, float &))
Definition: flclass.h:617
void AddInAnything(const char *desc, int m=1)
Add inlet(s) for anythings (with description)
Definition: flclass.h:120
int size
Definition: flclass.h:779
void MsgSelfAtom(MsgBundle *mb, int n, const t_atom &at) const
Output atom (index n starts with 0)
Definition: flclass.h:382
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:439
static flext_base * thisObject(flext_hdr *c)
Definition: flclass.h:910
int index
Definition: flclass.h:793
int CntInSig() const
Get number of signal inlets.
Definition: flclass.h:181
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:447
bool IsShown() const
Definition: flclass.h:814
void ToSysString(int n, const char *s) const
Definition: flclass.h:861
static int CheckAttrib(const AtomList &args, int offset=0)
Definition: flclass.h:656
void AddAttrib(const char *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
Definition: flclass.h:618
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
Definition: flclass.h:936
#define FLEXT_CLASSDEF(CL)
Definition: flprefix.h:383
outlet * GetOut(int ix) const
Get pointer to outlet (not in the constructor!)
Definition: flclass.h:192
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *))
Definition: flclass.h:423
void ToQueueDouble(int n, double d) const
Output double (index n starts with 0)
Definition: flclass.h:258
static void AddMethod(t_classid c, int inlet, const t_symbol *tag, bool(*m)(flext_base *, float &))
Definition: flclass.h:496
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, AtomAnything *&), bool(*set)(flext_base *, AtomAnything *&))
Definition: flclass.h:644
ItemCont * attrhead
Definition: flclass.h:965
t_object obj
Definition: flclass.h:1088
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, t_symbol *, int, t_atom *))
Definition: flclass.h:500
void ToSysList(int n, const AtomList &list) const
Definition: flclass.h:863
metharg argtp
Definition: flclass.h:820
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:478
int Members() const
Get counter for total members (for index of new item)
Definition: flclass.h:772
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:503
void SetInit(bool s)
Definition: flclass.h:837
void ToSelfSymbol(int n, const t_symbol *s) const
Send symbol to self (inlet n)
Definition: flclass.h:301
void AddMethod(int inlet, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:420
static void AddMethod(t_classid c, int inlet, const char *tag, bool(*m)(flext_base *, int, const t_atom *))
Definition: flclass.h:499
bool IsSaved() const
Definition: flclass.h:836
Item * nxt
Definition: flclass.h:730
bool bt
Definition: flclass.h:939
void AddOutSymbol(const char *desc, int m=1)
Add outlet(s) for symbols (with description)
Definition: flclass.h:157
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, float &))
Definition: flclass.h:480
void AddMethod(int inlet, const char *tag, bool(*m)(flext_base *, int &))
Definition: flclass.h:453
void MsgSelfBang(MsgBundle *mb, int n) const
Definition: flclass.h:362
void AddMethodDef(int inlet, const char *tag=NULL)
Definition: flclass.h:417
static void AddMethod(t_classid c, int inlet, bool(*m)(flext_base *, int, t_atom *))
Definition: flclass.h:472
Definition: flclass.h:405
Definition: flclass.h:403
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, const t_symbol *, int, const t_atom *))
Definition: flclass.h:441
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, int &))
Definition: flclass.h:445
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 AddMethod(int inlet, bool(*m)(flext_base *, float &, float &))
Definition: flclass.h:429
AttrItem * attr
Definition: flclass.h:729
void ToSysDouble(int n, double d) const
Definition: flclass.h:870
void ToSelfString(int n, const char *s) const
Send string aka symbol to self (inlet 0)
Definition: flclass.h:303
int it
Definition: flclass.h:938
void MsgSelfSymbol(MsgBundle *mb, int n, const t_symbol *s) const
Send symbol to self (inlet n)
Definition: flclass.h:377
special map class (faster and less memory-consuming than std::map)
void AddOutFloat(int m=1)
Add outlet(s) for floats.
Definition: flclass.h:147
void init(flext_base *b, BindItem *it, void *d)
Definition: flclass.h:1093
void AddMethod(int inlet, const t_symbol *tag, bool(*m)(flext_base *, t_symbol *&))
Definition: flclass.h:442
void ToOutBool(int n, bool f) const
Output boolean (index n starts with 0)
Definition: flclass.h:214
bool BangAttrib(const char *a)
Definition: flclass.h:672
void AddOutAnything(int m=1)
Add outlet(s) for anythings.
Definition: flclass.h:143
void ToSysBool(int n, bool f) const
Definition: flclass.h:868
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
static bool cb_ListAttrib(flext_base *c)
Definition: flclass.h:982
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 MsgSelfFloat(MsgBundle *mb, int n, float f) const
Send float to self (inlet n)
Definition: flclass.h:365
void ToQueueString(int n, const char *s) const
Output low priority string aka symbol (to appointed outlet)
Definition: flclass.h:263
void AddOutBang(int m=1)
Add outlet(s) for bangs.
Definition: flclass.h:159
static void AddAttrib(t_classid c, const char *attr, bool(*get)(flext_base *, int &), bool(*set)(flext_base *, int &))
Definition: flclass.h:639
void AddOutAnything(const char *desc, int m=1)
Add outlet(s) for anythings (with description)
Definition: flclass.h:145
void AddMethod(int inlet, bool(*m)(flext_base *, const t_symbol *&))
Definition: flclass.h:427
void ToSysSymbol(int n, const t_symbol *s) const
Definition: flclass.h:860
Definitions for internal flext usage.
Definition: flclass.h:1025
int index
Definition: flclass.h:818
int members
Definition: flclass.h:778
bool SetAttrib(const t_symbol *tag, AttrItem *a, const AtomList &l)
Definition: flclass.h:975