> ## 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_TYPE

> ACP_COMMAND_TYPE

# ACP\_COMMAND\_TYPE

Enumerates the ACP command types.

## Syntax

```cpp theme={null}
enum ACP_COMMAND_TYPE    
{  
    ACP_COMMAND_TYPE_LOAD_SHAPE_FLOWGRAPH = 1,  
    ACP_COMMAND_TYPE_REGISTER_MESSAGE,  
    ACP_COMMAND_TYPE_UNREGISTER_MESSAGE,  
    ACP_COMMAND_TYPE_START_FLOWGRAPH,  
    ACP_COMMAND_TYPE_ENABLE_XMA_CONTEXT,  
    ACP_COMMAND_TYPE_ENABLE_XMA_CONTEXTS,  
    ACP_COMMAND_TYPE_DISABLE_XMA_CONTEXT,  
    ACP_COMMAND_TYPE_DISABLE_XMA_CONTEXTS,  
    ACP_COMMAND_TYPE_UPDATE_SRC_CONTEXT,  
    ACP_COMMAND_TYPE_UPDATE_EQCOMP_CONTEXT,  
    ACP_COMMAND_TYPE_UPDATE_FILTVOL_CONTEXT,  
    ACP_COMMAND_TYPE_UPDATE_DMA_CONTEXT,  
    ACP_COMMAND_TYPE_UPDATE_PCM_CONTEXT,  
    ACP_COMMAND_TYPE_UPDATE_XMA_CONTEXT,  
    ACP_COMMAND_TYPE_INCREMENT_DMA_WRITE_POINTER,  
    ACP_COMMAND_TYPE_INCREMENT_DMA_READ_POINTER,  
    ACP_COMMAND_TYPE_INCREMENT_PCM_WRITE_POINTER,  
    ACP_COMMAND_TYPE_INCREMENT_XMA_WRITE_BUFFER_OFFSET_READ,  
    ACP_COMMAND_TYPE_UPDATE_XMA_READ_BUFFER,  
    ACP_COMMAND_TYPE_UPDATE_ALL_CONTEXTS,  
    ACP_COMMAND_TYPE_UPDATE_SRC_CONTEXTS,  
    ACP_COMMAND_TYPE_UPDATE_EQCOMP_CONTEXTS,  
    ACP_COMMAND_TYPE_UPDATE_FILTVOL_CONTEXTS,  
    ACP_COMMAND_TYPE_UPDATE_DMA_READ_CONTEXTS,  
    ACP_COMMAND_TYPE_UPDATE_DMA_WRITE_CONTEXTS,  
    ACP_COMMAND_TYPE_UPDATE_PCM_CONTEXTS,  
    ACP_COMMAND_TYPE_UPDATE_XMA_CONTEXTS,  
    ACP_COMMAND_TYPE_COUNT = ACP_COMMAND_TYPE_UPDATE_XMA_CONTEXTS  
}  
```

## Constants

