From 0f849641afd27b4e7c9326fbcd402105fd62ced0 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Mon, 26 Sep 2005 13:59:34 +0000 Subject: - better handling of click callback bugfixes and optimizations, especially for DSP under Max/MSP - more compatible handling of attributes in patcher (hiding is now an option - define FLEXT_ATTRHIDE) svn path=/trunk/; revision=3636 --- externals/grill/flext/source/flout.cpp | 46 ++++++++++++++++------------------ 1 file changed, 22 insertions(+), 24 deletions(-) (limited to 'externals/grill/flext/source/flout.cpp') diff --git a/externals/grill/flext/source/flout.cpp b/externals/grill/flext/source/flout.cpp index 7f3130e8..d09b4e55 100644 --- a/externals/grill/flext/source/flout.cpp +++ b/externals/grill/flext/source/flout.cpp @@ -191,24 +191,25 @@ bool flext_base::InitInlets() error("%s: All signal inlets must be left-aligned",thisName()); ok = false; break; - case xlet_float: - inlets[ix] = NULL; - if(ix >= 10) { - post("%s: Only 9 float inlets possible",thisName()); - ok = false; - } - else - floatin(x_obj,ix); - break; - case xlet_int: - inlets[ix] = NULL; - if(ix >= 10) { - post("%s: Only 9 int inlets possible",thisName()); - ok = false; - } - else - intin(x_obj,ix); - break; + case xlet_float: { + if(ix < 10) { + inlets[ix] = NULL; + floatin(x_obj,ix); + break; + } + else + goto makeproxy; + } + case xlet_int: { + if(ix < 10) { + inlets[ix] = NULL; + intin(x_obj,ix); + break; + } + else + goto makeproxy; + } + makeproxy: case xlet_any: // non-leftmost case xlet_sym: case xlet_list: @@ -221,12 +222,9 @@ bool flext_base::InitInlets() } } } - -// incnt = cnt; - - if(insigs) - dsp_setup(thisHdr(),insigs); // signal inlets - } + + while(ix >= 0) inlets[ix--] = NULL; + } #else #error #endif -- cgit v1.2.1