Collection of tools useful for audio production
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
7.1KB

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