This is gen1.c in view mode; [Download] [Up]
#include <stdio.h> #include "../H/ugens.h" FILE *infile_desc[50]; /* contains file descriptors for data files */ gen1(gen) register struct gen *gen; { char inval[128]; double atof(); float val; int i = 0; FILE *in_desc; /* input datafile is stdin if pval[0] = 0 */ in_desc = (!gen->pvals[0]) ? stdin : infile_desc[(int)gen->pvals[0]]; if(in_desc == NULL) /* Stop if infile seek failed */ { fprintf(stderr,"No input. Gen01 exited.\n"); return; } /* read input file until <cr> or EOF found */ if(!gen->pvals[0]) /* if reading from stdin */ { while(fscanf(in_desc, "%f", &val) != EOF) { if(i < gen->size) gen->array[i] = val; i++; if(getc(in_desc) == 10) break; } } else /* if reading from input file specified with infile */ { while(fscanf(in_desc, "%s", inval) != EOF) { if(i < gen->size) gen->array[i] = atof(inval); i++; } } if(i > gen->size) fprintf(stderr,"Out of array space in gen01!!\n"); printf("%d values loaded into array.\n", (i<=gen->size)?i:gen->size); i--; while(++i < gen->size) /* fill remainder (if any) with zeros */ gen->array[i] = 0.0; fnscl(gen); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.