mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-30 08:08:39 -05:00
340 lines
7.7 KiB
HTML
340 lines
7.7 KiB
HTML
|
<!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>
|
||
|
|
||
|
<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> 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 <Devices.h> and <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>
|
||
|
<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> <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> </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>
|
||
|
sDevicePtrs now allocated based on sizeof(pointer). Was allocating
|
||
|
too much space.</li>
|
||
|
|
||
|
<li>
|
||
|
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>
|