11namespace tracktion {
inline namespace graph
18namespace tracktion {
inline namespace engine
21class NodeRenderContext;
50 int blockSizeForAudio = 44100;
51 double sampleRateForAudio = 44100.0;
56 bool createMidiFile =
false;
57 bool trimSilenceAtEnds =
false;
59 bool shouldNormalise =
false;
60 bool shouldNormaliseByRMS =
false;
61 float normaliseToLevelDb = 0;
62 bool canRenderInMono =
true;
63 bool mustRenderInMono =
false;
64 bool usePlugins =
true;
65 bool useMasterPlugins =
false;
66 bool realTimeRender =
false;
67 bool ditheringEnabled =
false;
68 bool separateTracks =
false;
69 bool addAntiDenormalisationNoise =
false;
71 bool addAcidMetadata =
false;
75 ProjectItem::Category category = ProjectItem::Category::none;
77 float resultMagnitude = 0;
79 float resultAudioDuration = 0;
106 float getCurrentTaskProgress()
override {
return progress; }
112 static void flushAllPlugins (
const Plugin::Array&,
double sampleRate,
int samplesPerBlock);
113 static void setAllPluginsRealtime (
const Plugin::Array&,
bool realtime);
159 bool usePlugins =
true,
162 bool useThread =
true);
174 float audioDuration = 0;
179 Edit& edit, TimeRange range,
181 int blockSizeForAudio,
double sampleRateForAudio = 44100.0);
195 : result (other.result), items (other.items) {}
199 result = other.result;
213 : edit (e), tracks (ta)
215 for (
auto t : tracks)
219 playSlotClips.
push_back (at->playSlotClips.get());
220 at->playSlotClips =
false;
227 for (
size_t i = 0;
auto t : tracks)
229 at->playSlotClips = playSlotClips[i++];
239namespace render_utils
static Result fail(const String &errorMessage) noexcept
The Tracktion Edit class!
Engine & engine
A reference to the Engine.
The Engine is the central class for all tracktion sessions.
Task that actually performs the render operation in blocks.
static void turnOffAllPlugins(Edit &)
Deinitialises all the plugins for the Edit.
static ProjectItem::Ptr renderToProjectItem(const juce::String &taskDescription, const Parameters ¶ms)
Renders an Edit to a file and creates a new ProjectItem for it.
static Statistics measureStatistics(const juce::String &taskDescription, Edit &edit, TimeRange range, const juce::BigInteger &tracksToDo, int blockSizeForAudio, double sampleRateForAudio=44100.0)
Renders a section of an edit to measure various details about its audio content.
static bool checkTargetFile(Engine &, const juce::File &)
Cheks a file for write access etc.
static juce::File renderToFile(const juce::String &taskDescription, const Parameters ¶ms)
Renders an Edit to a file given by the Parameters.
Holds a list of TempoSetting objects, to form a sequence of tempo changes.
Represents a duration in real-life time.
bool checkNodesForAudio
If true, attempting to render an Edit that doesn't produce audio will fail.
Temporarily disables clip slots.