tracktion-engine
3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_engine
plugins
effects
tracktion_Phaser.h
Go to the documentation of this file.
1
/*
2
,--. ,--. ,--. ,--.
3
,-' '-.,--.--.,--,--.,---.| |,-.,-' '-.`--' ,---. ,--,--, Copyright 2024
4
'-. .-'| .--' ,-. | .--'| /'-. .-',--.| .-. || \ Tracktion Software
5
| | | | \ '-' \ `--.| \ \ | | | |' '-' '| || | Corporation
6
`---' `--' `--`--'`---'`--'`--' `---' `--' `---' `--''--' www.tracktion.com
7
8
Tracktion Engine uses a GPL/commercial licence - see LICENCE.md for details.
9
*/
10
11
namespace
tracktion
{
inline
namespace
engine
12
{
13
14
class
PhaserPlugin
:
public
Plugin
15
{
16
public
:
17
PhaserPlugin
(
PluginCreationInfo
);
18
~PhaserPlugin
()
override
;
19
20
//==============================================================================
21
static
const
char
* getPluginName() {
return
NEEDS_TRANS
(
"Phaser"
); }
22
static
const
char
* xmlTypeName;
23
24
juce::String
getName
()
const override
{
return
TRANS
(
"Phaser"
); }
25
juce::String
getPluginType()
override
{
return
xmlTypeName; }
26
bool
needsConstantBufferSize()
override
{
return
false
; }
27
void
initialise (
const
PluginInitialisationInfo&)
override
;
28
void
deinitialise
()
override
;
29
int
getNumOutputChannelsGivenInputs
(
int
numInputChannels)
override
{
return
juce::jmin
(numInputChannels, 2); }
30
void
applyToBuffer
(
const
PluginRenderContext
&)
override
;
31
juce::String
getSelectableDescription
()
override
;
32
void
restorePluginStateFromValueTree (
const
juce::ValueTree
&)
override
;
33
34
juce::CachedValue<float>
depth, rate, feedbackGain;
35
36
private
:
37
//==============================================================================
38
double
filterVals[2][8];
39
double
sweep = 0.0, sweepFactor = 0.0, minSweep = 0.0;
40
41
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
(
PhaserPlugin
)
42
};
43
44
}}
// namespace tracktion { inline namespace engine
juce::CachedValue
juce::String
tracktion::engine::PhaserPlugin
Definition
tracktion_Phaser.h:15
tracktion::engine::PhaserPlugin::deinitialise
void deinitialise() override
Called after play stops to release resources.
Definition
tracktion_Phaser.cpp:40
tracktion::engine::PhaserPlugin::getName
juce::String getName() const override
The name of the type, e.g.
Definition
tracktion_Phaser.h:24
tracktion::engine::PhaserPlugin::applyToBuffer
void applyToBuffer(const PluginRenderContext &) override
Process the next block of data.
Definition
tracktion_Phaser.cpp:44
tracktion::engine::PhaserPlugin::getNumOutputChannelsGivenInputs
int getNumOutputChannelsGivenInputs(int numInputChannels) override
This must return the number of output channels that the plugin will produce, given a number of input ...
Definition
tracktion_Phaser.h:29
tracktion::engine::PhaserPlugin::getSelectableDescription
juce::String getSelectableDescription() override
Subclasses must return a description of what they are.
Definition
tracktion_Phaser.cpp:112
tracktion::engine::Plugin
Definition
tracktion_Plugin.h:114
TRANS
#define TRANS(stringLiteral)
NEEDS_TRANS
#define NEEDS_TRANS(stringLiteral)
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
juce::jmin
constexpr Type jmin(Type a, Type b)
tracktion
Definition
tracktion_AudioReader.h:23
juce::ValueTree
tracktion::engine::PluginCreationInfo
Definition
tracktion_Plugin.h:15
tracktion::engine::PluginRenderContext
The context passed to plugin render methods to provide it with buffers to fill.
Definition
tracktion_Plugin.h:48
« « « Anklang Documentation