The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SDL::Mixer::Samples - functions for loading sound samples

CATEGORY

Mixer

METHODS

get_num_chunk_decoders

 my $num_decoders = SDL::Mixer::Samples::get_num_chunk_decoders();

Returns the number of available decoders.

get_chunk_decoder

 my $decoder = SDL::Mixer::Samples::get_chunk_decoder( $num_decoder );

Returns the decoder for the given id.

load_WAV

 my $mix_chunk = SDL::Mixer::Samples::load_WAV( $file );

load_WAV reads a file and passes it to SDL::Mixer::Samples::load_WAV_RW. SO this is a quick way to load a file into a chunk.

Example:

 my $chunk = SDL::Mixer::Samples::load_WAV('sample.wav');
 
 SDL::Mixer::Channels::play_channel(-1, $chunk, -1);
 SDL::delay(2000);

load_WAV_RW

 my $mix_chunk = SDL::Mixer::Samples::load_WAV_RW( $rwops, $free );

load_WAV_RW is a macro that loads a sound sample from a a block of memory. It supports WAVE-, MOD-, MIDI-, OGG- and MP3 files (sometimes depends on compilation options). It accepts two arguments, the first being a RWops object from which to read and the second being a flag to free the source memory after loading is complete or not.

Returns a Mix_Chunk containing the whole sample on success, or undef on error.

Note: Do not reuse the RWops-object for another call to this function!

Example:

 my $rwops = SDL::RWOps->new_file('sample.wav', 'r');
 
 my $chunk = SDL::Mixer::Samples::load_WAV_RW($rwops, 0);
 
 SDL::Mixer::Channels::play_channel(-1, $chunk, -1);
 SDL::delay(2000);

quick_load_WAV

 SDL::Mixer::Samples::quick_load_WAV( $buf );

to be documented.

quick_load_RAW

 SDL::Mixer::Samples::quick_load_RAW( $buf, $len );

to be documented.

volume_chunk

 my $volume_before = SDL::Mixer::Samples::volume_chunk( $chunk, $new_volume );

volume_chunk let you set and get the volume of a chunk. When a chunk is created is volume is MIX_MAX_VOLUME (128).

If you pass -1 as $new_volume you just get its volume without changing it.

AUTHOR

Tobias Leich [FROGGS]