Commit 2287e16b authored by thomas's avatar thomas
Browse files

no message


git-svn-id: https://svn.grrrr.org/ext/trunk@385 4d9ac71a-51e6-0310-8455-cad1006bcd31
parent e1a45797
......@@ -148,11 +148,11 @@ SOURCE=.\readme.txt
# End Group
# Begin Source File
SOURCE=".\source\flatom-pr.cpp"
SOURCE=.\source\flatom.cpp
# End Source File
# Begin Source File
SOURCE=.\source\flatom.cpp
SOURCE=.\source\flatom_pr.cpp
# End Source File
# Begin Source File
......
......@@ -51,12 +51,20 @@ pd - linux:
-----------
o GCC: edit "config-pd-linux.txt" & run "sh build-pd-linux.sh"
pd - MacOSX:
-----------
o GCC: edit "config-pd-darwin.txt" & run "sh build-pd-darwin.sh"
Max/MSP - MacOS 9:
------------------
o Metrowerks CodeWarrior V6: edit & use the "flext.cw" project file
o Apple MPW-PR: edit & use the "flext.mpw" makefile
Max/MSP - MacOSX:
------------------
... sorry, not yet... would someone please donate me a CodeWarrior V8 ?
----------------------------------------------------------------------------
Goals/features of the package:
......@@ -247,7 +255,7 @@ general:
- check that SetupInOut is only called once
- feed assist function with in/outlet description
- MaxMSP: how to call separate help files for objects in a library?
- MaxMSP for OSX: add support (maybe someone donates a CodeWarrior 8?)
- MaxMSP for OSX: add support
bugs:
- PD: problems with timed buffer redrawing (takes a lot of cpu time)
......
......@@ -193,10 +193,10 @@ public:
const t_symbol *thisTag() const { return curtag; }
//! Get pointer to outlet (not in the constructor!)
outlet *GetOut(int ix) { return (outlets && ix < outcnt)?outlets[ix]:NULL; }
outlet *GetOut(int ix) const { return (outlets && ix < outcnt)?outlets[ix]:NULL; }
//! Get pointer to attribute outlet
outlet *GetOutAttr() { return outattr; }
outlet *GetOutAttr() const { return outattr; }
//! @} FLEXT_C_IO_MISC
......@@ -207,42 +207,42 @@ public:
// output messages
//! Output bang (to appointed outlet)
void ToOutBang(outlet *o);
void ToOutBang(outlet *o) const;
//! Output bang (index n starts with 0)
void ToOutBang(int n) { outlet *o = GetOut(n); if(o) ToOutBang(o); }
void ToOutBang(int n) const { outlet *o = GetOut(n); if(o) ToOutBang(o); }
//! Output float (to appointed outlet)
void ToOutFloat(outlet *o,float f);
void ToOutFloat(outlet *o,float f) const;
//! Output float (index n starts with 0)
void ToOutFloat(int n,float f) { outlet *o = GetOut(n); if(o) ToOutFloat(o,f); }
void ToOutFloat(int n,float f) const { outlet *o = GetOut(n); if(o) ToOutFloat(o,f); }
//! Output integer (to appointed outlet)
void ToOutInt(outlet *o,int f);
void ToOutInt(outlet *o,int f) const;
//! Output integer (index n starts with 0)
void ToOutInt(int n,int f) { outlet *o = GetOut(n); if(o) ToOutInt(o,f); }
void ToOutInt(int n,int f) const { outlet *o = GetOut(n); if(o) ToOutInt(o,f); }
//! Output symbol (to appointed outlet)
void ToOutSymbol(outlet *o,const t_symbol *s);
void ToOutSymbol(outlet *o,const t_symbol *s) const;
//! Output symbol (index n starts with 0)
void ToOutSymbol(int n,const t_symbol *s) { outlet *o = GetOut(n); if(o) ToOutSymbol(o,s); }
void ToOutSymbol(int n,const t_symbol *s) const { outlet *o = GetOut(n); if(o) ToOutSymbol(o,s); }
//! Output string aka symbol (to appointed outlet)
void ToOutString(outlet *o,const char *s) { ToOutSymbol(o,MakeSymbol(s)); }
void ToOutString(outlet *o,const char *s) const { ToOutSymbol(o,MakeSymbol(s)); }
//! Output string aka symbol (index n starts with 0)
void ToOutString(int n,const char *s) { outlet *o = GetOut(n); if(o) ToOutString(o,s); }
void ToOutString(int n,const char *s) const { outlet *o = GetOut(n); if(o) ToOutString(o,s); }
//! Output list (to appointed outlet)
void ToOutList(outlet *o,int argc,const t_atom *argv);
void ToOutList(outlet *o,int argc,const t_atom *argv) const;
//! Output list (index n starts with 0)
void ToOutList(int n,int argc,const t_atom *argv) { outlet *o = GetOut(n); if(o) ToOutList(o,argc,argv); }
void ToOutList(int n,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) ToOutList(o,argc,argv); }
//! Output list (index n starts with 0)
void ToOutList(int n,const AtomList &list) { ToOutList(n,list.Count(),list.Atoms()); }
void ToOutList(int n,const AtomList &list) const { ToOutList(n,list.Count(),list.Atoms()); }
//! Output anything (to appointed outlet)
void ToOutAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv);
void ToOutAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv) const;
//! Output anything (index n starts with 0)
void ToOutAnything(int n,const t_symbol *s,int argc,const t_atom *argv) { outlet *o = GetOut(n); if(o) ToOutAnything(o,const_cast<t_symbol *>(s),argc,argv); }
void ToOutAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) ToOutAnything(o,const_cast<t_symbol *>(s),argc,argv); }
//! Output anything (index n starts with 0)
void ToOutAnything(int n,const AtomAnything &any) { ToOutAnything(n,any.Header(),any.Count(),any.Atoms()); }
void ToOutAnything(int n,const AtomAnything &any) const { ToOutAnything(n,any.Header(),any.Count(),any.Atoms()); }
//! @} FLEXT_C_IO_OUT
......@@ -251,46 +251,46 @@ public:
*/
//! Output bang (to appointed outlet)
void ToQueueBang(outlet *o);
void ToQueueBang(outlet *o) const;
//! Output bang (index n starts with 0)
void ToQueueBang(int n) { outlet *o = GetOut(n); if(o) ToQueueBang(o); }
void ToQueueBang(int n) const { outlet *o = GetOut(n); if(o) ToQueueBang(o); }
//! Output float (to appointed outlet)
void ToQueueFloat(outlet *o,float f);
void ToQueueFloat(outlet *o,float f) const;
//! Output float (index n starts with 0)
void ToQueueFloat(int n,float f) { outlet *o = GetOut(n); if(o) ToQueueFloat(o,f); }
void ToQueueFloat(int n,float f) const { outlet *o = GetOut(n); if(o) ToQueueFloat(o,f); }
//! Output integer (to appointed outlet)
void ToQueueInt(outlet *o,int f);
void ToQueueInt(outlet *o,int f) const;
//! Output integer (index n starts with 0)
void ToQueueInt(int n,int f) { outlet *o = GetOut(n); if(o) ToQueueInt(o,f); }
void ToQueueInt(int n,int f) const { outlet *o = GetOut(n); if(o) ToQueueInt(o,f); }
//! Output symbol (to appointed outlet)
void ToQueueSymbol(outlet *o,const t_symbol *s);
void ToQueueSymbol(outlet *o,const t_symbol *s) const;
//! Output symbol (index n starts with 0)
void ToQueueSymbol(int n,const t_symbol *s) { outlet *o = GetOut(n); if(o) ToQueueSymbol(o,s); }
void ToQueueSymbol(int n,const t_symbol *s) const { outlet *o = GetOut(n); if(o) ToQueueSymbol(o,s); }
//! Output string aka symbol (to appointed outlet)
void ToQueueString(outlet *o,const char *s) { ToQueueSymbol(o,MakeSymbol(s)); }
void ToQueueString(outlet *o,const char *s) const { ToQueueSymbol(o,MakeSymbol(s)); }
//! Output string aka symbol (to appointed outlet)
void ToQueueString(int n,const char *s) { ToQueueSymbol(n,MakeSymbol(s)); }
void ToQueueString(int n,const char *s) const { ToQueueSymbol(n,MakeSymbol(s)); }
//! Output list (to appointed outlet)
void ToQueueList(outlet *o,int argc,const t_atom *argv);
void ToQueueList(outlet *o,int argc,const t_atom *argv) const;
//! Output list (to appointed outlet)
void ToQueueList(outlet *o,const AtomList &list) { ToQueueList(o,list.Count(),list.Atoms()); }
void ToQueueList(outlet *o,const AtomList &list) const { ToQueueList(o,list.Count(),list.Atoms()); }
//! Output list (index n starts with 0)
void ToQueueList(int n,int argc,const t_atom *argv) { outlet *o = GetOut(n); if(o) ToQueueList(o,argc,argv); }
void ToQueueList(int n,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) ToQueueList(o,argc,argv); }
//! Output list (index n starts with 0)
void ToQueueList(int n,const AtomList &list) { ToQueueList(n,list.Count(),list.Atoms()); }
void ToQueueList(int n,const AtomList &list) const { ToQueueList(n,list.Count(),list.Atoms()); }
//! Output anything (to appointed outlet)
void ToQueueAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv);
void ToQueueAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv) const;
//! Output anything (to appointed outlet)
void ToQueueAnything(outlet *o,const AtomAnything &any) { ToQueueAnything(o,any.Header(),any.Count(),any.Atoms()); }
void ToQueueAnything(outlet *o,const AtomAnything &any) const { ToQueueAnything(o,any.Header(),any.Count(),any.Atoms()); }
//! Output anything (index n starts with 0)
void ToQueueAnything(int n,const t_symbol *s,int argc,const t_atom *argv) { outlet *o = GetOut(n); if(o) ToQueueAnything(o,s,argc,argv); }
void ToQueueAnything(int n,const t_symbol *s,int argc,const t_atom *argv) const { outlet *o = GetOut(n); if(o) ToQueueAnything(o,s,argc,argv); }
//! Output anything (index n starts with 0)
void ToQueueAnything(int n,const AtomAnything &any) { ToQueueAnything(n,any.Header(),any.Count(),any.Atoms()); }
void ToQueueAnything(int n,const AtomAnything &any) const { ToQueueAnything(n,any.Header(),any.Count(),any.Atoms()); }
//! @} FLEXT_C_IO_QUEUE
......
......@@ -25,19 +25,19 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#endif
#ifndef FLEXT_THREADS
void flext_base::ToOutBang(outlet *o) { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); }
void flext_base::ToOutFloat(outlet *o,float f) { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); }
void flext_base::ToOutInt(outlet *o,int f) { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); }
void flext_base::ToOutSymbol(outlet *o,const t_symbol *s) { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); }
void flext_base::ToOutList(outlet *o,int argc,const t_atom *argv) { CRITON(); outlet_list((t_outlet *)o,gensym("list"),argc,(t_atom *)argv); CRITOFF(); }
void flext_base::ToOutAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv) { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); }
void flext_base::ToOutBang(outlet *o) const { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); }
void flext_base::ToOutFloat(outlet *o,float f) const { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); }
void flext_base::ToOutInt(outlet *o,int f) const { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); }
void flext_base::ToOutSymbol(outlet *o,const t_symbol *s) const { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); }
void flext_base::ToOutList(outlet *o,int argc,const t_atom *argv) const { CRITON(); outlet_list((t_outlet *)o,gensym("list"),argc,(t_atom *)argv); CRITOFF(); }
void flext_base::ToOutAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv) const { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); }
#else
void flext_base::ToOutBang(outlet *o) { if(IsSystemThread()) { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); } else ToQueueBang(o); }
void flext_base::ToOutFloat(outlet *o,float f) { if(IsSystemThread()) { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); } else ToQueueFloat(o,f); }
void flext_base::ToOutInt(outlet *o,int f) { if(IsSystemThread()) { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); } else ToQueueInt(o,f); }
void flext_base::ToOutSymbol(outlet *o,const t_symbol *s) { if(IsSystemThread()) { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); } else ToQueueSymbol(o,s); }
void flext_base::ToOutList(outlet *o,int argc,const t_atom *argv) { if(IsSystemThread()) { CRITON(); outlet_list((t_outlet *)o,gensym("list"),argc,(t_atom *)argv); CRITOFF(); } else ToQueueList(o,argc,(t_atom *)argv); }
void flext_base::ToOutAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv) { if(IsSystemThread()) { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); } else ToQueueAnything(o,s,argc,(t_atom *)argv); }
void flext_base::ToOutBang(outlet *o) const { if(IsSystemThread()) { CRITON(); outlet_bang((t_outlet *)o); CRITOFF(); } else ToQueueBang(o); }
void flext_base::ToOutFloat(outlet *o,float f) const { if(IsSystemThread()) { CRITON(); outlet_float((t_outlet *)o,f); CRITOFF(); } else ToQueueFloat(o,f); }
void flext_base::ToOutInt(outlet *o,int f) const { if(IsSystemThread()) { CRITON(); outlet_flint((t_outlet *)o,f); CRITOFF(); } else ToQueueInt(o,f); }
void flext_base::ToOutSymbol(outlet *o,const t_symbol *s) const { if(IsSystemThread()) { CRITON(); outlet_symbol((t_outlet *)o,const_cast<t_symbol *>(s)); CRITOFF(); } else ToQueueSymbol(o,s); }
void flext_base::ToOutList(outlet *o,int argc,const t_atom *argv) const { if(IsSystemThread()) { CRITON(); outlet_list((t_outlet *)o,gensym("list"),argc,(t_atom *)argv); CRITOFF(); } else ToQueueList(o,argc,(t_atom *)argv); }
void flext_base::ToOutAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv) const { if(IsSystemThread()) { CRITON(); outlet_anything((t_outlet *)o,const_cast<t_symbol *>(s),argc,(t_atom *)argv); CRITOFF(); } else ToQueueAnything(o,s,argc,(t_atom *)argv); }
#endif
......@@ -168,45 +168,45 @@ void flext_base::Queue(qmsg *m)
#endif
}
void flext_base::ToQueueBang(outlet *o)
void flext_base::ToQueueBang(outlet *o) const
{
qmsg *m = new qmsg();
m->SetBang(o);
Queue(m);
const_cast<flext_base &>(*this).Queue(m);
}
void flext_base::ToQueueFloat(outlet *o,float f)
void flext_base::ToQueueFloat(outlet *o,float f) const
{
qmsg *m = new qmsg;
m->SetFloat(o,f);
Queue(m);
const_cast<flext_base &>(*this).Queue(m);
}
void flext_base::ToQueueInt(outlet *o,int f)
void flext_base::ToQueueInt(outlet *o,int f) const
{
qmsg *m = new qmsg;
m->SetInt(o,f);
Queue(m);
const_cast<flext_base &>(*this).Queue(m);
}
void flext_base::ToQueueSymbol(outlet *o,const t_symbol *s)
void flext_base::ToQueueSymbol(outlet *o,const t_symbol *s) const
{
qmsg *m = new qmsg;
m->SetSymbol(o,s);
Queue(m);
const_cast<flext_base &>(*this).Queue(m);
}
void flext_base::ToQueueList(outlet *o,int argc,const t_atom *argv)
void flext_base::ToQueueList(outlet *o,int argc,const t_atom *argv) const
{
qmsg *m = new qmsg;
m->SetList(o,argc,argv);
Queue(m);
const_cast<flext_base &>(*this).Queue(m);
}
void flext_base::ToQueueAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv)
void flext_base::ToQueueAnything(outlet *o,const t_symbol *s,int argc,const t_atom *argv) const
{
qmsg *m = new qmsg;
m->SetAny(o,s,argc,argv);
Queue(m);
const_cast<flext_base &>(*this).Queue(m);
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment