LMMS
Loading...
Searching...
No Matches
juce::AudioProcessorGraph::Node Class Reference

#include <juce_AudioProcessorGraph.h>

Inheritance diagram for juce::AudioProcessorGraph::Node:
juce::ReferenceCountedObject

Classes

struct  Connection

Public Types

using Ptr = ReferenceCountedObjectPtr<Node>

Public Member Functions

AudioProcessorgetProcessor () const noexcept
bool isBypassed () const noexcept
void setBypassed (bool shouldBeBypassed) noexcept
Public Member Functions inherited from juce::ReferenceCountedObject
void incReferenceCount () noexcept
void decReferenceCount () noexcept
bool decReferenceCountWithoutDeleting () noexcept
int getReferenceCount () const noexcept

Public Attributes

const NodeID nodeID
NamedValueSet properties

Private Member Functions

 Node (NodeID, std::unique_ptr< AudioProcessor >) noexcept
void setParentGraph (AudioProcessorGraph *) const
void prepare (double newSampleRate, int newBlockSize, AudioProcessorGraph *, ProcessingPrecision)
void unprepare ()
template<typename Sample>
void callProcessFunction (AudioBuffer< Sample > &audio, MidiBuffer &midi, void(AudioProcessor::*function)(AudioBuffer< Sample > &, MidiBuffer &))
template<typename Sample>
void processBlock (AudioBuffer< Sample > &audio, MidiBuffer &midi)
template<typename Sample>
void processBlockBypassed (AudioBuffer< Sample > &audio, MidiBuffer &midi)

Private Attributes

std::unique_ptr< AudioProcessorprocessor
Array< Connectioninputs
Array< Connectionoutputs
bool isPrepared = false
std::atomic< bool > bypassed { false }
CriticalSection processorLock

Friends

class AudioProcessorGraph
template<typename Float>
struct GraphRenderSequence
template<typename Float>
struct RenderSequenceBuilder

Additional Inherited Members

Protected Member Functions inherited from juce::ReferenceCountedObject
 ReferenceCountedObject ()=default
 ReferenceCountedObject (const ReferenceCountedObject &) noexcept
 ReferenceCountedObject (ReferenceCountedObject &&) noexcept
ReferenceCountedObjectoperator= (const ReferenceCountedObject &) noexcept
ReferenceCountedObjectoperator= (ReferenceCountedObject &&) noexcept
virtual ~ReferenceCountedObject ()
void resetReferenceCount () noexcept

Detailed Description

Represents one of the nodes, or processors, in an AudioProcessorGraph.

To create a node, call AudioProcessorGraph::addNode().

Member Typedef Documentation

◆ Ptr

using juce::AudioProcessorGraph::Node::Ptr = ReferenceCountedObjectPtr<Node>

A convenient typedef for referring to a pointer to a node object.

Constructor & Destructor Documentation

◆ Node()

juce::AudioProcessorGraph::Node::Node ( NodeID n,
std::unique_ptr< AudioProcessor > p )
privatenoexcept

Member Function Documentation

◆ callProcessFunction()

template<typename Sample>
void juce::AudioProcessorGraph::Node::callProcessFunction ( AudioBuffer< Sample > & audio,
MidiBuffer & midi,
void(AudioProcessor::* function )(AudioBuffer< Sample > &, MidiBuffer &) )
inlineprivate

◆ getProcessor()

AudioProcessor * juce::AudioProcessorGraph::Node::getProcessor ( ) const
inlinenoexcept

The actual processor object that this node represents.

◆ isBypassed()

bool juce::AudioProcessorGraph::Node::isBypassed ( ) const
noexcept

Returns if the node is bypassed or not.

◆ prepare()

void juce::AudioProcessorGraph::Node::prepare ( double newSampleRate,
int newBlockSize,
AudioProcessorGraph * graph,
ProcessingPrecision precision )
private

◆ processBlock()

template<typename Sample>
void juce::AudioProcessorGraph::Node::processBlock ( AudioBuffer< Sample > & audio,
MidiBuffer & midi )
inlineprivate

◆ processBlockBypassed()

template<typename Sample>
void juce::AudioProcessorGraph::Node::processBlockBypassed ( AudioBuffer< Sample > & audio,
MidiBuffer & midi )
inlineprivate

◆ setBypassed()

void juce::AudioProcessorGraph::Node::setBypassed ( bool shouldBeBypassed)
noexcept

Tell this node to bypass processing.

◆ setParentGraph()

void juce::AudioProcessorGraph::Node::setParentGraph ( AudioProcessorGraph * graph) const
private

◆ unprepare()

void juce::AudioProcessorGraph::Node::unprepare ( )
private

◆ AudioProcessorGraph

friend class AudioProcessorGraph
friend

◆ GraphRenderSequence

template<typename Float>
friend struct GraphRenderSequence
friend

◆ RenderSequenceBuilder

template<typename Float>
friend struct RenderSequenceBuilder
friend

Member Data Documentation

◆ bypassed

std::atomic<bool> juce::AudioProcessorGraph::Node::bypassed { false }
private

◆ inputs

Array<Connection> juce::AudioProcessorGraph::Node::inputs
private

◆ isPrepared

bool juce::AudioProcessorGraph::Node::isPrepared = false
private

◆ nodeID

const NodeID juce::AudioProcessorGraph::Node::nodeID

The ID number assigned to this node. This is assigned by the graph that owns it, and can't be changed.

◆ outputs

Array<Connection> juce::AudioProcessorGraph::Node::outputs
private

◆ processor

std::unique_ptr<AudioProcessor> juce::AudioProcessorGraph::Node::processor
private

◆ processorLock

CriticalSection juce::AudioProcessorGraph::Node::processorLock
private

◆ properties

NamedValueSet juce::AudioProcessorGraph::Node::properties

A set of user-definable properties that are associated with this node.

This can be used to attach values to the node for whatever purpose seems useful. For example, you might store an x and y position if your application is displaying the nodes on-screen.


The documentation for this class was generated from the following files: