[x3d-public] Sound v4 Recommendations - Splitter/Merger/Selector

GPU Group gpugroup at gmail.com
Thu Feb 16 06:44:57 PST 2023


Recommendations:
1. remove outputs field from ChannelSplitter
2. add 2 fields to ChannelMerger
MFInt32 indxSrc [in/out]
MFInt32 indxDst [in/out]
3. remove node ChannelSelector from specifications

Explanation:
Merger will get is Splitter channels through its children field, and the
children are in the order of indxSrc[i[, so when making connections, Merger
iterates over indxSrc[i], and for each one renders the Merger.children[i],
and communicates indirectly with splitter (through a stack/state variable)
which of its outputs (or srcIndex) to connect to splitters most immediate
parent.
If there aren't enough .children for all the indxSrc, the last child is
repeated/re-used.
I have it working in an example scene
https://freewrl.sourceforge.io/tests/16_Sound/SplitChannels6_children.x3d
The indxDst, indxSrc are a 2-tuple, and there should be equal numbers of
them,  the recommended field names a) are similar to Web Audio srcIndx,
dstIndx so familiar to those working with web audio b) re-arranged to make
them alphabetical-order sequential in the specs, so its more obvious they
go together.
The design eliminates the need for a separate ChannelSelector node (which
is ill-defined, and web audio doesn't have one) -- the same kind of
selections can be done with indxDst, indxSrc in ChannelMerger.

-Doug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-public_web3d.org/attachments/20230216/d32f2344/attachment.html>


More information about the x3d-public mailing list