Mercurial > hg > sonic-visualiser
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 |