Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/openal-0.0.8/src/al_mixfunc.h @ 53

Last change on this file since 53 was 17, checked in by landauf, 17 years ago

added openal

File size: 1.1 KB
Line 
1/* -*- mode: C; tab-width:8; c-basic-offset:8 -*-
2 * vi:set ts=8:
3 *
4 * al_mixfunc.h
5 *
6 * Mixfuncs --- specialized mixing functions --- are unrolled, hopefully
7 * easily optimizable mixing functions that take advantage of knowing the
8 * number of mixing streams passed to them.  Used in conjunction with the
9 * mixmanager, this provides an interface for the library to plug in well
10 * optimized mixing functions.
11 */
12#ifndef _AL_MIXFUNC_H_
13#define _AL_MIXFUNC_H_
14
15#include "al_types.h"
16#include "al_mixer.h"
17
18typedef struct _AL_MixFunc {
19        void ( *funcs[ MAXMIXSOURCES + 1 ] )( ALshort *dst,
20                                              alMixEntry *entries );
21        void ( *func_n )( ALshort *dst,
22                          alMixEntry *entries,
23                          ALuint numents );
24        ALuint max;
25} ALMixFunc;
26
27/*
28 * _alMixFuncInit initializes the already allocated ALMixFunc object (mf) to
29 * contain at least size mixing functions.
30 */
31ALboolean _alMixFuncInit( ALMixFunc *mf, ALuint size );
32
33/*
34 * _alMixFuncDestroy performs any needed finalization on the ALMixFunc object
35 * mf.
36 */
37void _alMixFuncDestroy( ALMixFunc *mf );
38
39#endif /* _AL_MIXFUNC_H_ */
Note: See TracBrowser for help on using the repository browser.