TracktionEngine
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
engine::Renderer::Parameters Struct Reference

Holds all the properties of a single render operation. More...

#include <tracktion_Renderer.h>

Public Member Functions

 Parameters ()=delete
 Use one of the constructors that takes an Engine or Edit.
 
 Parameters (Engine &e)
 Constructs a Parameters object for an Engine.
 
 Parameters (Edit &ed)
 Constructs a Parameters object for an Engine.
 
 Parameters (const Parameters &)=default
 Copy constructor.
 
 Parameters (Parameters &&)=default
 Move constructor.
 
Parametersoperator= (const Parameters &)=default
 Copy assignment operator.
 
Parametersoperator= (Parameters &&)=default
 Copy assignment operator.
 

Public Attributes

Engine * engine = nullptr
 The Engine to use.
 
Edit * edit = nullptr
 The Edit to render, must not be nullptr by the time it is rendered.
 
juce::BigInteger tracksToDo
 An bitset of tracks to render, if this is empty, all tracks will be rendered.
 
juce::Array< Clip * > allowedClips
 An array of clips to render, if this is empty, all clips will be included.
 
juce::File destFile
 The destination file to write to, must be writable.
 
juce::AudioFormat * audioFormat = nullptr
 The AudioFormat to use, can be nullptr if createMidiFile is true.
 
int bitDepth = 16
 If this is an audio render, the bit depth to use.
 
int blockSizeForAudio = 512
 The block size to use.
 
double sampleRateForAudio = 44100.0
 The sample rate to use.
 
TimeRange time
 The time range to render.
 
TimeDuration endAllowance
 An optional tail time for notes to end, delays/reverbs to decay etc.
 
bool createMidiFile = false
 If true, a MIDI file will be created.
 
bool trimSilenceAtEnds = false
 If true, the render won't start until a non-silent level has been reached and will end once it becomes silent again.
 
bool shouldNormalise = false
 If true, the resulting audio will be normalised by peak level.
 
bool shouldNormaliseByRMS = false
 If true, the resulting audio will be normalised by RMS level.
 
float normaliseToLevelDb = 0
 The level to normalise to.
 
bool canRenderInMono = true
 If false, the result audio will be forced to stereo.
 
bool mustRenderInMono = false
 If true, the resulting audio will be forced to mono.
 
bool usePlugins = true
 If false, clip/tracks plugins will be ommited from the render.
 
bool useMasterPlugins = false
 If true, master plugins will be included.
 
bool realTimeRender = false
 If true, there will be a pause between each rendered block to simulate real-time.
 
bool ditheringEnabled = false
 If true, low-level noise will be added to the output for non-float formats.
 
bool checkNodesForAudio = true
 If true, attempting to render an Edit that doesn't produce audio will fail.
 
int quality = 0
 For audio formats that support it, the desired quality index.
 
juce::StringPairArray metadata
 A map of meta data to add to the file.
 
bool separateTracks = false
 
ProjectItem::Category category = ProjectItem::Category::none
 
float resultMagnitude = 0
 
float resultRMS = 0
 
float resultAudioDuration = 0
 

Detailed Description

Holds all the properties of a single render operation.

Constructor & Destructor Documentation

◆ Parameters() [1/5]

engine::Renderer::Parameters::Parameters ( )
delete

Use one of the constructors that takes an Engine or Edit.

◆ Parameters() [2/5]

engine::Renderer::Parameters::Parameters ( Engine &  e)

Constructs a Parameters object for an Engine.

◆ Parameters() [3/5]

engine::Renderer::Parameters::Parameters ( Edit &  ed)

Constructs a Parameters object for an Engine.

◆ Parameters() [4/5]

engine::Renderer::Parameters::Parameters ( const Parameters )
default

Copy constructor.

◆ Parameters() [5/5]

engine::Renderer::Parameters::Parameters ( Parameters &&  )
default

Move constructor.

Member Function Documentation

◆ operator=() [1/2]

Parameters & engine::Renderer::Parameters::operator= ( const Parameters )
default

Copy assignment operator.

◆ operator=() [2/2]

Parameters & engine::Renderer::Parameters::operator= ( Parameters &&  )
default

