Rev | Line | |
---|
[17] | 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 | |
---|
| 18 | typedef 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 | */ |
---|
| 31 | ALboolean _alMixFuncInit( ALMixFunc *mf, ALuint size ); |
---|
| 32 | |
---|
| 33 | /* |
---|
| 34 | * _alMixFuncDestroy performs any needed finalization on the ALMixFunc object |
---|
| 35 | * mf. |
---|
| 36 | */ |
---|
| 37 | void _alMixFuncDestroy( ALMixFunc *mf ); |
---|
| 38 | |
---|
| 39 | #endif /* _AL_MIXFUNC_H_ */ |
---|
Note: See
TracBrowser
for help on using the repository browser.