SAL
A C++ library for spatial audio.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
sal
include
pawrapper.h
Go to the documentation of this file.
1
/*
2
pawrapper.h
3
Spatial Audio Library (SAL)
4
Copyright (c) 2016, Enzo De Sena
5
All rights reserved.
6
7
Authors: Enzo De Sena, enzodesena@gmail.com
8
9
*/
10
11
#ifndef SAL_pawrapper_h
12
#define SAL_pawrapper_h
13
14
#include "
saltypes.h
"
15
#include "mcltypes.h"
16
#include "
portaudio.h
"
17
#include "
decoder.h
"
18
#include <strings.h>
19
#include "
salconstants.h
"
20
#include "
audiobuffer.h
"
21
22
namespace
sal {
23
25
class
PaWrapper
{
26
public
:
27
PaWrapper
(
Time
sampling_frequency,
Int
out_dev_num,
28
std::vector<Int> channel_ids);
29
30
PaError
StartStream
();
31
32
PaError
WriteStream
(
const
Buffer
& output_buffer);
33
34
PaError
StopStream
();
35
36
Int
max_num_channels
() {
return
channel_ids_.size(); }
37
38
static
void
PrintError
(
PaError
err);
39
40
static
void
PrintDevicesInfo
();
41
static
Int
NumOutputChannels
(
const
Int
out_dev_id);
42
static
std::vector<mcl::Int>
SelectChannelIds
(
const
Int
num_loudspeakers,
43
const
Int
out_dev_id);
44
45
~PaWrapper
();
46
private
:
47
static
PaError
Init();
48
static
PaError
Terminate();
49
50
PaStream
* stream_;
51
std::vector<Int> channel_ids_;
52
};
53
54
55
}
// namespace sal
56
57
#endif
Generated on Tue Mar 31 2020 18:28:03 for SAL by
1.8.2