lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
plugins
Delay
StereoDelay.h
Go to the documentation of this file.
1
/*
2
* stereodelay.h - declaration of StereoDelay class.
3
*
4
* Copyright (c) 2014 David French <dave/dot/french3/at/googlemail/dot/com>
5
*
6
* This file is part of LMMS - https://lmms.io
7
*
8
* This program is free software; you can redistribute it and/or
9
* modify it under the terms of the GNU General Public
10
* License as published by the Free Software Foundation; either
11
* version 2 of the License, or (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
* General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public
19
* License along with this program (see COPYING); if not, write to the
20
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
* Boston, MA 02110-1301 USA.
22
*
23
*/
24
25
#ifndef STEREODELAY_H
26
#define STEREODELAY_H
27
28
29
30
namespace
lmms
31
{
32
33
class
SampleFrame
;
34
35
class
StereoDelay
36
{
37
public
:
38
StereoDelay
(
int
maxLength,
int
sampleRate );
39
~StereoDelay
();
40
inline
void
setLength
(
float
length )
41
{
42
if
( length <= m_maxLength && length >= 0 )
43
{
44
m_length
= length;
45
}
46
}
47
48
inline
void
setFeedback
(
float
feedback )
49
{
50
m_feedback
= feedback;
51
}
52
53
void
tick
(
SampleFrame
& frame );
54
void
setSampleRate
(
int
sampleRate );
55
56
private
:
57
SampleFrame
*
m_buffer
;
58
int
m_maxLength
;
59
float
m_length
;
60
int
m_writeIndex
;
61
float
m_feedback
;
62
float
m_maxTime
;
63
};
64
65
66
}
// namespace lmms
67
68
#endif
// STEREODELAY_H
lmms::SampleFrame
Definition
SampleFrame.h:41
lmms::StereoDelay::m_writeIndex
int m_writeIndex
Definition
StereoDelay.h:60
lmms::StereoDelay::m_length
float m_length
Definition
StereoDelay.h:59
lmms::StereoDelay::m_maxTime
float m_maxTime
Definition
StereoDelay.h:62
lmms::StereoDelay::m_buffer
SampleFrame * m_buffer
Definition
StereoDelay.h:57
lmms::StereoDelay::m_maxLength
int m_maxLength
Definition
StereoDelay.h:58
lmms::StereoDelay::tick
void tick(SampleFrame &frame)
Definition
StereoDelay.cpp:59
lmms::StereoDelay::setSampleRate
void setSampleRate(int sampleRate)
Definition
StereoDelay.cpp:77
lmms::StereoDelay::setLength
void setLength(float length)
Definition
StereoDelay.h:40
lmms::StereoDelay::setFeedback
void setFeedback(float feedback)
Definition
StereoDelay.h:48
lmms::StereoDelay::StereoDelay
StereoDelay(int maxLength, int sampleRate)
Definition
StereoDelay.cpp:33
lmms::StereoDelay::m_feedback
float m_feedback
Definition
StereoDelay.h:61
lmms
Definition
RemotePluginBase.cpp:34
Generated on
for lmms by
1.18.0