From c95d80b90941227caaca5136c61c950ca4818836 Mon Sep 17 00:00:00 2001 From: Paul Brossier Date: Tue, 20 Sep 2016 22:25:39 +0200 Subject: [PATCH] src/aubioshift~.c: add method as 2nd argument --- src/aubioshift~.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/aubioshift~.c b/src/aubioshift~.c index 2c5af66..59030d4 100644 --- a/src/aubioshift~.c +++ b/src/aubioshift~.c @@ -64,19 +64,22 @@ static void aubioshift_tilde_debug(t_aubioshift_tilde *x) x->hopsize, 1000.*latency/(float)sys_getsr(), latency, x->transpose); } -static void *aubioshift_tilde_new (t_floatarg f) +static void *aubioshift_tilde_new (t_floatarg f, t_symbol *s) { t_aubioshift_tilde *x = (t_aubioshift_tilde *)pd_new(aubioshift_tilde_class); + if (strcmp(s->s_name, "") == 0) s->s_name = "default"; + x->transpose = (f < -23.9999) ? -23.9999 : (f > 24.) ? 24. : f; x->hopsize = sys_getblksize(); x->input = (fvec_t *)new_fvec(x->hopsize); x->output = (fvec_t *)new_fvec(x->hopsize); - x->pitchshift = (aubio_pitchshift_t *)new_aubio_pitchshift("default", 1., + x->pitchshift = (aubio_pitchshift_t *)new_aubio_pitchshift(s->s_name, 1., x->hopsize, (uint_t)sys_getsr()); + if (x->pitchshift == NULL) return NULL; aubio_pitchshift_set_transpose(x->pitchshift, x->transpose); floatinlet_new (&x->x_obj, &x->transpose); @@ -89,7 +92,7 @@ void aubioshift_tilde_setup (void) aubioshift_tilde_class = class_new (gensym ("aubioshift~"), (t_newmethod)aubioshift_tilde_new, 0, sizeof (t_aubioshift_tilde), - CLASS_DEFAULT, A_DEFFLOAT, 0); + CLASS_DEFAULT, A_DEFFLOAT, A_DEFSYMBOL, 0); class_addmethod(aubioshift_tilde_class, (t_method)aubioshift_tilde_dsp, gensym("dsp"), 0); -- 2.11.0