Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

85 lines
4.1 KiB

/*
Copyright (C) Impulsonic, Inc. All rights reserved.
*/
#ifndef IPL_PHONON_API_3D_H
#define IPL_PHONON_API_3D_H
#include "phonon_common.h"
#ifdef __cplusplus
extern "C" {
#endif
/*************************************************************************/
/* Context */
/*************************************************************************/
IPLAPI IPLerror iplCreate3DContext(IPLGlobalContext globalContext, IPLDspParams dspParams, IPLbyte* hrtfData, IPLhandle* context);
IPLAPI IPLvoid iplDestroy3DContext(IPLhandle* context);
/*************************************************************************/
/* Panning Effect */
/*************************************************************************/
IPLAPI IPLerror iplCreatePanningEffect(IPLhandle context, IPLAudioFormat inputFormat, IPLAudioFormat outputFormat, IPLhandle* effect);
IPLAPI IPLvoid iplDestroyPanningEffect(IPLhandle* effect);
IPLAPI IPLvoid iplApplyPanningEffect(IPLhandle effect, IPLAudioBuffer inputAudio, IPLVector3 direction, IPLAudioBuffer outputAudio);
/*************************************************************************/
/* Object-Based Binaural Effect */
/*************************************************************************/
/* HRTF interpolation schemes. */
typedef enum {
IPL_HRTFINTERPOLATION_NEAREST,
IPL_HRTFINTERPOLATION_BILINEAR
} IPLHrtfInterpolation;
IPLAPI IPLerror iplCreateBinauralEffect(IPLhandle context, IPLAudioFormat inputFormat, IPLAudioFormat outputFormat, IPLhandle* effect);
IPLAPI IPLvoid iplDestroyBinauralEffect(IPLhandle* effect);
IPLAPI IPLvoid iplApplyBinauralEffect(IPLhandle effect, IPLAudioBuffer inputAudio, IPLVector3 direction, IPLHrtfInterpolation interpolation, IPLAudioBuffer outputAudio);
/*************************************************************************/
/* Virtual Surround Effect */
/*************************************************************************/
IPLAPI IPLerror iplCreateVirtualSurroundEffect(IPLhandle context, IPLAudioFormat inputFormat, IPLAudioFormat outputFormat, IPLhandle* effect);
IPLAPI IPLvoid iplDestroyVirtualSurroundEffect(IPLhandle* effect);
IPLAPI IPLvoid iplApplyVirtualSurroundEffect(IPLhandle effect, IPLAudioBuffer inputAudio, IPLAudioBuffer outputAudio);
/*************************************************************************/
/* Ambisonics Binaural Effect */
/*************************************************************************/
IPLAPI IPLerror iplCreateAmbisonicsBinauralEffect(IPLhandle context, IPLAudioFormat inputFormat, IPLAudioFormat outputFormat, IPLhandle* effect);
IPLAPI IPLvoid iplDestroyAmbisonicsBinauralEffect(IPLhandle* effect);
IPLAPI IPLvoid iplApplyAmbisonicsBinauralEffect(IPLhandle effect, IPLAudioBuffer inputAudio, IPLAudioBuffer outputAudio);
/*************************************************************************/
/* Mixing */
/*************************************************************************/
IPLAPI IPLvoid iplMixAudioBuffers(IPLint32 numBuffers, IPLAudioBuffer* inputAudio, IPLAudioBuffer outputAudio);
/*************************************************************************/
/* Format Conversion */
/*************************************************************************/
IPLAPI IPLvoid iplInterleaveAudioBuffer(IPLAudioBuffer inputAudio, IPLAudioBuffer outputAudio);
IPLAPI IPLvoid iplDeinterleaveAudioBuffer(IPLAudioBuffer inputAudio, IPLAudioBuffer outputAudio);
IPLAPI IPLvoid iplConvertAudioBufferFormat(IPLAudioBuffer inputAudio, IPLAudioBuffer outputAudio);
#ifdef __cplusplus
}
#endif
#endif