cannam@162: 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. cannam@162: cannam@162: PortAudioCpp v19 revision 16 06/05/22: cannam@162: cannam@162: mblaauw: cannam@162: - 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. cannam@162: - Changed the code and projects (MSVC 7.1 only) to be up-to-date with PortAudio's new directory structure. cannam@162: - Added equivalents of the PaAsio_GetInputChannelName() and PaAsio_GetOutputChannelName() functions to the AsioDeviceAdapter wrapper-class (missing functions pointed out by David Moore). cannam@162: - Added code to PortAudio's main SVN repository. cannam@162: cannam@162: PortAudioCpp v19 revision 15 (unknown release date): cannam@162: cannam@162: mblaauw: cannam@162: - Changed some exception handling code in HostApi's constructor. cannam@162: - Added accessors to PortAudio PaStream from PortAudioCpp Stream (their absense being pointed out cannam@162: by Tom Jordan). cannam@162: - Fixed a bug/typo in MemFunToCallbackInterfaceAdapter::init() thanks to Fredrik Viklund. cannam@162: - Fixed issue with concrete Stream classes possibly throwing an exception and fixed documentation w.r.t. this. cannam@162: - Moved files to portaudio/binding/cpp/. Made new msvc 7.1 projects to reflect the change and removed msvc 6.0 cannam@162: and 7.0 projects (because I can no longer maintain them myself). Gnu projects will probably need updating. cannam@162: cannam@162: PortAudioCpp v19 revision 14 03/10/24: cannam@162: cannam@162: mblaauw: cannam@162: - Fixed some error handling bugs in Stream and System (pointed out by Tom Jordan). cannam@162: - Updated documentation a little (main page). cannam@162: - Fixed order of members so initializer list was in the right order in cannam@162: StreamParameters (pointed out by Ludwig Schwardt). cannam@162: - Added new lines at EOF's (as indicated by Ludwig Schwardt). cannam@162: cannam@162: PortAudioCpp v19 revision 13 03/10/19: cannam@162: cannam@162: lschwardt: cannam@162: - Added build files for GNU/Linux. cannam@162: - Fixed bug in Exception where the inherited what() member function (and destructor) had looser cannam@162: exception specification (namely no exception specification, i.e. could throw anything) than cannam@162: the std::exception base class's what() member function (which had throw(), i.e. no-throw guarantee). cannam@162: - Changed the iterators so that they have a set of public typedefs instead of deriving the C++ standard cannam@162: library std::iterator<> struct. G++ 2.95 doesn't support std::exception<> and composition-by-aggregation cannam@162: is prefered over composition-by-inheritance in this case. cannam@162: - Changed some minor things to avoid G++ warning messages. cannam@162: cannam@162: mblaauw: cannam@162: - Renamed this file (/WHATSNEW.txt) to /CHANGELOG. cannam@162: - Renamed /PA_ISSUES.txt to /PA_ISSUES. cannam@162: - Added /INSTALL file with some build info for GNU/Linux and VC6. cannam@162: - Added MSVC 6.0 projects for building PortAudioCpp as a staticly or dynamically linkable library. cannam@162: - Moved build files to /build/(gnu/ or vc6/). cannam@162: - Moved Doxygen configuration files to /doc/ and output to /doc/api_reference/. cannam@162: - Added a /doc/README with some info how to generate Doxygen documentation. cannam@162: cannam@162: PortAudioCpp v19 revision 12 03/09/02: cannam@162: cannam@162: mblaauw: cannam@162: - Updated code to reflect changes on V19-devel CVS branch. cannam@162: - Fixed some typos in the documentation. cannam@162: cannam@162: PortAudioCpp v19 revision 11 03/07/31: cannam@162: cannam@162: mblaauw: cannam@162: - Renamed SingleDirecionStreamParameters to DirectionSpecificStreamParameters. cannam@162: - Implemented BlockingStream. cannam@162: - Updated code to reflect recent changes to PortAudio V19-devel. cannam@162: - Fixed a potential memory leak when an exception was thrown in the HostApi cannam@162: constructor. cannam@162: - Renamed ``Latency'' to ``BufferSize'' in AsioDeviceAdapter. cannam@162: - Updated class documentation. cannam@162: cannam@162: PortAudioCpp v19 revision 10 03/07/18: cannam@162: cannam@162: mblaauw: cannam@162: - SingleDirectionStreamParameters now has a (static) null() method. cannam@162: - StreamParameters uses references for the direction-specific stream parameters cannam@162: instead of pointers (use null() method (above) instead of NULL). cannam@162: - StreamParameters and SingleDirectionStreamParameters must now be fully specified cannam@162: and now default values are used (because this was not very useful in general and cannam@162: only made things more complex). cannam@162: - Updated documentation. cannam@162: cannam@162: PortAudioCpp v19 revision 09 03/06/25: cannam@162: cannam@162: mblaauw: cannam@162: - Changed some things in SingleDirectionStreamParameters to ease it's usage. cannam@162: - Placed all SingleDirectionStreamParameters stuff into a separate file. cannam@162: + Totally redid the callback stuff, now it's less ackward and supports C++ functions. cannam@162: cannam@162: PortAudioCpp v19 revision 08 03/06/20: cannam@162: cannam@162: mblaauw: cannam@162: - Made deconstructors for Device and HostApi private. cannam@162: + Added a AsioDeviceWrapper host api specific device extension class. cannam@162: - Refactored Exception into a Exception base class and PaException and PaCppException cannam@162: derived classes. cannam@162: - Added ASIO specific device info to the devs.cxx example. cannam@162: - Fixed a bug in System::hostApiCount() and System::defaultHostApi(). cannam@162: + Moved Device::null to System::nullDevice. cannam@162: - Fixed some bugs in Device and System. cannam@162: cannam@162: PortAudioCpp v19 revision 07 03/06/08: cannam@162: cannam@162: mblaauw: cannam@162: - Updated some doxy comments. cannam@162: + Renamed CbXyz to CallbackXyz. cannam@162: + Renamed all ``configurations'' to ``parameters''. cannam@162: + Renamed HalfDuplexStreamConfiguration to SingleDirectionStreamConfiguration. cannam@162: - Renamed SingleDirectionStreamParameters::streamParameters() to cannam@162: SingleDirectionStreamParameters::paSteamParameters. cannam@162: - Added a non-constant version of SingleDirectionStreamParameters::paStreamParameters(). cannam@162: - A few improvements to SingleDirectionStreamParameters. cannam@162: - Allowed AutoSystem to be created without initializing the System singleton cannam@162: (using a ctor flag). cannam@162: - Added a BlockingStream class (not implemented for now). cannam@162: - Fixed many bugs in the implementation of the iterators. cannam@162: - Fixed a bug in Device::operator==(). cannam@162: + Added a C++ version of the patest_sine.c test/example. cannam@162: - Added a ctor for StreamParameters for a default half-duplex stream. cannam@162: - Added SingleDirectionStreamParameters::setDevice() and setNumChannels(). cannam@162: - Renamed System::numHostApis() to System::hostApiCount(). cannam@162: + Rewrote the iterators and related classes. They are now fully STL compliant. The System now cannam@162: has a static array of all HostApis and all Devices. Only the System can create HostApis and cannam@162: Devices and they are non-copyable now. All HostApis and Devices are now passed by-reference. cannam@162: - Renamed (System::) getVersion() to version() and getVersionText() to versionText(). cannam@162: - Renamed (Device::) numXyzChannels() to maxXyzChannels(). cannam@162: - Changed some stuff in StreamParameters. cannam@162: + Added a C++ version of the patest_devs.c test/example. cannam@162: cannam@162: PortAudioCpp v19 revision 06 03/06/04: cannam@162: cannam@162: mblaauw: cannam@162: + Added this file to the project (roughly, a `+' denotes a major change, a `-' a minor change). cannam@162: - Added System::deviceByIndex(), useful when a Device's index is stored for instance. cannam@162: - Renamed System::hostApiFromTypeId() to System::hostApiByTypeId(). cannam@162: - Updated and added some Doxygen documentation. cannam@162: - Made Stream::usedIntputLatency(), Stream::usedOutputLatency() and cannam@162: Stream::usedSampleRate() throw an paInternalError equivalent exception instead of paBadStreamPtr. cannam@162: - Changed exception handling in Stream::open() functions. They now follow the PA error handling cannam@162: mechanism better and a couple of bugs regarding ownership of objects were fixed. cannam@162: - Renamed Device::isDefaultXyzDevice() to Device::isSystemDefaultXyzDevice(). cannam@162: - Added Device::isHostApiDefaultXyzDevice(). cannam@162: - Added StreamConfiguration::unsetFlag(). cannam@162: - Removed CUSTOM from SampleDataFormat. cannam@162: - System::hostApiByTypeId() now throws an paInternalError if the type id was out-of-range; this cannam@162: is a temporary work-around (see comments). cannam@162: - Changed CbInterface to use paCallbackFun() instead of operator()(). cannam@162: - Renamed ``object'' to ``instance'' in CbMemFunAdapter.hxx. cannam@162: - Added StreamConfiguration::setXyzHostApiSpecificSampleFormat(). cannam@162: - Added StreamConfiguration::isXyzSampleFormatHostApiSpecific(). cannam@162: - Changed error handling in System::terminate(), it can now throw an Exception. cannam@162: - Added error handling in System::defaultHostApi(). cannam@162: - Added error handling in System::hostApisEnd(). cannam@162: - Changed some (but probably not all) C casts to C++ casts to avoid confusion with a cannam@162: certain Python person. cannam@162: - Renamed RaiiSystem to AutoSystem (class and file) as this is a come common convention. cannam@162: - Renamed System::numDevices() to System::deviceCount() to be more compatible with PortAudio cannam@162: (although PortAudio uses Pa_CountDevices() instead, see comment). cannam@162: - Renamed HostApi::numDevices() to HostApi::deviceCount(). cannam@162: - Changed INC_ to INCLUDED_ in the header multiple include guards. cannam@162: - Changed the order of functions in the StreamConfiguration class' header. cannam@162: - Written some more info in PortAudioCpp.hxx (Doxygen). cannam@162: - Added CallbackStream.hxx and CallbackStream.cxx files. cannam@162: + Refactored StreamConfiguration to remove the duplication which was there. There is now a cannam@162: HalfDuplexStreamConfiguration class. Also made some improvements to these classes while cannam@162: doing the refactoring. cannam@162: + Moved all code files to source/portaudiocpp/ and changed includes. cannam@162: + Moved all header files to include/portaudiocpp/ to easy a binary build if needed. The project cannam@162: must be set to have .../include/ as a path to look for includes. cannam@162: + Refactored the Stream class into a Stream base class and a CallbackStream derived class. cannam@162: - Renamed Stream::usingXyz() to Stream::xyz(). cannam@162: - Updated some doxy comments. cannam@162: - Changed ``using namespace portaudio'' in .cxx files to ``namespace portaudio { ... }''. cannam@162: cannam@162: PortAudioCpp v19 revision 05 03/04/09: cannam@162: cannam@162: mblaauw: cannam@162: - Initial release on the PortAudio mailinglist. cannam@162: cannam@162: cannam@162: