tracktion-engine
3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation
Loading...
Searching...
No Matches
tracktion_engine
playback
audionodes
tracktion_FadeInOutAudioNode.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
#pragma once
12
13
namespace
tracktion
{
inline
namespace
engine
14
{
15
17
class
FadeInOutAudioNode
:
public
SingleInputAudioNode
18
{
19
public
:
20
FadeInOutAudioNode
(
AudioNode
* input,
21
legacy::EditTimeRange
fadeIn,
22
legacy::EditTimeRange
fadeOut,
23
AudioFadeCurve::Type
fadeInType,
24
AudioFadeCurve::Type
fadeOutType,
25
bool
clearSamplesOutsideFade =
true
);
26
27
~FadeInOutAudioNode
()
override
;
28
29
static
AudioNode
* createForEdit (
Edit
&,
AudioNode
* input);
30
31
//==============================================================================
32
void
renderOver (
const
AudioRenderContext
& rc)
override
;
33
void
renderAdding (
const
AudioRenderContext
& rc)
override
;
34
35
void
renderSection (
const
AudioRenderContext
&,
legacy::EditTimeRange
);
36
37
private
:
38
//==============================================================================
39
legacy::EditTimeRange
fadeIn, fadeOut;
40
AudioFadeCurve::Type
fadeInType, fadeOutType;
41
bool
clearExtraSamples =
true
;
42
43
bool
renderingNeeded (
const
AudioRenderContext
&)
const
;
44
45
static
int
timeToSample (
const
AudioRenderContext
&,
legacy::EditTimeRange
,
double
);
46
47
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
(
FadeInOutAudioNode
)
48
};
49
50
}}
// namespace tracktion { inline namespace engine
tracktion::engine::AudioNode
Base class for nodes in an audio playback graph.
Definition
tracktion_AudioNode.h:173
tracktion::engine::Edit
The Tracktion Edit class!
Definition
tracktion_Edit.h:65
tracktion::engine::FadeInOutAudioNode
An AudioNode that fades its input node in/out at given times.
Definition
tracktion_FadeInOutAudioNode.h:18
tracktion::engine::SingleInputAudioNode
Definition
tracktion_AudioNode.h:273
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
tracktion
Definition
tracktion_AudioReader.h:23
tracktion::engine::AudioFadeCurve::Type
Type
A enumeration of the curve classes available.
Definition
tracktion_AudioFadeCurve.h:47
tracktion::engine::AudioRenderContext
Rendering target info.
Definition
tracktion_AudioNode.h:71
tracktion::engine::legacy::EditTimeRange
Definition
tracktion_EditTimeRange.h:17
« « « Anklang Documentation