3 #include "../../pdbox.h"
6 #include "../src/m_pd.h"
7 #include <../src/m_fixed.h>
10 #define LOGTEN 2.302585092994
12 typedef struct dbtorms_tilde
18 t_class
*dbtorms_tilde_class
;
20 static void *dbtorms_tilde_new(void)
22 t_dbtorms_tilde
*x
= (t_dbtorms_tilde
*)pd_new(dbtorms_tilde_class
);
23 outlet_new(&x
->x_obj
, gensym("signal"));
28 static t_int
*dbtorms_tilde_perform(t_int
*w
)
30 float *in
= *(t_float
**)(w
+1), *out
= *(t_float
**)(w
+2);
31 t_int n
= *(t_int
*)(w
+3);
32 for (; n
--; in
++, out
++)
40 *out
= exp((LOGTEN
* 0.05) * (f
-100.));
46 static void dbtorms_tilde_dsp(t_dbtorms_tilde
*x
, t_signal
**sp
)
51 post("warning: %s not usable yet",__FUNCTION__
);
52 dsp_add(dbtorms_tilde_perform
, 3, sp
[0]->s_vec
, sp
[1]->s_vec
, sp
[0]->s_n
);
55 void dbtorms_tilde_setup(void)
57 dbtorms_tilde_class
= class_new(gensym("dbtorms~"), (t_newmethod
)dbtorms_tilde_new
, 0,
58 sizeof(t_dbtorms_tilde
), 0, 0);
59 CLASS_MAINSIGNALIN(dbtorms_tilde_class
, t_dbtorms_tilde
, x_f
);
60 class_addmethod(dbtorms_tilde_class
, (t_method
)dbtorms_tilde_dsp
, gensym("dsp"), 0);