176 lines
5.4 KiB
TeX
176 lines
5.4 KiB
TeX
\section{Built-in Module \module{al}}
|
|
\label{module-al}
|
|
\bimodindex{al}
|
|
|
|
This module provides access to the audio facilities of the SGI Indy
|
|
and Indigo workstations. See section 3A of the IRIX man pages for
|
|
details. You'll need to read those man pages to understand what these
|
|
functions do! Some of the functions are not available in IRIX
|
|
releases before 4.0.5. Again, see the manual to check whether a
|
|
specific function is available on your platform.
|
|
|
|
All functions and methods defined in this module are equivalent to
|
|
the \C{} functions with \samp{AL} prefixed to their name.
|
|
|
|
Symbolic constants from the \C{} header file \code{<audio.h>} are
|
|
defined in the standard module \module{AL}\refstmodindex{AL}, see
|
|
below.
|
|
|
|
\strong{Warning:} the current version of the audio library may dump core
|
|
when bad argument values are passed rather than returning an error
|
|
status. Unfortunately, since the precise circumstances under which
|
|
this may happen are undocumented and hard to check, the Python
|
|
interface can provide no protection against this kind of problems.
|
|
(One example is specifying an excessive queue size --- there is no
|
|
documented upper limit.)
|
|
|
|
The module defines the following functions:
|
|
|
|
|
|
\begin{funcdesc}{openport}{name, direction\optional{, config}}
|
|
The name and direction arguments are strings. The optional
|
|
\var{config} argument is a configuration object as returned by
|
|
\function{newconfig()}. The return value is an \dfn{audio port
|
|
object}; methods of audio port objects are described below.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{newconfig}{}
|
|
The return value is a new \dfn{audio configuration object}; methods of
|
|
audio configuration objects are described below.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{queryparams}{device}
|
|
The device argument is an integer. The return value is a list of
|
|
integers containing the data returned by \cfunction{ALqueryparams()}.
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{getparams}{device, list}
|
|
The \var{device} argument is an integer. The list argument is a list
|
|
such as returned by \function{queryparams()}; it is modified in place
|
|
(!).
|
|
\end{funcdesc}
|
|
|
|
\begin{funcdesc}{setparams}{device, list}
|
|
The \var{device} argument is an integer. The \var{list} argument is a
|
|
list such as returned by \function{queryparams()}.
|
|
\end{funcdesc}
|
|
|
|
|
|
\subsection{Configuration Objects}
|
|
\label{al-config-objects}
|
|
|
|
Configuration objects (returned by \function{newconfig()} have the
|
|
following methods:
|
|
|
|
\begin{methoddesc}[audio configuration]{getqueuesize}{}
|
|
Return the queue size.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{setqueuesize}{size}
|
|
Set the queue size.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{getwidth}{}
|
|
Get the sample width.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{setwidth}{width}
|
|
Set the sample width.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{getchannels}{}
|
|
Get the channel count.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{setchannels}{nchannels}
|
|
Set the channel count.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{getsampfmt}{}
|
|
Get the sample format.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{setsampfmt}{sampfmt}
|
|
Set the sample format.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{getfloatmax}{}
|
|
Get the maximum value for floating sample formats.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio configuration]{setfloatmax}{floatmax}
|
|
Set the maximum value for floating sample formats.
|
|
\end{methoddesc}
|
|
|
|
|
|
\subsection{Port Objects}
|
|
\label{al-port-objects}
|
|
|
|
Port objects, as returned by \function{openport()}, have the following
|
|
methods:
|
|
|
|
\begin{methoddesc}[audio port]{closeport}{}
|
|
Close the port.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{getfd}{}
|
|
Return the file descriptor as an int.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{getfilled}{}
|
|
Return the number of filled samples.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{getfillable}{}
|
|
Return the number of fillable samples.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{readsamps}{nsamples}
|
|
Read a number of samples from the queue, blocking if necessary.
|
|
Return the data as a string containing the raw data, (e.g., 2 bytes per
|
|
sample in big-endian byte order (high byte, low byte) if you have set
|
|
the sample width to 2 bytes).
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{writesamps}{samples}
|
|
Write samples into the queue, blocking if necessary. The samples are
|
|
encoded as described for the \method{readsamps()} return value.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{getfillpoint}{}
|
|
Return the `fill point'.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{setfillpoint}{fillpoint}
|
|
Set the `fill point'.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{getconfig}{}
|
|
Return a configuration object containing the current configuration of
|
|
the port.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{setconfig}{config}
|
|
Set the configuration from the argument, a configuration object.
|
|
\end{methoddesc}
|
|
|
|
\begin{methoddesc}[audio port]{getstatus}{list}
|
|
Get status information on last error.
|
|
\end{methoddesc}
|
|
|
|
|
|
\section{Standard Module \module{AL}}
|
|
\nodename{AL (uppercase)}
|
|
\stmodindex{AL}
|
|
|
|
This module defines symbolic constants needed to use the built-in
|
|
module \module{al} (see above); they are equivalent to those defined
|
|
in the \C{} header file \code{<audio.h>} except that the name prefix
|
|
\samp{AL_} is omitted. Read the module source for a complete list of
|
|
the defined names. Suggested use:
|
|
|
|
\begin{verbatim}
|
|
import al
|
|
from AL import *
|
|
\end{verbatim}
|