ftp.nice.ch/pub/next/unix/audio/Cmix.N.s.tar.gz#/cmix/sys/gen24.c

This is gen24.c in view mode; [Download] [Up]

#include "../H/ugens.h"

gen24(gen)

register struct gen *gen;

{
	float scaler,amp2,amp1;
	int j,k,l;
	int i = 0;

	scaler = ((float) gen->size)/gen->pvals[gen->nargs-2];
	amp2 = gen->pvals[1];
	for(k = 1; k < gen->nargs; k += 2) {
		amp1 = amp2;
		amp2 = gen->pvals[k+2];
		j = i + 1;
		i = gen->pvals[k+1]*scaler + 1;
		for(l=j; l<=i; l++) {
			if(l <= gen->size)
				gen->array[l-1] = amp1 +
				(amp2-amp1) * (float)(l-j) / (i-j+1);
			}
		}
	fnscl(gen);
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.