comparison audioio/AudioPortAudioTarget.cpp @ 96:76fa8f657038

* Fix some v18/V18 inconsistencies
author Chris Cannam
date Sat, 27 Jan 2007 22:15:34 +0000
parents 5828afd1d229
children 77267127a8ce
comparison
equal deleted inserted replaced
95:2678a1f132d2 96:76fa8f657038
32 m_latency(0) 32 m_latency(0)
33 { 33 {
34 PaError err; 34 PaError err;
35 35
36 #ifdef DEBUG_AUDIO_PORT_AUDIO_TARGET 36 #ifdef DEBUG_AUDIO_PORT_AUDIO_TARGET
37 #ifdef HAVE_PORTAUDIO_v18 37 #ifdef HAVE_PORTAUDIO_V18
38 std::cerr << "AudioPortAudioTarget: Initialising for PortAudio v18" << std::endl; 38 std::cerr << "AudioPortAudioTarget: Initialising for PortAudio v18" << std::endl;
39 #else 39 #else
40 std::cerr << "AudioPortAudioTarget: Initialising for PortAudio v19" << std::endl; 40 std::cerr << "AudioPortAudioTarget: Initialising for PortAudio v19" << std::endl;
41 #endif 41 #endif
42 #endif 42 #endif
51 m_sampleRate = 44100; 51 m_sampleRate = 44100;
52 if (m_source && (m_source->getSourceSampleRate() != 0)) { 52 if (m_source && (m_source->getSourceSampleRate() != 0)) {
53 m_sampleRate = m_source->getSourceSampleRate(); 53 m_sampleRate = m_source->getSourceSampleRate();
54 } 54 }
55 55
56 #ifdef HAVE_PORTAUDIO_v18 56 #ifdef HAVE_PORTAUDIO_V18
57 m_latency = Pa_GetMinNumBuffers(m_bufferSize, m_sampleRate) * m_bufferSize; 57 m_latency = Pa_GetMinNumBuffers(m_bufferSize, m_sampleRate) * m_bufferSize;
58 #endif 58 #endif
59 59
60 #ifdef HAVE_PORTAUDIO_v18 60 #ifdef HAVE_PORTAUDIO_V18
61 err = Pa_OpenDefaultStream(&m_stream, 0, 2, paFloat32, 61 err = Pa_OpenDefaultStream(&m_stream, 0, 2, paFloat32,
62 m_sampleRate, m_bufferSize, 0, 62 m_sampleRate, m_bufferSize, 0,
63 processStatic, this); 63 processStatic, this);
64 #else 64 #else
65 err = Pa_OpenDefaultStream(&m_stream, 0, 2, paFloat32, 65 err = Pa_OpenDefaultStream(&m_stream, 0, 2, paFloat32,
72 m_stream = 0; 72 m_stream = 0;
73 Pa_Terminate(); 73 Pa_Terminate();
74 return; 74 return;
75 } 75 }
76 76
77 #ifndef HAVE_PORTAUDIO_v18 77 #ifndef HAVE_PORTAUDIO_V18
78 const PaStreamInfo *info = Pa_GetStreamInfo(m_stream); 78 const PaStreamInfo *info = Pa_GetStreamInfo(m_stream);
79 m_latency = int(info->outputLatency * m_sampleRate + 0.001); 79 m_latency = int(info->outputLatency * m_sampleRate + 0.001);
80 #endif 80 #endif
81 81
82 std::cerr << "PortAudio latency = " << m_latency << " frames" << std::endl; 82 std::cerr << "PortAudio latency = " << m_latency << " frames" << std::endl;
122 AudioPortAudioTarget::isOK() const 122 AudioPortAudioTarget::isOK() const
123 { 123 {
124 return (m_stream != 0); 124 return (m_stream != 0);
125 } 125 }
126 126
127 #ifdef HAVE_PORTAUDIO_v18 127 #ifdef HAVE_PORTAUDIO_V18
128 int 128 int
129 AudioPortAudioTarget::processStatic(void *input, void *output, 129 AudioPortAudioTarget::processStatic(void *input, void *output,
130 unsigned long nframes, 130 unsigned long nframes,
131 PaTimestamp outTime, void *data) 131 PaTimestamp outTime, void *data)
132 { 132 {
150 AudioPortAudioTarget::sourceModelReplaced() 150 AudioPortAudioTarget::sourceModelReplaced()
151 { 151 {
152 m_source->setTargetSampleRate(m_sampleRate); 152 m_source->setTargetSampleRate(m_sampleRate);
153 } 153 }
154 154
155 #ifdef HAVE_PORTAUDIO_v18 155 #ifdef HAVE_PORTAUDIO_V18
156 int 156 int
157 AudioPortAudioTarget::process(void *inputBuffer, void *outputBuffer, 157 AudioPortAudioTarget::process(void *inputBuffer, void *outputBuffer,
158 unsigned long nframes, 158 unsigned long nframes,
159 PaTimestamp) 159 PaTimestamp)
160 #else 160 #else