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 absence 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 preferred 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 statically 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 awkward 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.