|
TracktionEngine
|
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. | |
| Parameters & | operator= (const Parameters &)=default |
| Copy assignment operator. | |
| Parameters & | operator= (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::Array< EditItemID > | tracksToProcessWhileMuted |
| Tracks whose contents keep processing even while the track is muted, so they can feed the rendered tracks' sidechains, aux buses and racks without being heard directly. | |
| 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. | |
| bool | shouldNormaliseByLUFS = false |
| If true, the resulting audio will be normalised to an integrated loudness (BS.1770-4) target. | |
| float | normaliseToLevelDb = 0 |
| The level to normalise to, in dB or LUFS depending on the mode. | |
| bool | limitTruePeak = true |
| LUFS mode only: if true, the gain is held back so the true peak stays under truePeakCeilingDb, even if that means the result lands quieter than the loudness target. | |
| float | truePeakCeilingDb = -1.0f |
| The true-peak ceiling to keep under when limitTruePeak is set. | |
| 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. | |
| ChannelConfiguration | channelConfig |
| Output channel configuration. | |
| 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 | wrapRemainder = false |
| If true, the tail rendered during the endAllowance period is mixed back onto the start of the file and the file is truncated to the original time range, so the result loops seamlessly. | |
| bool | separateTracks = false |
| ProjectItem::Category | category = ProjectItem::Category::none |
| float | resultMagnitude = 0 |
| float | resultRMS = 0 |
| float | resultAudioDuration = 0 |
Holds all the properties of a single render operation.
|
delete |
| engine::Renderer::Parameters::Parameters | ( | Engine & | e | ) |
Constructs a Parameters object for an Engine.
| engine::Renderer::Parameters::Parameters | ( | Edit & | ed | ) |
Constructs a Parameters object for an Engine.
|
default |
Copy constructor.
|
default |
Move constructor.
|
default |
Copy assignment operator.
|
default |
Copy assignment operator.
| Edit* engine::Renderer::Parameters::edit = nullptr |
The Edit to render, must not be nullptr by the time it is rendered.
| juce::BigInteger engine::Renderer::Parameters::tracksToDo |
An bitset of tracks to render, if this is empty, all tracks will be rendered.
| juce::Array<Clip*> engine::Renderer::Parameters::allowedClips |
An array of clips to render, if this is empty, all clips will be included.
| juce::Array<EditItemID> engine::Renderer::Parameters::tracksToProcessWhileMuted |
Tracks whose contents keep processing even while the track is muted, so they can feed the rendered tracks' sidechains, aux buses and racks without being heard directly.
Used with RenderSpecification::mutedTracks stem sources.
| juce::File engine::Renderer::Parameters::destFile |
The destination file to write to, must be writable.
| juce::AudioFormat* engine::Renderer::Parameters::audioFormat = nullptr |
The AudioFormat to use, can be nullptr if createMidiFile is true.
| int engine::Renderer::Parameters::bitDepth = 16 |
If this is an audio render, the bit depth to use.
| int engine::Renderer::Parameters::blockSizeForAudio = 512 |
The block size to use.
| double engine::Renderer::Parameters::sampleRateForAudio = 44100.0 |
The sample rate to use.
| TimeRange engine::Renderer::Parameters::time |
The time range to render.
| 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.
| bool engine::Renderer::Parameters::createMidiFile = false |
If true, a MIDI file will be created.
| 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.
| bool engine::Renderer::Parameters::shouldNormalise = false |
If true, the resulting audio will be normalised by peak level.
| bool engine::Renderer::Parameters::shouldNormaliseByRMS = false |
If true, the resulting audio will be normalised by RMS level.
| bool engine::Renderer::Parameters::shouldNormaliseByLUFS = false |
If true, the resulting audio will be normalised to an integrated loudness (BS.1770-4) target.
Takes priority over the peak and RMS modes if more than one is set.
| float engine::Renderer::Parameters::normaliseToLevelDb = 0 |
The level to normalise to, in dB or LUFS depending on the mode.
| bool engine::Renderer::Parameters::limitTruePeak = true |
LUFS mode only: if true, the gain is held back so the true peak stays under truePeakCeilingDb, even if that means the result lands quieter than the loudness target.
| float engine::Renderer::Parameters::truePeakCeilingDb = -1.0f |
The true-peak ceiling to keep under when limitTruePeak is set.
| bool engine::Renderer::Parameters::canRenderInMono = true |
If false, the result audio will be forced to stereo.
| bool engine::Renderer::Parameters::mustRenderInMono = false |
If true, the resulting audio will be forced to mono.
| ChannelConfiguration engine::Renderer::Parameters::channelConfig |
Output channel configuration.
When empty (default), the channel layout is auto-detected from the node graph. When set, defines the exact output channel layout including ordering and semantic roles (e.g. 5.1, 7.1, custom). The mono overrides above still take priority when set.
| bool engine::Renderer::Parameters::usePlugins = true |
If false, clip/tracks plugins will be ommited from the render.
| bool engine::Renderer::Parameters::useMasterPlugins = false |
If true, master plugins will be included.
| bool engine::Renderer::Parameters::realTimeRender = false |
If true, there will be a pause between each rendered block to simulate real-time.
| bool engine::Renderer::Parameters::ditheringEnabled = false |
If true, low-level noise will be added to the output for non-float formats.
| bool engine::Renderer::Parameters::checkNodesForAudio = true |
If true, attempting to render an Edit that doesn't produce audio will fail.
| int engine::Renderer::Parameters::quality = 0 |
For audio formats that support it, the desired quality index.
| juce::StringPairArray engine::Renderer::Parameters::metadata |
A map of meta data to add to the file.
| bool engine::Renderer::Parameters::wrapRemainder = false |
If true, the tail rendered during the endAllowance period is mixed back onto the start of the file and the file is truncated to the original time range, so the result loops seamlessly.
Incompatible with trimSilenceAtEnds, which takes priority.
| bool engine::Renderer::Parameters::separateTracks = false |
| ProjectItem::Category engine::Renderer::Parameters::category = ProjectItem::Category::none |
| float engine::Renderer::Parameters::resultMagnitude = 0 |
| float engine::Renderer::Parameters::resultRMS = 0 |
| float engine::Renderer::Parameters::resultAudioDuration = 0 |