Microsoft DirectX 9.0 |
The following notation shows the organization of the audiopath form.
RIFF( 'DMAP'
[<guid-ck>] // GUID for path.
[<vers-ck>] // Version information.
[<UNFO-list>] // Name, author, copyright, comments.
[<DMTG-form>] // Toolgraph.
[<pcsl-list>] // Port configurations.
[<dbfl-list>]... // DirectSound buffer descriptors.
)
All elements are optional.
<guid-ck>, <vers-ck>, <UNFO-list>
For information on these three chunks, see Common Chunks.
<DMTG-form>
See Toolgraph Form.
<pcsl-list>
Information about the configuration of ports is stored in this list.
<pcsl-list> -> LIST( 'pcsl'
<pcfl-list>...
)
The port configuration list consists of an array of lists in the following format:
LIST( 'pcfl'
<pcfh-ck> // Header chunk.
<pprh-ck> // Port parameters used to create the port.
[<dbfl-list>]... // DirectSound buffer descriptors.
[<pchl-list>] // Pchannel-to-buffer assignments.
)
The port configuration list consists of several chunks, starting with headers describing the port configuration and parameters:
<pcfh-ck> -> pcfh( <DMUS_IO_PORTCONFIG_HEADER> )
<pprh-ck> -> pprh( <DMUS_PORTPARAMS8> )
The optional buffer descriptors are each contained in a chunk with the following format.
<dbfl-list> -> LIST( 'dbfl'
<ddah-ck> // Buffer attributes header
[<DSBC-form>] // Buffer configuration
)
This buffer description list begins with a header describing buffer attributes.
<ddah-ck> -> ( 'ddah' < DMUS_IO_BUFFER_ATTRIBUTES_HEADER > )
The header is followed by an optional DirectSound Buffer Configuration Form. This is not required for standard buffer types.
The final chunk in the port configuration list is a list containing one or more assignments of
pchl-list -> LIST( 'pchl'
<pchh-ck>...
)
This list consists of an array of chunks, each of which describes one assignment of channels to buffers.
<pchh-ck> -> pchh(
<DMUS_IO_PCHANNELTOBUFFER_HEADER>
<GUID>... // Array of GUIDs specifying the buffers.
)
<dbfl-list>
The last part of the audiopath form consists of optional buffer descriptors identical in format to those in the port configuration list, <pcsl-list>.