3 #include "../../pdbox.h"
6 #include "../src/m_pd.h"
7 #include <../src/m_fixed.h>
9 #define LOGTEN 2.302585092994
11 typedef struct dbtopow_tilde
17 t_class
*dbtopow_tilde_class
;
19 static void *dbtopow_tilde_new(void)
21 t_dbtopow_tilde
*x
= (t_dbtopow_tilde
*)pd_new(dbtopow_tilde_class
);
22 outlet_new(&x
->x_obj
, gensym("signal"));
27 static t_int
*dbtopow_tilde_perform(t_int
*w
)
29 float *in
= *(t_float
**)(w
+1), *out
= *(t_float
**)(w
+2);
30 t_int n
= *(t_int
*)(w
+3);
31 for (; n
--; in
++, out
++)
39 *out
= exp((LOGTEN
* 0.1) * (f
-100.));
45 static void dbtopow_tilde_dsp(t_dbtopow_tilde
*x
, t_signal
**sp
)
50 post("warning: %s not usable yet",__FUNCTION__
);
51 dsp_add(dbtopow_tilde_perform
, 3, sp
[0]->s_vec
, sp
[1]->s_vec
, sp
[0]->s_n
);
54 void dbtopow_tilde_setup(void)
56 dbtopow_tilde_class
= class_new(gensym("dbtopow~"), (t_newmethod
)dbtopow_tilde_new
, 0,
57 sizeof(t_dbtopow_tilde
), 0, 0);
58 CLASS_MAINSIGNALIN(dbtopow_tilde_class
, t_dbtopow_tilde
, x_f
);
59 class_addmethod(dbtopow_tilde_class
, (t_method
)dbtopow_tilde_dsp
, gensym("dsp"), 0);