AudioProcessorGraph Example in Docs?

Ok, I finally got sound! Here's my code:

void MyAudioProcessor::prepareToPlay (double sampleRate, int samplesPerBlock)

{

    m_graph.setPlayConfigDetails(getNumInputChannels(), getNumOutputChannels(), sampleRate, samplesPerBlock);

    m_graph.setProcessingPrecision(AudioProcessor::singlePrecision);

    m_graph.prepareToPlay(sampleRate, samplesPerBlock);

    

    AudioProcessorGraph::AudioGraphIOProcessor* input =

    new AudioProcessorGraph::AudioGraphIOProcessor(

        AudioProcessorGraph::AudioGraphIOProcessor::audioInputNode);


    AudioProcessorGraph::AudioGraphIOProcessor* output =

    new AudioProcessorGraph::AudioGraphIOProcessor(

        AudioProcessorGraph::AudioGraphIOProcessor::audioOutputNode);


    mOsc1Node = new OscillatorNode();

    mOsc1Node->setPlayConfigDetails(getNumInputChannels(), getNumOutputChannels(), sampleRate, samplesPerBlock);


    m_graph.addNode(input, 1);

    m_graph.addNode(output, 2);

    m_graph.addNode(mOsc1Node, 3);


    m_graph.addConnection(1, 0, 3, 0);

    m_graph.addConnection(1, 1, 3, 1);

    m_graph.addConnection(3, 0, 2, 0);

    m_graph.addConnection(3, 1, 2, 1);

}

You're right that the ordering is extremely important, but it's entirely unclear from the documentation, hence my suggestion for an example in the docs :). It also seems weird to me that I should have to wait until `prepareToPlay` to assemble my graph, but that's the point at which I can configure everything appropriately, which needs to happen before I assemble my nodes and connections. Thanks for all your help, and, if you see anything in the above code segment that raises a red flag in your mind, let me know!

1 Like