TracktionEngine
Public Member Functions | Public Attributes | List of all members
tracktion::engine::PluginRenderContext Struct Reference

The context passed to plugin render methods to provide it with buffers to fill. More...

Public Member Functions

 PluginRenderContext (juce::AudioBuffer< float > *buffer, const juce::AudioChannelSet &bufferChannels, int bufferStart, int bufferSize, MidiMessageArray *midiBuffer, double midiOffset, TimeRange editTime, bool playing, bool scrubbing, bool rendering, bool allowBypassedProcessing) noexcept
 
 PluginRenderContext (const PluginRenderContext &)=default
 Creates a copy of another PluginRenderContext. More...
 
 PluginRenderContext (PluginRenderContext &&)=default
 
PluginRenderContextoperator= (const PluginRenderContext &)=delete
 Deleted assignment operators. More...
 
PluginRenderContextoperator= (PluginRenderContext &&)=delete
 

Public Attributes

juce::AudioBuffer< float > * destBuffer = nullptr
 The target audio buffer which needs to be filled. More...
 
juce::AudioChannelSet destBufferChannels
 A description of the type of channels in each of the channels in destBuffer. More...
 
int bufferStartSample = 0
 The index of the start point in the audio buffer from which data must be written. More...
 
int bufferNumSamples = 0
 The number of samples to write into the audio buffer. More...
 
MidiMessageArraybufferForMidiMessages = nullptr
 A buffer of MIDI events to process. More...
 
double midiBufferOffset = 0.0
 A time offset to add to the timestamp of any events in the MIDI buffer. More...
 
TimeRange editTime
 The edit time range this context represents. More...
 
bool isPlaying = false
 True if the the playhead is currently playing. More...
 
bool isScrubbing = false
 True if the the audio is currently being scrubbed. More...
 
bool isRendering = false
 True if the rendering is happening as part of an offline render rather than live playback. More...
 
bool allowBypassedProcessing = false
 If this is true and the plugin supports it, this will call the bypassed processing method of the plugin. More...
 

Detailed Description

The context passed to plugin render methods to provide it with buffers to fill.

Constructor & Destructor Documentation

◆ PluginRenderContext() [1/3]

tracktion::engine::PluginRenderContext::PluginRenderContext ( juce::AudioBuffer< float > *  buffer,
const juce::AudioChannelSet &  bufferChannels,
int  bufferStart,
int  bufferSize,
MidiMessageArray midiBuffer,
double  midiOffset,
TimeRange  editTime,
bool  playing,
bool  scrubbing,
bool  rendering,
bool  allowBypassedProcessing 
)
noexcept

◆ PluginRenderContext() [2/3]

tracktion::engine::PluginRenderContext::PluginRenderContext ( const PluginRenderContext )
default

Creates a copy of another PluginRenderContext.

◆ PluginRenderContext() [3/3]

tracktion::engine::PluginRenderContext::PluginRenderContext ( PluginRenderContext &&  )
default

Member Function Documentation

◆ operator=() [1/2]

PluginRenderContext& tracktion::engine::PluginRenderContext::operator= ( const PluginRenderContext )
delete

Deleted assignment operators.

◆ operator=() [2/2]

PluginRenderContext& tracktion::engine::PluginRenderContext::operator= ( PluginRenderContext &&  )
delete

Member Data Documentation

◆ destBuffer

juce::AudioBuffer<float>* tracktion::engine::PluginRenderContext::destBuffer = nullptr

The target audio buffer which needs to be filled.

This may be nullptr if no audio is being processed.

◆ destBufferChannels

juce::AudioChannelSet tracktion::engine::PluginRenderContext::destBufferChannels

A description of the type of channels in each of the channels in destBuffer.

◆ bufferStartSample

int tracktion::engine::PluginRenderContext::bufferStartSample = 0

The index of the start point in the audio buffer from which data must be written.

◆ bufferNumSamples

int tracktion::engine::PluginRenderContext::bufferNumSamples = 0

The number of samples to write into the audio buffer.

◆ bufferForMidiMessages

MidiMessageArray* tracktion::engine::PluginRenderContext::bufferForMidiMessages = nullptr

A buffer of MIDI events to process.

This may be nullptr if no MIDI is being sent

◆ midiBufferOffset

double tracktion::engine::PluginRenderContext::midiBufferOffset = 0.0

A time offset to add to the timestamp of any events in the MIDI buffer.

◆ editTime

TimeRange tracktion::engine::PluginRenderContext::editTime

The edit time range this context represents.

◆ isPlaying

bool tracktion::engine::PluginRenderContext::isPlaying = false

True if the the playhead is currently playing.

◆ isScrubbing

bool tracktion::engine::PluginRenderContext::isScrubbing = false

True if the the audio is currently being scrubbed.

◆ isRendering

bool tracktion::engine::PluginRenderContext::isRendering = false

True if the rendering is happening as part of an offline render rather than live playback.

◆ allowBypassedProcessing

bool tracktion::engine::PluginRenderContext::allowBypassedProcessing = false

If this is true and the plugin supports it, this will call the bypassed processing method of the plugin.

If this is false, the plugin simply won't be processed. This can be used to ensure bypassed plugins still introduce their reported latency.


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