Hi Iohannes, hi Thomas,
i just realized that the message objects of the iem_t3_lib don't react
upon samplerate or blocksize changes although they should.
Attached is a patch that should fix that.
--
Thomas Grill
http://grrrr.org
? dsp.diff
? package.txt
? pd-msvc
Index: t3_bpe.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iemlib/src/iem_t3_lib/t3_bpe.c,v
retrieving revision 1.4
diff -w -u -r1.4 t3_bpe.c
--- t3_bpe.c 11 Apr 2006 16:24:09 -0000 1.4
+++ t3_bpe.c 22 Aug 2006 14:43:07 -0000
@@ -104,6 +104,11 @@
}
}
+static void t3_bpe_dsp(t_t3_bpe *x, t_signal **sp)
+{
+ x->x_ticks2ms = 1000.0*(double)sp[0]->s_n/(double)sp[0]->s_sr;
+}
+
static void t3_bpe_free(t_t3_bpe *x)
{
freebytes(x->x_beg, x->x_maxnum*sizeof(t_atom));
@@ -137,5 +142,6 @@
class_addmethod(t3_bpe_class, (t_method)t3_bpe_stop, gensym("stop"), 0);
class_addfloat(t3_bpe_class, (t_method)t3_bpe_float);
class_addlist(t3_bpe_class, (t_method)t3_bpe_list);
+ class_addmethod(t3_bpe_class, (t_method)t3_bpe_dsp, gensym("dsp"), 0);
class_sethelpsymbol(t3_bpe_class, gensym("iemhelp/help-t3_bpe"));
}
Index: t3_delay.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iemlib/src/iem_t3_lib/t3_delay.c,v
retrieving revision 1.4
diff -w -u -r1.4 t3_delay.c
--- t3_delay.c 11 Apr 2006 16:24:09 -0000 1.4
+++ t3_delay.c 22 Aug 2006 14:45:03 -0000
@@ -65,6 +65,11 @@
}
}
+static void t3_delay_dsp(t_t3_delay *x, t_signal **sp)
+{
+ x->x_ticks2ms = 1000.0*(double)sp[0]->s_n/(double)sp[0]->s_sr;
+}
+
static void t3_delay_free(t_t3_delay *x)
{
clock_free(x->x_clock);
@@ -92,5 +97,6 @@
gensym("ft1"), A_FLOAT, 0);
class_addfloat(t3_delay_class, (t_method)t3_delay_float);
class_addlist(t3_delay_class, (t_method)t3_delay_list);
+ class_addmethod(t3_delay_class, (t_method)t3_delay_dsp, gensym("dsp"), 0);
class_sethelpsymbol(t3_delay_class, gensym("iemhelp/help-t3_delay"));
}
Index: t3_metro.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iemlib/src/iem_t3_lib/t3_metro.c,v
retrieving revision 1.4
diff -w -u -r1.4 t3_metro.c
--- t3_metro.c 11 Apr 2006 16:24:09 -0000 1.4
+++ t3_metro.c 22 Aug 2006 14:37:13 -0000
@@ -83,6 +83,11 @@
}
}
+static void t3_metro_dsp(t_t3_metro *x, t_signal **sp)
+{
+ x->x_ticks2ms = 1000.0*(double)sp[0]->s_n/(double)sp[0]->s_sr;
+}
+
static void t3_metro_free(t_t3_metro *x)
{
clock_free(x->x_clock);
@@ -116,5 +121,6 @@
class_addmethod(t3_metro_class, (t_method)t3_metro_ft1, gensym("ft1"), A_FLOAT, 0);
class_addfloat(t3_metro_class, (t_method)t3_metro_float);
class_addlist(t3_metro_class, (t_method)t3_metro_list);
+ class_addmethod(t3_metro_class, (t_method)t3_metro_dsp, gensym("dsp"), 0);
class_sethelpsymbol(t3_metro_class, gensym("iemhelp/help-t3_metro"));
}