Build a working demo console over freshly-created virtual PipeWire nodes: N input nodes (one
per input channel), M output nodes (one per output bus — the allocation's aux buses), and a
stereo main node. The returned DemoTopology.options wires each channel's source to an
input node's source ports and the main bus to the main node's sink ports, and carries the
allocation so import('./software-mixer-loader.js').buildSoftwareAdapter seeds the full
aux / group / matrix / DCA layer. The output-bus → output-node routing is returned separately
(it is applied live once the buses have been created at adapter connect).
Build a working demo console over freshly-created virtual PipeWire nodes: N input nodes (one per input channel), M output nodes (one per output bus — the allocation's aux buses), and a stereo main node. The returned DemoTopology.options wires each channel's source to an input node's source ports and the main bus to the main node's sink ports, and carries the allocation so import('./software-mixer-loader.js').buildSoftwareAdapter seeds the full aux / group / matrix / DCA layer. The output-bus → output-node routing is returned separately (it is applied live once the buses have been created at adapter connect).