This is dliget.c in view mode; [Download] [Up]
extern float SR;
float dliget(a,wait,l)
float *a,wait;
int *l;
{
/* get interpolated value from delay line, wait seconds old */
register im1;
float x = wait * SR;
register i = x;
float frac = x - i;
i = *l - i;
im1 = i - 1;
if(i <= 0) {
if(i < 0) i += *(l+1);
if(i < 0) return(0.);
if(im1 < 0) im1 += *(l+1);
}
return(*(a+i) + frac * (*(a+im1) - *(a+i)));
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.