libcm/cmAudDsp.h

60 rivejä
1.4 KiB
C

#ifndef cmAudDsp_h
#define cmAudDsp_h
#ifdef __cplusplus
extern "C" {
#endif
// This API supports a serialized interface to an internal instance of
// cmAudioSys and cmDspSys.
enum
{
kOkAdRC = cmOkRC,
kAudioPortFailAdRC,
kAudioSysFailAdRC,
kMidiSysFailAdRC,
kDspSysFailAdRC,
kFileSysFailAdRC,
kJsonFailAdRC,
kSendMsgFailAdRC,
kInvalidCfgIdxAdRC,
kNoPgmLoadedAdRC,
kInvalidSubSysIdxAdRC,
kUnknownMsgTypeAdRC,
kAggDevSysFailAdRC,
kAggDevCreateFailAdRC,
kNrtDevSysFailAdRC,
kAfpDevSysFailAdRC,
kNetSysFailAdRC
};
typedef cmRC_t cmAdRC_t;
typedef cmHandle_t cmAdH_t;
extern cmAdH_t cmAdNullHandle;
// Create a audio dsp engine and send device and program information to the
// host application.
// cbPtr provides a function used by cmAudDsp to send messages to the client.
cmAdRC_t cmAudDspAlloc( cmCtx_t* ctx, cmAdH_t* hp, cmMsgSendFuncPtr_t cbPtr, void* cbDataPtr );
cmAdRC_t cmAudDspFree( cmAdH_t* hp );
// Send the setup to the UI (device list,system cfg list, DSP programs)
cmAdRC_t cmAudDspSendSetup( cmAdH_t h );
bool cmAudDspIsValid( cmAdH_t h );
// This function provides the primary interface for communication from the
// client program to the aud_dsp system.
cmAdRC_t cmAudDspReceiveClientMsg( cmAdH_t h, unsigned msgBytecnt, const void* msg );
#ifdef __cplusplus
}
#endif
#endif