LMMS
Loading...
Searching...
No Matches
juce::RenderSequenceBuilder< RenderSequence > Struct Template Reference

Classes

struct  AssignedBuffer
struct  Delay

Public Types

enum  { readOnlyEmptyBufferIndex = 0 }
using Node = AudioProcessorGraph::Node
using NodeID = AudioProcessorGraph::NodeID

Public Member Functions

 RenderSequenceBuilder (AudioProcessorGraph &g, RenderSequence &s)
int getNodeDelay (NodeID nodeID) const noexcept
int getInputLatencyForNode (NodeID nodeID) const
int findBufferForInputAudioChannel (Node &node, const int inputChan, const int ourRenderingIndex, const int maxLatency)
int findBufferForInputMidiChannel (Node &node, int ourRenderingIndex)
void createRenderingOpsForNode (Node &node, const int ourRenderingIndex)
Array< AudioProcessorGraph::NodeAndChannelgetSourcesForChannel (Node &node, int inputChannelIndex)
int getBufferContaining (AudioProcessorGraph::NodeAndChannel output) const noexcept
void markAnyUnusedBuffersAsFree (Array< AssignedBuffer > &buffers, const int stepIndex)
bool isBufferNeededLater (int stepIndexToSearchFrom, int inputChannelOfIndexToIgnore, AudioProcessorGraph::NodeAndChannel output) const

Static Public Member Functions

static void getAllParentsOfNode (const Node *child, std::unordered_set< Node * > &parents, const std::unordered_map< Node *, std::unordered_set< Node * > > &otherParents)
static auto createOrderedNodeList (const AudioProcessorGraph &graph)
static int getFreeBuffer (Array< AssignedBuffer > &buffers)

Public Attributes

AudioProcessorGraphgraph
RenderSequence & sequence
const Array< Node * > orderedNodes
Array< AssignedBufferaudioBuffers
Array< AssignedBuffermidiBuffers
HashMap< uint32, intdelays
int totalLatency = 0

Member Typedef Documentation

◆ Node

template<typename RenderSequence>
using juce::RenderSequenceBuilder< RenderSequence >::Node = AudioProcessorGraph::Node

◆ NodeID

template<typename RenderSequence>
using juce::RenderSequenceBuilder< RenderSequence >::NodeID = AudioProcessorGraph::NodeID

Member Enumeration Documentation

◆ anonymous enum

template<typename RenderSequence>
anonymous enum
Enumerator
readOnlyEmptyBufferIndex 

Constructor & Destructor Documentation

◆ RenderSequenceBuilder()

template<typename RenderSequence>
juce::RenderSequenceBuilder< RenderSequence >::RenderSequenceBuilder ( AudioProcessorGraph & g,
RenderSequence & s )
inline

Member Function Documentation

◆ createOrderedNodeList()

template<typename RenderSequence>
auto juce::RenderSequenceBuilder< RenderSequence >::createOrderedNodeList ( const AudioProcessorGraph & graph)
inlinestatic

◆ createRenderingOpsForNode()

template<typename RenderSequence>
void juce::RenderSequenceBuilder< RenderSequence >::createRenderingOpsForNode ( Node & node,
const int ourRenderingIndex )
inline

◆ findBufferForInputAudioChannel()

template<typename RenderSequence>
int juce::RenderSequenceBuilder< RenderSequence >::findBufferForInputAudioChannel ( Node & node,
const int inputChan,
const int ourRenderingIndex,
const int maxLatency )
inline

◆ findBufferForInputMidiChannel()

template<typename RenderSequence>
int juce::RenderSequenceBuilder< RenderSequence >::findBufferForInputMidiChannel ( Node & node,
int ourRenderingIndex )
inline

◆ getAllParentsOfNode()

template<typename RenderSequence>
void juce::RenderSequenceBuilder< RenderSequence >::getAllParentsOfNode ( const Node * child,
std::unordered_set< Node * > & parents,
const std::unordered_map< Node *, std::unordered_set< Node * > > & otherParents )
inlinestatic

◆ getBufferContaining()

template<typename RenderSequence>
int juce::RenderSequenceBuilder< RenderSequence >::getBufferContaining ( AudioProcessorGraph::NodeAndChannel output) const
inlinenoexcept

◆ getFreeBuffer()

template<typename RenderSequence>
int juce::RenderSequenceBuilder< RenderSequence >::getFreeBuffer ( Array< AssignedBuffer > & buffers)
inlinestatic

◆ getInputLatencyForNode()

template<typename RenderSequence>
int juce::RenderSequenceBuilder< RenderSequence >::getInputLatencyForNode ( NodeID nodeID) const
inline

◆ getNodeDelay()

template<typename RenderSequence>
int juce::RenderSequenceBuilder< RenderSequence >::getNodeDelay ( NodeID nodeID) const
inlinenoexcept

◆ getSourcesForChannel()

template<typename RenderSequence>
Array< AudioProcessorGraph::NodeAndChannel > juce::RenderSequenceBuilder< RenderSequence >::getSourcesForChannel ( Node & node,
int inputChannelIndex )
inline

◆ isBufferNeededLater()

template<typename RenderSequence>
bool juce::RenderSequenceBuilder< RenderSequence >::isBufferNeededLater ( int stepIndexToSearchFrom,
int inputChannelOfIndexToIgnore,
AudioProcessorGraph::NodeAndChannel output ) const
inline

◆ markAnyUnusedBuffersAsFree()

template<typename RenderSequence>
void juce::RenderSequenceBuilder< RenderSequence >::markAnyUnusedBuffersAsFree ( Array< AssignedBuffer > & buffers,
const int stepIndex )
inline

Member Data Documentation

◆ audioBuffers

template<typename RenderSequence>
Array<AssignedBuffer> juce::RenderSequenceBuilder< RenderSequence >::audioBuffers

◆ delays

template<typename RenderSequence>
HashMap<uint32, int> juce::RenderSequenceBuilder< RenderSequence >::delays

◆ graph

template<typename RenderSequence>
AudioProcessorGraph& juce::RenderSequenceBuilder< RenderSequence >::graph

◆ midiBuffers

template<typename RenderSequence>
Array<AssignedBuffer> juce::RenderSequenceBuilder< RenderSequence >::midiBuffers

◆ orderedNodes

template<typename RenderSequence>
const Array<Node*> juce::RenderSequenceBuilder< RenderSequence >::orderedNodes

◆ sequence

template<typename RenderSequence>
RenderSequence& juce::RenderSequenceBuilder< RenderSequence >::sequence

◆ totalLatency

template<typename RenderSequence>
int juce::RenderSequenceBuilder< RenderSequence >::totalLatency = 0

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