From 92f58fbb044342c79779e005ac75840a5fb38ed0 Mon Sep 17 00:00:00 2001
From: Ivica Ico Bukvic <ico@vt.edu>
Date: Thu, 28 Feb 2013 19:35:40 -0500
Subject: [PATCH] added ability for select object to recognize bang events

---
 pd/src/x_connective.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/pd/src/x_connective.c b/pd/src/x_connective.c
index fcc5bd3ba..2ca8ef53a 100644
--- a/pd/src/x_connective.c
+++ b/pd/src/x_connective.c
@@ -372,6 +372,11 @@ static void sel1_symbol(t_sel1 *x, t_symbol *s)
     else outlet_symbol(x->x_outlet2, s);
 }
 
+static void sel1_bang(t_sel1 *x)
+{
+	sel1_symbol(x, gensym("bang"));
+}
+
 static t_class *sel2_class;
 
 typedef struct _selectelement
@@ -422,6 +427,11 @@ static void sel2_symbol(t_sel2 *x, t_symbol *s)
     outlet_symbol(x->x_rejectout, s);
 }
 
+static void sel2_bang(t_sel2 *x)
+{
+	sel2_symbol(x, gensym("bang"));
+}
+
 static void sel2_free(t_sel2 *x)
 {
     freebytes(x->x_vec, x->x_nelement * sizeof(*x->x_vec));
@@ -489,11 +499,13 @@ void select_setup(void)
         sizeof(t_sel1), 0, 0);
     class_addfloat(sel1_class, sel1_float);
     class_addsymbol(sel1_class, sel1_symbol);
+    class_addbang(sel1_class, sel1_bang);
 
     sel2_class = class_new(gensym("select"), 0, (t_method)sel2_free,
         sizeof(t_sel2), 0, 0);
     class_addfloat(sel2_class, sel2_float);
     class_addsymbol(sel2_class, sel2_symbol);
+	class_addbang(sel2_class, sel2_bang);
 
     class_addcreator((t_newmethod)select_new, gensym("select"),  A_GIMME, 0);
     class_addcreator((t_newmethod)select_new, gensym("sel"),  A_GIMME, 0);
-- 
GitLab