lmms
Cross-platform music production software
Toggle main menu visibility
Loading...
Searching...
No Matches
plugins
ReverbSC
ReverbSC.h
Go to the documentation of this file.
1
/*
2
* RerverbSC.h - Reverb algorithm by Sean Costello
3
*
4
* Copyright (c) 2017 Paul Batchelor
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 REVERBSC_H
27
#define REVERBSC_H
28
29
#include "
Effect.h
"
30
#include "
ReverbSCControls.h
"
31
32
extern
"C"
{
33
#include "
base.h
"
34
#include "
revsc.h
"
35
#include "
dcblock.h
"
36
}
37
38
39
namespace
lmms
40
{
41
42
43
class
ReverbSCEffect
:
public
Effect
44
{
45
public
:
46
ReverbSCEffect
(
Model
* parent,
const
Descriptor::SubPluginFeatures::Key*
key
);
47
~ReverbSCEffect
()
override
;
48
49
ProcessStatus
processImpl
(
SampleFrame
* buf,
const
f_cnt_t
frames)
override
;
50
51
EffectControls
*
controls
()
override
52
{
53
return
&
m_reverbSCControls
;
54
}
55
56
void
changeSampleRate
();
57
58
private
:
59
ReverbSCControls
m_reverbSCControls
;
60
sp_data
*
sp
;
61
sp_revsc
*
revsc
;
62
sp_dcblock
*
dcblk
[2];
63
QMutex
mutex
;
64
friend
class
ReverbSCControls
;
65
} ;
66
67
68
}
// namespace lmms
69
70
#endif
Effect.h
ReverbSCControls.h
base.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::Model
Definition
Model.h:37
lmms::Plugin::key
const Descriptor::SubPluginFeatures::Key & key() const
Definition
Plugin.h:272
lmms::ReverbSCEffect::mutex
QMutex mutex
Definition
ReverbSC.h:63
lmms::ReverbSCEffect::sp
sp_data * sp
Definition
ReverbSC.h:60
lmms::ReverbSCEffect::ReverbSCControls
friend class ReverbSCControls
Definition
ReverbSC.h:64
lmms::ReverbSCEffect::controls
EffectControls * controls() override
Definition
ReverbSC.h:51
lmms::ReverbSCEffect::ReverbSCEffect
ReverbSCEffect(Model *parent, const Descriptor::SubPluginFeatures::Key *key)
Definition
ReverbSC.cpp:51
lmms::ReverbSCEffect::m_reverbSCControls
ReverbSCControls m_reverbSCControls
Definition
ReverbSC.h:59
lmms::ReverbSCEffect::processImpl
ProcessStatus processImpl(SampleFrame *buf, const f_cnt_t frames) override
Definition
ReverbSC.cpp:76
lmms::ReverbSCEffect::dcblk
sp_dcblock * dcblk[2]
Definition
ReverbSC.h:62
lmms::ReverbSCEffect::revsc
sp_revsc * revsc
Definition
ReverbSC.h:61
lmms::ReverbSCEffect::changeSampleRate
void changeSampleRate()
Definition
ReverbSC.cpp:119
lmms::SampleFrame
Definition
SampleFrame.h:41
dcblock.h
lmms
Definition
RemotePluginBase.cpp:34
lmms::f_cnt_t
std::uint64_t f_cnt_t
Definition
LmmsTypes.h:43
revsc.h
sp_data
Definition
base.h:26
sp_dcblock
Definition
dcblock.h:1
sp_revsc
Definition
revsc.h:14
Generated on
for lmms by
1.18.0