Version
menu

◆ AK_CommandBuffer_AddArray()

AKSOUNDENGINE_API void* AK_CommandBuffer_AddArray ( void *  in_buffer,
size_t  item_size,
AkUInt16  num_items,
const void *  items 
)

Copy an array of arbitrary-sized objects to the data payload of the last added command.

Some commands, like SetListeners, require additional data to complete the payload. First add the command, then call this function to complete the payload. For example:

auto cmd = (AkCmd_SetListeners*)AK_CommandBuffer_Add(buffer, AkCommand_SetListeners);
cmd->gameObjectID = 100;
cmd->numListenerIDs = mylistenerArray.size();
AK_CommandBuffer_AddArray(buffer, sizeof(AkGameObjectID), mylistenerArray.size(), mylistenerArray.data());

Use AK_CommandBuffer_ArraySize to calculate the size required to store the data.

Parameters
[in]in_bufferPointer to command buffer
[in]item_sizeSize (in bytes) of each element in the array.
[in]num_itemsNumber of elements in the array.
[in]items(optional) Pointer to the first element in the array to copy. If NULL, no copy takes place; array space is merely reserved, pointer to the start of the space is returned, and client is responsible for writing to it.
Returns
Pointer to the copied array, or NULL if there is not enough space left in the buffer.

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise