LMMS
Loading...
Searching...
No Matches
plugins
CarlaBase
carla
source
modules
juce_dsp
processors
juce_ProcessorWrapper.h
Go to the documentation of this file.
1
/*
2
==============================================================================
3
4
This file is part of the JUCE library.
5
Copyright (c) 2022 - Raw Material Software Limited
6
7
JUCE is an open source library subject to commercial or open-source
8
licensing.
9
10
By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11
Agreement and JUCE Privacy Policy.
12
13
End User License Agreement: www.juce.com/juce-7-licence
14
Privacy Policy: www.juce.com/juce-privacy-policy
15
16
Or: You may also use this code under the terms of the GPL v3 (see
17
www.gnu.org/licenses).
18
19
JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20
EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21
DISCLAIMED.
22
23
==============================================================================
24
*/
25
26
namespace
juce
27
{
28
namespace
dsp
29
{
30
40
struct
ProcessorBase
41
{
42
ProcessorBase
() =
default
;
43
virtual
~ProcessorBase
() =
default
;
44
45
virtual
void
prepare
(
const
ProcessSpec
&) = 0;
46
virtual
void
process
(
const
ProcessContextReplacing<float>
&) = 0;
47
virtual
void
reset
() = 0;
48
};
49
50
51
//==============================================================================
59
template
<
typename
ProcessorType>
60
struct
ProcessorWrapper
:
public
ProcessorBase
61
{
62
void
prepare
(
const
ProcessSpec
& spec)
override
63
{
64
processor
.prepare (spec);
65
}
66
67
void
process
(
const
ProcessContextReplacing<float>
& context)
override
68
{
69
processor
.process (context);
70
}
71
72
void
reset
()
override
73
{
74
processor
.reset();
75
}
76
77
ProcessorType
processor
;
78
};
79
80
}
// namespace dsp
81
}
// namespace juce
juce::dsp
Definition
juce_AudioBlock.h:29
juce
Definition
carla_juce.cpp:31
juce::dsp::ProcessContextReplacing
Definition
juce_ProcessContext.h:88
juce::dsp::ProcessSpec
Definition
juce_ProcessContext.h:38
juce::dsp::ProcessorBase::reset
virtual void reset()=0
juce::dsp::ProcessorBase::ProcessorBase
ProcessorBase()=default
juce::dsp::ProcessorBase::~ProcessorBase
virtual ~ProcessorBase()=default
juce::dsp::ProcessorBase::prepare
virtual void prepare(const ProcessSpec &)=0
juce::dsp::ProcessorBase::process
virtual void process(const ProcessContextReplacing< float > &)=0
juce::dsp::ProcessorWrapper
Definition
juce_ProcessorWrapper.h:61
juce::dsp::ProcessorWrapper::reset
void reset() override
Definition
juce_ProcessorWrapper.h:72
juce::dsp::ProcessorWrapper::process
void process(const ProcessContextReplacing< float > &context) override
Definition
juce_ProcessorWrapper.h:67
juce::dsp::ProcessorWrapper::prepare
void prepare(const ProcessSpec &spec) override
Definition
juce_ProcessorWrapper.h:62
juce::dsp::ProcessorWrapper::processor
ProcessorType processor
Definition
juce_ProcessorWrapper.h:77
Generated on
for LMMS by
1.16.1