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

# SHAPE_FLOWGRAPH_ALLOC_MIXBUFFER_COMMAND

> SHAPE_FLOWGRAPH_ALLOC_MIXBUFFER_COMMAND

# SHAPE\_FLOWGRAPH\_ALLOC\_MIXBUFFER\_COMMAND

Allocates a physical mix buffer for subsequent use.

## Syntax

```cpp theme={null}
typedef struct SHAPE_FLOWGRAPH_ALLOC_MIXBUFFER_COMMAND {  
    UINT64 command : 5;
    UINT64 queued : 1;
    UINT64 disabled : 1;
    UINT64 error : 1;
    UINT64 reserved0 : 5;
    UINT64 numIn : 10;
    UINT64 numOut : 10;
    UINT64 virtualId : 13;
    UINT64 attenuate : 3;
    UINT64 reserved1 : 15;
} SHAPE_FLOWGRAPH_ALLOC_MIXBUFFER_COMMAND  
```

### Members

`command`\
Type: UINT64

The SHAPE\_FLOWGRAPH\_COMMAND\_TYPE\_ALLOCMIXBUFFER command from [SHAPE\_FLOWGRAPH\_COMMAND\_TYPE](/reference/audio/shapeflowgraph/enums/shape_flowgraph_command_type).

`queued`\
Type: UINT64

Internal process flag: 1 == inserted into the internal command queue; 0 == waiting.

`disabled`\
Type: UINT64

Flag for disabling the command: 1 == disabled (don't process); 0 == enabled (process normally).

`error`\
Type: UINT64

Command is invalid. Set by the Audio Control Processor (ACP).

`reserved0`\
Type: UINT64

Reserved.

`numIn`\
Type: UINT64

Number of inputs. The mix buffer will not output anything until all inputs have completed.

`numOut`\
Type: UINT64

Number of outputs. The mix buffer will not be released until all outputs have completed.

`virtualId`\
Type: UINT64

Virtual ID, from 0 to 8191. There is a maximum of 8192 virtual mix buffers.

`attenuate`\
Type: UINT64

Attenuation: 0 == none; all other values indicate the number of bits the input data is to be shifted by. For information on attenuation applied to a mix buffer, see [SHAPE\_MIXBUFFER\_ATTENUATION](/reference/audio/shapeflowgraph/enums/shape_mixbuffer_attenuation).

`reserved1`\
Type: UINT64

Reserved.

## Remarks

The execution list uses virtual IDs for mix buffer assignments. It is only when an allocate command is executed that a physical mix buffer is bound to a specified virtual ID. Subsequent commands that use a specified virtual ID will be directed to the allocated physical mix buffer. The allocate command is dispatched from the Scalable Hardware Audio Processing Engine (SHAPE) processor to the mix buffer block, where it binds the virtual ID to the physical mix buffer.

## Requirements

**Header:** shapeflowgraph.h

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

## See also

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

[SHAPE Overview](/build/console-features/audio/overviews/shape-overview)

[shapeflowgraph](/reference/audio/shapeflowgraph/shapeflowgraph_members)


## Related topics

- [SHAPE_FLOWGRAPH_COMMAND](/reference/audio/shapeflowgraph/structs/shape_flowgraph_command.md)
- [SHAPE_FLOWGRAPH_COMMAND_TYPE](/reference/audio/shapeflowgraph/enums/shape_flowgraph_command_type.md)
- [ShapeFlowGraph](/reference/audio/shapeflowgraph/shapeflowgraph_members.md)
- [SetShapeAllocMixBufferCommand](/reference/audio/shapeflowgraph/functions/setshapeallocmixbuffercommand.md)
- [SHAPE_FLOWGRAPH_DMA_COMMAND](/reference/audio/shapeflowgraph/structs/shape_flowgraph_dma_command.md)
