aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flout.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2005-09-26 13:59:34 +0000
committerThomas Grill <xovo@users.sourceforge.net>2005-09-26 13:59:34 +0000
commit0f849641afd27b4e7c9326fbcd402105fd62ced0 (patch)
tree6f825a8f7a0e0520797f788a6be4f1274d4225d1 /externals/grill/flext/source/flout.cpp
parent2b91966061ead3c4aa260033e95cfc4adb396496 (diff)
- 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
Diffstat (limited to 'externals/grill/flext/source/flout.cpp')
-rw-r--r--externals/grill/flext/source/flout.cpp46
1 files changed, 22 insertions, 24 deletions
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