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.

PortAudioCpp v19 revision 16 06/05/22:

	mblaauw:
	- 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.
	- Changed the code and projects (MSVC 7.1 only) to be up-to-date with PortAudio's new directory structure.
	- Added equivalents of the PaAsio_GetInputChannelName() and PaAsio_GetOutputChannelName() functions to the AsioDeviceAdapter wrapper-class (missing functions pointed out by David Moore).
	- Added code to PortAudio's main SVN repository.

PortAudioCpp v19 revision 15 (unknown release date):

	mblaauw:
	- Changed some exception handling code in HostApi's constructor.
	- Added accessors to PortAudio PaStream from PortAudioCpp Stream (their absense being pointed out
	by Tom Jordan).
	- Fixed a bug/typo in MemFunToCallbackInterfaceAdapter::init() thanks to Fredrik Viklund.
	- Fixed issue with concrete Stream classes possibly throwing an exception and fixed documentation w.r.t. this.
	- Moved files to portaudio/binding/cpp/. Made new msvc 7.1 projects to reflect the change and removed msvc 6.0 
	and 7.0 projects (because I can no longer maintain them myself). Gnu projects will probably need updating.

PortAudioCpp v19 revision 14 03/10/24:

	mblaauw:
	- Fixed some error handling bugs in Stream and System (pointed out by Tom Jordan).
	- Updated documentation a little (main page).
	- Fixed order of members so initializer list was in the right order in 
	StreamParameters (pointed out by Ludwig Schwardt).
	- Added new lines at EOF's (as indicated by Ludwig Schwardt).

PortAudioCpp v19 revision 13 03/10/19:

	lschwardt:
	- Added build files for GNU/Linux.
	- Fixed bug in Exception where the inherited what() member function (and destructor) had looser 
	exception specification (namely no exception specification, i.e. could throw anything) than 
	the std::exception base class's what() member function (which had throw(), i.e. no-throw guarantee).
	- Changed the iterators so that they have a set of public typedefs instead of deriving the C++ standard 
	library std::iterator<> struct. G++ 2.95 doesn't support std::exception<> and composition-by-aggregation 
	is prefered over composition-by-inheritance in this case.
	- Changed some minor things to avoid G++ warning messages.

	mblaauw:
	- Renamed this file (/WHATSNEW.txt) to /CHANGELOG.
	- Renamed /PA_ISSUES.txt to /PA_ISSUES.
	- Added /INSTALL file with some build info for GNU/Linux and VC6.
	- Added MSVC 6.0 projects for building PortAudioCpp as a staticly or dynamically linkable library.
	- Moved build files to /build/(gnu/ or vc6/).
	- Moved Doxygen configuration files to /doc/ and output to /doc/api_reference/.
	- Added a /doc/README with some info how to generate Doxygen documentation.

PortAudioCpp v19 revision 12 03/09/02:

	mblaauw:
	- Updated code to reflect changes on V19-devel CVS branch.
	- Fixed some typos in the documentation.

PortAudioCpp v19 revision 11 03/07/31:

	mblaauw:
	- Renamed SingleDirecionStreamParameters to DirectionSpecificStreamParameters.
	- Implemented BlockingStream.
	- Updated code to reflect recent changes to PortAudio V19-devel.
	- Fixed a potential memory leak when an exception was thrown in the HostApi 
	constructor.
	- Renamed ``Latency'' to ``BufferSize'' in AsioDeviceAdapter.
	- Updated class documentation.

PortAudioCpp v19 revision 10 03/07/18:

	mblaauw:
	- SingleDirectionStreamParameters now has a (static) null() method.
	- StreamParameters uses references for the direction-specific stream parameters 
	instead of pointers (use null() method (above) instead of NULL).
	- StreamParameters and SingleDirectionStreamParameters must now be fully specified 
	and now default values are used (because this was not very useful in general and 
	only made things more complex).
	- Updated documentation.

PortAudioCpp v19 revision 09 03/06/25:

	mblaauw:
	- Changed some things in SingleDirectionStreamParameters to ease it's usage.
	- Placed all SingleDirectionStreamParameters stuff into a separate file.
	+ Totally redid the callback stuff, now it's less ackward and supports C++ functions.

PortAudioCpp v19 revision 08 03/06/20:

	mblaauw:
	- Made deconstructors for Device and HostApi private.
	+ Added a AsioDeviceWrapper host api specific device extension class.
	- Refactored Exception into a Exception base class and PaException and PaCppException 
	derived classes.
	- Added ASIO specific device info to the devs.cxx example.
	- Fixed a bug in System::hostApiCount() and System::defaultHostApi().
	+ Moved Device::null to System::nullDevice.
	- Fixed some bugs in Device and System.

