diff options
author | Guenter Geiger <ggeiger@users.sourceforge.net> | 2004-02-02 12:18:59 +0000 |
---|---|---|
committer | Guenter Geiger <ggeiger@users.sourceforge.net> | 2004-02-02 12:18:59 +0000 |
commit | 2e416ee0095f1bf608f849f156d564e0f45fb8ab (patch) | |
tree | 9e4881e81953b434b91dbd35218d78f05b27e82e /pd/portaudio/pa_tests/debug_test1.c | |
parent | ae6b5d89ea93b95c2990895077cf5e8f0bba9ad9 (diff) |
merged in version_0_37_1test6
svn path=/trunk/; revision=1305
Diffstat (limited to 'pd/portaudio/pa_tests/debug_test1.c')
-rw-r--r-- | pd/portaudio/pa_tests/debug_test1.c | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/pd/portaudio/pa_tests/debug_test1.c b/pd/portaudio/pa_tests/debug_test1.c deleted file mode 100644 index 05370b00..00000000 --- a/pd/portaudio/pa_tests/debug_test1.c +++ /dev/null @@ -1,114 +0,0 @@ -/* - * $Id: debug_test1.c,v 1.1.1.1 2003-05-09 16:03:56 ggeiger Exp $ - patest1.c - Ring modulate the audio input with a 441hz sine wave for 20 seconds - using the Portable Audio api - Author: Ross Bencina <rossb@audiomulch.com> - Modifications: - April 5th, 2001 - PLB - Check for NULL inputBuffer. -*/ -#include <stdio.h> -#include <math.h> -#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; i<bufferFrames; i++ ) - { - *out++ = *in++; - *out++ = *in++; - if( data->phase >= 100 ) - data->phase = 0; - } - data->sampsToGo -= bufferFrames; - /* zero remainder of final buffer if not already done */ - for( ; i<bufferFrames; i++ ) - { - *out++ = 0; /* left */ - *out++ = 0; /* right */ - } - return finished; -} -int main(int argc, char* argv[]); -int main(int argc, char* argv[]) -{ - PaStream *stream; - PaError err; - patest1data data; - int i; - int inputDevice = Pa_GetDefaultInputDeviceID(); - int outputDevice = Pa_GetDefaultOutputDeviceID(); - /* initialise sinusoidal wavetable */ - for( i=0; i<100; i++ ) - data.sine[i] = sin( ((double)i/100.) * M_PI * 2. ); - data.phase = 0; - data.sampsToGo = 44100 * 4; // 20 seconds - /* initialise portaudio subsytem */ - Pa_Initialize(); - err = Pa_OpenStream( - &stream, - inputDevice, - 2, /* stereo input */ - paFloat32, /* 32 bit floating point input */ - NULL, - outputDevice, - 2, /* stereo output */ - paFloat32, /* 32 bit floating point output */ - NULL, - 44100., - // 22050, /* half second buffers */ - // 4, /* four buffers */ - 512, /* half second buffers */ - 0, /* four buffers */ - paClipOff, /* we won't output out of range samples so don't bother clipping them */ - patest1Callback, - &data ); - if( err == paNoError ) - { - err = Pa_StartStream( stream ); - // printf( "Press any key to end.\n" ); - // getc( stdin ); //wait for input before exiting - // Pa_AbortStream( stream ); - - printf( "Waiting for stream to complete...\n" ); - - while( Pa_StreamActive( stream ) ) - Pa_Sleep(1000); /* sleep until playback has finished */ - - err = Pa_CloseStream( stream ); - } - else - { - fprintf( stderr, "An error occured while opening the portaudio stream\n" ); - if( err == paHostError ) - fprintf( stderr, "Host error number: %d\n", Pa_GetHostError() ); - else - fprintf( stderr, "Error number: %d\n", err ); - } - Pa_Terminate(); - printf( "bye\n" ); - - return 0; -} |