.\" Automatically generated by Pandoc 2.2.1 .\" .TH "al_set_sample_instance_channel_matrix" "3alleg5" "" "Allegro reference manual" "" .hy .SH NAME .PP al_set_sample_instance_channel_matrix \- Allegro 5 API .SH SYNOPSIS .IP .nf \f[C] #include\ 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'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