Copy assignment operator.

Member Data Documentation

◆ engine

Engine* engine::Renderer::Parameters::engine = nullptr

The Engine to use.

◆ edit

Edit* engine::Renderer::Parameters::edit = nullptr

The Edit to render, must not be nullptr by the time it is rendered.

◆ tracksToDo

juce::BigInteger engine::Renderer::Parameters::tracksToDo

An bitset of tracks to render, if this is empty, all tracks will be rendered.

See also
toBitSet/toTrackArray

◆ allowedClips

juce::Array<Clip*> engine::Renderer::Parameters::allowedClips

An array of clips to render, if this is empty, all clips will be included.

◆ destFile

juce::File engine::Renderer::Parameters::destFile

The destination file to write to, must be writable.

◆ audioFormat

juce::AudioFormat* engine::Renderer::Parameters::audioFormat = nullptr

The AudioFormat to use, can be nullptr if createMidiFile is true.

◆ bitDepth

int engine::Renderer::Parameters::bitDepth = 16

If this is an audio render, the bit depth to use.

◆ blockSizeForAudio

int engine::Renderer::Parameters::blockSizeForAudio = 512

The block size to use.

◆ sampleRateForAudio

double engine::Renderer::Parameters::sampleRateForAudio = 44100.0

The sample rate to use.

◆ time

TimeRange engine::Renderer::Parameters::time

The time range to render.

◆ endAllowance

TimeDuration engine::Renderer::Parameters::endAllowance

An optional tail time for notes to end, delays/reverbs to decay etc.

If the audio level drops to silence in this period, the render will be stopped. Mostly useful for freeze files and track renders, not usually in exporting.

◆ createMidiFile

bool engine::Renderer::Parameters::createMidiFile = false

If true, a MIDI file will be created.

◆ trimSilenceAtEnds

bool engine::Renderer::Parameters::trimSilenceAtEnds = false

If true, the render won't start until a non-silent level has been reached and will end once it becomes silent again.

◆ shouldNormalise

bool engine::Renderer::Parameters::shouldNormalise = false

If true, the resulting audio will be normalised by peak level.

◆ shouldNormaliseByRMS

bool engine::Renderer::Parameters::shouldNormaliseByRMS = false

If true, the resulting audio will be normalised by RMS level.

◆ normaliseToLevelDb

float engine::Renderer::Parameters::normaliseToLevelDb = 0

The level to normalise to.

◆ canRenderInMono

bool engine::Renderer::Parameters::canRenderInMono = true

If false, the result audio will be forced to stereo.

◆ mustRenderInMono

bool engine::Renderer::Parameters::mustRenderInMono = false

If true, the resulting audio will be forced to mono.

◆ usePlugins

bool engine::Renderer::Parameters::usePlugins = true

If false, clip/tracks plugins will be ommited from the render.

◆ useMasterPlugins

bool engine::Renderer::Parameters::useMasterPlugins = false

If true, master plugins will be included.

◆ realTimeRender

bool engine::Renderer::Parameters::realTimeRender = false

If true, there will be a pause between each rendered block to simulate real-time.

◆ ditheringEnabled

bool engine::Renderer::Parameters::ditheringEnabled = false

If true, low-level noise will be added to the output for non-float formats.

◆ checkNodesForAudio

bool engine::Renderer::Parameters::checkNodesForAudio = true

If true, attempting to render an Edit that doesn't produce audio will fail.

◆ quality

int engine::Renderer::Parameters::quality = 0

For audio formats that support it, the desired quality index.

See also
juce::AudioFormat::createWriterFor

◆ metadata

juce::StringPairArray engine::Renderer::Parameters::metadata

A map of meta data to add to the file.

◆ separateTracks

bool engine::Renderer::Parameters::separateTracks = false

◆ category

ProjectItem::Category engine::Renderer::Parameters::category = ProjectItem::Category::none

◆ resultMagnitude

float engine::Renderer::Parameters::resultMagnitude = 0

◆ resultRMS

float engine::Renderer::Parameters::resultRMS = 0

◆ resultAudioDuration

float engine::Renderer::Parameters::resultAudioDuration = 0

The documentation for this struct was generated from the following file: