Various changes in preparation for release 4.0.8
[rtaudio-cdist.git] / doc / release.txt
1 RtAudio - a set of C++ classes that provide a common API for realtime audio input/output across Linux (native ALSA, JACK, and OSS), Macintosh OS X (CoreAudio and JACK), and Windows (DirectSound and ASIO) operating systems.
2
3 By Gary P. Scavone, 2001-2011.
4
5 v4.0.8: (?? February 2011)
6 - fix for MinGW4 problem enumerating and setting sample rates
7
8
9 v4.0.7: (4 February 2010)
10 - revised Windows DS code and device enumeration to speed up device queries
11 - OS-X 10.6 updates for deprecated functions
12 - updates to Jack shutdown code to avoid lockup
13
14 v4.0.6: (3 June 2009)
15 - bug fix in ALSA code to set period size to power of two (thanks to Joakim Karrstrom)
16 - bug fix in OS-X for OS < 10.5 ... need preprocessor definition around new variable type (thanks to Tristan Matthews)
17
18 v4.0.5: (2 February 2009)
19 - added support in CoreAudio for arbitrary stream channel configurations
20 - added getStreamSampleRate() function because the actual sample rate can sometimes vary slightly from the specified one (thanks to Theo Veenker)
21 - added new StreamOptions flag "RTAUDIO_SCHEDULE_REALTIME" and attribute "priority" to StreamOptions (thanks to Theo Veenker)
22 - replaced usleep(50000) in callbackEvent() by a wait on condition variable which gets signaled in startStream() (thanks to Theo Veenker)
23 - fix for Jack API when user callback function signals stop or abort calls
24 - fix to way stream state is changed to avoid infinite loop problem
25 - fix to int<->float conversion in convertBuffer() (thanks to Theo Veenker)
26 - bug fix in byteSwapBuffer() (thanks to Stefan Muller Arisona and Theo Veenker)
27 - fixed a few gcc 4.4 errors in OS-X
28 - fixed bug in rtaudio-config script
29 - revised configure script and Makefile structures
30 - 64-bit fixes in ALSA API (thanks to Stefan Muller Arisona)
31 - fixed ASIO sample rate selection bug (thanks to Sasha Zheligovsky)
32
33 v4.0.4: (24 January 2008)
34 - added functionality to allow getDeviceInfo() to work in ALSA for an open device (like ASIO)
35 - fixes in configure script
36 - fixed clearing of error message stream in error()
37 - fixed RtAudio::DeviceInfo description in "probing" documentation
38 - memory leak fixes in ALSA and OSS
39 - Jack in/out port flag fix
40 - Windows changes for thread priority and GLOBALFOCUS
41
42 v4.0.3: (7 December 2007)
43 - added support for MinGW compiler to configure script
44 - a few MinGW-related changes to RtAudio.cpp
45 - renamed test program probe.cpp to audioprobe.cpp
46 - moved various header files into single "include" directory and updated VC++ project files
47
48 v4.0.2: (21 August 2007)
49 - fix to RtError::WARNING typo in RtAudio.h (RtApiDummy)
50 - removed "+1"s in RtApiCore c++ append when getting device name
51
52 v4.0.1: (13 August 2007)
53 - fix to RtError::WARNING typo in RtAudio.cpp
54
55 v4.0.0: (7 August 2007)
56 - new support for non-interleaved user data
57 - additional input/output parameter specifications, including channel offset
58 - new support for dynamic connection of devices
59 - new support for stream time
60 - revised callback arguments, including separate input and output buffer arguments
61 - revised C++ exception handling
62 - revised OSS support for version 4.0
63 - discontinued support of blocking functionality
64 - discontinued support of SGI
65 - Windows DirectSound API bug fix
66 - NetBSD support (using OSS API) by Emmanuel Dreyfus
67 - changed default pthread scheduling priority to SCHED_RR when defined in the system
68 - new getCompiledApi() static function
69 - new getCurrentApi(), getStreamTime(), getStreamLatency(), and isStreamRunning() functions
70 - modified RtAudioDeviceInfo structure to distinguish default input and output devices
71
72 v3.0.3: (18 November 2005)
73 - UNICODE fix for Windows DirectSound API
74 - MinGW compiler fix for ASIO API
75
76 v3.0.2: (14 October 2005)
77 - modification of ALSA read/write order to fix duplex under/overruns
78 - added synchronization of input/output devices for ALSA duplex operation
79 - cleaned up and improved error reporting throughout
80 - bug fix in Windows DirectSound support for 8-bit audio
81 - bug fix in Windows DirectSound support during device capture query
82 - added ASIOOutputReady() call near end of callbackEvent to fix some driver behavior
83 - added #include <stdio.h> to RtAudio.cpp
84 - fixed bug in RtApiCore for duplex operation with different I/O devices
85 - improvements to DirectX pointer chasing (by Robin Davies)
86 - backdoor RtDsStatistics hook provides DirectX performance information (by Robin Davies)
87 - bug fix for non-power-of-two Asio granularity used by Edirol PCR-A30 (by Robin Davies)
88 - auto-call CoInitialize for DSOUND and ASIO platforms (by Robin Davies)
89
90 v3.0.1: (22 March 2004)
91 - bug fix in Windows DirectSound support for cards with output only
92
93 v3.0: (11 March 2004)
94 - added Linux Jack audio server support
95 - new multi-api support by subclassing all apis and making rtaudio a controller class
96 - added over/underload check to Mac OS X support
97 - new scheme for blocking functionality in callback-based apis (CoreAudio, ASIO, and JACK)
98 - removed multiple stream support (all stream indentifier arguments removed)
99 - various style and name changes to conform with standard C++ practice
100
101 v2.1.1: (24 October 2002)
102 - bug fix in duplex for Mac OS X and Windows ASIO code
103 - duplex example change in tutorial 
104
105 v2.1: (7 October 2002)
106 - added Mac OS X CoreAudio support
107 - added Windows ASIO support
108 - API change to getDeviceInfo(): device argument must be an integer between 1 - getDeviceCount().
109 - "configure" support added for unix systems
110 - adopted MIT-like license
111 - various internal structural changes and bug fixes
112
113 v2.01: (27 April 2002)
114 - Windows destructor bug fix when no devices available
115 - RtAudioError class renamed to RtError
116 - Preprocessor definitions changed slightly (i.e. __LINUX_OSS_ to __LINUX_OSS__) to conform with new Synthesis ToolKit distribution
117
118 v2.0: (22 January 2002)
119 - first release of new independent class
120