# LaTeX2HTML 2022 (Released January 1, 2022)
# Associate images original text with physical files.


$key = q//;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 196.25ex; vertical-align: -0.70ex; " SRC="|."$dir".q|img12.png"
 ALT="\begin{funcdesc}{amplify}{buf  f1  f2}
Amplifies a chunk of samples by a varia...
...Resulting values that are to large to fit in a byte are clipped.
\end{funcdesc}">|; 

$key = q/{funcdesc}{add}{buf1,buf2}Bytewiseaddstwochunksofsamples.Bytesthatexceedtherangeareclipped.Ifonebufferisshorter,itisassumedtobepaddedwithzeros.{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.17ex; vertical-align: 176.68ex; " SRC="|."$dir".q|img14.png"
 ALT="\begin{funcdesc}{add}{buf1  buf2}
Bytewise adds two chunks of samples.
Bytes th...
...
If one buffer is shorter, it is assumed to be padded with zeros.
\end{funcdesc}">|; 

$key = q/{funcdesc}{chr2num}{buf}Convertsastringofsampledbytesasreturnedbycode{read()}intoalistcontainingthenumericvaluesofthesamples.{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.17ex; vertical-align: 176.55ex; " SRC="|."$dir".q|img15.png"
 ALT="\begin{funcdesc}{chr2num}{buf}
Converts a string of sampled bytes as returned by...
...read()} into
a list containing the numeric values of the samples.
\end{funcdesc}">|; 

$key = q/{funcdesc}{getoutgain}{}Returnstheoutputgain.{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.24ex; vertical-align: 176.61ex; " SRC="|."$dir".q|img2.png"
 ALT="\begin{funcdesc}{getoutgain}{}
Returns the output gain.
\end{funcdesc}">|; 

$key = q/{funcdesc}{num2chr}{list}sloppypar{Convertsalistasreturnedbycode{chr2num()}backtoabufferacceptablebycode{write()}.sloppypar{{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.38ex; vertical-align: 176.27ex; " SRC="|."$dir".q|img16.png"
 ALT="\begin{funcdesc}{num2chr}{list}
\begin{sloppypar}
Converts a list as returned by...
...()}
back to a buffer acceptable by
\code{write()}.
\end{sloppypar}\end{funcdesc}">|; 

$key = q/{funcdesc}{poll_recording}{}Returnstrueifthesecondthreadhasfinishedreading(socode{wait_recording()}wouldreturnthedatawithoutdelay).{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.17ex; vertical-align: 176.55ex; " SRC="|."$dir".q|img10.png"
 ALT="\begin{funcdesc}{poll_recording}{}
Returns true if the second thread has finishe...
...(so
\code{wait_recording()} would return the data without delay).
\end{funcdesc}">|; 

$key = q/{funcdesc}{reverse}{buf}Returnsachunkofsamplesbackwards.{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.38ex; vertical-align: 176.40ex; " SRC="|."$dir".q|img13.png"
 ALT="\begin{funcdesc}{reverse}{buf}
Returns a chunk of samples backwards.
\end{funcdesc}">|; 

$key = q/{funcdesc}{setduration}{n}Setsthe`soundduration'inunitsof1slash100seconds.{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.38ex; vertical-align: 176.27ex; " SRC="|."$dir".q|img4.png"
 ALT="\begin{funcdesc}{setduration}{n}
Sets the \lq sound duration' in units of 1/100 seconds.
\end{funcdesc}">|; 

$key = q/{funcdesc}{setoutgain}{n}Setstheoutputgain.iftexicode{0<=var{n}<256}.else{0leqvar{n}<256{.fi{funcdesc};MSF=1.6;AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 196.25ex; vertical-align: -0.57ex; " SRC="|."$dir".q|img1.png"
 ALT="\begin{funcdesc}{setoutgain}{n}
Sets the output gain.
\iftexi
\code{0 &lt;= \var{n} &lt; 256}.
\else
$0 \leq \var{n} &lt; 256$.
\fi
\end{funcdesc}">|; 

$key = q/{funcdesc}{setrate}{n}Setsthesamplingrate:code{1}=32Kslashsec,code{2}=16Kslashsec,code{3}=8Kslashsec.{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.10ex; vertical-align: 176.55ex; " SRC="|."$dir".q|img3.png"
 ALT="\begin{funcdesc}{setrate}{n}
Sets the sampling rate: \code{1} = 32K/sec, \code{2} = 16K/sec,
\code{3} = 8K/sec.
\end{funcdesc}">|; 

$key = q/{funcdesc}{stop_recording}{}Makesthesecondthreadstopreadingassoonaspossible.Returnsthedatareadsofar.{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.17ex; vertical-align: 176.68ex; " SRC="|."$dir".q|img9.png"
 ALT="\begin{funcdesc}{stop_recording}{}
Makes the second thread stop reading as soon as possible.
Returns the data read so far.
\end{funcdesc}">|; 

$key = q/{funcdesc}{wait_recording}{}Waitsforthesecondthreadtofinishandreturnsthedataread.{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.38ex; vertical-align: 176.40ex; " SRC="|."$dir".q|img8.png"
 ALT="\begin{funcdesc}{wait_recording}{}
Waits for the second thread to finish and returns the data read.
\end{funcdesc}">|; 

$key = q/{funcdesc}{write}{buf}Writesachunkofsamplestotheaudiooutput(speaker).{funcdesc};AAT/;
$cached_env_img{$key} = q|<IMG
  STYLE="height: 2.38ex; vertical-align: 176.27ex; " SRC="|."$dir".q|img6.png"
 ALT="\begin{funcdesc}{write}{buf}
Writes a chunk of samples to the audio output (speaker).
\end{funcdesc}">|; 

1;

