my $reserved = SDL::Mixer::Groups::reserve_channels( $num );
$num is the number of channels to reserve from default mixing. Zero removes all reservations.
Reserve $num channels from being used when playing samples when passing in "-1" as a channel number to playback functions. The channels are reserved starting from channel 0 to "$num-1". Passing in zero will unreserve all channels. Normally SDL_mixer starts without any channels reserved.
The following functions are affected by this setting:
Returns: The number of channels reserved. Never fails, but may return less channels than you ask for, depending on the number of channels previously allocated (see SDL::Mixer::Channels::allocate_channels).
my $grouped = SDL::Mixer::Groups::group_channel( $channel, $group );
Add a channel to group id (any positive integer), or reset it's group to the default group by passing (-1).
Returns: True(1) on success. False(0) is returned when the channel specified is invalid.
my $grouped = SDL::Mixer::Groups::group_channels( $from_channel, $to_channel, $group );
Add a range of channels to group id (any positive integer), or reset their group to the default group by passing (-1).
Returns: The number of affected channels.
my $channel = SDL::Mixer::Groups::group_count( $group );
"group_newer" returns the first available channel of this group.
my $channels = SDL::Mixer::Groups::group_count( $group );
"group_newer" returns the number of channels in this group.
my $channel = SDL::Mixer::Groups::group_oldest( $group );
"group_newer" returns the channel number which started to play at first.
my $channel = SDL::Mixer::Groups::group_newer( $group );
"group_newer" returns the channel number which started to play at last.
SDL::Mixer::Groups::fade_out_group( $group, $ms );
Fades out the channels by the given group id. The fade-out-time is specified by $ms.
Returns the number of affected channels.
SDL::Mixer::Groups::hals_group( $group );
Halts the channels by the given group id.