Microsoft DirectX 8.0 (C++)

Audiopath Form

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 performance channels to buffers.

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>.