To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

The primary repository for this project is hosted at https://github.com/sonic-visualiser/sv-dependency-builds .
This repository is a read-only copy which is updated automatically every hour.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / src / portaudio_20161030_catalina_patch / bindings / cpp / include / portaudiocpp / PortAudioCpp.hxx @ 162:d43aab368df9

History | View | Annotate | Download (5.11 KB)

1
#ifndef INCLUDED_PORTAUDIO_PORTAUDIOCPP_HXX
2
#define INCLUDED_PORTAUDIO_PORTAUDIOCPP_HXX
3

    
4
// ---------------------------------------------------------------------------------------
5

    
6
//////
7
/// @mainpage PortAudioCpp
8
///
9
///	<h1>PortAudioCpp - A Native C++ Binding of PortAudio V19</h1>
10
/// <h2>PortAudio</h2>
11
/// <p>
12
///   PortAudio is a portable and mature C API for accessing audio hardware. It offers both callback-based and blocking 
13
///   style input and output, deals with sample data format conversions, dithering and much more. There are a large number 
14
///   of implementations available for various platforms including Windows MME, Windows DirectX, Windows and MacOS (Classic) 
15
///   ASIO, MacOS Classic SoundManager, MacOS X CoreAudio, OSS (Linux), Linux ALSA, JACK (MacOS X and Linux) and SGI Irix 
16
///   AL. Note that, currently not all of these implementations are equally complete or up-to-date (as PortAudio V19 is 
17
///   still in development). Because PortAudio has a C API, it can easily be called from a variety of other programming 
18
///   languages.
19
/// </p>
20
/// <h2>PortAudioCpp</h2>
21
/// <p>
22
///   Although, it is possible to use PortAudio's C API from within a C++ program, this is usually a little awkward 
23
///   as procedural and object-oriented paradigms need to be mixed. PortAudioCpp aims to resolve this by encapsulating 
24
///   PortAudio's C API to form an equivalent object-oriented C++ API. It provides a more natural integration of PortAudio 
25
///   into C++ programs as well as a more structured interface. PortAudio's concepts were preserved as much as possible and 
26
///   no additional features were added except for some `convenience methods'.
27
/// </p>
28
/// <p>
29
///   PortAudioCpp's main features are:
30
///   <ul>
31
///     <li>Structured object model.</li>
32
///     <li>C++ exception handling instead of C-style error return codes.</li>
33
///     <li>Handling of callbacks using free functions (C and C++), static functions, member functions or instances of classes 
34
///     derived from a given interface.</li>
35
///     <li>STL compliant iterators to host APIs and devices.</li>
36
///     <li>Some additional convenience functions to more easily set up and use PortAudio.</li>
37
///   </ul>
38
/// </p>
39
/// <p>
40
///   PortAudioCpp requires a recent version of the PortAudio V19 source code. This can be obtained from CVS or as a snapshot 
41
///   from the website. The examples also require the ASIO 2 SDK which can be obtained from the Steinberg website. Alternatively, the 
42
///   examples can easily be modified to compile without needing ASIO.
43
/// </p>
44
/// <p>
45
///   Supported platforms:
46
///   <ul>
47
///     <li>Microsoft Visual C++ 6.0, 7.0 (.NET 2002) and 7.1 (.NET 2003).</li>
48
///     <li>GNU G++ 2.95 and G++ 3.3.</li>
49
///   </ul>
50
///   Other platforms should be easily supported as PortAudioCpp is platform-independent and (reasonably) C++ standard compliant.
51
/// </p>
52
/// <p>
53
///   This documentation mainly provides information specific to PortAudioCpp. For a more complete explaination of all of the 
54
///   concepts used, please consult the PortAudio documentation.
55
/// </p>
56
/// <p>
57
///   PortAudioCpp was developed by Merlijn Blaauw with many great suggestions and help from Ross Bencina. Ludwig Schwardt provided 
58
///   GNU/Linux build files and checked G++ compatibility. PortAudioCpp may be used under the same licensing, conditions and 
59
///   warranty as PortAudio. See <a href="http://www.portaudio.com/license.html">the PortAudio license</a> for more details.
60
/// </p>
61
/// <h2>Links</h2>
62
/// <p>
63
///   <a href="http://www.portaudio.com/">Official PortAudio site.</a><br>
64
/// </p>
65
//////
66

    
67
// ---------------------------------------------------------------------------------------
68

    
69
//////
70
/// @namespace portaudio
71
///
72
/// To avoid name collision, everything in PortAudioCpp is in the portaudio 
73
/// namespace. If this name is too long it's usually pretty safe to use an 
74
/// alias like ``namespace pa = portaudio;''.
75
//////
76

    
77
// ---------------------------------------------------------------------------------------
78

    
79
//////
80
/// @file PortAudioCpp.hxx
81
/// An include-all header file (for lazy programmers and using pre-compiled headers).
82
//////
83

    
84
// ---------------------------------------------------------------------------------------
85

    
86
#include "portaudio.h"
87

    
88
#include "portaudiocpp/AutoSystem.hxx"
89
#include "portaudiocpp/BlockingStream.hxx"
90
#include "portaudiocpp/CallbackInterface.hxx"
91
#include "portaudiocpp/CallbackStream.hxx"
92
#include "portaudiocpp/CFunCallbackStream.hxx"
93
#include "portaudiocpp/CppFunCallbackStream.hxx"
94
#include "portaudiocpp/Device.hxx"
95
#include "portaudiocpp/Exception.hxx"
96
#include "portaudiocpp/HostApi.hxx"
97
#include "portaudiocpp/InterfaceCallbackStream.hxx"
98
#include "portaudiocpp/MemFunCallbackStream.hxx"
99
#include "portaudiocpp/SampleDataFormat.hxx"
100
#include "portaudiocpp/DirectionSpecificStreamParameters.hxx"
101
#include "portaudiocpp/Stream.hxx"
102
#include "portaudiocpp/StreamParameters.hxx"
103
#include "portaudiocpp/System.hxx"
104
#include "portaudiocpp/SystemDeviceIterator.hxx"
105
#include "portaudiocpp/SystemHostApiIterator.hxx"
106

    
107
// ---------------------------------------------------------------------------------------
108

    
109
#endif // INCLUDED_PORTAUDIO_PORTAUDIOCPP_HXX