aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--externals/grill/flext/readme.txt1
-rw-r--r--externals/grill/flext/source/fldsp.cpp6
-rw-r--r--externals/grill/flext/source/flout.cpp4
3 files changed, 9 insertions, 2 deletions
diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt
index 5eb82d7c..8cbf4049 100644
--- a/externals/grill/flext/readme.txt
+++ b/externals/grill/flext/readme.txt
@@ -119,6 +119,7 @@ Version history:
- MaxMSP: added assist string for attribute outlets
- added new POSIX for ThrCond::TimedWait (but still have to find out when to enable it....)
- added CopySamples and ZeroSamples
+- fixed bug for DSP object with zero signal inlets in PD
0.4.1:
- full port for Max@OSX
diff --git a/externals/grill/flext/source/fldsp.cpp b/externals/grill/flext/source/fldsp.cpp
index f6270261..64051008 100644
--- a/externals/grill/flext/source/fldsp.cpp
+++ b/externals/grill/flext/source/fldsp.cpp
@@ -134,6 +134,12 @@ void flext_dsp::cb_dsp(t_class *c,t_signal **sp)
// store in and out signal vectors
int i,in = obj->CntInSig(),out = obj->CntOutSig();
+
+#if FLEXT_SYS == FLEXT_SYS_PD
+ // min. 1 input channel! (CLASS_MAININLET in pd...)
+ if(!in) in = 1;
+#endif
+
if(obj->invecs) delete[] obj->invecs;
obj->invecs = new t_signalvec[in];
for(i = 0; i < in; ++i)
diff --git a/externals/grill/flext/source/flout.cpp b/externals/grill/flext/source/flout.cpp
index 802d299d..75da3023 100644
--- a/externals/grill/flext/source/flout.cpp
+++ b/externals/grill/flext/source/flout.cpp
@@ -174,14 +174,14 @@ bool flext_base::InitInlets()
for(cnt = 0,ix = incnt-1; ix >= insigs; --ix,++cnt) {
if(ix == 0) {
if(list[ix] != xlet::tp_any) {
- error("%s: Leftmost inlet must be of type signal or default",thisName());
+ error("%s: Leftmost inlet must be of type signal or anything",thisName());
ok = false;
}
}
else {
switch(list[ix]) {
case xlet::tp_sig:
- error("%s: All signal inlets must be at the left side",thisName());
+ error("%s: All signal inlets must be left-aligned",thisName());
ok = false;
break;
case xlet::tp_float: