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_MidiModifier.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
MidiModifierPlugin
:
public
Plugin
15
{
16
public
:
17
MidiModifierPlugin
(
PluginCreationInfo
);
18
~MidiModifierPlugin
()
override
;
19
20
//==============================================================================
21
juce::CachedValue<float>
semitonesValue;
22
AutomatableParameter::Ptr
semitones;
23
24
//==============================================================================
25
static
float
getMaximumSemitones() {
return
3.0f * 12.0f; }
26
27
static
const
char
* getPluginName() {
return
NEEDS_TRANS
(
"MIDI Modifier"
); }
28
static
const
char
* xmlTypeName;
29
30
juce::String
getName
()
const override
;
31
juce::String
getPluginType()
override
;
32
juce::String
getShortName (
int
)
override
;
33
void
initialise
(
const
PluginInitialisationInfo
&)
override
;
34
void
deinitialise
()
override
;
35
double
getLatencySeconds()
override
;
36
int
getNumOutputChannelsGivenInputs
(
int
)
override
;
37
void
getChannelNames (
juce::StringArray
*,
juce::StringArray
*)
override
;
38
bool
takesAudioInput()
override
;
39
bool
canBeAddedToClip()
override
;
40
bool
needsConstantBufferSize()
override
;
41
42
void
applyToBuffer
(
const
PluginRenderContext
&)
override
;
43
44
juce::String
getSelectableDescription
()
override
;
45
46
void
restorePluginStateFromValueTree (
const
juce::ValueTree
&)
override
;
47
48
private
:
49
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
(
MidiModifierPlugin
)
50
};
51
52
}}
// namespace tracktion { inline namespace engine
juce::CachedValue
juce::ReferenceCountedObjectPtr< AutomatableParameter >
juce::StringArray
juce::String
tracktion::engine::MidiModifierPlugin
Definition
tracktion_MidiModifier.h:15
tracktion::engine::MidiModifierPlugin::getNumOutputChannelsGivenInputs
int getNumOutputChannelsGivenInputs(int) override
This must return the number of output channels that the plugin will produce, given a number of input ...
Definition
tracktion_MidiModifier.cpp:43
tracktion::engine::MidiModifierPlugin::applyToBuffer
void applyToBuffer(const PluginRenderContext &) override
Process the next block of data.
Definition
tracktion_MidiModifier.cpp:49
tracktion::engine::MidiModifierPlugin::deinitialise
void deinitialise() override
Called after play stops to release resources.
Definition
tracktion_MidiModifier.cpp:41
tracktion::engine::MidiModifierPlugin::getName
juce::String getName() const override
The name of the type, e.g.
Definition
tracktion_MidiModifier.cpp:37
tracktion::engine::MidiModifierPlugin::getSelectableDescription
juce::String getSelectableDescription() override
Subclasses must return a description of what they are.
Definition
tracktion_MidiModifier.cpp:55
tracktion::engine::MidiModifierPlugin::initialise
void initialise(const PluginInitialisationInfo &) override
Gives the plugin a chance to set itself up before being played.
Definition
tracktion_MidiModifier.cpp:40
tracktion::engine::Plugin
Definition
tracktion_Plugin.h:114
NEEDS_TRANS
#define NEEDS_TRANS(stringLiteral)
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
tracktion::engine::PluginInitialisationInfo
Passed into Plugins when they are being initialised, to give them useful contextual information that ...
Definition
tracktion_Plugin.h:36
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