ftp.nice.ch/pub/next/unix/audio/cmusic.bs.N.tar.gz#/src/pvdsp/shiftout.c

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

#include "pv.h"

/*
 * if output time n >= 0, output first I samples in
 * array A of length N, then shift A left by I samples,
 * padding with zeros after last sample
 */
void shiftout( float A[], int N, int I, int n ) {
 int i ;
 short sample ;
    if ( n >= 0 )
	for ( i = 0 ; i < I ; i ++ ) {
	    sample = A[i]*32767. ;
	    fwrite( &sample, sizeof(short), 1, stdout ) ;
	}
    for ( i = 0 ; i < N - I ; i++ )
	A[i] = A[i+I] ;
    for ( i = N - I ; i < N ; i++ )
	A[i] = 0. ;
}

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