lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
plugins
StereoEnhancer
StereoEnhancer.h
Go to the documentation of this file.
1
/*
2
* StereoEnhancer.h - stereo-enhancer-effect-plugin
3
*
4
* Copyright (c) 2006-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
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 _STEREO_ENHANCER_H
27
#define _STEREO_ENHANCER_H
28
29
#include "
Effect.h
"
30
#include "
DspEffectLibrary.h
"
31
#include "
StereoEnhancerControls.h
"
32
33
namespace
lmms
34
{
35
36
37
class
StereoEnhancerEffect
:
public
Effect
38
{
39
public
:
40
StereoEnhancerEffect
(
Model
* parent,
41
const
Descriptor::SubPluginFeatures::Key * _key );
42
~StereoEnhancerEffect
()
override
;
43
44
ProcessStatus
processImpl
(
SampleFrame
* buf,
const
f_cnt_t
frames)
override
;
45
void
processBypassedImpl
()
override
;
46
47
EffectControls
*
controls
()
override
48
{
49
return
( &
m_bbControls
);
50
}
51
52
void
clearMyBuffer
();
53
54
55
private
:
56
DspEffectLibrary::StereoEnhancer
m_seFX
;
57
58
SampleFrame
*
m_delayBuffer
;
59
int
m_currFrame
;
60
bool
m_delayBufferCleared
=
true
;
61
62
StereoEnhancerControls
m_bbControls
;
63
64
friend
class
StereoEnhancerControls
;
65
} ;
66
67
68
}
// namespace lmms
69
70
#endif
DspEffectLibrary.h
Effect.h
StereoEnhancerControls.h
lmms::DspEffectLibrary::StereoEnhancer
Definition
DspEffectLibrary.h:313
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::Model
Definition
Model.h:37
lmms::SampleFrame
Definition
SampleFrame.h:41
lmms::StereoEnhancerEffect::m_delayBuffer
SampleFrame * m_delayBuffer
Definition
StereoEnhancer.h:58
lmms::StereoEnhancerEffect::processImpl
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition
StereoEnhancer.cpp:85
lmms::StereoEnhancerEffect::m_delayBufferCleared
bool m_delayBufferCleared
Definition
StereoEnhancer.h:60
lmms::StereoEnhancerEffect::processBypassedImpl
void processBypassedImpl() override
Definition
StereoEnhancer.cpp:129
lmms::StereoEnhancerEffect::m_bbControls
StereoEnhancerControls m_bbControls
Definition
StereoEnhancer.h:62
lmms::StereoEnhancerEffect::m_seFX
DspEffectLibrary::StereoEnhancer m_seFX
Definition
StereoEnhancer.h:56
lmms::StereoEnhancerEffect::clearMyBuffer
void clearMyBuffer()
Definition
StereoEnhancer.cpp:137
lmms::StereoEnhancerEffect::StereoEnhancerEffect
StereoEnhancerEffect(Model *parent, const Descriptor::SubPluginFeatures::Key *_key)
Definition
StereoEnhancer.cpp:56
lmms::StereoEnhancerEffect::StereoEnhancerControls
friend class StereoEnhancerControls
Definition
StereoEnhancer.h:64
lmms::StereoEnhancerEffect::m_currFrame
int m_currFrame
Definition
StereoEnhancer.h:59
lmms::StereoEnhancerEffect::controls
EffectControls * controls() override
Definition
StereoEnhancer.h:47
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