> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ACP_COMMAND_LOAD_SHAPE_FLOWGRAPH

> ACP_COMMAND_LOAD_SHAPE_FLOWGRAPH

# ACP\_COMMAND\_LOAD\_SHAPE\_FLOWGRAPH

Command for loading a flowgraph.

## Syntax

```cpp theme={null}
typedef struct ACP_COMMAND_LOAD_SHAPE_FLOWGRAPH {  
    UINT32 numCommands;  
    APU_ADDRESS flowgraph;  
    UINT32 persist;  
    UINT32 waitForStart;  
} ACP_COMMAND_LOAD_SHAPE_FLOWGRAPH  
```

### Members

*numCommands*\
Type: UINT32

Number of commands in the flowgraph.

*flowgraph*\
Type: APU\_ADDRESS

Physical address of the flowgraph.

*persist*\
Type: UINT32

1 == persist over multiple frames; 0 == process once and discard.

*waitForStart*\
Type: UINT32

Set to 1 to wait for a start command (see Remarks).

## Remarks

Set the *waitForStart* flag to indicate that processing of the flowgraph is to wait for the `ACP_COMMAND_TYPE_START_FLOWGRAPH` command. A title can use this as one of several methods for synchronizing context updates with flowgraph processing.

A title can submit a flowgraph with the *waitForStart* flag set. The ACP will hold on to the flowgraph but won't process it. The title can then directly manipulate the context data associated with the flowgraph, simply because the ACP is not processing the flowgraph. After updating the contexts, the title will issue the `ACP_COMMAND_TYPE_START_FLOWGRAPH` command that tells the ACP to start processing the flowgraph.

If the ACP is processing a flowgraph, the title should not modify any  context data directly. Instead, the title will do either of the following:

* Directly update the contexts when the ACP is not processing the flowgraph
* Use the UPDATE context commands:

  * [ACP\_COMMAND\_UPDATE\_DMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_dma_context)
  * [ACP\_COMMAND\_UPDATE\_EQCOMP\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_eqcomp_context)
  * [ACP\_COMMAND\_UPDATE\_FILTVOL\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_filtvol_context)
  * [ACP\_COMMAND\_UPDATE\_PCM\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_pcm_context)
  * [ACP\_COMMAND\_UPDATE\_SRC\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_src_context)
  * [ACP\_COMMAND\_UPDATE\_XMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_xma_context)

## Requirements

**Header:** acphal.h

**Supported platforms:** XBOX One family consoles and XBOX Series consoles

## Conceptual documentation

* [ACP overview](/build/console-features/audio/overviews/acp-overview)

## See also

[AcpHal](/reference/audio/acphal/acphal_members)
