once again, here's the right one.....
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.
greetings,
Thomas
--
Thomas Grill
http://grrrr.org
? dsp.diff
? package.txt
? pd-msvc
Index: iem_t3_lib.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iemlib/src/iem_t3_lib/iem_t3_lib.c,v
retrieving revision 1.4
diff -u -w -r1.4 iem_t3_lib.c
--- iem_t3_lib.c 11 Apr 2006 16:24:09 -0000 1.4
+++ iem_t3_lib.c 22 Aug 2006 14:59:06 -0000
@@ -49,6 +49,9 @@
/* ------------------------ setup routine ------------------------- */
+#ifdef _MSC_VER
+__declspec(dllexport)
+#endif
void iem_t3_lib_setup(void)
{
iem_t3_lib_class = class_new(gensym("iem_t3_lib"), iem_t3_lib_new, 0,
Index: t3_bpe.c
===================================================================
RCS file: /cvsroot/pure-data/externals/iemlib/src/iem_t3_lib/t3_bpe.c,v
retrieving revision 1.4
diff -u -w -r1.4 t3_bpe.c
--- t3_bpe.c 11 Apr 2006 16:24:09 -0000 1.4
+++ t3_bpe.c 22 Aug 2006 15:06:15 -0000
@@ -104,6 +104,11 @@
}
}
+static void t3_bpe_dsp(t_t3_bpe *x, t_signal **sp)
+{
+ x->x_ticks2ms = 1000.0*(double)sys_getblksize()/(double)sys_getsr();
+}
+
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 -u -w -r1.4 t3_delay.c
--- t3_delay.c 11 Apr 2006 16:24:09 -0000 1.4
+++ t3_delay.c 22 Aug 2006 15:11:01 -0000
@@ -65,6 +65,11 @@
}
}
+static void t3_delay_dsp(t_t3_delay *x, t_signal **sp)
+{
+ x->x_ticks2ms = 1000.0*(double)sys_getblksize()/(double)sys_getsr();
+}
+
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 -u -w -r1.4 t3_metro.c
--- t3_metro.c 11 Apr 2006 16:24:09 -0000 1.4
+++ t3_metro.c 22 Aug 2006 15:06:05 -0000
@@ -83,6 +83,11 @@
}
}
+static void t3_metro_dsp(t_t3_metro *x, t_signal **sp)
+{
+ x->x_ticks2ms = 1000.0*(double)sys_getblksize()/(double)sys_getsr();
+}
+
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"));
}