I have a simple VST host that connects my audio in to a vst which is then connected to my audio out.
AudioProcessorGraph::AudioGraphIOProcessor* in;
in = new AudioProcessorGraph::AudioGraphIOProcessor(
AudioProcessorGraph::AudioGraphIOProcessor::audioInputNode);
AudioProcessorGraph::AudioGraphIOProcessor* out;
out = new AudioProcessorGraph::AudioGraphIOProcessor(
AudioProcessorGraph::AudioGraphIOProcessor::audioOutputNode);
AudioPluginInstance* plugin =
pluginManager->createPluginInstance(*desc, 0, 0, error);
AudioProcessorGraph::Node* inNode = graph->addNode(in);
AudioProcessorGraph::Node* outNode = graph->addNode(out);
AudioProcessorGraph::Node* pluginNode = graph->addNode(plugin);
graph->addConnection(inNode->nodeId, 0, pluginNode->nodeId, 0);
graph->addConnection(pluginNode->nodeId, 0, outNode->nodeId, 0);
This works great for loading the plugin.
What I am puzzling over is how to add a midi device to my graph? I’d like to take the midi device and plug it into the midi input of my pluginNode, but nothing I’ve tried seems to work. Can someone help me out?
I can see my midi device via MidiInput::getDevices())
, but I’m not sure how to connect it to my VST plugin.
I’ve tried adding a midi output like this:
AudioProcessorGraph::AudioGraphIOProcessor* midOuput = new AudioProcessorGraph::AudioGraphIOProcessor(
AudioProcessorGraph::AudioGraphIOProcessor::midiOutputNode);
add adding it to the graph like so
AudioProcessorGraph::Node* midiNode = graph->addNode(midiOutput);
graph->addConnection(midiNode->nodeId, AudioProcessorGraph::midiChannelIndex, pluginNode->nodeId, AudioProcessorGraph::midiChannelIndex);
But the result from that connection is always false and my vst plugin is not getting any midi input.
Do I need to open my midi device and put it on the graph in a particular way?