aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext/source')
-rw-r--r--externals/grill/flext/source/flbind.cpp1
-rw-r--r--externals/grill/flext/source/flclass.h11
-rw-r--r--externals/grill/flext/source/flcwmax.h1
-rwxr-xr-xexternals/grill/flext/source/flcwpd-x.h1
-rw-r--r--externals/grill/flext/source/flext.h2
-rwxr-xr-xexternals/grill/flext/source/flsimd.cpp16
6 files changed, 28 insertions, 4 deletions
diff --git a/externals/grill/flext/source/flbind.cpp b/externals/grill/flext/source/flbind.cpp
index d2a00129..a0af2ce0 100644
--- a/externals/grill/flext/source/flbind.cpp
+++ b/externals/grill/flext/source/flbind.cpp
@@ -140,7 +140,6 @@ bool flext_base::UnbindMethod(const t_symbol *sym,bool (*fun)(flext_base *,t_sym
bool ok = false;
if(bindhead) {
- void *d = NULL;
binditem *it = NULL;
if(sym) {
it = (binditem *)bindhead->Find(sym,0);
diff --git a/externals/grill/flext/source/flclass.h b/externals/grill/flext/source/flclass.h
index 4cbeb03f..e1b46c52 100644
--- a/externals/grill/flext/source/flclass.h
+++ b/externals/grill/flext/source/flclass.h
@@ -220,6 +220,9 @@ public:
//! Output integer (index n starts with 0)
void ToOutInt(int n,int f) const;
+ //! Output boolean (index n starts with 0)
+ void ToOutBool(int n,bool f) const { ToOutInt(n,f?1:0); }
+
//! Output symbol (index n starts with 0)
void ToOutSymbol(int n,const t_symbol *s) const;
//! Output string aka symbol (index n starts with 0)
@@ -250,6 +253,9 @@ public:
//! Output integer (index n starts with 0)
void ToQueueInt(int n,int f) const;
+ //! Output boolean (index n starts with 0)
+ void ToQueueBool(int n,bool f) const { ToQueueInt(n,f?1:0); }
+
//! Output symbol (index n starts with 0)
void ToQueueSymbol(int n,const t_symbol *s) const;
//! Output string aka symbol (to appointed outlet)
@@ -275,6 +281,9 @@ public:
//! Send integer to self (inlet n)
void ToSelfInt(int n,int f) const;
+ //! Send boolean to self (inlet n)
+ void ToSelfBool(int n,bool f) const { ToSelfInt(n,f?1:0); }
+
//! Send symbol to self (inlet n)
void ToSelfSymbol(int n,const t_symbol *s) const;
//! Send string aka symbol to self (inlet 0)
@@ -389,7 +398,7 @@ public:
@{
*/
-#if FLEXT_SYS == FLEXT_SYS_PD
+#if FLEXT_SYS == FLEXT_SYS_PD || FLEXT_SYS == FLEXT_SYS_MAX
//! Bind object to a symbol
bool Bind(const t_symbol *sym);
//! Unbind object from a symbol
diff --git a/externals/grill/flext/source/flcwmax.h b/externals/grill/flext/source/flcwmax.h
index a0c17832..56fe03c3 100644
--- a/externals/grill/flext/source/flcwmax.h
+++ b/externals/grill/flext/source/flcwmax.h
@@ -20,6 +20,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#endif
#define FLEXT_SYS 1
+#define FLEXT_USE_SIMD
#ifndef _CW_NOPRECOMP
#include <MacHeaders.h>
diff --git a/externals/grill/flext/source/flcwpd-x.h b/externals/grill/flext/source/flcwpd-x.h
index 3d7256f1..3a5087ae 100755
--- a/externals/grill/flext/source/flcwpd-x.h
+++ b/externals/grill/flext/source/flcwpd-x.h
@@ -18,6 +18,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#endif
#define FLEXT_SYS 2
+#define FLEXT_USE_SIMD
#define TARGET_API_MAC_CARBON 1
#define _POSIX_C_SOURCE
diff --git a/externals/grill/flext/source/flext.h b/externals/grill/flext/source/flext.h
index 34f80ab3..7472e4a1 100644
--- a/externals/grill/flext/source/flext.h
+++ b/externals/grill/flext/source/flext.h
@@ -26,7 +26,7 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#define FLEXT_VERSION 404
//! \brief flext version string
-#define FLEXT_VERSTR "0.4.4pre"
+#define FLEXT_VERSTR "0.4.4"
//! @}
diff --git a/externals/grill/flext/source/flsimd.cpp b/externals/grill/flext/source/flsimd.cpp
index bebf3d97..9786e4e7 100755
--- a/externals/grill/flext/source/flsimd.cpp
+++ b/externals/grill/flext/source/flsimd.cpp
@@ -35,8 +35,14 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include <xmmintrin.h> // SSE
#include <emmintrin.h> // SSE2
#include <mm3dnow.h> // 3DNow!
+// #elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__MWERKS__)
+// #include <Altivec.h>
#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__MWERKS__)
- #include "Altivec.h"
+ #include <vBasicOps.h>
+ #include <vectorOps.h>
+ #elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__GNUG__)
+ #include <vecLib/vBasicOps.h>
+ #include <vecLib/vectorOps.h>
#endif
#endif // FLEXT_USE_SIMD
@@ -345,6 +351,14 @@ void flext::CopySamples(t_sample *dst,const t_sample *src,int cnt)
#else
#error t_sample data type has illegal size
#endif
+#elif FLEXT_OS == FLEXT_OS_MAC && defined(__VEC__) && defined(__VECTOROPS__)
+ {
+ int n = cnt>>2,n4 = n<<2;
+ cnt -= n4;
+ vScopy(n4,src,dst);
+ src += n4,dst += n4;
+ while(cnt--) *(dst++) = *(src++);
+ }
#endif // _MSC_VER
#endif // FLEXT_USE_SIMD
{