aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/flext.cwbin454327 -> 454327 bytes
-rw-r--r--externals/grill/flext/source/flsupport.h6
-rw-r--r--externals/grill/flext/source/flutil.cpp29
-rwxr-xr-xexternals/grill/flext/tutorial/timer1/timer1.cwbin207765 -> 207765 bytes
4 files changed, 26 insertions, 9 deletions
diff --git a/externals/grill/flext/flext.cw b/externals/grill/flext/flext.cw
index e33fdf5a..89710be8 100644
--- a/externals/grill/flext/flext.cw
+++ b/externals/grill/flext/flext.cw
Binary files differ
diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h
index 760083a8..f7e65899 100644
--- a/externals/grill/flext/source/flsupport.h
+++ b/externals/grill/flext/source/flsupport.h
@@ -516,10 +516,10 @@ public:
*/
//! Send a message to a symbol (bound to an object)
- static bool Forward(const t_symbol *s,int argc,const t_atom *argv);
+ static bool Forward(const t_symbol *sym,const t_symbol *s,int argc,const t_atom *argv);
- static bool Forward(const t_symbol *s,AtomList &args) { return Forward(s,args.Count(),args.Atoms()); }
- static bool Forward(const char *s,AtomList &args) { return Forward(MakeSymbol(s),args.Count(),args.Atoms()); }
+ static bool Forward(const t_symbol *sym,AtomAnything &args) { return Forward(sym,args.Header(),args.Count(),args.Atoms()); }
+ static bool Forward(const char *sym,AtomAnything &args) { return Forward(MakeSymbol(sym),args.Header(),args.Count(),args.Atoms()); }
//! @} FLEXT_S_MSG
diff --git a/externals/grill/flext/source/flutil.cpp b/externals/grill/flext/source/flutil.cpp
index 09c75377..be9329cd 100644
--- a/externals/grill/flext/source/flutil.cpp
+++ b/externals/grill/flext/source/flutil.cpp
@@ -15,27 +15,44 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include "flext.h"
#include <string.h>
+#if FLEXT_OS == FLEXT_OS_WIN
+#include <windows.h>
+#endif
+
void flext::CopyMem(void *dst,const void *src,int bytes)
{
+#if FLEXT_OS == FLEXT_OS_WIN
+ MoveMemory(dst,src,bytes);
+#elif FLEXT_OS == FLEXT_OS_MAC
+ BlockMoveData(src,dst,bytes);
+#else
memcpy(dst,src,bytes);
+#endif
}
void flext::ZeroMem(void *dst,int bytes)
{
+#if FLEXT_OS == FLEXT_OS_WIN
+ ZeroMemory(dst,bytes);
+#elif FLEXT_OS == FLEXT_OS_MAC
+ BlockZero(dst,bytes);
+#else
memset(dst,0,bytes);
+#endif
}
-bool flext::Forward(const t_symbol *recv,int argc,const t_atom *argv)
+bool flext::Forward(const t_symbol *recv,const t_symbol *s,int argc,const t_atom *argv)
{
- t_class **cl = (t_class **)recv->s_thing;
+ void *cl = recv->s_thing;
if(!cl) return false;
#if FLEXT_SYS == FLEXT_SYS_PD
- pd_forwardmess(cl,argc,(t_atom *)argv);
+ pd_typedmess((t_class **)cl,(t_symbol *)s,argc,(t_atom *)argv);
+#elif FLEXT_SYS == FLEXT_SYS_MAX
+ typedmess(recv->s_thing,(t_symbol *)s,argc,(t_atom *)argv);
#else
- #error Not implemented
+#error Not implemented
#endif
-
- return true;
+ return true;
}
diff --git a/externals/grill/flext/tutorial/timer1/timer1.cw b/externals/grill/flext/tutorial/timer1/timer1.cw
index 08e05996..af4e978a 100755
--- a/externals/grill/flext/tutorial/timer1/timer1.cw
+++ b/externals/grill/flext/tutorial/timer1/timer1.cw
Binary files differ