| Constant                                                        | Description                                                                                                                                                                                                              |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| ACP\_COMMAND\_TYPE\_LOAD\_SHAPE\_FLOWGRAPH                      | Loads and processes a new flowgraph. Uses [ACP\_COMMAND\_LOAD\_SHAPE\_FLOWGRAPH](/reference/audio/acphal/structs/acp_command_load_shape_flowgraph).                                                                      |
| ACP\_COMMAND\_TYPE\_REGISTER\_MESSAGE                           | Registers for one or more messages (see [ACP\_MESSAGE\_TYPE](/reference/audio/acphal/enums/acp_message_type)). Uses [ACP\_COMMAND\_MESSAGE](/reference/audio/acphal/structs/acp_command_message).                        |
| ACP\_COMMAND\_TYPE\_UNREGISTER\_MESSAGE                         | Unregisters one or more messages (see [ACP\_MESSAGE\_TYPE](/reference/audio/acphal/enums/acp_message_type)). Uses [ACP\_COMMAND\_MESSAGE](/reference/audio/acphal/structs/acp_command_message).                          |
| ACP\_COMMAND\_TYPE\_START\_FLOWGRAPH                            | Starts processing the flowgraph.                                                                                                                                                                                         |
| ACP\_COMMAND\_TYPE\_ENABLE\_XMA\_CONTEXT                        | Enables an XMA context. Not needed when used with a flowgraph. Uses [ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_context).                        |
| ACP\_COMMAND\_TYPE\_ENABLE\_XMA\_CONTEXTS                       | Enables several XMA contexts. Not needed when used with a flowgraph. Uses [ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXTS](/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_contexts).                |
| ACP\_COMMAND\_TYPE\_DISABLE\_XMA\_CONTEXT                       | Disables an XMA context. Not needed when used with a flowgraph. Uses [ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_context).                       |
| ACP\_COMMAND\_TYPE\_DISABLE\_XMA\_CONTEXTS                      | Disables several XMA contexts. Not needed when used with a flowgraph. Uses [ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXTS](/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_contexts).               |
| ACP\_COMMAND\_TYPE\_UPDATE\_SRC\_CONTEXT                        | Updates an SRC context. Uses [ACP\_COMMAND\_UPDATE\_SRC\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_src_context).                                                                                       |
| ACP\_COMMAND\_TYPE\_UPDATE\_EQCOMP\_CONTEXT                     | Updates an EQ/Comp context. Uses [ACP\_COMMAND\_UPDATE\_EQCOMP\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_eqcomp_context).                                                                             |
| ACP\_COMMAND\_TYPE\_UPDATE\_FILTVOL\_CONTEXT                    | Updates a Filter/Volume context. Uses [ACP\_COMMAND\_UPDATE\_FILTVOL\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_filtvol_context).                                                                      |
| ACP\_COMMAND\_TYPE\_UPDATE\_DMA\_CONTEXT                        | Updates a DMA context. Uses [ACP\_COMMAND\_UPDATE\_DMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_dma_context).                                                                                        |
| ACP\_COMMAND\_TYPE\_UPDATE\_PCM\_CONTEXT                        | Updates a PCM context. Uses [ACP\_COMMAND\_UPDATE\_PCM\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_pcm_context).                                                                                        |
| ACP\_COMMAND\_TYPE\_UPDATE\_XMA\_CONTEXT                        | Updates an XMA context. Uses [ACP\_COMMAND\_UPDATE\_XMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_xma_context).                                                                                       |
| ACP\_COMMAND\_TYPE\_INCREMENT\_DMA\_WRITE\_POINTER              | Updates a DMA write pointer. Uses [ACP\_COMMAND\_INCREMENT\_DMA\_POINTER](/reference/audio/acphal/structs/acp_command_increment_dma_pointer).                                                                            |
| ACP\_COMMAND\_TYPE\_INCREMENT\_DMA\_READ\_POINTER               | Updates a DMA read pointer. Uses [ACP\_COMMAND\_INCREMENT\_DMA\_POINTER](/reference/audio/acphal/structs/acp_command_increment_dma_pointer).                                                                             |
| ACP\_COMMAND\_TYPE\_INCREMENT\_PCM\_WRITE\_POINTER              | Updates a PCM context write pointer. Uses [ACP\_COMMAND\_INCREMENT\_PCM\_WRITE\_POINTER](/reference/audio/acphal/structs/acp_command_increment_pcm_write_pointer).                                                       |
| ACP\_COMMAND\_TYPE\_INCREMENT\_XMA\_WRITE\_BUFFER\_OFFSET\_READ | Increments the output buffer read offset of a SHAPE\_XMA\_CONTEXT. Uses [ACP\_COMMAND\_INCREMENT\_XMA\_WRITE\_BUFFER\_OFFSET\_READ](/reference/audio/acphal/structs/acp_command_increment_xma_write_buffer_offset_read). |
| ACP\_COMMAND\_TYPE\_UPDATE\_XMA\_READ\_BUFFER                   | Updates all the elements of a SHAPE\_XMA\_CONTEXT required for streaming encoded data. Uses [ACP\_COMMAND\_UPDATE\_XMA\_READ\_BUFFER](/reference/audio/acphal/structs/acp_command_update_xma_read_buffer).               |
| ACP\_COMMAND\_TYPE\_UPDATE\_ALL\_CONTEXTS                       | Updates all contexts. Uses [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts).                                                                                                |
| ACP\_COMMAND\_TYPE\_UPDATE\_SRC\_CONTEXTS                       | Updates a block of SRC contexts. Uses [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts).                                                                                     |
| ACP\_COMMAND\_TYPE\_UPDATE\_EQCOMP\_CONTEXTS                    | Updates a block of EQCOMP contexts. Uses [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts).                                                                                  |
| ACP\_COMMAND\_TYPE\_UPDATE\_FILTVOL\_CONTEXTS                   | Updates a block of Filter/Volume contexts. Uses [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts).                                                                           |
| ACP\_COMMAND\_TYPE\_UPDATE\_DMA\_READ\_CONTEXTS                 | Updates a block of DMA read contexts. Uses [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts).                                                                                |
| ACP\_COMMAND\_TYPE\_UPDATE\_DMA\_WRITE\_CONTEXTS                | Updates a block of DMA write contexts. Uses [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts).                                                                               |
| ACP\_COMMAND\_TYPE\_UPDATE\_PCM\_CONTEXTS                       | Updates a block of PCM contexts. Uses [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts).                                                                                     |
| ACP\_COMMAND\_TYPE\_UPDATE\_XMA\_CONTEXTS                       | Updates a block of XMA contexts. Uses [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts).                                                                                     |
| ACP\_COMMAND\_TYPE\_COUNT                                       | Count of command types; not an actual command.                                                                                                                                                                           |

## Remarks

By using the command types in this enumeration, your application can drive the Audio Control Processor (ACP). For details, see [Overview of ACP](/build/console-features/audio/overviews/acp-overview). For details on the architecture of the Scalable Hardware Audio Processing Engine (SHAPE), see [Overview of SHAPE](/build/console-features/audio/overviews/shape-overview).

## Requirements

**Header:** acphal.h

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

## See also

[SubmitCommand](/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_submitcommand)\
[AcpHal](/reference/audio/acphal/acphal_members)


## Related topics

- [ACP_COMMAND_MESSAGE](/reference/audio/acphal/structs/acp_command_message.md)
- [ACP_COMMAND_INCREMENT_DMA_POINTER](/reference/audio/acphal/structs/acp_command_increment_dma_pointer.md)
- [ACP_COMMAND_UPDATE_FILTVOL_CONTEXT](/reference/audio/acphal/structs/acp_command_update_filtvol_context.md)
- [ACP_COMMAND_UPDATE_DMA_CONTEXT](/reference/audio/acphal/structs/acp_command_update_dma_context.md)
- [ACP_COMMAND_UPDATE_EQCOMP_CONTEXT](/reference/audio/acphal/structs/acp_command_update_eqcomp_context.md)
