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

NAME

SDL::Mixer - a SDL perl extension

SYNOPSIS

  $mixer = new SDL::Mixer       -frequency => MIX_DEFAULT_FREQUENCY,
                                -format => MIX_DEFAULT_FORMAT,
                                -channels => MIX_DEFAULT_CHANNELS,
                                -size => 4096;

DESCRIPTION

SDL::Mixer allows you access to the SDL mixer library, enablig sound and music volume setting, playing, pausing and resuming, as well as fading the sound and music in and out.

METHODS

new()

        $mixer = SDL::Mixer->new(       -frequency => MIX_DEFAULT_FREQUENCY,
                                        -format    => MIX_DEFAULT_FORMAT,
                                        -channels  => MIX_DEFAULT_CHANNELS,
                                        -size      => 4096);

Creates a new SDL::Mixer object. $size is the buffer size in bytes.

query_spec()

        my $specs = SDL::Mixer::query_spec();

Returns a hash reference, containing the following keys and their respective values:

        -status
        -frequency
        -channels
        -format

reserve_channels

        $mixer->reserve_channels(4);

Reserve so many channels.

allocate_channels()

        $mixer->reserve_channels(2);

Allocate so many channels.

group_channel(channel,group)

Group the channel number $channel into group $group.

group_channels(from,to,group)

Groups a range of channels

group_available(group)

Return true when the group is available.

group_count(group)

Returns the number of channels in the group

group_oldest()

group_newer()

play_channel()

play_music()

Play $music $loop times.

fade_in_channel(channel,chunk,loops,ms,ticks)

Fades a channel in

fade_in_music(music,loops,ms)

Fades the music in over a number of ms, looping as it does

channel_volume(channel,volume)

Sets the volume for a single channel

mucis_volume(volume)

Set the volume for the music.

halt_channel(channel)

Stops a specific channel

halt_group(group)

Stops a group of channels

halt_music()

Stops the music

channel_expire(channel,ticks)

Ignores the channel after ticks has expired

fade_out_channel(channel,ms)

Fade the channel number $channel in $ms ms out.

fade_out_group(group,ms)

Fade the channel group $group in $ms ms out.

fade_out_music(ms)

Fade the music in $ms ms out.

fading_music()

Return true when the music is currently fading in or out.

fading_channel()

Return true when the channel number $channel is currently fading in or out.

pause( channel )

Pause the channel $channel.

resume(channel)

Resume the channel $channel.

paused()

Return true when the channel is currently paused.

pause_music()

Pause the music play.

resume_music()

Resume the music play.

rewind_music()

Resets the music file to the beginning

music_paused()

Return true when the music is currently paused.

playing()

Return true when the channel is currently playing.

playing_music ()

Return true when the music is currently playing.

AUTHORS

David J. Goehrig, basic doc added by Tels <http://bloodgate.com>.

SEE ALSO

perl, SDL::Music and SDL::Sound.