This is fplot.c in view mode; [Download] [Up]
#include "../H/ugens.h"
#include "../H/sfheader.h"
#include <stdio.h>
#include <sys/file.h>
#include <sys/types.h>
extern SFHEADER sfdesc[NFILES];
fplot(p,n_args)
float *p;
int n_args;
{
float out[80],si,*f1,phase;
int i,k,j,len,wave;
static char line[80];
wave = p[0];
phase = 0;
len = fsize(wave);
si = (float) len/79.;
f1 = (float *) floc(wave);
for(i = 0; i < 80; i++) {
out[i] = oscil(1.,si,f1,len,&phase);
}
si = 1./11.;
phase = 1.;
for(i = 0; i < 23; i++) {
k = 0;
for(j = 0; j < 79; j++) {
if((out[j]>=phase) && (out[j]<phase+si)) {
line[j] = (out[j+1] > phase+si) ? '/' : '-';
if(out[j+1] < phase) line[j] = '\\';
k = j;
}
else if (((out[j]<phase)&&(out[j+1]>phase+si)) ||
((out[j]>phase+si)&&(out[j+1]<phase))) {
line[j] = '|';
k = j;
}
else line[j] = ' ';
}
if ((0>=phase) && (0<phase+si)) {
for(j = 0; j < 79; j++) line[j] = '-';
k = 78;
}
line[k+1] = '\0';
puts(line);
phase = phase - si;
}
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.