GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PODS::SDL::MIXER::CHANNELS (3)

.ds Aq ’

NAME

SDL::Mixer::Channels -- SDL::Mixer channel functions and bindings

CONTENTS

CATEGORY

Mixer

DESCRIPTION

METHODS

    allocate_channels



 my $ret = SDL::Mixer::Channels::allocate_channels( $number_of_channels );



Dynamically change the number of channels managed by the mixer. If decreasing the number of channels, the upper channels are stopped. This function returns the new number of allocated channels.

Example



 use SDL::Mixer::Channels;

 printf("We got %d channels!\n", SDL::Mixer::Channels::allocate_channels( 8 ) );



    volume



 my $prev_volume = SDL::Mixer::Channels::volume( $channel_number, $volume );



volume changes the volume of the channel specified in channel by the amount set in volume. The range of volume is from 0 to MIX_MAX_VOLUME which is 128. Passing -1 to channel will change the volume of all channels. If the specified volume is -1, it will just return the current volume.

Returns the previously set volume of the channel.

    play_channel



 my $channel_number = SDL::Mixer::Channels::play_channel( $channel, $chunk, $loops );



play_channel will play the specified chunk over the specified channel. SDL_mixer will choose a channel for you if you pass -1 for channel.

The chunk will be looped loops times, the total number of times played will be loops+1. Passing -1 will loop the chunk infinitely.

Returns the channel the chunk will be played on, or -1 on error.

Example:



 use SDL::Mixer;
 use SDL::Mixer::Channels;
 use SDL::Mixer::Samples;

 SDL::init(SDL_INIT_AUDIO);
 SDL::Mixer::open_audio( 44100, SDL::Constants::AUDIO_S16, 2, 4096 );

 my $chunk = SDL::Mixer::Samples::load_WAV(sample.wav);

 SDL::Mixer::Channels::play_channel( -1, $chunk, -1 );

 SDL::delay(1000);
 SDL::Mixer::close_audio();



    play_channel_timed



 my $channel = SDL::Mixer::Channels::play_channel_timed( $channel, $chunk, $loops, $ticks );



Same as play_channel but you can specify the time it will play by $ticks.

    fade_in_channel



 my $channel = SDL::Mixer::Channels::fade_in_channel( $channel, $chunk, $loops, $ms );



Same as play_channel but you can specify the fade-in time by $ms.

    fade_in_channel_timed



 my $channel = SDL::Mixer::Channels::fade_in_channel_timed( $channel, $chunk, $loops, $ms, $ticks );



Same as fade_in_channel but you can specify the time how long the chunk will be played by $ticks.

    pause



 SDL::Mixer::Channels::pause( $channel );



Pauses the given channel or all by passing -1.

    resume



 SDL::Mixer::Channels::resume( $channel );



Resumes the given channel or all by passing -1.

    halt_channel



 SDL::Mixer::Channels::halt_channel( $channel );



Stops the given channel or all by passing -1.

    expire_channel



 my $channels = SDL::Mixer::Channels::expire_channel( $channel, $ticks );



Stops the given channel (or -1 for all) after the time specified by $ticks (in milliseconds).

Returns the number of affected channels.

    fade_out_channel



 my $fading_channels = SDL::Mixer::Channels::fade_out_channel( $which, $ms );



fade_out_channel fades out a channel specified in which with a duration specified in ms in milliseconds.

Returns the the number of channels that will be faded out.

    channel_finished



 SDL::Mixer::Channels::channel_finished( $callback );



Add your own callback when a channel has finished playing. NULL to disable callback. The callback may be called from the mixer’s audio callback or it could be called as a result of halt_channel, etc. do not call lock_audio from this callback; you will either be inside the audio callback, or SDL_mixer will explicitly lock the audio before calling your callback.

Example 1:



 my $callback = sub{ printf("[channel_finished] callback called for channel %d\n", shift); };

 SDL::Mixer::Channels::channel_finished( $callback );



Example 2:



 sub callback
 {
     ...
 }

 SDL::Mixer::Channels::channel_finished( \&callback );



    playing



 my $playing = SDL::Mixer::Channels::playing( $channel );



Returns 1 if the given channel is playing sound, otherwise 0. It doesn’t check if the channel is paused.

<B>NoteB>: If you pass -1 you will get the number of playing channels.

    paused



 my $paused = SDL::Mixer::Channels::paused( $channel );



Returns 1 if the given channel is paused, otherwise 0.

<B>NoteB>: If you pass -1 you will get the number of paused channels.

    fading_channel



 my $fading_channel = SDL::Mixer::Channels::fading_channel( $channel );



Returns one of the following for the given channel:
o MIX_NO_FADING
o MIX_FADING_OUT
o MIX_FADING_IN
<B>NoteB>: Never pass -1 to this function!

    get_chunk



 my $chunk = SDL::Mixer::Channels::get_chunk( $channel );



get_chunk gets the most recent sample chunk played on channel. This chunk may be currently playing, or just the last used.

<B>NoteB>: Never pass -1 to this function!

AUTHORS

See AUTHORS in SDL.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 PODS::SDL::MIXER::CHANNELS (3) 2016-04-05

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.