Using the Tracktion engine within a plugin?

See the HostedAudioDeviceInterface class. When running in a plugin, the Engine sees this class as the AudioDevice. If you set useMidiDevices to true it will access the system MIDI devices, otherwise you are responsible for passing in a block of MIDI data.

When using the HostedAudioDeviceInterface it will never try and access audio hardware.

First thing you should do in your plugin is get the hosted interface and initialize it.

    EngineInPluginDemo()
        : AudioProcessor (BusesProperties().withInput  ("Input",  AudioChannelSet::stereo())
                                           .withOutput ("Output", AudioChannelSet::stereo())),
        audioInterface (engine.getDeviceManager().getHostedAudioDeviceInterface())
    {
        audioInterface.initialise ({});
    }