aboutsummaryrefslogtreecommitdiff
path: root/pd/portaudio/docs/releases.html
blob: aec80a1cb94ae95d03b9a3a6089e44a75db07462 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="GENERATOR" content="Mozilla/4.79 [en] (Windows NT 5.0; U) [Netscape]">
   <meta name="Author" content="Phil Burk">
   <meta name="Description" content="PortAudio is a cross platform, open-source, audio I/O library.It provides a very simple API for recording and/or playing sound using a simple callback function.">
   <meta name="KeyWords" content="audio, library, portable, open-source, DirectSound,sound, music, JSyn, synthesis,">
   <title>PortAudio Release Notes</title>
</head>
<body>
&nbsp;
<center><table COLS=1 WIDTH="100%" BGCOLOR="#FADA7A" >
<tr>
<td>
<center>
<h1>
PortAudio - Release Notes</h1></center>
</td>
</tr>
</table></center>

<p>Link to <a href="http://www.portaudio.com">PortAudio Home Page</a>
<h2>
<b>V18 - 5/6/02</b></h2>

<blockquote>All source code and documentation now under <a href="http://www.portaudio.com/usingcvs.html">CVS</a>.
<p>Ran most of the code through <a href="http://astyle.sourceforge.net/">AStyle</a>
to cleanup ragged indentation caused by using different editors. Used this
command:
<br><tt>&nbsp;&nbsp; astyle --style=ansi -c -o --convert-tabs --indent-preprocessor
*.c</tt></blockquote>

<blockquote>Added "pa_common/pa_convert.c" for Mac OS X. Start of new conversion
utilities.
<p><b>ASIO</b>
<ul>
<li>
New Pa_ASIO_Adaptor_Init function to init Callback adpatation variables,</li>

<li>
Cleanup of Pa_ASIO_Callback_Input</li>

<li>
Break apart device loading to debug random failure in Pa_ASIO_QueryDeviceInfo</li>

<li>
Deallocate all resources in PaHost_Term for cases where Pa_CloseStream
is not called properly</li>

<li>
New Pa_ASIO_loadDriver that calls CoInitialize on each thread on Windows.
Allows use by multiple threads.</li>

<li>
Correct error code management in PaHost_Term, removed various compiler
warning</li>

<li>
Add Mac includes for &lt;Devices.h> and &lt;Timer.h></li>

<li>
Pa_ASIO_QueryDeviceInfo bug correction, memory allocation checking, better
error handling</li>
</ul>
<b>Mac OS X</b>
<ul>
<li>
Major cleanup and improvements.</li>

<li>
Fixed device queries for numChannels and sampleRates,</li>

<li>
Audio input works if using same CoreAudio device (some HW devices make
separate CoreAudio devices).</li>

<li>
Added paInt16, paInt8, format using new "pa_common/pa_convert.c" file.</li>

<li>
Return error if opened in mono mode cuz not supported.</li>

<li>
Check for getenv("PA_MIN_LATEWNCY_MSEC") to set latency externally.</li>

<li>
Use getrusage() instead of gettimeofday() for CPU Load calculation.</li>
</ul>
<b>Windows MME</b>
<ul>
<li>
Fixed bug that caused TIMEOUT in Pa_StopStream(). Added check for past_StopSoon()
in Pa_TimeSlice(). Thanks Julien Maillard.</li>

<li>
Detect Win XP versus NT, use lower latency.</li>

<li>
Fix DBUG typo;</li>

<li>
removed init of CurrentCount which was not compiling on Borland</li>

<li>
general cleanup, factored streamData alloc and cpu usage initialization</li>

<li>
stopped counting WAVE_MAPPER when there were no audio cards plugged in</li>
</ul>
<b>Windows DirectSound</b>
<ul>
<li>
Detect Win XP and Win 2K properly when determining latency.</li>
</ul>
<b>Unix OSS</b>
<ul>
<li>
Use high real-time priority if app is running with root priveledges. Lowers
latency.</li>

<li>
Added watch dog thread that prevents real-time thread from hogging CPU
and hanging the computer.</li>

<li>
Check error return from read() and write().</li>

<li>
Check CPU endianness instead of assuming Little Endian.</li>
</ul>
</blockquote>

<h2>
<b>V17 - 10/15/01</b></h2>

<blockquote><b>Unix OSS</b>
<ul>
<li>
Set num channels back to two after device query for ALSA. This fixed a
bug in V16 that sometimes caused a failure when querying for the sample
rates. Thanks Stweart Greenhill.</li>
</ul>
</blockquote>

<blockquote>
<h4>
<b>Macintosh Sound Manager</b></h4>

<ul>
<li>
Use NewSndCallBackUPP() for CARBON compatibility.</li>
</ul>
</blockquote>

