#include "../H/ugens.h" #include "../H/sfheader.h" extern int NBYTES; /* size of buffer to allocate */ extern int sfd[NFILES]; /* soundfile descriptors */ extern int pointer[NFILES]; /* to be used as pointer within sound buffer */ extern int bufsize[NFILES]; /* word length of buffer */ extern char *sndbuf[NFILES]; /* address of buffer */ extern double starttime[NFILES]; /* to save starting time of note */ extern long originalsize[NFILES]; /* to save byte length of file */ extern long filepointer[NFILES]; /* to save current pointer in file */ extern SFHEADER sfdesc[NFILES]; extern float SR; /* now declared here rather than in the profile */ xgetin(input,fno,size) register float *input; { register int i; register short *ibuf; register float *fbuf; register int todo,remains; int n; int len = bufsize[fno]; refill: todo = ((pointer[fno] + size) > len) ? len - pointer[fno] : size; if(sfclass(&sfdesc[fno]) == SHORT) for(i=0,ibuf = (short *)sndbuf[fno] + pointer[fno];i