---
name: "SDL::Mixer::Groups"
section: "3pm"
platform: "linux"
package: "libsdl-perl"
version: "2.548-5+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SDL::Mixer::Groups"
---

# SDL::Mixer::Groups(3pm)

Audio channel group functions

## NAME

SDL::Mixer::Groups - Audio channel group functions

## CATEGORY

Mixer

## METHODS

### reserve\_channels

```
 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:

- •

  SDL::Mixer::Channels::play\_channel

- •

  SDL::Mixer::Channels::play\_channel\_timed

- •

  SDL::Mixer::Channels::fade\_in\_channel

- •

  SDL::Mixer::Channels::fade\_in\_channel\_timed

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).

### group\_channel

```
 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.

### group\_channels

```
 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.

### group\_available

```
 my $channel = SDL::Mixer::Groups::group_count( $group );
```

`"group_newer"` returns the first available channel of this group.

### group\_count

```
 my $channels = SDL::Mixer::Groups::group_count( $group );
```

`"group_newer"` returns the number of channels in this group.

### group\_oldest

```
 my $channel = SDL::Mixer::Groups::group_oldest( $group );
```

`"group_newer"` returns the channel number which started to play at first.

### group\_newer

```
 my $channel = SDL::Mixer::Groups::group_newer( $group );
```

`"group_newer"` returns the channel number which started to play at last.

### fade\_out\_group

```
 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.

### halt\_group

```
 SDL::Mixer::Groups::hals_group( $group );
```

Halts the channels by the given group id.

Returns `0`.

## AUTHORS

See "AUTHORS" in SDL.