<h2>
<b>V16 - 9/27/01</b></h2>

<blockquote><b>Added Alpha implementations for ASIO, SGI, and BeOS!</b>
<br>&nbsp;
<li>
CPULoad is now calculated based on the time spent to generate a known number
of frames. This is more accurate than a simple percentage of real-time.
Implemented in pa_unix_oss, pa_win_wmme and pa_win_ds.</li>

<li>
Fix dither and shift for recording PaUInt8 format data.</li>

<li>
Added "patest_maxsines.c" which tests <tt>Pa_GetCPULoad().</tt></li>
</blockquote>

<blockquote>
<h4>
Windows WMME</h4>

<ul>
<li>
sDevicePtrs now allocated using <tt>GlobalAlloc()</tt>. This prevents a
crash in Pa_Terminate() on Win2000. Thanks Mike Berry for finding this.
Thanks Mike Berry.</li>

<li>
Pass process instead of thread to <tt>SetPriorityClass</tt>(). This fixes
a bug that caused the priority to not be increased. Thanks to Alberto di
Bene for spotting this.</li>
</ul>

<h4>
Windows DirectSound</h4>

<ul>
<li>
Casts for compiling with __MWERKS__ CodeWarrior.</li>
</ul>

<h4>
UNIX OSS</h4>

<ul>
<li>
Derived from Linux OSS implementation.</li>

<li>
Numerous patches from Heiko Purnhagen, Stephen Brandon, etc.</li>

<li>
Improved query mechanism which often bailed out unnecessarily.</li>

<li>
Removed sNumDevices and potential related bugs,</li>

<li>
Use <tt>getenv("PA_MIN_LATENCY_MSEC")</tt> in code to set desired latency.
User can set by entering:</li>

<br>&nbsp;&nbsp;&nbsp; <tt>export PA_MIN_LATENCY_MSEC=40</tt></ul>

<h4>
Macintosh Sound Manager</h4>

<ul>
<li>
Pass unused event to WaitNextEvent instead of NULL to prevent Mac OSX crash.
Thanks Dominic Mazzoni.</li>

<li>
Use requested number of input channels.</li>

<br>&nbsp;</ul>
</blockquote>

<h2>
<b>V15 - 5/29/01</b></h2>

<blockquote>
<ul>
<li>
<b>New Linux OSS Beta</b></li>
</ul>

<h4>
Windows WMME</h4>

<ul>
<li>
&nbsp;sDevicePtrs now allocated based on sizeof(pointer). Was allocating
too much space.</li>

<li>
&nbsp;Check for excessive numbers of channels. Some drivers reported bogus
numbers.</li>

<li>
Apply Mike Berry's changes for CodeWarrior on PC including condition including
of memory.h, and explicit typecasting on memory allocation.</li>
</ul>

<h4>
Macintosh Sound Manager</h4>

<ul>
<li>
ScanInputDevices was setting sDefaultOutputDeviceID instead of sDefaultInputDeviceID.</li>

<li>
Device Scan was crashing for anything other than siBadSoundInDevice, but
some Macs may return other errors! Caused failure to init on some G4s under
OS9.</li>

<li>
Fix TIMEOUT in record mode.</li>

<li>
Change CARBON_COMPATIBLE to TARGET_API_MAC_CARBON</li>
</ul>
</blockquote>

<h2>
<b>V14 - 2/6/01</b></h2>

<blockquote>
<ul>
<li>
Added implementation for Windows MultiMedia Extensions (WMME) by Ross and
Phil</li>

<li>
Changed Pa_StopStream() so that it waits for the buffers to drain.</li>

<li>
Added Pa_AbortStream() that stops immediately without waiting.</li>

<li>
Added new test: patest_stop.c to test above two mods.</li>

<li>
Fixed Pa_StreamTime() so that it returns current play position instead
of the write position. Added "patest_sync.c" to demo audio/video sync.</li>

<li>
Improved stability of Macintosh implementation. Added timeouts to prevent
hangs.</li>

<li>
Added Pa_GetSampleSize( PaSampleFormat format );</li>

<li>
Changes some "int"s to "long"s so that PA works properly on Macintosh which
often compiles using 16 bit ints.</li>

<li>
Added Implementation Guide</li>
</ul>
</blockquote>

<h2>
<b>V12 - 1/9/01</b></h2>

<blockquote>
<ul>
<li>
Mac now scans for and queries all devices. But it does not yet support
selecting any other than the default device.</li>

<li>
Blocking I/O calls renamed to separate them from the PortAudio API.</li>

<li>
Cleaned up indentation problems with tabs versus spaces.</li>

<li>
Now attempts to correct bogus sample rate info returned from DirectSound
device queries.</li>
</ul>
</blockquote>

</body>
</html>