[PD-cvs] packages/patches bang_method_for_clip-0.40.pre.patch, NONE, 1.1

Hans-Christoph Steiner eighthave at users.sourceforge.net
Mon Feb 13 04:55:10 CET 2006


Update of /cvsroot/pure-data/packages/patches
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30576/patches

Added Files:
	bang_method_for_clip-0.40.pre.patch 
Log Message:

This should be the final Pd-0.38.4-extendedRC8 build, which should be the
release of Pd-0.38.4-extended.  A couple of minor changes:

- added liblist to the config files since [list] was backported to 0.38.4 in
  the form of liblist

- removed the MACOSX -> __APPLE__ regexp stuff since it was just for testing
  until Miller accepted those changes.

- tried to make the org.puredata.pd.plist file get installed with write
  permissions so that people can overwrite and change the default file after
  they install it.


--- NEW FILE: bang_method_for_clip-0.40.pre.patch ---
--- x_arithmetic.c	Sat Jan 28 10:06:59 2006
+++ x_arithmetic.c	Tue Feb  7 17:04:27 2006
@@ -672,23 +677,31 @@
     t_object x_ob;
     float x_f1;
     float x_f2;
+    float x_f3;
 } t_clip;
 
 static void *clip_new(t_floatarg f1, t_floatarg f2)
 {
     t_clip *x = (t_clip *)pd_new(clip_class);
-    floatinlet_new(&x->x_ob, &x->x_f1);
     floatinlet_new(&x->x_ob, &x->x_f2);
+    floatinlet_new(&x->x_ob, &x->x_f3);
     outlet_new(&x->x_ob, &s_float);
-    x->x_f1 = f1;
-    x->x_f2 = f2;
+    x->x_f2 = f1;
+    x->x_f3 = f2;
     return (x);
 }
 
+static void clip_bang(t_clip *x)
+{
+	outlet_float(x->x_ob.ob_outlet, (x->x_f1 < x->x_f2 ? x->x_f2 : (
+        x->x_f1 > x->x_f3 ? x->x_f3 : x->x_f1)));
+}
+
 static void clip_float(t_clip *x, t_float f)
 {
-    outlet_float(x->x_ob.ob_outlet, (f < x->x_f1 ? x->x_f1 : (
-        f > x->x_f2 ? x->x_f2 : f)));
+	x->x_f1 = f;
+	outlet_float(x->x_ob.ob_outlet, (x->x_f1 < x->x_f2 ? x->x_f2 : (
+        x->x_f1 > x->x_f3 ? x->x_f3 : x->x_f1)));
 }
 
 static void clip_setup(void)
@@ -696,6 +709,7 @@
     clip_class = class_new(gensym("clip"), (t_newmethod)clip_new, 0,
         sizeof(t_clip), 0, A_DEFFLOAT, A_DEFFLOAT, 0);
     class_addfloat(clip_class, clip_float);
+    class_addbang(clip_class, clip_bang);
 }
 
 void x_arithmetic_setup(void)





More information about the Pd-cvs mailing list