Replicating APH config in an Audio App

I am trying to replicate the following AudioPluginHost filtergraph in a standalone audio app.

The configuration uses the BlackHole audio driver as the input (64 channels) and the built-in speakers as the output.
Black Hole inputs 1-2 are routed to the built-in speaker.

Any application that is sending into the BlackHole Driver Channels 1-2 can be monitored via AudioPluginHost:

Here is how I am opening the device:

void MainComponent::connectToBlackHoleDriver(int numInputs, int numOutputs)
{
    using namespace juce;
    String audioError;

    blackHoleDevice.initialise(numInputs, numOutputs, nullptr, true);
//    blackHoleDevice.initialiseWithDefaultDevices(2, 2);
    auto setup = blackHoleDevice.getAudioDeviceSetup();
    setup.useDefaultInputChannels = false;
    setup.useDefaultOutputChannels = false;
    setup.inputChannels.clear();
    setup.outputChannels.clear();
    
    setup.inputChannels.setRange (0, numInputs, true);
    setup.outputChannels.setRange (0, numOutputs, true);
    setup.inputDeviceName = "BlackHole 64ch";
    setup.outputDeviceName = "iMac Speakers";
    
    audioError = blackHoleDevice.setAudioDeviceSetup(setup, true);
    
    jassert (audioError.isEmpty());
    
    setAudioChannels(numInputs, numOutputs);
}

Here is what I’m doing in getNextAudioBlock:

void MainComponent::getNextAudioBlock (const juce::AudioSourceChannelInfo& bufferToFill)
{
    DBG( "bufferToFill numChannels: " << bufferToFill.buffer->getNumChannels() );
    
    if( bufferToFill.buffer != nullptr )
    {
        DBG( "incoming buffer magnitude: " << bufferToFill.buffer->getMagnitude(0, bufferToFill.buffer->getNumSamples()));
    }
}

Here’s the output I see when I run the app:

bufferToFill numChannels: 64
incoming buffer magnitude: 0
bufferToFill numChannels: 64
incoming buffer magnitude: 0
bufferToFill numChannels: 64
incoming buffer magnitude: 0
bufferToFill numChannels: 64
incoming buffer magnitude: 0
bufferToFill numChannels: 64
incoming buffer magnitude: 0
bufferToFill numChannels: 64
incoming buffer magnitude: 0
bufferToFill numChannels: 64
incoming buffer magnitude: 0

I have been trying to figure out how AudioPluginHost is able to pass audio through, considering that it doesn’t have renderNextBlock() or getNextAudioBlock() or any of the other audio device callbacks used in the Juce framework. It is quite the puzzle.

I’m able to connect to the device, but the driver isn’t passing along any audio from its input buffers into the app.

I’m not sure where to start to get this functional

Ok, I forgot to set this to enabled!

Derp derp!!!