// OpenBSD // cc -O2 -Wall -I /usr/local/include -L /usr/local/lib -lportaudio pa_test.c // NetBSD (requires portaudio-devel) // cc -O2 -Wall -I /usr/pkg/include/portaudio2 -L /usr/pkg/lib/portaudio2 -lportaudio pa_test.c // LD_LIBRARY_PATH=/usr/pkg/lib/portaudio2 ./a.out #include #include #include int main(int argc, char *argv[]) { int i; PaError err; PaHostApiIndex hostix; const PaHostApiInfo *hostinfo; PaDeviceIndex devix; const PaDeviceInfo *devinfo; err = Pa_Initialize(); if (err < 0) { printf("Pa_Initialize %s\n", Pa_GetErrorText(err)); goto fin0; } hostix = Pa_GetHostApiCount(); if (hostix < 0) { printf("Pa_GetHostApiCount %s\n", Pa_GetErrorText(hostix)); goto fin1; } for (i = 0; i < hostix; i++) { hostinfo = Pa_GetHostApiInfo(i); if (hostinfo == NULL) break; printf("PaHostApiIndex %d\n", i); printf("PaHostApiInfo.structVersion %d\n", hostinfo->structVersion); printf("PaHostApiInfo.type %d\n", hostinfo->type); printf("PaHostApiInfo.name %s\n", hostinfo->name); printf("PaHostApiInfo.deviceCount %d\n", hostinfo->deviceCount); printf("PaHostApiInfo.defaultInputDevice %d\n", hostinfo->defaultInputDevice); printf("PaHostApiInfo.defaultOutputDevice %d\n", hostinfo->defaultOutputDevice); } devix = Pa_GetDeviceCount(); if (devix < 0) { printf("Pa_GetDeviceCount %s\n", Pa_GetErrorText(devix)); goto fin1; } for (i = 0; i < devix; i++) { devinfo = Pa_GetDeviceInfo(i); if (devinfo == NULL) break; printf("PaDeviceIndex %d\n", i); printf("PaDeviceInfo.name %s\n", devinfo->name); printf("PaDeviceInfo.hostApi %d\n", devinfo->hostApi); printf("PaDeviceInfo.maxInputChannels %d\n", devinfo->maxInputChannels); printf("PaDeviceInfo.maxOutputChannels %d\n", devinfo->maxOutputChannels); printf("PaDeviceInfo.defaultLowInputLatency %f\n", devinfo->defaultLowInputLatency); printf("PaDeviceInfo.defaultHighInputLatency %f\n", devinfo->defaultHighInputLatency); printf("PaDeviceInfo.defaultLowOutputLatency %f\n", devinfo->defaultLowOutputLatency); printf("PaDeviceInfo.defaultHighOutputLatency %f\n", devinfo->defaultHighOutputLatency); printf("PaDeviceInfo.defaultSampleRate %f\n", devinfo->defaultSampleRate); } fin1: err = Pa_Terminate(); if (err < 0) { printf("Pa_Terminate %s\n", Pa_GetErrorText(err)); } fin0: return 0; }