| Chris@55 | 1 Note: Because PortAudioCpp is now in the main PortAudio SVN repository, having these per-release changelogs probably doesn't make much sense anymore. Perhaps it's better to just note mayor changes by date from now on. | 
| Chris@55 | 2 | 
| Chris@55 | 3 PortAudioCpp v19 revision 16 06/05/22: | 
| Chris@55 | 4 | 
| Chris@55 | 5 	mblaauw: | 
| Chris@55 | 6 	- Added up-to-date MSVC 6.0 projects created by David Moore. Besides MSVC 6.0 users, MSVC 7.0 users may use these projects and automatically convert them to MSVC 7.0 projects. | 
| Chris@55 | 7 	- Changed the code and projects (MSVC 7.1 only) to be up-to-date with PortAudio's new directory structure. | 
| Chris@55 | 8 	- Added equivalents of the PaAsio_GetInputChannelName() and PaAsio_GetOutputChannelName() functions to the AsioDeviceAdapter wrapper-class (missing functions pointed out by David Moore). | 
| Chris@55 | 9 	- Added code to PortAudio's main SVN repository. | 
| Chris@55 | 10 | 
| Chris@55 | 11 PortAudioCpp v19 revision 15 (unknown release date): | 
| Chris@55 | 12 | 
| Chris@55 | 13 	mblaauw: | 
| Chris@55 | 14 	- Changed some exception handling code in HostApi's constructor. | 
| Chris@55 | 15 	- Added accessors to PortAudio PaStream from PortAudioCpp Stream (their absense being pointed out | 
| Chris@55 | 16 	by Tom Jordan). | 
| Chris@55 | 17 	- Fixed a bug/typo in MemFunToCallbackInterfaceAdapter::init() thanks to Fredrik Viklund. | 
| Chris@55 | 18 	- Fixed issue with concrete Stream classes possibly throwing an exception and fixed documentation w.r.t. this. | 
| Chris@55 | 19 	- Moved files to portaudio/binding/cpp/. Made new msvc 7.1 projects to reflect the change and removed msvc 6.0 | 
| Chris@55 | 20 	and 7.0 projects (because I can no longer maintain them myself). Gnu projects will probably need updating. | 
| Chris@55 | 21 | 
| Chris@55 | 22 PortAudioCpp v19 revision 14 03/10/24: | 
| Chris@55 | 23 | 
| Chris@55 | 24 	mblaauw: | 
| Chris@55 | 25 	- Fixed some error handling bugs in Stream and System (pointed out by Tom Jordan). | 
| Chris@55 | 26 	- Updated documentation a little (main page). | 
| Chris@55 | 27 	- Fixed order of members so initializer list was in the right order in | 
| Chris@55 | 28 	StreamParameters (pointed out by Ludwig Schwardt). | 
| Chris@55 | 29 	- Added new lines at EOF's (as indicated by Ludwig Schwardt). | 
| Chris@55 | 30 | 
| Chris@55 | 31 PortAudioCpp v19 revision 13 03/10/19: | 
| Chris@55 | 32 | 
| Chris@55 | 33 	lschwardt: | 
| Chris@55 | 34 	- Added build files for GNU/Linux. | 
| Chris@55 | 35 	- Fixed bug in Exception where the inherited what() member function (and destructor) had looser | 
| Chris@55 | 36 	exception specification (namely no exception specification, i.e. could throw anything) than | 
| Chris@55 | 37 	the std::exception base class's what() member function (which had throw(), i.e. no-throw guarantee). | 
| Chris@55 | 38 	- Changed the iterators so that they have a set of public typedefs instead of deriving the C++ standard | 
| Chris@55 | 39 	library std::iterator<> struct. G++ 2.95 doesn't support std::exception<> and composition-by-aggregation | 
| Chris@55 | 40 	is prefered over composition-by-inheritance in this case. | 
| Chris@55 | 41 	- Changed some minor things to avoid G++ warning messages. | 
| Chris@55 | 42 | 
| Chris@55 | 43 	mblaauw: | 
| Chris@55 | 44 	- Renamed this file (/WHATSNEW.txt) to /CHANGELOG. | 
| Chris@55 | 45 	- Renamed /PA_ISSUES.txt to /PA_ISSUES. | 
| Chris@55 | 46 	- Added /INSTALL file with some build info for GNU/Linux and VC6. | 
| Chris@55 | 47 	- Added MSVC 6.0 projects for building PortAudioCpp as a staticly or dynamically linkable library. | 
| Chris@55 | 48 	- Moved build files to /build/(gnu/ or vc6/). | 
| Chris@55 | 49 	- Moved Doxygen configuration files to /doc/ and output to /doc/api_reference/. | 
| Chris@55 | 50 	- Added a /doc/README with some info how to generate Doxygen documentation. | 
| Chris@55 | 51 | 
| Chris@55 | 52 PortAudioCpp v19 revision 12 03/09/02: | 
| Chris@55 | 53 | 
| Chris@55 | 54 	mblaauw: | 
| Chris@55 | 55 	- Updated code to reflect changes on V19-devel CVS branch. | 
| Chris@55 | 56 	- Fixed some typos in the documentation. | 
| Chris@55 | 57 | 
| Chris@55 | 58 PortAudioCpp v19 revision 11 03/07/31: | 
| Chris@55 | 59 | 
| Chris@55 | 60 	mblaauw: | 
| Chris@55 | 61 	- Renamed SingleDirecionStreamParameters to DirectionSpecificStreamParameters. | 
| Chris@55 | 62 	- Implemented BlockingStream. | 
| Chris@55 | 63 	- Updated code to reflect recent changes to PortAudio V19-devel. | 
| Chris@55 | 64 	- Fixed a potential memory leak when an exception was thrown in the HostApi | 
| Chris@55 | 65 	constructor. | 
| Chris@55 | 66 	- Renamed ``Latency'' to ``BufferSize'' in AsioDeviceAdapter. | 
| Chris@55 | 67 	- Updated class documentation. | 
| Chris@55 | 68 | 
| Chris@55 | 69 PortAudioCpp v19 revision 10 03/07/18: | 
| Chris@55 | 70 | 
| Chris@55 | 71 	mblaauw: | 
| Chris@55 | 72 	- SingleDirectionStreamParameters now has a (static) null() method. | 
| Chris@55 | 73 	- StreamParameters uses references for the direction-specific stream parameters | 
| Chris@55 | 74 	instead of pointers (use null() method (above) instead of NULL). | 
| Chris@55 | 75 	- StreamParameters and SingleDirectionStreamParameters must now be fully specified | 
| Chris@55 | 76 	and now default values are used (because this was not very useful in general and | 
| Chris@55 | 77 	only made things more complex). | 
| Chris@55 | 78 	- Updated documentation. | 
| Chris@55 | 79 | 
| Chris@55 | 80 PortAudioCpp v19 revision 09 03/06/25: | 
| Chris@55 | 81 | 
| Chris@55 | 82 	mblaauw: | 
| Chris@55 | 83 	- Changed some things in SingleDirectionStreamParameters to ease it's usage. | 
| Chris@55 | 84 	- Placed all SingleDirectionStreamParameters stuff into a separate file. | 
| Chris@55 | 85 	+ Totally redid the callback stuff, now it's less ackward and supports C++ functions. | 
| Chris@55 | 86 | 
| Chris@55 | 87 PortAudioCpp v19 revision 08 03/06/20: | 
| Chris@55 | 88 | 
| Chris@55 | 89 	mblaauw: | 
| Chris@55 | 90 	- Made deconstructors for Device and HostApi private. | 
| Chris@55 | 91 	+ Added a AsioDeviceWrapper host api specific device extension class. | 
| Chris@55 | 92 	- Refactored Exception into a Exception base class and PaException and PaCppException | 
| Chris@55 | 93 	derived classes. | 
| Chris@55 | 94 	- Added ASIO specific device info to the devs.cxx example. | 
| Chris@55 | 95 	- Fixed a bug in System::hostApiCount() and System::defaultHostApi(). | 
| Chris@55 | 96 	+ Moved Device::null to System::nullDevice. | 
| Chris@55 | 97 	- Fixed some bugs in Device and System. | 
| Chris@55 | 98 | 
| Chris@55 | 99 PortAudioCpp v19 revision 07 03/06/08: | 
| Chris@55 | 100 | 
| Chris@55 | 101 	mblaauw: | 
| Chris@55 | 102 	- Updated some doxy comments. | 
| Chris@55 | 103 	+ Renamed CbXyz to CallbackXyz. | 
| Chris@55 | 104 	+ Renamed all ``configurations'' to ``parameters''. | 
| Chris@55 | 105 	+ Renamed HalfDuplexStreamConfiguration to SingleDirectionStreamConfiguration. | 
| Chris@55 | 106 	- Renamed SingleDirectionStreamParameters::streamParameters() to | 
| Chris@55 | 107 	SingleDirectionStreamParameters::paSteamParameters. | 
| Chris@55 | 108 	- Added a non-constant version of SingleDirectionStreamParameters::paStreamParameters(). | 
| Chris@55 | 109 	- A few improvements to SingleDirectionStreamParameters. | 
| Chris@55 | 110 	- Allowed AutoSystem to be created without initializing the System singleton | 
| Chris@55 | 111 	(using a ctor flag). | 
| Chris@55 | 112 	- Added a BlockingStream class (not implemented for now). | 
| Chris@55 | 113 	- Fixed many bugs in the implementation of the iterators. | 
| Chris@55 | 114 	- Fixed a bug in Device::operator==(). | 
| Chris@55 | 115 	+ Added a C++ version of the patest_sine.c test/example. | 
| Chris@55 | 116 	- Added a ctor for StreamParameters for a default half-duplex stream. | 
| Chris@55 | 117 	- Added SingleDirectionStreamParameters::setDevice() and setNumChannels(). | 
| Chris@55 | 118 	- Renamed System::numHostApis() to System::hostApiCount(). | 
| Chris@55 | 119 	+ Rewrote the iterators and related classes. They are now fully STL compliant. The System now | 
| Chris@55 | 120 	has a static array of all HostApis and all Devices. Only the System can create HostApis and | 
| Chris@55 | 121 	Devices and they are non-copyable now. All HostApis and Devices are now passed by-reference. | 
| Chris@55 | 122 	- Renamed (System::) getVersion() to version() and getVersionText() to versionText(). | 
| Chris@55 | 123 	- Renamed (Device::) numXyzChannels() to maxXyzChannels(). | 
| Chris@55 | 124 	- Changed some stuff in StreamParameters. | 
| Chris@55 | 125 	+ Added a C++ version of the patest_devs.c test/example. | 
| Chris@55 | 126 | 
| Chris@55 | 127 PortAudioCpp v19 revision 06 03/06/04: | 
| Chris@55 | 128 | 
| Chris@55 | 129 	mblaauw: | 
| Chris@55 | 130 	+ Added this file to the project (roughly, a `+' denotes a major change, a `-' a minor change). | 
| Chris@55 | 131 	- Added System::deviceByIndex(), useful when a Device's index is stored for instance. | 
| Chris@55 | 132 	- Renamed System::hostApiFromTypeId() to System::hostApiByTypeId(). | 
| Chris@55 | 133 	- Updated and added some Doxygen documentation. | 
| Chris@55 | 134 	- Made Stream::usedIntputLatency(), Stream::usedOutputLatency() and | 
| Chris@55 | 135 	Stream::usedSampleRate() throw an paInternalError equivalent exception instead of paBadStreamPtr. | 
| Chris@55 | 136 	- Changed exception handling in Stream::open() functions. They now follow the PA error handling | 
| Chris@55 | 137 	mechanism better and a couple of bugs regarding ownership of objects were fixed. | 
| Chris@55 | 138 	- Renamed Device::isDefaultXyzDevice() to Device::isSystemDefaultXyzDevice(). | 
| Chris@55 | 139 	- Added Device::isHostApiDefaultXyzDevice(). | 
| Chris@55 | 140 	- Added StreamConfiguration::unsetFlag(). | 
| Chris@55 | 141 	- Removed CUSTOM from SampleDataFormat. | 
| Chris@55 | 142 	- System::hostApiByTypeId() now throws an paInternalError if the type id was out-of-range; this | 
| Chris@55 | 143 	is a temporary work-around (see comments). | 
| Chris@55 | 144 	- Changed CbInterface to use paCallbackFun() instead of operator()(). | 
| Chris@55 | 145 	- Renamed ``object'' to ``instance'' in CbMemFunAdapter.hxx. | 
| Chris@55 | 146 	- Added StreamConfiguration::setXyzHostApiSpecificSampleFormat(). | 
| Chris@55 | 147 	- Added StreamConfiguration::isXyzSampleFormatHostApiSpecific(). | 
| Chris@55 | 148 	- Changed error handling in System::terminate(), it can now throw an Exception. | 
| Chris@55 | 149 	- Added error handling in System::defaultHostApi(). | 
| Chris@55 | 150 	- Added error handling in System::hostApisEnd(). | 
| Chris@55 | 151 	- Changed some (but probably not all) C casts to C++ casts to avoid confusion with a | 
| Chris@55 | 152 	certain Python person. | 
| Chris@55 | 153 	- Renamed RaiiSystem to AutoSystem (class and file) as this is a come common convention. | 
| Chris@55 | 154 	- Renamed System::numDevices() to System::deviceCount() to be more compatible with PortAudio | 
| Chris@55 | 155 	(although PortAudio uses Pa_CountDevices() instead, see comment). | 
| Chris@55 | 156 	- Renamed HostApi::numDevices() to HostApi::deviceCount(). | 
| Chris@55 | 157 	- Changed INC_ to INCLUDED_ in the header multiple include guards. | 
| Chris@55 | 158 	- Changed the order of functions in the StreamConfiguration class' header. | 
| Chris@55 | 159 	- Written some more info in PortAudioCpp.hxx (Doxygen). | 
| Chris@55 | 160 	- Added CallbackStream.hxx and CallbackStream.cxx files. | 
| Chris@55 | 161 	+ Refactored StreamConfiguration to remove the duplication which was there. There is now a | 
| Chris@55 | 162 	HalfDuplexStreamConfiguration class. Also made some improvements to these classes while | 
| Chris@55 | 163 	doing the refactoring. | 
| Chris@55 | 164 	+ Moved all code files to source/portaudiocpp/ and changed includes. | 
| Chris@55 | 165 	+ Moved all header files to include/portaudiocpp/ to easy a binary build if needed. The project | 
| Chris@55 | 166 	must be set to have .../include/ as a path to look for includes. | 
| Chris@55 | 167 	+ Refactored the Stream class into a Stream base class and a CallbackStream derived class. | 
| Chris@55 | 168 	- Renamed Stream::usingXyz() to Stream::xyz(). | 
| Chris@55 | 169 	- Updated some doxy comments. | 
| Chris@55 | 170 	- Changed ``using namespace portaudio'' in .cxx files to ``namespace portaudio { ... }''. | 
| Chris@55 | 171 | 
| Chris@55 | 172 PortAudioCpp v19 revision 05 03/04/09: | 
| Chris@55 | 173 | 
| Chris@55 | 174 	mblaauw: | 
| Chris@55 | 175 	- Initial release on the PortAudio mailinglist. | 
| Chris@55 | 176 | 
| Chris@55 | 177 | 
| Chris@55 | 178 |