This is setnote.c in view mode; [Download] [Up]
setnote(start,dur,fno) float start,dur; int fno; { int nsamps,offset; int i; if(fno >= fnums) { fprintf(stderr,"You haven't opened file %d yet!\n",fno); closesf(); } if(start > 0.) /* if start < 0 it indicates number of samples to skip*/ offset = start * SR * sfchans(&sfdesc[fno]) * sfclass(&sfdesc[fno]); else offset = -start * sfchans(&sfdesc[fno]) * sfclass(&sfdesc[fno]); /* if dur < 0, it indicates number of samples to play*/ offset = (offset % 2) ? offset+1 : offset; /*make sure its even*/ nsamps = (dur > 0.) ? (int)(dur * SR) : (int)-dur; if(!istape[fno]) { if((filepointer[fno] = sflseek(sfd[fno],offset,0)) == -1) { fprintf(stderr,"CMIX: bad lseek in setnot\n"); closesf(); } } pointer[fno] = 0; _readit(fno); /* read in first buffer */ for(i=0; i<(sfchans(&sfdesc[fno]) * FLOAT); i++) *(peak[fno] + i) = 0; wipe_is_off[fno] = 1; /* for wipeout */ starttime[fno] = (start<0) ? -start/SR : start; times(&clockin[fno]); /* read in starting time */ return(nsamps); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.