1994-01-02 02:22:07 +01:00
|
|
|
\section{Built-in Module \sectcode{al}}
|
|
|
|
\bimodindex{al}
|
|
|
|
|
1995-03-17 17:07:09 +01:00
|
|
|
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.
|
1994-01-02 02:22:07 +01:00
|
|
|
|
|
|
|
Symbolic constants from the C header file \file{<audio.h>} are defined
|
|
|
|
in the standard module \code{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.)
|
|
|
|
|
1995-03-17 17:07:09 +01:00
|
|
|
The module defines the following functions:
|
1994-01-02 02:22:07 +01:00
|
|
|
|
|
|
|
\renewcommand{\indexsubitem}{(in module al)}
|
1995-03-17 17:07:09 +01:00
|
|
|
|
1994-08-08 14:30:22 +02:00
|
|
|
\begin{funcdesc}{openport}{name\, direction\optional{\, config}}
|
1995-03-17 17:07:09 +01:00
|
|
|
The name and direction arguments are strings. The optional config
|
|
|
|
argument is a configuration object as returned by
|
|
|
|
\code{al.newconfig()}. The return value is an \dfn{port object};
|
|
|
|
methods of port objects are described below.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{newconfig}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
The return value is a new \dfn{configuration object}; methods of
|
|
|
|
configuration objects are described below.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{queryparams}{device}
|
1995-03-17 17:07:09 +01:00
|
|
|
The device argument is an integer. The return value is a list of
|
|
|
|
integers containing the data returned by ALqueryparams().
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getparams}{device\, list}
|
1995-03-17 17:07:09 +01:00
|
|
|
The device argument is an integer. The list argument is a list such
|
|
|
|
as returned by \code{queryparams}; it is modified in place (!).
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{setparams}{device\, list}
|
1995-03-17 17:07:09 +01:00
|
|
|
The device argument is an integer. The list argument is a list such
|
|
|
|
as returned by \code{al.queryparams}.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
1995-03-17 17:07:09 +01:00
|
|
|
\subsection{Configuration Objects}
|
|
|
|
|
1994-01-02 02:22:07 +01:00
|
|
|
Configuration objects (returned by \code{al.newconfig()} have the
|
|
|
|
following methods:
|
|
|
|
|
|
|
|
\renewcommand{\indexsubitem}{(audio configuration object method)}
|
1995-03-17 17:07:09 +01:00
|
|
|
|
1994-01-02 02:22:07 +01:00
|
|
|
\begin{funcdesc}{getqueuesize}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Return the queue size.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{setqueuesize}{size}
|
1995-03-17 17:07:09 +01:00
|
|
|
Set the queue size.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getwidth}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Get the sample width.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
1995-03-17 17:07:09 +01:00
|
|
|
\begin{funcdesc}{setwidth}{width}
|
|
|
|
Set the sample width.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getchannels}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Get the channel count.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{setchannels}{nchannels}
|
1995-03-17 17:07:09 +01:00
|
|
|
Set the channel count.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getsampfmt}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Get the sample format.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{setsampfmt}{sampfmt}
|
1995-03-17 17:07:09 +01:00
|
|
|
Set the sample format.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getfloatmax}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Get the maximum value for floating sample formats.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{setfloatmax}{floatmax}
|
1995-03-17 17:07:09 +01:00
|
|
|
Set the maximum value for floating sample formats.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
1995-03-17 17:07:09 +01:00
|
|
|
\subsection{Port Objects}
|
|
|
|
|
1994-01-02 02:22:07 +01:00
|
|
|
Port objects (returned by \code{al.openport()} have the following
|
|
|
|
methods:
|
|
|
|
|
|
|
|
\renewcommand{\indexsubitem}{(audio port object method)}
|
1995-03-17 17:07:09 +01:00
|
|
|
|
1994-01-02 02:22:07 +01:00
|
|
|
\begin{funcdesc}{closeport}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Close the port.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getfd}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Return the file descriptor as an int.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getfilled}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Return the number of filled samples.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getfillable}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Return the number of fillable samples.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{readsamps}{nsamples}
|
1995-03-17 17:07:09 +01:00
|
|
|
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).
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{writesamps}{samples}
|
1995-03-17 17:07:09 +01:00
|
|
|
Write samples into the queue, blocking if necessary. The samples are
|
|
|
|
encoded as described for the \code{readsamps} return value.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getfillpoint}{}
|
1995-03-17 17:07:09 +01:00
|
|
|
Return the `fill point'.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{setfillpoint}{fillpoint}
|
1995-03-17 17:07:09 +01:00
|
|
|
Set the `fill point'.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getconfig}{}
|
|
|
|
Return a configuration object containing the current configuration of
|
1995-03-17 17:07:09 +01:00
|
|
|
the port.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{setconfig}{config}
|
1995-03-17 17:07:09 +01:00
|
|
|
Set the configuration from the argument, a configuration object.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{getstatus}{list}
|
1995-03-17 17:07:09 +01:00
|
|
|
Get status information on last error.
|
1994-01-02 02:22:07 +01:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\section{Standard Module \sectcode{AL}}
|
|
|
|
\nodename{AL (uppercase)}
|
|
|
|
\stmodindex{AL}
|
|
|
|
|
|
|
|
This module defines symbolic constants needed to use the built-in
|
|
|
|
module \code{al} (see above); they are equivalent to those defined in
|
|
|
|
the C header file \file{<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:
|
|
|
|
|
|
|
|
\bcode\begin{verbatim}
|
|
|
|
import al
|
|
|
|
from AL import *
|
|
|
|
\end{verbatim}\ecode
|