/* * $Id: debug_test1.c,v 1.1 2006/06/10 21:30:56 dmazzoni Exp $ patest1.c Ring modulate the audio input with a 441hz sine wave for 20 seconds using the Portable Audio api Author: Ross Bencina Modifications: April 5th, 2001 - PLB - Check for NULL inputBuffer. */ #include #include #include "portaudio.h" #ifndef M_PI #define M_PI (3.14159265) #endif typedef struct { float sine[100]; int phase; int sampsToGo; } patest1data; static int patest1Callback( void *inputBuffer, void *outputBuffer, unsigned long bufferFrames, PaTimestamp outTime, void *userData ) { patest1data *data = (patest1data*)userData; float *in = (float*)inputBuffer; float *out = (float*)outputBuffer; int framesToCalc = bufferFrames; unsigned long i; int finished = 0; if(inputBuffer == NULL) return 0; if( data->sampsToGo < bufferFrames ) { finished = 1; } for( i=0; iphase >= 100 ) data->phase = 0; } data->sampsToGo -= bufferFrames; /* zero remainder of final buffer if not already done */ for( ; i