summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/PDa/intern/tabread4~.c
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2009-05-24 21:28:16 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2009-05-24 21:28:16 +0000
commit526b5580dabbfed7cfe5439dc3a90ec727f563c2 (patch)
tree22b1af92348785daad16714ee5e2b633017e0e48 /apps/plugins/pdbox/PDa/intern/tabread4~.c
parent4f2dfcc01b260d946044ef2b6af5fe36cb772c8d (diff)
downloadrockbox-526b5580dabbfed7cfe5439dc3a90ec727f563c2.zip
rockbox-526b5580dabbfed7cfe5439dc3a90ec727f563c2.tar.gz
rockbox-526b5580dabbfed7cfe5439dc3a90ec727f563c2.tar.bz2
rockbox-526b5580dabbfed7cfe5439dc3a90ec727f563c2.tar.xz
Cut the files in half and it might work better (note to self: check your tree is really clean before patching)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21070 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/pdbox/PDa/intern/tabread4~.c')
-rw-r--r--apps/plugins/pdbox/PDa/intern/tabread4~.c104
1 files changed, 0 insertions, 104 deletions
diff --git a/apps/plugins/pdbox/PDa/intern/tabread4~.c b/apps/plugins/pdbox/PDa/intern/tabread4~.c
index e530a9f..47a6fc3 100644
--- a/apps/plugins/pdbox/PDa/intern/tabread4~.c
+++ b/apps/plugins/pdbox/PDa/intern/tabread4~.c
@@ -104,107 +104,3 @@ void tabread4_tilde_setup(void)
gensym("set"), A_SYMBOL, 0);
}
-#include <m_pd.h>
-#include <m_fixed.h>
-
-
-static t_class *tabread4_tilde_class;
-
-typedef struct _tabread4_tilde
-{
- t_object x_obj;
- int x_npoints;
- t_sample *x_vec;
- t_symbol *x_arrayname;
- float x_f;
-} t_tabread4_tilde;
-
-static void *tabread4_tilde_new(t_symbol *s)
-{
- t_tabread4_tilde *x = (t_tabread4_tilde *)pd_new(tabread4_tilde_class);
- x->x_arrayname = s;
- x->x_vec = 0;
- outlet_new(&x->x_obj, gensym("signal"));
- x->x_f = 0;
- return (x);
-}
-
-static t_int *tabread4_tilde_perform(t_int *w)
-{
- t_tabread4_tilde *x = (t_tabread4_tilde *)(w[1]);
- t_sample *in = (t_sample *)(w[2]);
- t_sample *out = (t_sample *)(w[3]);
- int n = (int)(w[4]);
- int maxindex;
- t_sample *buf = x->x_vec, *fp;
- int i;
-
- maxindex = x->x_npoints - 3;
-
- if (!buf) goto zero;
-
- for (i = 0; i < n; i++)
- {
- t_time findex = ((long long) mult((*in++),ftofix(44.1)));
- int index = fixtoi(findex);
- t_sample frac;
- // post("%d: index %d f %lld",index,findex,*in);
-
- if (index < 1)
- index = 1, frac = 0;
- else if (index > maxindex)
- index = maxindex, frac = 1;
- else frac = findex - itofix(index);
- fp = buf + index;
- *out++ = fp[0] + mult(frac,fp[1]-fp[0]);
- }
- return (w+5);
- zero:
- while (n--) *out++ = 0;
-
- return (w+5);
-}
-
-void tabread4_tilde_set(t_tabread4_tilde *x, t_symbol *s)
-{
- t_garray *a;
-
- x->x_arrayname = s;
- if (!(a = (t_garray *)pd_findbyclass(x->x_arrayname, garray_class)))
- {
- if (*s->s_name)
- error("tabread4~: %s: no such array", x->x_arrayname->s_name);
- x->x_vec = 0;
- }
- else if (!garray_getfloatarray(a, &x->x_npoints, &x->x_vec))
- {
- error("%s: bad template for tabread4~", x->x_arrayname->s_name);
- x->x_vec = 0;
- }
- else garray_usedindsp(a);
-}
-
-static void tabread4_tilde_dsp(t_tabread4_tilde *x, t_signal **sp)
-{
- tabread4_tilde_set(x, x->x_arrayname);
-
- dsp_add(tabread4_tilde_perform, 4, x,
- sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);
-
-}
-
-static void tabread4_tilde_free(t_tabread4_tilde *x)
-{
-}
-
-void tabread4_tilde_setup(void)
-{
- tabread4_tilde_class = class_new(gensym("tabread4~"),
- (t_newmethod)tabread4_tilde_new, (t_method)tabread4_tilde_free,
- sizeof(t_tabread4_tilde), 0, A_DEFSYM, 0);
- CLASS_MAINSIGNALIN(tabread4_tilde_class, t_tabread4_tilde, x_f);
- class_addmethod(tabread4_tilde_class, (t_method)tabread4_tilde_dsp,
- gensym("dsp"), 0);
- class_addmethod(tabread4_tilde_class, (t_method)tabread4_tilde_set,
- gensym("set"), A_SYMBOL, 0);
-}