Update of /cvsroot/pure-data/pd/portaudio/pa_mac_core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8128/pd/portaudio/pa_mac_core
Modified Files: pa_mac_core.c Log Message: Bug fixes, notably for mac if no audio input device is available; also worked around a problem in ASIO support on MSW (but need to fix it better.)
Index: pa_mac_core.c =================================================================== RCS file: /cvsroot/pure-data/pd/portaudio/pa_mac_core/pa_mac_core.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** pa_mac_core.c 30 May 2005 03:04:10 -0000 1.9 --- pa_mac_core.c 15 Oct 2005 23:14:28 -0000 1.10 *************** *** 250,253 **** --- 250,259 ---- numChannels += buflist->mBuffers[i].mNumberChannels; } + + if (isInput) + deviceInfo->maxInputChannels = numChannels; + else + deviceInfo->maxOutputChannels = numChannels; + int frameLatency; propSize = sizeof(UInt32); *************** *** 256,265 **** double secondLatency = frameLatency / deviceInfo->defaultSampleRate; if (isInput) { - deviceInfo->maxInputChannels = numChannels; deviceInfo->defaultLowInputLatency = secondLatency; deviceInfo->defaultHighInputLatency = secondLatency; } else { - deviceInfo->maxOutputChannels = numChannels; deviceInfo->defaultLowOutputLatency = secondLatency; deviceInfo->defaultHighOutputLatency = secondLatency; --- 262,269 ---- *************** *** 662,667 **** clientData->inputSampleFormat = inputParameters->sampleFormat; err = SetUpUnidirectionalStream(stream->inputDevice, sampleRate, framesPerBuffer, 1); } - if (err == paNoError && outputParameters != NULL) { stream->outputDevice = macCoreHostApi->macCoreDeviceIds[outputParameters->device]; --- 666,671 ---- clientData->inputSampleFormat = inputParameters->sampleFormat; err = SetUpUnidirectionalStream(stream->inputDevice, sampleRate, framesPerBuffer, 1); + fprintf(stderr, "error %d (%d)\n", err, paNoError); } if (err == paNoError && outputParameters != NULL) { stream->outputDevice = macCoreHostApi->macCoreDeviceIds[outputParameters->device]; *************** *** 676,680 **** AudioDeviceID device = (inputParameters == NULL) ? stream->outputDevice : stream->inputDevice;
! AudioDeviceAddIOProc(device, AudioIOProc, clientData); } else { --- 680,686 ---- AudioDeviceID device = (inputParameters == NULL) ? stream->outputDevice : stream->inputDevice;
! int e2 = AudioDeviceAddIOProc(device, AudioIOProc, clientData); ! fprintf(stderr, "AudioDeviceAddIOProc %d\n", e2); ! } else { *************** *** 890,892 ****
return result; ! } \ No newline at end of file --- 896,898 ----
return result; ! }