tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
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
13namespace tracktion { inline namespace engine
14{
15
18{
19public:
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
37private:
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
48};
49
50}} // namespace tracktion { inline namespace engine
Base class for nodes in an audio playback graph.
The Tracktion Edit class!
An AudioNode that fades its input node in/out at given times.
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
Type
A enumeration of the curve classes available.