Fix pdbox makefile to actually take part in dependency generation
[kugel-rb.git] / apps / plugins / pdbox / PDa / intern / dbtorms~.c
blob56dbe8b51126a33e76be3edf8cf3bb894ba559a6
1 #ifdef ROCKBOX
2 #include "plugin.h"
3 #include "../../pdbox.h"
4 #endif
6 #include "../src/m_pd.h"
7 #include <../src/m_fixed.h>
10 #define LOGTEN 2.302585092994
12 typedef struct dbtorms_tilde
14 t_object x_obj;
15 float x_f;
16 } t_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"));
24 x->x_f = 0;
25 return (x);
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++)
34 float f = *in;
35 if (f <= 0) *out = 0;
36 else
38 if (f > 485)
39 f = 485;
40 *out = exp((LOGTEN * 0.05) * (f-100.));
43 return (w + 4);
46 static void dbtorms_tilde_dsp(t_dbtorms_tilde *x, t_signal **sp)
48 #ifdef ROCKBOX
49 (void) x;
50 #endif
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);