---
name: "voice_set_playmode"
section: "3alleg"
platform: "linux"
package: "liballegro-doc"
version: "2:4.2.2-2.2"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/voice_set_playmode"
---

# voice\_set\_playmode(3alleg)

Adjusts the loop status of the specified voice. Allegro game programming library.

## NAME

voice\_set\_playmode - Adjusts the loop status of the specified voice. Allegro game programming library.

## SYNOPSIS

**#include \<allegro.h\>**

**void voice\_set\_playmode(int voice, int playmode);**

## DESCRIPTION

Adjusts the loop status of the specified voice. This can be done while  the voice is playing, so you can start a sample in looped mode (having  set the loop start and end positions to the appropriate values), and then  clear the loop flag when you want to end the sound, which will cause it  to continue past the loop end, play the subsequent part of the sample,  and finish in the normal way. The mode parameter is a bitfield containing  the following values:

PLAYMODE\_PLAY

Plays the sample a single time. This is the default if you don't set  the loop flag.

PLAYMODE\_LOOP

Loops repeatedly through the sample, jumping back to the loop start  position upon reaching the loop end.

PLAYMODE\_FORWARD

Plays the sample from beginning to end. This is the default if you  don't set the backward flag.

PLAYMODE\_BACKWARD

Reverses the direction of the sample. If you combine this with the  loop flag, the sample jumps to the loop end position upon reaching the  loop start (ie. you do not need to reverse the loop start and end  values when you play the sample in reverse).

PLAYMODE\_BIDIR

When used in combination with the loop flag, causes the sample to  change direction each time it reaches one of the loop points, so it  alternates between playing forwards and in reverse.

## SEE ALSO
