#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#include "ppport.h"
#ifndef aTHX_
#define aTHX_
#endif
#include <SDL.h>
#ifdef HAVE_SDL_MIXER
#include <SDL_mixer.h>
#endif
#ifdef HAVE_SMPEG
#include <smpeg/smpeg.h>
#ifdef HAVE_SDL_MIXER
static
int
sdl_perl_use_smpeg_audio = 0;
#endif
#endif
MODULE = SDL::Mixer::Samples PACKAGE = SDL::Mixer::Samples PREFIX = mixsam_
=
for
documentation
SDL_mixer bindings
See: http:
=cut
#ifdef HAVE_SDL_MIXER
#if (SDL_MIXER_MAJOR_VERSION >= 1 && SDL_MIXER_MINOR_VERSION >= 2 && SDL_MIXER_PATCHLEVEL >= 10)
int
mixsam_get_num_chunk_decoders()
CODE:
RETVAL = Mix_GetNumChunkDecoders();
OUTPUT:
RETVAL
char
*
mixsam_get_chunk_decoder( index )
int
index
CODE:
RETVAL = (
char
*)Mix_GetChunkDecoder(index);
OUTPUT:
RETVAL
#else
int
mixsam_get_num_chunk_decoders( )
CODE:
warn(
"SDL_mixer >= 1.2.10 needed for SDL::Mixer::Samples::get_num_chunk_decoders()"
);
XSRETURN_UNDEF;
OUTPUT:
RETVAL
char
*
mixsam_get_chunk_decoder( index )
int
index
CODE:
warn(
"SDL_mixer >= 1.2.10 needed for SDL::Mixer::Samples::get_chunk_decoder( index )"
);
XSRETURN_UNDEF;
OUTPUT:
RETVAL
#endif
Mix_Chunk *
mixsam_load_WAV ( filename )
char
*filename
PREINIT:
char
* CLASS =
"SDL::Mixer::MixChunk"
;
CODE:
Mix_Chunk * mixchunk;
mixchunk = Mix_LoadWAV(filename);
RETVAL = mixchunk;
OUTPUT:
RETVAL
Mix_Chunk *
mixsam_load_WAV_RW ( src, freesrc)
SDL_RWops * src
int
freesrc
PREINIT:
char
* CLASS =
"SDL::Mixer::MixChunk"
;
CODE:
Mix_Chunk * mixchunk;
mixchunk = Mix_LoadWAV_RW(src, freesrc);
RETVAL = mixchunk;
OUTPUT:
RETVAL
Mix_Chunk *
mixsam_quick_load_WAV ( buf )
Uint8 *buf
PREINIT:
char
* CLASS =
"SDL::Mixer::MixChunk"
;
CODE:
RETVAL = Mix_QuickLoad_WAV(buf);
OUTPUT:
RETVAL
Mix_Chunk *
mixsam_quick_load_RAW ( buf , len)
Uint8 *buf
int
len
PREINIT:
char
* CLASS =
"SDL::Mixer::MixChunk"
;
CODE:
RETVAL = Mix_QuickLoad_RAW( buf, len );
OUTPUT:
RETVAL
int
mixsam_volume_chunk ( chunk, volume )
Mix_Chunk *chunk
int
volume
CODE:
RETVAL = Mix_VolumeChunk(chunk,volume);
OUTPUT:
RETVAL
void
mixsam_free_chunk( chunk )
Mix_Chunk *chunk
CODE:
Mix_FreeChunk(chunk);
#endif