aMix.3p 1.19 KB
.TH aMix 3P local "Silicon Graphics, Inc."
.SH NAME
aMix \- Audio double precision mixing command
.SH C SPECIFICATION
#include "mbi.h"
.br
.sp
aMix(Acmd *pkt, short gain, short dmemoutf)
.SH PARAMETERS
.TP 10
.I pkt
Audio command list pointer.
.TP
.I gain
Mixing gain specified as S.15.
.TP
.I dmemoutf
Pointer to DMEM buffer for fractional part of the mixed
output. This is used to preserve precision of intermediate mixing
results.
.SH DESCRIPTION
.IR aMix
provides a double precision mixing function. The single precision input
is added to the double precision output after multiplication by
.IR gain. 
The buffers for the integer
input and output and the number of samples to process
are specified by a call to
.IR aSetBuffer()
and the buffer for the fractional part of the output is specified by the
.IR dmemoutf 
parameter. A sequence of
calls to this command can mix any number of inputs. The output areas
should be cleared before the first call using 
.IR aClearBuffer().

The command operates on vectors of 8 samples. 
If the number of samples, defined through the 
.IR aSetBuffer() 
.IR count
parameter, is not a multiple of 8 the command
will produce the smallest multiple of 8 which is greater than count.