Mercurial > SDL_sound_CoreAudio
diff alt_audio_convert.h @ 338:7b9a0f3f030e
Initial add.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Mon, 20 May 2002 16:18:09 +0000 |
parents | |
children | c984aa6990f7 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/alt_audio_convert.h Mon May 20 16:18:09 2002 +0000 @@ -0,0 +1,67 @@ +/* + Extended Audio Converter for SDL (Simple DirectMedia Layer) + Copyright (C) 2002 Frank Ranostaj + Institute of Applied Physik + Johann Wolfgang Goethe-Universität + Frankfurt am Main, Germany + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Frank Ranostaj + ranostaj@stud.uni-frankfurt.de + +(This code blatantly abducted for SDL_sound. Thanks, Frank! --ryan.) + +*/ + +#ifndef _INCLUDE_AUDIO_CONVERT_H_ +#define _INCLUDE_AUDIO_CONVERT_H_ + +#include "SDL_audio.h" +#define Sound_AI_Loop 0x2 +#define _fsize 64 + + +typedef struct{ + short c[16][2*_fsize]; + char incr[16]; + int pos_mod; +} VarFilter; + +typedef struct{ + short* buffer; + int mode; + VarFilter *filter; +} AdapterC; + +typedef struct{ + int needed; + VarFilter filter; + double len_mult; /* buffer must be len*len_mult big*/ + Uint8* buf; + int len; + int len_cvt; /* Length of converted audio buffer */ + int add; + int (*adapter[32]) ( AdapterC Data, int length ); +} Sound_AudioCVT; + +extern DECLSPEC int Sound_ConvertAudio( Sound_AudioCVT *Data ); + +extern DECLSPEC int Sound_BuildAudioConverter( Sound_AudioCVT *Data, + Uint16 src_format, Uint8 src_channels, int src_rate, + Uint16 dst_format, Uint8 dst_channels, int dst_rate ); + +#endif /* _INCLUDE_AUDIO_CONVERT_H_ */ +