Async
1.5.0
include
AsyncAudioClipper.h
Go to the documentation of this file.
1
27
#ifndef ASYNC_AUDIO_CLIPPER_INCLUDED
28
#define ASYNC_AUDIO_CLIPPER_INCLUDED
29
30
31
/****************************************************************************
32
*
33
* System Includes
34
*
35
****************************************************************************/
36
37
38
39
/****************************************************************************
40
*
41
* Project Includes
42
*
43
****************************************************************************/
44
45
#include <
AsyncAudioProcessor.h
>
46
47
48
49
/****************************************************************************
50
*
51
* Local Includes
52
*
53
****************************************************************************/
54
55
56
57
/****************************************************************************
58
*
59
* Forward declarations
60
*
61
****************************************************************************/
62
63
64
65
/****************************************************************************
66
*
67
* Namespace
68
*
69
****************************************************************************/
70
71
namespace
Async
72
{
73
74
75
/****************************************************************************
76
*
77
* Forward declarations of classes inside of the declared namespace
78
*
79
****************************************************************************/
80
81
82
83
/****************************************************************************
84
*
85
* Defines & typedefs
86
*
87
****************************************************************************/
88
89
90
91
/****************************************************************************
92
*
93
* Exported Global Variables
94
*
95
****************************************************************************/
96
97
98
99
/****************************************************************************
100
*
101
* Class definitions
102
*
103
****************************************************************************/
104
113
class
AudioClipper :
public
AudioProcessor
114
{
115
public
:
120
explicit
AudioClipper
(
float
clip_level=1.0) : clip_level(clip_level) {}
121
125
~AudioClipper
(
void
) {}
126
131
void
setClipLevel
(
float
level) { clip_level = level; }
132
133
134
protected
:
135
virtual
void
processSamples
(
float
*dest,
const
float
*src,
int
count)
136
{
137
for
(
int
i=0; i<count; ++i)
138
{
139
if
(src[i] > clip_level)
140
{
141
dest[i] = clip_level;
142
}
143
else
if
(src[i] < -clip_level)
144
{
145
dest[i] = -clip_level;
146
}
147
else
148
{
149
dest[i] = src[i];
150
}
151
}
152
}
153
154
155
private
:
156
float
clip_level;
157
158
AudioClipper
(
const
AudioClipper
&);
159
AudioClipper
& operator=(
const
AudioClipper
&);
160
161
};
/* class AudioClipper */
162
163
164
}
/* namespace */
165
166
#endif
/* ASYNC_AUDIO_CLIPPER_INCLUDED */
167
168
169
170
/*
171
* This file has not been truncated
172
*/
173
Async::AudioClipper
An audio pipe class to clip audio to a given maximum level.
Definition:
AsyncAudioClipper.h:133
Async::AudioClipper::processSamples
virtual void processSamples(float *dest, const float *src, int count)
Process incoming samples and put them into the output buffer.
Definition:
AsyncAudioClipper.h:191
Async::AudioClipper::AudioClipper
AudioClipper(float clip_level=1.0)
Default constuctor.
Definition:
AsyncAudioClipper.h:176
AsyncAudioProcessor.h
The base class for an audio processor class.
Async
Namespace for the asynchronous programming classes.
Definition:
AsyncApplication.h:75
Async::AudioClipper::setClipLevel
void setClipLevel(float level)
Set the clip level.
Definition:
AsyncAudioClipper.h:187
Async::AudioClipper::~AudioClipper
~AudioClipper(void)
Destructor.
Definition:
AsyncAudioClipper.h:181
Generated on Fri Jan 31 2020 00:00:00 for Async by
1.8.17