PortAudioCpp v19 revision 07 03/06/08:

	mblaauw:
	- Updated some doxy comments.
	+ Renamed CbXyz to CallbackXyz.
	+ Renamed all ``configurations'' to ``parameters''.
	+ Renamed HalfDuplexStreamConfiguration to SingleDirectionStreamConfiguration.
	- Renamed SingleDirectionStreamParameters::streamParameters() to 
	SingleDirectionStreamParameters::paSteamParameters.
	- Added a non-constant version of SingleDirectionStreamParameters::paStreamParameters().
	- A few improvements to SingleDirectionStreamParameters.
	- Allowed AutoSystem to be created without initializing the System singleton 
	(using a ctor flag).
	- Added a BlockingStream class (not implemented for now).
	- Fixed many bugs in the implementation of the iterators.
	- Fixed a bug in Device::operator==().
	+ Added a C++ version of the patest_sine.c test/example.
	- Added a ctor for StreamParameters for a default half-duplex stream.
	- Added SingleDirectionStreamParameters::setDevice() and setNumChannels().
	- Renamed System::numHostApis() to System::hostApiCount().
	+ Rewrote the iterators and related classes. They are now fully STL compliant. The System now 
	has a static array of all HostApis and all Devices. Only the System can create HostApis and 
	Devices and they are non-copyable now. All HostApis and Devices are now passed by-reference.
	- Renamed (System::) getVersion() to version() and getVersionText() to versionText().
	- Renamed (Device::) numXyzChannels() to maxXyzChannels().
	- Changed some stuff in StreamParameters.
	+ Added a C++ version of the patest_devs.c test/example.

PortAudioCpp v19 revision 06 03/06/04:

	mblaauw:
	+ Added this file to the project (roughly, a `+' denotes a major change, a `-' a minor change).
	- Added System::deviceByIndex(), useful when a Device's index is stored for instance.
	- Renamed System::hostApiFromTypeId() to System::hostApiByTypeId().
	- Updated and added some Doxygen documentation.
	- Made Stream::usedIntputLatency(), Stream::usedOutputLatency() and 
	Stream::usedSampleRate() throw an paInternalError equivalent exception instead of paBadStreamPtr.
	- Changed exception handling in Stream::open() functions. They now follow the PA error handling 
	mechanism better and a couple of bugs regarding ownership of objects were fixed.
	- Renamed Device::isDefaultXyzDevice() to Device::isSystemDefaultXyzDevice().
	- Added Device::isHostApiDefaultXyzDevice().
	- Added StreamConfiguration::unsetFlag().
	- Removed CUSTOM from SampleDataFormat.
	- System::hostApiByTypeId() now throws an paInternalError if the type id was out-of-range; this 
	is a temporary work-around (see comments).
	- Changed CbInterface to use paCallbackFun() instead of operator()().
	- Renamed ``object'' to ``instance'' in CbMemFunAdapter.hxx.
	- Added StreamConfiguration::setXyzHostApiSpecificSampleFormat().
	- Added StreamConfiguration::isXyzSampleFormatHostApiSpecific().
	- Changed error handling in System::terminate(), it can now throw an Exception.
	- Added error handling in System::defaultHostApi().
	- Added error handling in System::hostApisEnd().
	- Changed some (but probably not all) C casts to C++ casts to avoid confusion with a 
	certain Python person.
	- Renamed RaiiSystem to AutoSystem (class and file) as this is a come common convention.
	- Renamed System::numDevices() to System::deviceCount() to be more compatible with PortAudio 
	(although PortAudio uses Pa_CountDevices() instead, see comment).
	- Renamed HostApi::numDevices() to HostApi::deviceCount().
	- Changed INC_ to INCLUDED_ in the header multiple include guards.
	- Changed the order of functions in the StreamConfiguration class' header.
	- Written some more info in PortAudioCpp.hxx (Doxygen).
	- Added CallbackStream.hxx and CallbackStream.cxx files.
	+ Refactored StreamConfiguration to remove the duplication which was there. There is now a 
	HalfDuplexStreamConfiguration class. Also made some improvements to these classes while 
	doing the refactoring.
	+ Moved all code files to source/portaudiocpp/ and changed includes.
	+ Moved all header files to include/portaudiocpp/ to easy a binary build if needed. The project 
	must be set to have .../include/ as a path to look for includes.
	+ Refactored the Stream class into a Stream base class and a CallbackStream derived class.
	- Renamed Stream::usingXyz() to Stream::xyz().
	- Updated some doxy comments.
	- Changed ``using namespace portaudio'' in .cxx files to ``namespace portaudio { ... }''.

PortAudioCpp v19 revision 05 03/04/09:

	mblaauw:
	- Initial release on the PortAudio mailinglist.