lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
plugins
PeakControllerEffect
PeakControllerEffect.h
Go to the documentation of this file.
1
/*
2
* peak_controller_Effect.h - PeakController effect plugin
3
*
4
* Copyright (c) 2008 Paul Giblock <drfaygo/at/gmail/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 PEAK_CONTROLLER_EFFECT_H
27
#define PEAK_CONTROLLER_EFFECT_H
28
29
#include "
Effect.h
"
30
#include "
PeakControllerEffectControls.h
"
31
32
namespace
lmms
33
{
34
35
36
class
PeakController
;
37
38
class
PeakControllerEffect
:
public
Effect
39
{
40
public
:
41
PeakControllerEffect
(
Model
* parent,
42
const
Descriptor::SubPluginFeatures::Key * _key );
43
~PeakControllerEffect
()
override
;
44
45
ProcessStatus
processImpl
(
SampleFrame
* buf,
const
f_cnt_t
frames)
override
;
46
47
EffectControls
*
controls
()
override
48
{
49
return
&
m_peakControls
;
50
}
51
52
float
lastSample
()
53
{
54
return
m_lastSample
;
55
}
56
57
PeakController
*
controller
()
58
{
59
return
m_autoController
;
60
}
61
62
FloatModel
*
attackModel
()
63
{
64
return
&(
m_peakControls
.
m_attackModel
);
65
}
66
67
FloatModel
*
decayModel
()
68
{
69
return
&(
m_peakControls
.
m_decayModel
);
70
}
71
72
int
m_effectId
;
73
74
private
:
75
PeakControllerEffectControls
m_peakControls
;
76
77
float
m_lastSample
;
78
79
PeakController
*
m_autoController
;
80
81
friend
class
PeakControllerEffectControls
;
82
83
} ;
84
85
86
}
// namespace lmms
87
88
#endif
Effect.h
PeakControllerEffectControls.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::FloatModel
Definition
AutomatableModel.h:468
lmms::Model
Definition
Model.h:37
lmms::PeakControllerEffectControls::m_attackModel
FloatModel m_attackModel
Definition
PeakControllerEffectControls.h:68
lmms::PeakControllerEffectControls::m_decayModel
FloatModel m_decayModel
Definition
PeakControllerEffectControls.h:69
lmms::PeakControllerEffect::m_autoController
PeakController * m_autoController
Definition
PeakControllerEffect.h:79
lmms::PeakControllerEffect::m_lastSample
float m_lastSample
Definition
PeakControllerEffect.h:77
lmms::PeakControllerEffect::controls
EffectControls * controls() override
Definition
PeakControllerEffect.h:47
lmms::PeakControllerEffect::m_peakControls
PeakControllerEffectControls m_peakControls
Definition
PeakControllerEffect.h:75
lmms::PeakControllerEffect::lastSample
float lastSample()
Definition
PeakControllerEffect.h:52
lmms::PeakControllerEffect::m_effectId
int m_effectId
Definition
PeakControllerEffect.h:72
lmms::PeakControllerEffect::processImpl
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition
PeakControllerEffect.cpp:96
lmms::PeakControllerEffect::PeakControllerEffectControls
friend class PeakControllerEffectControls
Definition
PeakControllerEffect.h:81
lmms::PeakControllerEffect::controller
PeakController * controller()
Definition
PeakControllerEffect.h:57
lmms::PeakControllerEffect::attackModel
FloatModel * attackModel()
Definition
PeakControllerEffect.h:62
lmms::PeakControllerEffect::PeakControllerEffect
PeakControllerEffect(Model *parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition
PeakControllerEffect.cpp:65
lmms::PeakControllerEffect::decayModel
FloatModel * decayModel()
Definition
PeakControllerEffect.h:67
lmms::PeakController
Definition
PeakController.h:42
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