aboutsummaryrefslogtreecommitdiff
path: root/src/block_delay~.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/block_delay~.c')
-rw-r--r--src/block_delay~.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/block_delay~.c b/src/block_delay~.c
index 78e2ea1..f4bc876 100644
--- a/src/block_delay~.c
+++ b/src/block_delay~.c
@@ -1,30 +1,31 @@
/* For information on usage and redistribution, and for a DISCLAIMER OF ALL
* WARRANTIES, see the file, "LICENSE.txt," in this distribution.
-iem_delay written by Thomas Musil (c) IEM KUG Graz Austria 2002 - 2006 */
+iem_delay written by Thomas Musil (c) IEM KUG Graz Austria 2002 - 2011 */
#include "m_pd.h"
#include "iemlib.h"
#include "iem_delay.h"
/* -------------------------- block_delay~ ------------------------------ */
+/* ----------------- delys a signal by blocksize samples ---------------- */
static t_class *block_delay_tilde_class;
typedef struct _block_delay_tilde
{
t_object x_obj;
- t_float *x_begmem;
+ t_sample *x_begmem;
int x_blocksize;
- t_float x_msi;
+ t_float x_scalar_sig_in;
} t_block_delay_tilde;
static t_int *block_delay_tilde_perform(t_int *w)
{
- t_float *in = (float *)(w[1]);
- t_float *out = (float *)(w[2]);
+ t_sample *in = (float *)(w[1]);
+ t_sample *out = (float *)(w[2]);
t_block_delay_tilde *x = (t_block_delay_tilde *)(w[3]);
int i, n = (t_int)(w[4]);
- t_float *rw_vec, f;
+ t_sample *rw_vec, f;
rw_vec = x->x_begmem;
for(i=0; i<n; i++)
@@ -38,11 +39,11 @@ static t_int *block_delay_tilde_perform(t_int *w)
static t_int *block_delay_tilde_perf8(t_int *w)
{
- t_float *in = (float *)(w[1]);
- t_float *out = (float *)(w[2]);
+ t_sample *in = (float *)(w[1]);
+ t_sample *out = (float *)(w[2]);
t_block_delay_tilde *x = (t_block_delay_tilde *)(w[3]);
int i, n = (t_int)(w[4]);
- t_float *rw_vec, f[8];
+ t_sample *rw_vec, f[8];
rw_vec = x->x_begmem;
while(n)
@@ -87,9 +88,9 @@ static void block_delay_tilde_dsp(t_block_delay_tilde *x, t_signal **sp)
int n = sp[0]->s_n;
if(!x->x_blocksize)/*first time*/
- x->x_begmem = (t_float *)getbytes(n * sizeof(t_float));
+ x->x_begmem = (t_sample *)getbytes(n * sizeof(t_sample));
else if(x->x_blocksize != n)
- x->x_begmem = (t_float *)resizebytes(x->x_begmem, x->x_blocksize*sizeof(t_float), n*sizeof(t_float));
+ x->x_begmem = (t_sample *)resizebytes(x->x_begmem, x->x_blocksize*sizeof(t_sample), n*sizeof(t_sample));
x->x_blocksize = n;
if(n&7)
dsp_add(block_delay_tilde_perform, 4, sp[0]->s_vec, sp[1]->s_vec, x, sp[0]->s_n);
@@ -102,23 +103,22 @@ static void *block_delay_tilde_new(void)
t_block_delay_tilde *x = (t_block_delay_tilde *)pd_new(block_delay_tilde_class);
x->x_blocksize = 0;
- x->x_begmem = (t_float *)0;
+ x->x_begmem = (t_sample *)0;
outlet_new(&x->x_obj, &s_signal);
- x->x_msi = 0.0f;
+ x->x_scalar_sig_in = (t_float)0.0;
return (x);
}
static void block_delay_tilde_free(t_block_delay_tilde *x)
{
if(x->x_begmem)
- freebytes(x->x_begmem, x->x_blocksize * sizeof(t_float));
+ freebytes(x->x_begmem, x->x_blocksize * sizeof(t_sample));
}
void block_delay_tilde_setup(void)
{
block_delay_tilde_class = class_new(gensym("block_delay~"), (t_newmethod)block_delay_tilde_new, (t_method)block_delay_tilde_free,
sizeof(t_block_delay_tilde), 0, 0);
- CLASS_MAINSIGNALIN(block_delay_tilde_class, t_block_delay_tilde, x_msi);
+ CLASS_MAINSIGNALIN(block_delay_tilde_class, t_block_delay_tilde, x_scalar_sig_in);
class_addmethod(block_delay_tilde_class, (t_method)block_delay_tilde_dsp, gensym("dsp"), 0);
-// class_sethelpsymbol(block_delay_tilde_class, gensym("iemhelp2/block_delay~-help"));
}