AXPBDeviceType

Syntax

#include <cafe/ax.h>

    // Device types
    typedef enum 
    {
        AX_DEVICE_TV=0,
        AX_DEVICE_DRC,
        AX_DEVICE_RMT,
        AX_MAX_NUM_DEVICES
    
    } AXPBDeviceType;
    
    // Wii remotes
    typedef enum
    {
        AX_RMT_ID0 = 0,
        AX_RMT_ID1,
        AX_RMT_ID2,
        AX_RMT_ID3,
        AX_MAX_NUM_RMTS

    } AXPB_RMT_ID;
    
    // Cafe DRC
    typedef enum
    {
        AX_DRC_ID0=0,
        AX_MAX_NUM_DRCS

    } AXPB_DRC_ID;
   
    // TV instances
    typedef enum
    {
        AX_TV_ID0=0,
        MAX_NUM_TVS

    } AXPB_TV_ID;

Elements

AX_DEVICE_TV The device is a TV.
AX_DEVICE_DRC The device is a DRC.
AX_DEVICE_RMT The device is a remote.
AX_MAX_NUM_DEVICES Maximum number of device types.
AX_RMT_ID0 Remote code ID of 0.
AX_RMT_ID1 Remote code ID of 1.
AX_RMT_ID2 Remote code ID of 2.
AX_RMT_ID3 Remote code ID of 3.
AX_MAX_NUM_RMTS Maximum number of device remotes.
AX_DRC_ID0 DRC code ID of 0.
AX_MAX_NUM_DRCS Maximum number of DRCs.
AX_TV_ID0 TV code ID of 0.
MAX_NUM_TVS Maximum number of TVs.

Description

AX supports multiple output devices for each voice. A matrix mixer enables crossfading of each voice between the outputs.

AX abstracts each output device to minimize feature and programming differences between them. This means a single API function can address any output device in a parameterized fashion. To that end, AX specifies outputs by device and instance.

As of this writing, the Cafe platform supports audio output to Television, the Cafe DRC controller, and the Wii remote controller.

Multiple instances of each output device are also supported. As of this writing, Cafe supports the following:

See Also

AX Data Structures and Definitions

Revision History

2014-08-20 Initial topic creation.


CONFIDENTIAL