lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
plugins
Flanger
FlangerEffect.h
Go to the documentation of this file.
1
/*
2
* flangereffect.h - defination of FlangerEffect 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
26
#ifndef FLANGEREFFECT_H
27
#define FLANGEREFFECT_H
28
29
#include "
Effect.h
"
30
#include "
FlangerControls.h
"
31
32
namespace
lmms
33
{
34
35
class
MonoDelay
;
36
class
QuadratureLfo
;
37
38
39
class
FlangerEffect
:
public
Effect
40
{
41
public
:
42
FlangerEffect
(
Model
* parent ,
const
Descriptor::SubPluginFeatures::Key*
key
);
43
~FlangerEffect
()
override
;
44
45
ProcessStatus
processImpl
(
SampleFrame
* buf,
const
f_cnt_t
frames)
override
;
46
47
EffectControls
*
controls
()
override
48
{
49
return
&
m_flangerControls
;
50
}
51
void
changeSampleRate
();
52
void
restartLFO
();
53
54
private
:
55
FlangerControls
m_flangerControls
;
56
MonoDelay
*
m_lDelay
;
57
MonoDelay
*
m_rDelay
;
58
QuadratureLfo
*
m_lfo
;
59
};
60
61
62
}
// namespace lmms
63
64
#endif
// FLANGEREFFECT_H
Effect.h
FlangerControls.h
lmms::EffectControls
Definition
EffectControls.h:44
lmms::Effect::Effect
Effect(const Plugin::Descriptor *_desc, Model *_parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition
Effect.cpp:41
lmms::Effect::ProcessStatus
ProcessStatus
Definition
Effect.h:150
lmms::FlangerControls
Definition
FlangerControls.h:38
lmms::FlangerEffect::changeSampleRate
void changeSampleRate()
Definition
FlangerEffect.cpp:136
lmms::FlangerEffect::controls
EffectControls * controls() override
Definition
FlangerEffect.h:47
lmms::FlangerEffect::FlangerEffect
FlangerEffect(Model *parent, const Descriptor::SubPluginFeatures::Key *key)
Definition
FlangerEffect.cpp:60
lmms::FlangerEffect::m_lDelay
MonoDelay * m_lDelay
Definition
FlangerEffect.h:56
lmms::FlangerEffect::m_lfo
QuadratureLfo * m_lfo
Definition
FlangerEffect.h:58
lmms::FlangerEffect::m_flangerControls
FlangerControls m_flangerControls
Definition
FlangerEffect.h:55
lmms::FlangerEffect::processImpl
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition
FlangerEffect.cpp:91
lmms::FlangerEffect::m_rDelay
MonoDelay * m_rDelay
Definition
FlangerEffect.h:57
lmms::FlangerEffect::restartLFO
void restartLFO()
Definition
FlangerEffect.cpp:146
lmms::Model
Definition
Model.h:37
lmms::MonoDelay
Definition
MonoDelay.h:35
lmms::Plugin::key
const Descriptor::SubPluginFeatures::Key & key() const
Definition
Plugin.h:272
lmms::QuadratureLfo
Definition
QuadratureLfo.h:36
lmms::SampleFrame
Definition
SampleFrame.h:41
lmms
Definition
RemotePluginBase.cpp:34
lmms::f_cnt_t
std::uint64_t f_cnt_t
Definition
LmmsTypes.h:43
Generated on
for lmms by
1.18.0