All my recent knowledge comes from PluginHost example. Maybe there is another place to read more about that?
Best case would be I have a stupid mistake in my code Please point that out to me.
BTW, when I leave out AudioProcessorGraph it works. It routes from IN directly to OUT automaticially. I am not sure
if that was intended but so I know that I am not completely wrong
Also, you probably want to add your ins and outs to the graph before putting it into a player, because the player might not adapt automatically when you change the i/o setup.
I am completely lost. How can you add your INs and OUTs before you add them to a “player”? In this case you don’t know the graph connection before you connect it. This seems really odd to me. How should that work in real life? Maybe there is some magic I still don’t understand to get the knowledge about INs and OUTs before connecting.
What do I need to know?
1. How do I initialize a sound device with all it’s IN/OUTs?
maybe like this?
2.b How does the processor know about the amount of INs and OUTs?
I am lost here???
3.a. How do I connect a graph?
maybe so?
processorPlayer.setProcessor(&processorGraph);
3.b How does the Graph know about the amount of INs and OUTs?
I am lost here???
4.a. Assuming I have an AudioGraph, how do I connect the first IN with the first OUT of my sound device?
4.b. Since AudioProcessorGraph::AudioGraphIOProcessor is a private class. How can I get an instance of it?
The PluginHost Demo shows at this point a new-initialization. Here I am again missing the connection to the AudioGraph.
How can I write new AudioProcessorGraph::AudioGraphIOProcessor() without passing a particular Device reference to it?
This line of code could stand anywhere in my source code. How is that possible? That makes me completly misunderstand the concept.
I cannot imagine how to create an InputNode without having a connection to a deviceManager or another audiolayer that can
tell the InputNode how many INs it has. I would expect at least:
[quote]This line of code could stand anywhere in my source code. How is that possible? That makes me completly misunderstand the concept.
I cannot imagine how to create an InputNode without having a connection to a deviceManager or another audiolayer that can
tell the InputNode how many INs it has.[/quote]
The graph object has no connection at all with any real “devices”, it’s simply an abstract AudioProcessor. Its input and output nodes are simply connections to the graph’s overall input and output, and the number of ins and outs that the graph has depend on what context you’re using it, so if you use an AudioProcessorPlayer to lay a graph through your audio hardware, it’ll have that many ins + outs, but the graph could also be played e.g. as a plugin, with any number of ins + outs.