File: al_set_sample_instance_channel_matrix.3

package info (click to toggle)
allegro5 2%3A5.2.6.0-3%2Bdeb11u1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 24,212 kB
  • sloc: ansic: 125,319; cpp: 15,781; objc: 4,579; python: 2,802; java: 2,254; javascript: 1,204; sh: 1,002; makefile: 51; perl: 37; xml: 25; pascal: 24
file content (56 lines) | stat: -rw-r--r-- 1,654 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
.\" Automatically generated by Pandoc 1.19.2.4
.\"
.TH "al_set_sample_instance_channel_matrix" "3" "" "Allegro reference manual" ""
.hy
.SH NAME
.PP
al_set_sample_instance_channel_matrix \- Allegro 5 API
.SH SYNOPSIS
.IP
.nf
\f[C]
#include\ <allegro5/allegro_audio.h>

bool\ al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE\ *spl,\ const\ float\ *matrix)
\f[]
.fi
.SH DESCRIPTION
.PP
Set the matrix used to mix the channels coming from this instance into
the mixer it is attached to.
Normally Allegro derives the values of this matrix from the gain and pan
settings, as well as the channel configurations of this instance and the
mixer it is attached to, but this allows you override that default
value.
Note that if you do set gain or pan of this instance or the mixer it is
attached to, you\[aq]ll need to call this function again.
.PP
The matrix has mixer channel rows and sample channel columns, and is row
major.
For example, if you have a stereo sample instance and want to mix it to
a 5.1 mixer you could use this code:
.IP
.nf
\f[C]
float\ matrix[]\ =\ {
\ \ \ \ 0.5,\ 0.0,\ /*\ Half\ left\ to\ front\ left\ */
\ \ \ \ 0.0,\ 0.5,\ /*\ Half\ right\ to\ front\ right\ */
\ \ \ \ 0.5,\ 0.0,\ /*\ Half\ left\ to\ rear\ left\ */
\ \ \ \ 0.0,\ 0.5,\ /*\ Half\ right\ to\ rear\ right\ */
\ \ \ \ 0.1,\ 0.1,\ /*\ Mix\ left\ and\ right\ for\ center\ */
\ \ \ \ 0.1,\ 0.1,\ /*\ Mix\ left\ and\ right\ for\ center\ */
};

al_set_sample_instance_channel_matrix(instance,\ matrix);
\f[]
.fi
.PP
Returns true on success, false on failure (e.g.
if this is not attached to a mixer).
.SH SINCE
.PP
5.2.3
.RS
.PP
\f[I][Unstable API]:\f[] New API.
.RE