mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-21 15:56:58 +02:00
Add a diagram for the node graph to documentation.
This commit is contained in:
@@ -22,7 +22,7 @@ node graph.
|
|||||||
This example will be using the following node graph set up:
|
This example will be using the following node graph set up:
|
||||||
|
|
||||||
```
|
```
|
||||||
>>>>>>>>>>>>>>>>>>>>>> Data flows left to right >>>>>>>>>>>>>>>>>>>>>>
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Data flows left to right >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
|
||||||
+---------------+ +-----------------+
|
+---------------+ +-----------------+
|
||||||
| Data Source 1 =----+ +----------+ +----= Low Pass Filter =----+
|
| Data Source 1 =----+ +----------+ +----= Low Pass Filter =----+
|
||||||
|
|||||||
+24
-3
@@ -1928,12 +1928,33 @@ miniaudio's routing infrastructure follows a node graph paradigm. The idea is th
|
|||||||
node whose outputs are attached to inputs of another node, thereby creating a graph. There are
|
node whose outputs are attached to inputs of another node, thereby creating a graph. There are
|
||||||
different types of nodes, with each node in the graph processing input data to produce output,
|
different types of nodes, with each node in the graph processing input data to produce output,
|
||||||
which is then fed through the chain. Each node in the graph can apply their own custom effects. At
|
which is then fed through the chain. Each node in the graph can apply their own custom effects. At
|
||||||
the end of the graph is an endpoint which represents the end of the chain and is where the final
|
the start of the graph will usually be one or more data source nodes which have no inputs, but
|
||||||
output is ultimately extracted from.
|
instead pull their data from a data source. At the end of the graph is an endpoint which represents
|
||||||
|
the end of the chain and is where the final output is ultimately extracted from.
|
||||||
|
|
||||||
Each node has a number of input buses and a number of output buses. An output bus from a node is
|
Each node has a number of input buses and a number of output buses. An output bus from a node is
|
||||||
attached to an input bus of another. Multiple nodes can connect their output buses to another
|
attached to an input bus of another. Multiple nodes can connect their output buses to another
|
||||||
node's input bus, in which case their outputs will be mixed before processing by the node.
|
node's input bus, in which case their outputs will be mixed before processing by the node. Below is
|
||||||
|
a diagram that illustrates a hypothetical node graph setup:
|
||||||
|
|
||||||
|
```
|
||||||
|
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Data flows left to right >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
|
||||||
|
+---------------+ +-----------------+
|
||||||
|
| Data Source 1 =----+ +----------+ +----= Low Pass Filter =----+
|
||||||
|
+---------------+ | | =----+ +-----------------+ | +----------+
|
||||||
|
+----= Splitter | +----= ENDPOINT |
|
||||||
|
+---------------+ | | =----+ +-----------------+ | +----------+
|
||||||
|
| Data Source 2 =----+ +----------+ +----= Echo / Delay =----+
|
||||||
|
+---------------+ +-----------------+
|
||||||
|
```
|
||||||
|
|
||||||
|
In the above graph, it starts with two data sources whose outputs are attached to the input of a
|
||||||
|
splitter node. It's at this point that the two data sources are mixed. After mixing, the splitter
|
||||||
|
performs it's processing routine and produces two outputs which is simply a duplication of the
|
||||||
|
input stream. One output is attached to a low pass filter, whereas the other output is attached to
|
||||||
|
a echo/delay. The outputs of the the low pass filter and the echo are attached to the endpoint, and
|
||||||
|
since they're both connected to the same input but, they'll be mixed.
|
||||||
|
|
||||||
Each input bus must be configured to accept the same number of channels, but input buses and output
|
Each input bus must be configured to accept the same number of channels, but input buses and output
|
||||||
buses can each have different channel counts, in which case miniaudio will automatically convert
|
buses can each have different channel counts, in which case miniaudio will automatically convert
|
||||||
|
|||||||
Reference in New Issue
Block a user