Import from divmod. Added css. Original log message:

r1585 | casper | 2005-07-09 23:26:15 +0200 (Sat, 09 Jul 2005) | 3 lines

Last checkin before version 0.2





git-svn-id: svn://svn.code.sf.net/p/pyalsaaudio/code/trunk@12 ec2f30ec-7544-0410-870e-f70ca00c83f0
This commit is contained in:
larsimmisch
2008-01-24 12:22:41 +00:00
parent 470d6140df
commit 8fa9d27a88
24 changed files with 1192 additions and 820 deletions

8
CHANGES Normal file
View File

@@ -0,0 +1,8 @@
VERSION 0.1
- Initial version
VERSION 0.2
- Many bugfixes related to playback in particular
- Module documentation in the doc subdirectory

54
LICENSE Normal file
View File

@@ -0,0 +1,54 @@
PyAlsaAudio is released under the same conditions as Python itself.
The original wording of this license can be found below.
PSF LICENSE AGREEMENT FOR PYTHON 2.4
------------------------------------
1. This LICENSE AGREEMENT is between the Python Software Foundation
("PSF"), and the Individual or Organization ("Licensee") accessing and
otherwise using Python 2.4 software in source or binary form and its
associated documentation.
2. Subject to the terms and conditions of this License Agreement, PSF
hereby grants Licensee a nonexclusive, royalty-free, world-wide
license to reproduce, analyze, test, perform and/or display publicly,
prepare derivative works, distribute, and otherwise use Python 2.4
alone or in any derivative version, provided, however, that PSF's
License Agreement and PSF's notice of copyright, i.e., "Copyright (c)
2001, 2002, 2003, 2004 Python Software Foundation; All Rights Reserved"
are retained in Python 2.4 alone or in any derivative version prepared
by Licensee.
3. In the event Licensee prepares a derivative work that is based on
or incorporates Python 2.4 or any part thereof, and wants to make
the derivative work available to others as provided herein, then
Licensee hereby agrees to include in any such work a brief summary of
the changes made to Python 2.4.
4. PSF is making Python 2.4 available to Licensee on an "AS IS"
basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR
IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND
DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS
FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.4 WILL NOT
INFRINGE ANY THIRD PARTY RIGHTS.
5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON
2.4 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.4,
OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
6. This License Agreement will automatically terminate upon a material
breach of its terms and conditions.
7. Nothing in this License Agreement shall be deemed to create any
relationship of agency, partnership, or joint venture between PSF and
Licensee. This License Agreement does not grant permission to use PSF
trademarks or trade name in a trademark sense to endorse or promote
products or services of Licensee, or any third party.
8. By copying, installing or otherwise using Python 2.4, Licensee
agrees to be bound by the terms and conditions of this License
Agreement.

13
README
View File

@@ -24,7 +24,10 @@ Installation
Note: the wrappers link with the alsasound library alsa (from the alsa-lib Note: the wrappers link with the alsasound library alsa (from the alsa-lib
package). Verify that this is installed by looking for /usr/lib/libasound.so package). Verify that this is installed by looking for /usr/lib/libasound.so
before building. Naturally you also need to use a kernel with proper ALSA before building. The libasound development files are also neccesary. On debian
and derivatives, this is achieved by installing the alsalib-dev package.
Naturally you also need to use a kernel with proper ALSA
support. This is the default in Linux kernel 2.6 and later. If you are using support. This is the default in Linux kernel 2.6 and later. If you are using
kernel version 2.4 you may need to install the ALSA patches yourself - although kernel version 2.4 you may need to install the ALSA patches yourself - although
most distributions ship with ALSA kernels. most distributions ship with ALSA kernels.
@@ -38,13 +41,15 @@ And then as root:
Using the API Using the API
============= =============
There is a reasonably usefull API documentation included in the module
documentation, which can be found in the doc subdirectory of the source
distribution.
There are two example programs included with the source: There are also three example programs included with the source:
'playbacktest.py' which plays back raw sound data read from 'playbacktest.py' which plays back raw sound data read from
stdin stdin
'recordtest.py' which captures sound from the microphone at writes 'recordtest.py' which captures sound from the microphone at writes
it raw to stdout. it raw to stdout.
In a future version, I'll include documentation with the package, but 'mixertest.py' which can be used to manipulate the mixers
for now, you're stuck with the examples.

1
TODO
View File

@@ -1,4 +1,3 @@
- Write documentation
- Better example code (aplay,arecord,amixer workalike for example) - Better example code (aplay,arecord,amixer workalike for example)
- Implement MIDI/sequencer support. - Implement MIDI/sequencer support.

View File

@@ -373,7 +373,7 @@ static PyObject *alsapcm_write(alsapcm_t *self, PyObject *args) {
int res; int res;
if (!PyArg_ParseTuple(args,"s#",&data,&datalen)) return NULL; if (!PyArg_ParseTuple(args,"s#",&data,&datalen)) return NULL;
if (datalen%self->framesize) { if (datalen%self->framesize) {
PyErr_SetString(ALSAAudioError,"Data size must be a multipla of framesize"); PyErr_SetString(ALSAAudioError,"Data size must be a multiple of framesize");
return NULL; return NULL;
} }
res = snd_pcm_writei(self->handle, data, datalen/self->framesize); res = snd_pcm_writei(self->handle, data, datalen/self->framesize);

View File

@@ -1,44 +1,45 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="prev" href="contents.html"> <link rel="prev" href="contents.html" />
<LINK REL="parent" HREF="pyalsaaudio.html"> <link rel="parent" href="pyalsaaudio.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="About this document ...">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>About this document ...</title> <title>About this document ...</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4.4 ALSA Examples" <td class='online-navigation'><a rel="prev" title="4.4 ALSA Examples"
href="pcm-example.html"><img src='previous.gif' href="pcm-example.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="PyAlsaAudio" <td class='online-navigation'><a rel="parent" title="PyAlsaAudio"
HREF="pyalsaaudio.html"><img src='up.gif' href="pyalsaaudio.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='next.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Next Page' width='32' /></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="pcm-example.html">4.4 ALSA Examples</A> <a class="sectref" rel="prev" href="pcm-example.html">4.4 ALSA Examples</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" HREF="pyalsaaudio.html">PyAlsaAudio</A> <a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
@@ -72,33 +73,36 @@ About this document ...</A>
</p> </p>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4.4 ALSA Examples" <td class='online-navigation'><a rel="prev" title="4.4 ALSA Examples"
rel="prev" title="4.4 ALSA Examples" href="pcm-example.html"><img src='previous.png'
href="pcm-example.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="PyAlsaAudio"
<td><a rel="parent" title="PyAlsaAudio" href="pyalsaaudio.html"><img src='up.png'
rel="parent" title="PyAlsaAudio" border='0' height='32' alt='Up One Level' width='32' /></A></td>
HREF="pyalsaaudio.html"><img src='up.gif' <td class='online-navigation'><img src='next.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></td>
<td><img src='blank.gif'
border='0' height='32' alt='' width='32'></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="pcm-example.html">4.4 ALSA Examples</A> <a class="sectref" rel="prev" href="pcm-example.html">4.4 ALSA Examples</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" HREF="pyalsaaudio.html">PyAlsaAudio</A> <a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,52 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" href="about.html"> <link rel="next" href="about.html" />
<LINK REL="prev" href="front.html"> <link rel="prev" href="front.html" />
<LINK REL="parent" HREF="pyalsaaudio.html"> <link rel="parent" href="pyalsaaudio.html" />
<LINK REL="next" HREF="node3.html"> <link rel="next" href="node3.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="Contents">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>Contents</title> <title>Contents</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="Front Matter" <td class='online-navigation'><a rel="prev" title="Front Matter"
href="front.html"><img src='previous.gif' href="front.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="PyAlsaAudio" <td class='online-navigation'><a rel="parent" title="PyAlsaAudio"
HREF="pyalsaaudio.html"><img src='up.gif' href="pyalsaaudio.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="1 What is ALSA" <td class='online-navigation'><a rel="next" title="1 What is ALSA"
HREF="node3.html"><img src='next.gif' href="node3.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="front.html">Front Matter</A> <a class="sectref" rel="prev" href="front.html">Front Matter</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" HREF="pyalsaaudio.html">PyAlsaAudio</A> <a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" HREF="node3.html">1 What is ALSA</A> <a class="sectref" rel="next" href="node3.html">1 What is ALSA</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<BR> <BR><h2><A NAME="SECTION002000000000000000000">
<BR><H2><A NAME="SECTION002000000000000000000">
Contents</A> Contents</A>
</H2> </h2>
<!--Table of Contents--> <!--Table of Contents-->
<UL CLASS="TofC"> <UL CLASS="TofC">
@@ -65,33 +67,38 @@ Contents</A>
<P> <P>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="Front Matter" <td class='online-navigation'><a rel="prev" title="Front Matter"
rel="prev" title="Front Matter" href="front.html"><img src='previous.png'
href="front.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="PyAlsaAudio"
<td><a rel="parent" title="PyAlsaAudio" href="pyalsaaudio.html"><img src='up.png'
rel="parent" title="PyAlsaAudio" border='0' height='32' alt='Up One Level' width='32' /></A></td>
HREF="pyalsaaudio.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="1 What is ALSA"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="node3.html"><img src='next.png'
<td><a rel="next" title="1 What is ALSA" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="1 What is ALSA"
HREF="node3.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="front.html">Front Matter</A> <a class="sectref" rel="prev" href="front.html">Front Matter</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" HREF="pyalsaaudio.html">PyAlsaAudio</A> <a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" HREF="node3.html">1 What is ALSA</A> <a class="sectref" rel="next" href="node3.html">1 What is ALSA</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,53 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" href="contents.html"> <link rel="next" href="contents.html" />
<LINK REL="prev" HREF="pyalsaaudio.html"> <link rel="prev" href="pyalsaaudio.html" />
<LINK REL="parent" HREF="pyalsaaudio.html"> <link rel="parent" href="pyalsaaudio.html" />
<LINK REL="next" href="contents.html"> <link rel="next" href="contents.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="Front Matter">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>Front Matter</title> <title>Front Matter</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="PyAlsaAudio" <td class='online-navigation'><a rel="prev" title="PyAlsaAudio"
HREF="pyalsaaudio.html"><img src='previous.gif' href="pyalsaaudio.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="PyAlsaAudio" <td class='online-navigation'><a rel="parent" title="PyAlsaAudio"
HREF="pyalsaaudio.html"><img src='up.gif' href="pyalsaaudio.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="Contents" <td class='online-navigation'><a rel="next" title="Contents"
href="contents.html"><img src='next.gif' href="contents.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="pyalsaaudio.html">PyAlsaAudio</A> <a class="sectref" rel="prev" href="pyalsaaudio.html">PyAlsaAudio</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" HREF="pyalsaaudio.html">PyAlsaAudio</A> <a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="contents.html">Contents</A> <a class="sectref" rel="next" href="contents.html">Contents</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H1><A NAME="SECTION001000000000000000000">&nbsp;</A> <H1><A NAME="SECTION001000000000000000000"></A><A NAME="front"></A>
<BR> <BR>
Front Matter Front Matter
</H1> </H1>
@@ -78,37 +79,39 @@ me.
<P> <P>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="PyAlsaAudio" <td class='online-navigation'><a rel="prev" title="PyAlsaAudio"
rel="prev" title="PyAlsaAudio" href="pyalsaaudio.html"><img src='previous.png'
HREF="pyalsaaudio.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="PyAlsaAudio"
<td><a rel="parent" title="PyAlsaAudio" href="pyalsaaudio.html"><img src='up.png'
rel="parent" title="PyAlsaAudio" border='0' height='32' alt='Up One Level' width='32' /></A></td>
HREF="pyalsaaudio.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="Contents"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="contents.html"><img src='next.png'
<td><a rel="next" title="Contents" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="Contents"
href="contents.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="pyalsaaudio.html">PyAlsaAudio</A> <a class="sectref" rel="prev" href="pyalsaaudio.html">PyAlsaAudio</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" HREF="pyalsaaudio.html">PyAlsaAudio</A> <a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="contents.html">Contents</A> <a class="sectref" rel="next" href="contents.html">Contents</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,55 +1,57 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" href="front.html"> <link rel="next" href="front.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="PyAlsaAudio">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>PyAlsaAudio</title> <title>PyAlsaAudio</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><img src='blank.gif' <td class='online-navigation'><img src='previous.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Previous Page' width='32' /></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='up.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Up One Level' width='32' /></td>
<td><a rel="next" title="Front Matter" <td class='online-navigation'><a rel="next" title="Front Matter"
href="front.html"><img src='next.gif' href="front.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="front.html">Front Matter</A> <a class="sectref" rel="next" href="front.html">Front Matter</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<div class="titlepage"> <div class="titlepage">
<center> <div class='center'>
<h1>PyAlsaAudio</h1> <h1>PyAlsaAudio</h1>
<p><b><font size="+2">Casper Wilstrup</font></b></p> <p><b><font size="+2">Casper Wilstrup</font></b></p>
<p>cwi@unispeed.com</p> <p>cwi@unispeed.com</p>
<p> <p></p>
</center> </div>
</div> </div>
<P> <P>
<p><hr> <p><br /></p><hr class='online-navigation' />
<div class='online-navigation'>
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></a> <A NAME="CHILD_LINKS"></a>
@@ -71,31 +73,36 @@
<LI><A href="about.html">About this document ...</a> <LI><A href="about.html">About this document ...</a>
</ul> </ul>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
</div>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><img src='blank.gif' <td class='online-navigation'><img src='previous.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Previous Page' width='32' /></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='up.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Up One Level' width='32' /></td>
<td><a rel="next" title="Front Matter" <td class='online-navigation'><a rel="next" title="Front Matter"
rel="next" title="Front Matter" href="front.html"><img src='next.png'
href="front.html"><img src='next.gif' border='0' height='32' alt='Next Page' width='32' /></A></td>
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="front.html">Front Matter</A> <a class="sectref" rel="next" href="front.html">Front Matter</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,53 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" href="pcm-example.html"> <link rel="next" href="pcm-example.html" />
<LINK REL="prev" href="pcm-objects.html"> <link rel="prev" href="pcm-objects.html" />
<LINK REL="parent" href="module-alsaaudio.html"> <link rel="parent" href="module-alsaaudio.html" />
<LINK REL="next" href="pcm-example.html"> <link rel="next" href="pcm-example.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="Mixer Objects">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>4.3 Mixer Objects</title> <title>4.3 Mixer Objects</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4.2 PCM Objects" <td class='online-navigation'><a rel="prev" title="4.2 PCM Objects"
href="pcm-objects.html"><img src='previous.gif' href="pcm-objects.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="4 alsaaudio" <td class='online-navigation'><a rel="parent" title="4 alsaaudio"
href="module-alsaaudio.html"><img src='up.gif' href="module-alsaaudio.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="4.4 ALSA Examples" <td class='online-navigation'><a rel="next" title="4.4 ALSA Examples"
href="pcm-example.html"><img src='next.gif' href="pcm-example.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="pcm-objects.html">4.2 PCM Objects</A> <a class="sectref" rel="prev" href="pcm-objects.html">4.2 PCM Objects</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="pcm-example.html">4.4 ALSA Examples</A> <a class="sectref" rel="next" href="pcm-example.html">4.4 ALSA Examples</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION002430000000000000000">&nbsp;</A> <H2><A NAME="SECTION002430000000000000000"></A>
<A NAME="mixer-objects"></A>
<BR> <BR>
4.3 Mixer Objects 4.3 Mixer Objects
</H2> </H2>
@@ -57,8 +59,8 @@ Mixer objects provides access to the ALSA mixer API.
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><span class="typelabel">class</span>&nbsp;<a name="l2h-16"><tt class="class">Mixer</tt></a></b>(</nobr></td> <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-16' xml:id='l2h-16' class="class">Mixer</tt></b>(</nobr></td>
<td><big>[</big><var>control</var><big>]</big><var>, </var><big>[</big><var>id</var><big>]</big><var>, </var><big>[</big><var>cardname</var><big>]</big>)</td></tr></table> <td><var></var><big>[</big><var>control</var><big>]</big><var>, </var><big>[</big><var>id</var><big>]</big><var>, </var><big>[</big><var>cardname</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
<var>control</var> - specifies which control to manipulate using this mixer object. The list <var>control</var> - specifies which control to manipulate using this mixer object. The list
of available controls can be found with the <tt class="module">alsaaudio</tt>.<tt class="function">mixers</tt> function. of available controls can be found with the <tt class="module">alsaaudio</tt>.<tt class="function">mixers</tt> function.
@@ -77,16 +79,16 @@ Mixer objects have the following methods:
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-17"><tt class="method">cardname</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-17' xml:id='l2h-17' class="method">cardname</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Return the name of the sound card used by this Mixer object Return the name of the sound card used by this Mixer object
</dl> </dl>
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-18"><tt class="method">mixer</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-18' xml:id='l2h-18' class="method">mixer</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Return the name of the specific mixer controlled by this object, For example 'Master' Return the name of the specific mixer controlled by this object, For example 'Master'
or 'PCM' or 'PCM'
@@ -94,44 +96,44 @@ or 'PCM'
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-19"><tt class="method">mixerid</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-19' xml:id='l2h-19' class="method">mixerid</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Return the ID of the ALSA mixer controlled by this object. Return the ID of the ALSA mixer controlled by this object.
</dl> </dl>
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-20"><tt class="method">switchcap</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-20' xml:id='l2h-20' class="method">switchcap</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Returns a list of the switches which are defined by this specific mixer. Possible values in Returns a list of the switches which are defined by this specific mixer. Possible values in
this list are: this list are:
<P> <P>
<table border align="center" style="border-collapse: collapse"> <div class="center"><table class="realtable">
<thead> <thead>
<tr class="tableheader"> <tr>
<th align="left"><b>Switch</b>&nbsp;</th> <th class="left" >Switch</th>
<th align="left"><b>Description</b>&nbsp;</th> <th class="left" >Description</th>
</tr> </tr>
</thead> </thead>
<tbody valign="baseline"> <tbody>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Mute'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Mute'</Volume></td>
<td align="left">This mixer can be muted</td> <td class="left" >This mixer can be muted</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Joined Mute'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Mute'</Volume></td>
<td align="left">This mixer can mute all channels at the same time</td> <td class="left" >This mixer can mute all channels at the same time</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Playback Mute'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Playback Mute'</Volume></td>
<td align="left">This mixer can mute the playback output</td> <td class="left" >This mixer can mute the playback output</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Joined Playback Mute'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Playback Mute'</Volume></td>
<td align="left">Mute playback for all channels at the same time</td> <td class="left" >Mute playback for all channels at the same time</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Capture Mute'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Capture Mute'</Volume></td>
<td align="left">Mute sound capture</td> <td class="left" >Mute sound capture</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Joined Capture Mute'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Capture Mute'</Volume></td>
<td align="left">Mute sound capture for all channels at a time</td> <td class="left" >Mute sound capture for all channels at a time</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Capture Exclusive'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Capture Exclusive'</Volume></td>
<td align="left">Not quite sure what this is</td></tbody> <td class="left" >Not quite sure what this is</td></tr></tbody>
</table> </table></div>
<P> <P>
To manipulate these swithes use the <tt class="method">setrec</tt> or <tt class="method">setmute</tt> methods To manipulate these swithes use the <tt class="method">setrec</tt> or <tt class="method">setmute</tt> methods
@@ -139,42 +141,42 @@ To manipulate these swithes use the <tt class="method">setrec</tt> or <tt class=
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-21"><tt class="method">volumecap</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-21' xml:id='l2h-21' class="method">volumecap</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Returns a list of the volume control capabilities of this mixer. Possible values in Returns a list of the volume control capabilities of this mixer. Possible values in
the list are: the list are:
<P> <P>
<table border align="center" style="border-collapse: collapse"> <div class="center"><table class="realtable">
<thead> <thead>
<tr class="tableheader"> <tr>
<th align="left"><b>Capability</b>&nbsp;</th> <th class="left" >Capability</th>
<th align="left"><b>Description</b>&nbsp;</th> <th class="left" >Description</th>
</tr> </tr>
</thead> </thead>
<tbody valign="baseline"> <tbody>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Volume'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Volume'</Volume></td>
<td align="left">This mixer can control volume</td> <td class="left" >This mixer can control volume</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Joined Volume'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Volume'</Volume></td>
<td align="left">This mixer can control volume for all channels at the same time</td> <td class="left" >This mixer can control volume for all channels at the same time</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Playback Volume'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Playback Volume'</Volume></td>
<td align="left">This mixer can manipulate the playback volume</td> <td class="left" >This mixer can manipulate the playback volume</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Joined Playback Volume'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Playback Volume'</Volume></td>
<td align="left">Manipulate playback volumne for all channels at the same time</td> <td class="left" >Manipulate playback volumne for all channels at the same time</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Capture Volume'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Capture Volume'</Volume></td>
<td align="left">Manipulate sound capture volume</td> <td class="left" >Manipulate sound capture volume</td></tr>
<tr><td align="left" valign="baseline"><Volume Capabilities>'Joined Capture Volume'</Volume></td> <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Capture Volume'</Volume></td>
<td align="left">Manipulate sound capture volume for all channels at a time</td></tbody> <td class="left" >Manipulate sound capture volume for all channels at a time</td></tr></tbody>
</table> </table></div>
<P> <P>
</dl> </dl>
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-22"><tt class="method">getvolume</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-22' xml:id='l2h-22' class="method">getvolume</tt></b>(</nobr></td>
<td><big>[</big><var>direction</var><big>]</big>)</td></tr></table> <td><var></var><big>[</big><var>direction</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
Returns a list with the current volume settings for each channel. The list elements Returns a list with the current volume settings for each channel. The list elements
are integer percentages. are integer percentages.
@@ -189,8 +191,8 @@ if the mixer has this capability, otherwise 'capture'
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-23"><tt class="method">getmute</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-23' xml:id='l2h-23' class="method">getmute</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Return a list indicating the current mute setting for each channel. 0 means not muted, 1 means muted. Return a list indicating the current mute setting for each channel. 0 means not muted, 1 means muted.
@@ -200,8 +202,8 @@ This method will fail if the mixer has no playback switch capabilities.
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-24"><tt class="method">getrec</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-24' xml:id='l2h-24' class="method">getrec</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Return a list indicating the current record mute setting for each channel. 0 means not recording, 1 Return a list indicating the current record mute setting for each channel. 0 means not recording, 1
means not recording. means not recording.
@@ -212,8 +214,8 @@ This method will fail if the mixer has no capture switch capabilities.
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-25"><tt class="method">setvolume</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-25' xml:id='l2h-25' class="method">setvolume</tt></b>(</nobr></td>
<td><var>volume,</var><big>[</big><var>channel</var><big>]</big><var>,</var><big>[</big><var>direction</var><big>]</big>)</td></tr></table> <td><var>volume,</var><big>[</big><var>channel</var><big>]</big><var>,</var><big>[</big><var>direction</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
Change the current volume settings for this mixer. The <var>volume</var> argument controls Change the current volume settings for this mixer. The <var>volume</var> argument controls
the new volume setting as an integer percentage. the new volume setting as an integer percentage.
@@ -230,8 +232,8 @@ if changed. The default is 'playback' if the mixer has this capability, otherwis
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-26"><tt class="method">setmute</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-26' xml:id='l2h-26' class="method">setmute</tt></b>(</nobr></td>
<td><var>mute, </var><big>[</big><var>channel</var><big>]</big>)</td></tr></table> <td><var>mute, </var><big>[</big><var>channel</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
Sets the mute flag to a new value. The <var>mute</var> argument is either 0 for not muted, or 1 for muted. Sets the mute flag to a new value. The <var>mute</var> argument is either 0 for not muted, or 1 for muted.
@@ -245,8 +247,8 @@ This method will fail if the mixer has no playback mute capabilities
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-27"><tt class="method">setrec</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-27' xml:id='l2h-27' class="method">setrec</tt></b>(</nobr></td>
<td><var>capture,</var><big>[</big><var>channel</var><big>]</big>)</td></tr></table> <td><var>capture,</var><big>[</big><var>channel</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
Sets the capture mute flag to a new value. The <var>capture</var> argument is either 0 for no capture, Sets the capture mute flag to a new value. The <var>capture</var> argument is either 0 for no capture,
or 1 for capture. or 1 for capture.
@@ -285,37 +287,39 @@ and that which I do understand has come from a painful trial and error process.
<P> <P>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4.2 PCM Objects" <td class='online-navigation'><a rel="prev" title="4.2 PCM Objects"
rel="prev" title="4.2 PCM Objects" href="pcm-objects.html"><img src='previous.png'
href="pcm-objects.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="4 alsaaudio"
<td><a rel="parent" title="4 alsaaudio" href="module-alsaaudio.html"><img src='up.png'
rel="parent" title="4 alsaaudio" border='0' height='32' alt='Up One Level' width='32' /></A></td>
href="module-alsaaudio.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="4.4 ALSA Examples"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="pcm-example.html"><img src='next.png'
<td><a rel="next" title="4.4 ALSA Examples" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="4.4 ALSA Examples"
href="pcm-example.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="pcm-objects.html">4.2 PCM Objects</A> <a class="sectref" rel="prev" href="pcm-objects.html">4.2 PCM Objects</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="pcm-example.html">4.4 ALSA Examples</A> <a class="sectref" rel="next" href="pcm-example.html">4.4 ALSA Examples</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,48 +1,49 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="prev" HREF="node5.html"> <link rel="prev" href="node5.html" />
<LINK REL="parent" href="contents.html"> <link rel="parent" href="contents.html" />
<LINK REL="next" HREF="node7.html"> <link rel="next" href="node7.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="alsaaudio">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>4 alsaaudio</title> <title>4 alsaaudio</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="3 Installation" <td class='online-navigation'><a rel="prev" title="3 Installation"
HREF="node5.html"><img src='previous.gif' href="node5.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="Contents" <td class='online-navigation'><a rel="parent" title="Contents"
href="contents.html"><img src='up.gif' href="contents.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="4.1 PCM Terminology and" <td class='online-navigation'><a rel="next" title="4.1 PCM Terminology and"
HREF="node7.html"><img src='next.gif' href="node7.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="node5.html">3 Installation</A> <a class="sectref" rel="prev" href="node5.html">3 Installation</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="contents.html">Contents</A> <a class="sectref" rel="parent" href="contents.html">Contents</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" HREF="node7.html">4.1 PCM Terminology and</A> <a class="sectref" rel="next" href="node7.html">4.1 PCM Terminology and</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
@@ -51,7 +52,7 @@
</H1> </H1>
<P> <P>
<A NAME="module-alsaaudio"></A>
<P> <P>
<p class="availability">Availability: <span <p class="availability">Availability: <span
@@ -67,8 +68,8 @@ ALSA.
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-2"><tt class="function">mixers</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-2' xml:id='l2h-2' class="function">mixers</tt></b>(</nobr></td>
<td><big>[</big><var>cardname</var><big>]</big>)</td></tr></table> <td><var></var><big>[</big><var>cardname</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
List the available mixers. The optional <var>cardname</var> specifies which List the available mixers. The optional <var>cardname</var> specifies which
card should be queried (this is only relevant if you have more than one card should be queried (this is only relevant if you have more than one
@@ -77,8 +78,8 @@ sound card). Omit to use the default sound card
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><span class="typelabel">class</span>&nbsp;<a name="l2h-3"><tt class="class">PCM</tt></a></b>(</nobr></td> <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-3' xml:id='l2h-3' class="class">PCM</tt></b>(</nobr></td>
<td><big>[</big><var>type</var><big>]</big><var>, </var><big>[</big><var>mode</var><big>]</big><var>, </var><big>[</big><var>cardname</var><big>]</big>)</td></tr></table> <td><var></var><big>[</big><var>type</var><big>]</big><var>, </var><big>[</big><var>mode</var><big>]</big><var>, </var><big>[</big><var>cardname</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
This class is used to represent a PCM device (both playback and capture devices). This class is used to represent a PCM device (both playback and capture devices).
The arguments are: The arguments are:
@@ -90,8 +91,8 @@ if you have more than one sound card). Omit to use the default sound card
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><span class="typelabel">class</span>&nbsp;<a name="l2h-4"><tt class="class">Mixer</tt></a></b>(</nobr></td> <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-4' xml:id='l2h-4' class="class">Mixer</tt></b>(</nobr></td>
<td><big>[</big><var>control</var><big>]</big><var>, </var><big>[</big><var>id</var><big>]</big><var>, </var><big>[</big><var>cardname</var><big>]</big>)</td></tr></table> <td><var></var><big>[</big><var>control</var><big>]</big><var>, </var><big>[</big><var>id</var><big>]</big><var>, </var><big>[</big><var>cardname</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
This class is used to access a specific ALSA mixer. This class is used to access a specific ALSA mixer.
The arguments are: The arguments are:
@@ -102,16 +103,17 @@ if you have more than one sound card). Omit to use the default sound card
</dl> </dl>
<P> <P>
<dl><dt><b><span class="typelabel">exception</span>&nbsp;<a name="l2h-5"><tt class="exception">ALSAAudioError</tt></a></b> <dl><dt><b><span class="typelabel">exception</span>&nbsp;<tt id='l2h-5' xml:id='l2h-5' class="exception">ALSAAudioError</tt></b></dt>
<dd> <dd>
Exception raised when an operation fails for a ALSA specific reason. Exception raised when an operation fails for a ALSA specific reason.
The exception argument is a string describing the reason of the The exception argument is a string describing the reason of the
failure. failure.
</dl> </dd></dl>
<P> <P>
<p><hr> <p><br /></p><hr class='online-navigation' />
<div class='online-navigation'>
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></a> <A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></a>
@@ -122,39 +124,42 @@ failure.
<LI><A href="pcm-example.html">4.4 ALSA Examples</a> <LI><A href="pcm-example.html">4.4 ALSA Examples</a>
</ul> </ul>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
</div>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="3 Installation" <td class='online-navigation'><a rel="prev" title="3 Installation"
rel="prev" title="3 Installation" href="node5.html"><img src='previous.png'
HREF="node5.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="Contents"
<td><a rel="parent" title="Contents" href="contents.html"><img src='up.png'
rel="parent" title="Contents" border='0' height='32' alt='Up One Level' width='32' /></A></td>
href="contents.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="4.1 PCM Terminology and"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="node7.html"><img src='next.png'
<td><a rel="next" title="4.1 PCM Terminology and" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="4.1 PCM Terminology and"
HREF="node7.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="node5.html">3 Installation</A> <a class="sectref" rel="prev" href="node5.html">3 Installation</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="contents.html">Contents</A> <a class="sectref" rel="parent" href="contents.html">Contents</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" HREF="node7.html">4.1 PCM Terminology and</A> <a class="sectref" rel="next" href="node7.html">4.1 PCM Terminology and</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,49 +1,50 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" HREF="node4.html"> <link rel="next" href="node4.html" />
<LINK REL="prev" href="contents.html"> <link rel="prev" href="contents.html" />
<LINK REL="parent" href="contents.html"> <link rel="parent" href="contents.html" />
<LINK REL="next" HREF="node4.html"> <link rel="next" href="node4.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="What is ALSA">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>1 What is ALSA</title> <title>1 What is ALSA</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="Contents" <td class='online-navigation'><a rel="prev" title="Contents"
href="contents.html"><img src='previous.gif' href="contents.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="Contents" <td class='online-navigation'><a rel="parent" title="Contents"
href="contents.html"><img src='up.gif' href="contents.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="2 ALSA and Python" <td class='online-navigation'><a rel="next" title="2 ALSA and Python"
HREF="node4.html"><img src='next.gif' href="node4.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="contents.html">Contents</A> <a class="sectref" rel="prev" href="contents.html">Contents</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="contents.html">Contents</A> <a class="sectref" rel="parent" href="contents.html">Contents</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" HREF="node4.html">2 ALSA and Python</A> <a class="sectref" rel="next" href="node4.html">2 ALSA and Python</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
@@ -79,37 +80,39 @@ More information about ALSA may be found on the project homepage
<P> <P>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="Contents" <td class='online-navigation'><a rel="prev" title="Contents"
rel="prev" title="Contents" href="contents.html"><img src='previous.png'
href="contents.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="Contents"
<td><a rel="parent" title="Contents" href="contents.html"><img src='up.png'
rel="parent" title="Contents" border='0' height='32' alt='Up One Level' width='32' /></A></td>
href="contents.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="2 ALSA and Python"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="node4.html"><img src='next.png'
<td><a rel="next" title="2 ALSA and Python" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="2 ALSA and Python"
HREF="node4.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="contents.html">Contents</A> <a class="sectref" rel="prev" href="contents.html">Contents</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="contents.html">Contents</A> <a class="sectref" rel="parent" href="contents.html">Contents</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" HREF="node4.html">2 ALSA and Python</A> <a class="sectref" rel="next" href="node4.html">2 ALSA and Python</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,49 +1,50 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" HREF="node5.html"> <link rel="next" href="node5.html" />
<LINK REL="prev" HREF="node3.html"> <link rel="prev" href="node3.html" />
<LINK REL="parent" href="contents.html"> <link rel="parent" href="contents.html" />
<LINK REL="next" HREF="node5.html"> <link rel="next" href="node5.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="ALSA and Python">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>2 ALSA and Python</title> <title>2 ALSA and Python</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="1 What is ALSA" <td class='online-navigation'><a rel="prev" title="1 What is ALSA"
HREF="node3.html"><img src='previous.gif' href="node3.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="Contents" <td class='online-navigation'><a rel="parent" title="Contents"
href="contents.html"><img src='up.gif' href="contents.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="3 Installation" <td class='online-navigation'><a rel="next" title="3 Installation"
HREF="node5.html"><img src='next.gif' href="node5.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="node3.html">1 What is ALSA</A> <a class="sectref" rel="prev" href="node3.html">1 What is ALSA</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="contents.html">Contents</A> <a class="sectref" rel="parent" href="contents.html">Contents</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" HREF="node5.html">3 Installation</A> <a class="sectref" rel="next" href="node5.html">3 Installation</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
@@ -75,37 +76,39 @@ difficult for me to implement it. Volunteers to work on this would be greatly
appreciated appreciated
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="1 What is ALSA" <td class='online-navigation'><a rel="prev" title="1 What is ALSA"
rel="prev" title="1 What is ALSA" href="node3.html"><img src='previous.png'
HREF="node3.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="Contents"
<td><a rel="parent" title="Contents" href="contents.html"><img src='up.png'
rel="parent" title="Contents" border='0' height='32' alt='Up One Level' width='32' /></A></td>
href="contents.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="3 Installation"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="node5.html"><img src='next.png'
<td><a rel="next" title="3 Installation" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="3 Installation"
HREF="node5.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="node3.html">1 What is ALSA</A> <a class="sectref" rel="prev" href="node3.html">1 What is ALSA</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="contents.html">Contents</A> <a class="sectref" rel="parent" href="contents.html">Contents</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" HREF="node5.html">3 Installation</A> <a class="sectref" rel="next" href="node5.html">3 Installation</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,49 +1,50 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" href="module-alsaaudio.html"> <link rel="next" href="module-alsaaudio.html" />
<LINK REL="prev" HREF="node4.html"> <link rel="prev" href="node4.html" />
<LINK REL="parent" href="contents.html"> <link rel="parent" href="contents.html" />
<LINK REL="next" href="module-alsaaudio.html"> <link rel="next" href="module-alsaaudio.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="Installation">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>3 Installation</title> <title>3 Installation</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="2 ALSA and Python" <td class='online-navigation'><a rel="prev" title="2 ALSA and Python"
HREF="node4.html"><img src='previous.gif' href="node4.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="Contents" <td class='online-navigation'><a rel="parent" title="Contents"
href="contents.html"><img src='up.gif' href="contents.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="4 alsaaudio" <td class='online-navigation'><a rel="next" title="4 alsaaudio"
href="module-alsaaudio.html"><img src='next.gif' href="module-alsaaudio.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="node4.html">2 ALSA and Python</A> <a class="sectref" rel="prev" href="node4.html">2 ALSA and Python</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="contents.html">Contents</A> <a class="sectref" rel="parent" href="contents.html">Contents</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="next" href="module-alsaaudio.html">4 alsaaudio</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
@@ -74,37 +75,39 @@ And then as root:
<P> <P>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="2 ALSA and Python" <td class='online-navigation'><a rel="prev" title="2 ALSA and Python"
rel="prev" title="2 ALSA and Python" href="node4.html"><img src='previous.png'
HREF="node4.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="Contents"
<td><a rel="parent" title="Contents" href="contents.html"><img src='up.png'
rel="parent" title="Contents" border='0' height='32' alt='Up One Level' width='32' /></A></td>
href="contents.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="4 alsaaudio"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="module-alsaaudio.html"><img src='next.png'
<td><a rel="next" title="4 alsaaudio" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="4 alsaaudio"
href="module-alsaaudio.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="node4.html">2 ALSA and Python</A> <a class="sectref" rel="prev" href="node4.html">2 ALSA and Python</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="contents.html">Contents</A> <a class="sectref" rel="parent" href="contents.html">Contents</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="next" href="module-alsaaudio.html">4 alsaaudio</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,49 +1,50 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" href="pcm-objects.html"> <link rel="next" href="pcm-objects.html" />
<LINK REL="prev" href="module-alsaaudio.html"> <link rel="prev" href="module-alsaaudio.html" />
<LINK REL="parent" href="module-alsaaudio.html"> <link rel="parent" href="module-alsaaudio.html" />
<LINK REL="next" href="pcm-objects.html"> <link rel="next" href="pcm-objects.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="PCM Terminology and Concepts">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>4.1 PCM Terminology and Concepts</title> <title>4.1 PCM Terminology and Concepts</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4 alsaaudio" <td class='online-navigation'><a rel="prev" title="4 alsaaudio"
href="module-alsaaudio.html"><img src='previous.gif' href="module-alsaaudio.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="4 alsaaudio" <td class='online-navigation'><a rel="parent" title="4 alsaaudio"
href="module-alsaaudio.html"><img src='up.gif' href="module-alsaaudio.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="4.2 PCM Objects" <td class='online-navigation'><a rel="next" title="4.2 PCM Objects"
href="pcm-objects.html"><img src='next.gif' href="pcm-objects.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="prev" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="pcm-objects.html">4.2 PCM Objects</A> <a class="sectref" rel="next" href="pcm-objects.html">4.2 PCM Objects</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
@@ -113,7 +114,7 @@ slower and read or write multiple periods at the same time.
<P> <P>
</DD> </DD>
<DT><STRONG>Period size</STRONG></DT> <DT><STRONG>Period size</STRONG></DT>
<DD>This is the size of each period in Hz. <i>Not bytes, but Hz!.</i> In <tt class="module">alsaaudio</tt> <DD>This is the size of each period in Hz. <em>Not bytes, but Hz!.</em> In <tt class="module">alsaaudio</tt>
the period size is set directly, and it is therefore important to understand the significance of this the period size is set directly, and it is therefore important to understand the significance of this
number. If the period size is configured to for example 32, each write should contain exactly 32 frames number. If the period size is configured to for example 32, each write should contain exactly 32 frames
of sound data, and each read will return either 32 frames of data or nothing at all. of sound data, and each read will return either 32 frames of data or nothing at all.
@@ -128,37 +129,39 @@ Once you understand these concepts, you will be ready to actually utilize PCM AP
<P> <P>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4 alsaaudio" <td class='online-navigation'><a rel="prev" title="4 alsaaudio"
rel="prev" title="4 alsaaudio" href="module-alsaaudio.html"><img src='previous.png'
href="module-alsaaudio.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="4 alsaaudio"
<td><a rel="parent" title="4 alsaaudio" href="module-alsaaudio.html"><img src='up.png'
rel="parent" title="4 alsaaudio" border='0' height='32' alt='Up One Level' width='32' /></A></td>
href="module-alsaaudio.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="4.2 PCM Objects"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="pcm-objects.html"><img src='next.png'
<td><a rel="next" title="4.2 PCM Objects" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="4.2 PCM Objects"
href="pcm-objects.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="prev" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="pcm-objects.html">4.2 PCM Objects</A> <a class="sectref" rel="next" href="pcm-objects.html">4.2 PCM Objects</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,52 +1,53 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="prev" href="mixer-objects.html"> <link rel="prev" href="mixer-objects.html" />
<LINK REL="parent" href="module-alsaaudio.html"> <link rel="parent" href="module-alsaaudio.html" />
<LINK REL="next" href="about.html"> <link rel="next" href="about.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="ALSA Examples ">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>4.4 ALSA Examples </title> <title>4.4 ALSA Examples </title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4.3 Mixer Objects" <td class='online-navigation'><a rel="prev" title="4.3 Mixer Objects"
href="mixer-objects.html"><img src='previous.gif' href="mixer-objects.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="4 alsaaudio" <td class='online-navigation'><a rel="parent" title="4 alsaaudio"
href="module-alsaaudio.html"><img src='up.gif' href="module-alsaaudio.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="About this document ..." <td class='online-navigation'><a rel="next" title="About this document ..."
href="about.html"><img src='next.gif' href="about.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="mixer-objects.html">4.3 Mixer Objects</A> <a class="sectref" rel="prev" href="mixer-objects.html">4.3 Mixer Objects</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="about.html">About this document ...</A> <a class="sectref" rel="next" href="about.html">About this document ...</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION002440000000000000000">&nbsp;</A> <H2><A NAME="SECTION002440000000000000000"></A><A NAME="pcm-example"></A>
<BR> <BR>
4.4 ALSA Examples 4.4 ALSA Examples
</H2> </H2>
@@ -58,37 +59,39 @@ This will change in a future version.
<P> <P>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4.3 Mixer Objects" <td class='online-navigation'><a rel="prev" title="4.3 Mixer Objects"
rel="prev" title="4.3 Mixer Objects" href="mixer-objects.html"><img src='previous.png'
href="mixer-objects.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="4 alsaaudio"
<td><a rel="parent" title="4 alsaaudio" href="module-alsaaudio.html"><img src='up.png'
rel="parent" title="4 alsaaudio" border='0' height='32' alt='Up One Level' width='32' /></A></td>
href="module-alsaaudio.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="About this document ..."
border='0' height='32' alt='Up One Level' width='32'></A></td> href="about.html"><img src='next.png'
<td><a rel="next" title="About this document ..." border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="About this document ..."
href="about.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" href="mixer-objects.html">4.3 Mixer Objects</A> <a class="sectref" rel="prev" href="mixer-objects.html">4.3 Mixer Objects</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="about.html">About this document ...</A> <a class="sectref" rel="next" href="about.html">About this document ...</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -1,53 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" href="mixer-objects.html"> <link rel="next" href="mixer-objects.html" />
<LINK REL="prev" HREF="node7.html"> <link rel="prev" href="node7.html" />
<LINK REL="parent" href="module-alsaaudio.html"> <link rel="parent" href="module-alsaaudio.html" />
<LINK REL="next" href="mixer-objects.html"> <link rel="next" href="mixer-objects.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="PCM Objects">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>4.2 PCM Objects</title> <title>4.2 PCM Objects</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4.1 PCM Terminology and" <td class='online-navigation'><a rel="prev" title="4.1 PCM Terminology and"
HREF="node7.html"><img src='previous.gif' href="node7.html"><img src='previous.png'
border='0' height='32' alt='Previous Page' width='32'></A></td> border='0' height='32' alt='Previous Page' width='32' /></A></td>
<td><a rel="parent" title="4 alsaaudio" <td class='online-navigation'><a rel="parent" title="4 alsaaudio"
href="module-alsaaudio.html"><img src='up.gif' href="module-alsaaudio.html"><img src='up.png'
border='0' height='32' alt='Up One Level' width='32'></A></td> border='0' height='32' alt='Up One Level' width='32' /></A></td>
<td><a rel="next" title="4.3 Mixer Objects" <td class='online-navigation'><a rel="next" title="4.3 Mixer Objects"
href="mixer-objects.html"><img src='next.gif' href="mixer-objects.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="node7.html">4.1 PCM Terminology and</A> <a class="sectref" rel="prev" href="node7.html">4.1 PCM Terminology and</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="mixer-objects.html">4.3 Mixer Objects</A> <a class="sectref" rel="next" href="mixer-objects.html">4.3 Mixer Objects</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<H2><A NAME="SECTION002420000000000000000">&nbsp;</A> <H2><A NAME="SECTION002420000000000000000"></A>
<A NAME="pcm-objects"></A>
<BR> <BR>
4.2 PCM Objects 4.2 PCM Objects
</H2> </H2>
@@ -63,8 +65,8 @@ constructor takes the following arguments:
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><span class="typelabel">class</span>&nbsp;<a name="l2h-6"><tt class="class">PCM</tt></a></b>(</nobr></td> <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-6' xml:id='l2h-6' class="class">PCM</tt></b>(</nobr></td>
<td><big>[</big><var>type</var><big>]</big><var>, </var><big>[</big><var>mode</var><big>]</big><var>, </var><big>[</big><var>cardname</var><big>]</big>)</td></tr></table> <td><var></var><big>[</big><var>type</var><big>]</big><var>, </var><big>[</big><var>mode</var><big>]</big><var>, </var><big>[</big><var>cardname</var><big>]</big><var></var>)</td></tr></table></dt>
<dd> <dd>
<P> <P>
@@ -102,32 +104,32 @@ PCM objects have the following methods:
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-7"><tt class="method">pcmtype</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-7' xml:id='l2h-7' class="method">pcmtype</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Returns the type of PCM object. Either PCM_CAPTURE or PCM_PLAYBACK. Returns the type of PCM object. Either PCM_CAPTURE or PCM_PLAYBACK.
</dl> </dl>
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-8"><tt class="method">pcmmode</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-8' xml:id='l2h-8' class="method">pcmmode</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Return the mode of the PCM object. One of PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL Return the mode of the PCM object. One of PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL
</dl> </dl>
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-9"><tt class="method">cardname</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-9' xml:id='l2h-9' class="method">cardname</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
Return the name of the sound card used by this PCM object. Return the name of the sound card used by this PCM object.
</dl> </dl>
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-10"><tt class="method">setchannels</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-10' xml:id='l2h-10' class="method">setchannels</tt></b>(</nobr></td>
<td><var>nchannels</var>)</td></tr></table> <td><var>nchannels</var>)</td></tr></table></dt>
<dd> <dd>
Used to set the number of capture or playback channels. Common values are: 1 = mono, 2 = stereo, Used to set the number of capture or playback channels. Common values are: 1 = mono, 2 = stereo,
and 6 = full 6 channel audio. Few sound cards support more than 2 channels and 6 = full 6 channel audio. Few sound cards support more than 2 channels
@@ -135,8 +137,8 @@ and 6 = full 6 channel audio. Few sound cards support more than 2 channels
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-11"><tt class="method">setrate</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-11' xml:id='l2h-11' class="method">setrate</tt></b>(</nobr></td>
<td><var>rate</var>)</td></tr></table> <td><var>rate</var>)</td></tr></table></dt>
<dd> <dd>
Set the sample rate in Hz for the device. Typical values are 8000 (poor sound), 16000, 44100 (cd quality), Set the sample rate in Hz for the device. Typical values are 8000 (poor sound), 16000, 44100 (cd quality),
and 96000 and 96000
@@ -144,77 +146,77 @@ and 96000
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-12"><tt class="method">setformat</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-12' xml:id='l2h-12' class="method">setformat</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
The sound format of the device. Sound format controls how the PCM device interpret data for playback, The sound format of the device. Sound format controls how the PCM device interpret data for playback,
and how data is encoded in captures. and how data is encoded in captures.
<P> <P>
The following formats are provided by ALSA: The following formats are provided by ALSA:
<table border align="center" style="border-collapse: collapse"> <div class="center"><table class="realtable">
<thead> <thead>
<tr class="tableheader"> <tr>
<th align="left"><b>Format</b>&nbsp;</th> <th class="left" >Format</th>
<th align="left"><b>Description</b>&nbsp;</th> <th class="left" >Description</th>
</tr> </tr>
</thead> </thead>
<tbody valign="baseline"> <tbody>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_S8</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S8</Formats></td>
<td align="left">Signed 8 bit samples for each channel</td> <td class="left" >Signed 8 bit samples for each channel</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_U8</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U8</Formats></td>
<td align="left">Signed 8 bit samples for each channel</td> <td class="left" >Signed 8 bit samples for each channel</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_S16_LE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S16_LE</Formats></td>
<td align="left">Signed 16 bit samples for each channel (Little Endian byte order)</td> <td class="left" >Signed 16 bit samples for each channel (Little Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_S16_BE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S16_BE</Formats></td>
<td align="left">Signed 16 bit samples for each channel (Big Endian byte order)</td> <td class="left" >Signed 16 bit samples for each channel (Big Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_U16_LE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U16_LE</Formats></td>
<td align="left">Unsigned 16 bit samples for each channel (Little Endian byte order)</td> <td class="left" >Unsigned 16 bit samples for each channel (Little Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_U16_BE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U16_BE</Formats></td>
<td align="left">Unsigned 16 bit samples for each channel (Big Endian byte order)</td> <td class="left" >Unsigned 16 bit samples for each channel (Big Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_S24_LE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S24_LE</Formats></td>
<td align="left">Signed 24 bit samples for each channel (Little Endian byte order)</td> <td class="left" >Signed 24 bit samples for each channel (Little Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_S24_BE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S24_BE</Formats></td>
<td align="left">Signed 24 bit samples for each channel (Big Endian byte order)</td> <td class="left" >Signed 24 bit samples for each channel (Big Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_U24_LE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U24_LE</Formats></td>
<td align="left">Unsigned 24 bit samples for each channel (Little Endian byte order)</td> <td class="left" >Unsigned 24 bit samples for each channel (Little Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_U24_BE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U24_BE</Formats></td>
<td align="left">Unsigned 24 bit samples for each channel (Big Endian byte order)</td> <td class="left" >Unsigned 24 bit samples for each channel (Big Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_S32_LE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S32_LE</Formats></td>
<td align="left">Signed 32 bit samples for each channel (Little Endian byte order)</td> <td class="left" >Signed 32 bit samples for each channel (Little Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_S32_BE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S32_BE</Formats></td>
<td align="left">Signed 32 bit samples for each channel (Big Endian byte order)</td> <td class="left" >Signed 32 bit samples for each channel (Big Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_U32_LE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U32_LE</Formats></td>
<td align="left">Unsigned 32 bit samples for each channel (Little Endian byte order)</td> <td class="left" >Unsigned 32 bit samples for each channel (Little Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_U32_BE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U32_BE</Formats></td>
<td align="left">Unsigned 32 bit samples for each channel (Big Endian byte order)</td> <td class="left" >Unsigned 32 bit samples for each channel (Big Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT_LE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT_LE</Formats></td>
<td align="left">32 bit samples encoded as float. (Little Endian byte order)</td> <td class="left" >32 bit samples encoded as float. (Little Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT_BE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT_BE</Formats></td>
<td align="left">32 bit samples encoded as float (Big Endian byte order)</td> <td class="left" >32 bit samples encoded as float (Big Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT64_LE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT64_LE</Formats></td>
<td align="left">64 bit samples encoded as float. (Little Endian byte order)</td> <td class="left" >64 bit samples encoded as float. (Little Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT64_BE</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT64_BE</Formats></td>
<td align="left">64 bit samples encoded as float. (Big Endian byte order)</td> <td class="left" >64 bit samples encoded as float. (Big Endian byte order)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_MU_LAW</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_MU_LAW</Formats></td>
<td align="left">A logarithmic encoding (used by Sun .au files)</td> <td class="left" >A logarithmic encoding (used by Sun .au files)</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_A_LAW</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_A_LAW</Formats></td>
<td align="left">Another logarithmic encoding</td> <td class="left" >Another logarithmic encoding</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_IMA_ADPCM</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_IMA_ADPCM</Formats></td>
<td align="left">a 4:1 compressed format defined by the Interactive Multimedia Association</td> <td class="left" >a 4:1 compressed format defined by the Interactive Multimedia Association</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_MPEG</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_MPEG</Formats></td>
<td align="left">MPEG encoded audio?</td> <td class="left" >MPEG encoded audio?</td></tr>
<tr><td align="left" valign="baseline"><Formats>PCM_FORMAT_GSM</Formats></td> <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_GSM</Formats></td>
<td align="left">9600 constant rate encoding well suitet for speech</td></tbody> <td class="left" >9600 constant rate encoding well suitet for speech</td></tr></tbody>
</table> </table></div>
<P> <P>
</dl> </dl>
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-13"><tt class="method">setperiodsize</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-13' xml:id='l2h-13' class="method">setperiodsize</tt></b>(</nobr></td>
<td><var>period</var>)</td></tr></table> <td><var>period</var>)</td></tr></table></dt>
<dd> <dd>
Sets the actual period size in frames. Each write should consist of exactly this number of frames, and Sets the actual period size in frames. Each write should consist of exactly this number of frames, and
each read will return this number of frames (unless the device is in PCM_NONBLOCK mode, in which case each read will return this number of frames (unless the device is in PCM_NONBLOCK mode, in which case
@@ -223,11 +225,11 @@ it may return nothing at all)
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-14"><tt class="method">read</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-14' xml:id='l2h-14' class="method">read</tt></b>(</nobr></td>
<td>)</td></tr></table> <td><var></var>)</td></tr></table></dt>
<dd> <dd>
In PCM_NORMAL mode, this function blocks until a full period is available, and then returns a In PCM_NORMAL mode, this function blocks until a full period is available, and then returns a
tuple (length,data) where <i>length</i> is the size in bytes of the captured data, and <i>data</i> tuple (length,data) where <em>length</em> is the size in bytes of the captured data, and <em>data</em>
is the captured sound frames as a string. The length of the returned data will be periodsize*framesize is the captured sound frames as a string. The length of the returned data will be periodsize*framesize
bytes. bytes.
@@ -238,11 +240,11 @@ has become available since the last call to read.
<P> <P>
<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
<td><nobr><b><a name="l2h-15"><tt class="method">write</tt></a></b>(</nobr></td> <td><nobr><b><tt id='l2h-15' xml:id='l2h-15' class="method">write</tt></b>(</nobr></td>
<td><var>data</var>)</td></tr></table> <td><var>data</var>)</td></tr></table></dt>
<dd> <dd>
Writes (plays) the sound in data. The length of data <i>must</i> be a multiple of the frame size, and Writes (plays) the sound in data. The length of data <em>must</em> be a multiple of the frame size, and
<i>should</i> be exactly the size of a period. If less than 'period size' frames are provided, the actual <em>should</em> be exactly the size of a period. If less than 'period size' frames are provided, the actual
playout will not happen until more data is written. playout will not happen until more data is written.
<P> <P>
@@ -258,14 +260,14 @@ full. In this case, the data should be written at a later time.
</dl> </dl>
<P> <P>
<b>A few hints on using PCM devices for playback</b> <strong>A few hints on using PCM devices for playback</strong>
<P> <P>
The most common reason for problems with playback of PCM audio, is that the people don't properly understand The most common reason for problems with playback of PCM audio, is that the people don't properly understand
that writes to PCM devices must match <i>exactly</i> the data rate of the device. that writes to PCM devices must match <em>exactly</em> the data rate of the device.
<P> <P>
If too little data is written to the device will an underrun, and ugly clicking sounds will occur. Conversely, If too little data is written to the device, it will underrun, and ugly clicking sounds will occur. Conversely,
of too much data is written to the device, the write function will either block (PCM_NORMAL mode) or return zero of too much data is written to the device, the write function will either block (PCM_NORMAL mode) or return zero
(PCM_NONBLOCK mode). (PCM_NONBLOCK mode).
@@ -289,37 +291,39 @@ extra writes as nessecary.
<P> <P>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><a rel="prev" title="4.1 PCM Terminology and" <td class='online-navigation'><a rel="prev" title="4.1 PCM Terminology and"
rel="prev" title="4.1 PCM Terminology and" href="node7.html"><img src='previous.png'
HREF="node7.html"><img src='previous.gif' border='0' height='32' alt='Previous Page' width='32' /></A></td>
border='0' height='32' alt='Previous Page' width='32'></A></td> <td class='online-navigation'><a rel="parent" title="4 alsaaudio"
<td><a rel="parent" title="4 alsaaudio" href="module-alsaaudio.html"><img src='up.png'
rel="parent" title="4 alsaaudio" border='0' height='32' alt='Up One Level' width='32' /></A></td>
href="module-alsaaudio.html"><img src='up.gif' <td class='online-navigation'><a rel="next" title="4.3 Mixer Objects"
border='0' height='32' alt='Up One Level' width='32'></A></td> href="mixer-objects.html"><img src='next.png'
<td><a rel="next" title="4.3 Mixer Objects" border='0' height='32' alt='Next Page' width='32' /></A></td>
rel="next" title="4.3 Mixer Objects"
href="mixer-objects.html"><img src='next.gif'
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Previous:</b> <b class="navlabel">Previous:</b>
<a class="sectref" rel="prev" HREF="node7.html">4.1 PCM Terminology and</A> <a class="sectref" rel="prev" href="node7.html">4.1 PCM Terminology and</A>
<b class="navlabel">Up:</b> <b class="navlabel">Up:</b>
<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> <a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="mixer-objects.html">4.3 Mixer Objects</A> <a class="sectref" rel="next" href="mixer-objects.html">4.3 Mixer Objects</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

243
doc/pyalsaaudio.css Normal file
View File

@@ -0,0 +1,243 @@
/*
* The first part of this is the standard CSS generated by LaTeX2HTML,
* with the "empty" declarations removed.
*/
/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
.math { font-family: "Century Schoolbook", serif; }
.math i { font-family: "Century Schoolbook", serif;
font-weight: bold }
.boldmath { font-family: "Century Schoolbook", serif;
font-weight: bold }
/*
* Implement both fixed-size and relative sizes.
*
* I think these can be safely removed, as it doesn't appear that
* LaTeX2HTML ever generates these, even though these are carried
* over from the LaTeX2HTML stylesheet.
*/
small.xtiny { font-size : xx-small; }
small.tiny { font-size : x-small; }
small.scriptsize { font-size : smaller; }
small.footnotesize { font-size : small; }
big.xlarge { font-size : large; }
big.xxlarge { font-size : x-large; }
big.huge { font-size : larger; }
big.xhuge { font-size : xx-large; }
/*
* Document-specific styles come next;
* these are added for the Python documentation.
*
* Note that the size specifications for the H* elements are because
* Netscape on Solaris otherwise doesn't get it right; they all end up
* the normal text size.
*/
body { color: #000000;
background-color: #ffffff; }
a:link:active { color: #ff0000; }
a:link:hover { background-color: #bbeeff; }
a:visited:hover { background-color: #bbeeff; }
a:visited { color: #551a8b; }
a:link { color: #0000bb; }
h1, h2, h3, h4, h5, h6 { font-family: avantgarde, sans-serif;
font-weight: bold; }
h1 { font-size: 180%; }
h2 { font-size: 150%; }
h3, h4 { font-size: 120%; }
/* These are section titles used in navigation links, so make sure we
* match the section header font here, even it not the weight.
*/
.sectref { font-family: avantgarde, sans-serif; }
/* And the label before the titles in navigation: */
.navlabel { font-size: 85%; }
/* LaTeX2HTML insists on inserting <br> elements into headers which
* are marked with \label. This little bit of CSS magic ensures that
* these elements don't cause spurious whitespace to be added.
*/
h1>br, h2>br, h3>br,
h4>br, h5>br, h6>br { display: none; }
code, tt { font-family: "lucida typewriter", lucidatypewriter,
monospace; }
var { font-family: times, serif;
font-style: italic;
font-weight: normal; }
.Unix { font-variant: small-caps; }
.typelabel { font-family: lucida, sans-serif; }
.navigation td { background-color: #99ccff;
font-weight: bold;
font-family: avantgarde, sans-serif;
font-size: 110%; }
div.warning { background-color: #fffaf0;
border: thin solid black;
padding: 1em;
margin-left: 2em;
margin-right: 2em; }
div.warning .label { font-family: sans-serif;
font-size: 110%;
margin-right: 0.5em; }
div.note { background-color: #fffaf0;
border: thin solid black;
padding: 1em;
margin-left: 2em;
margin-right: 2em; }
div.note .label { margin-right: 0.5em;
font-family: sans-serif; }
address { font-size: 80%; }
.release-info { font-style: italic;
font-size: 80%; }
.titlegraphic { vertical-align: top; }
.verbatim pre { color: #00008b;
font-family: "lucida typewriter", lucidatypewriter,
monospace;
font-size: 90%; }
.verbatim { margin-left: 2em; }
.verbatim .footer { padding: 0.05in;
font-size: 85%;
background-color: #99ccff;
margin-right: 0.5in; }
.grammar { background-color: #99ccff;
margin-right: 0.5in;
padding: 0.05in; }
.grammar-footer { padding: 0.05in;
font-size: 85%; }
.grammartoken { font-family: "lucida typewriter", lucidatypewriter,
monospace; }
.productions { background-color: #bbeeff; }
.productions a:active { color: #ff0000; }
.productions a:link:hover { background-color: #99ccff; }
.productions a:visited:hover { background-color: #99ccff; }
.productions a:visited { color: #551a8b; }
.productions a:link { color: #0000bb; }
.productions table { vertical-align: baseline;
empty-cells: show; }
.productions > table td,
.productions > table th { padding: 2px; }
.productions > table td:first-child,
.productions > table td:last-child {
font-family: "lucida typewriter",
lucidatypewriter,
monospace;
}
/* same as the second selector above, but expressed differently for Opera */
.productions > table td:first-child + td + td {
font-family: "lucida typewriter",
lucidatypewriter,
monospace;
vertical-align: baseline;
}
.productions > table td:first-child + td {
padding-left: 1em;
padding-right: 1em;
}
.productions > table tr { vertical-align: baseline; }
.email { font-family: avantgarde, sans-serif; }
.mailheader { font-family: avantgarde, sans-serif; }
.mimetype { font-family: avantgarde, sans-serif; }
.newsgroup { font-family: avantgarde, sans-serif; }
.url { font-family: avantgarde, sans-serif; }
.file { font-family: avantgarde, sans-serif; }
.guilabel { font-family: avantgarde, sans-serif; }
.realtable { border-collapse: collapse;
border-color: black;
border-style: solid;
border-width: 0px 0px 2px 0px;
empty-cells: show;
margin-left: auto;
margin-right: auto;
padding-left: 0.4em;
padding-right: 0.4em;
}
.realtable tbody { vertical-align: baseline; }
.realtable tfoot { display: table-footer-group; }
.realtable thead { background-color: #99ccff;
border-width: 0px 0px 2px 1px;
display: table-header-group;
font-family: avantgarde, sans-serif;
font-weight: bold;
vertical-align: baseline;
}
.realtable thead :first-child {
border-width: 0px 0px 2px 0px;
}
.realtable thead th { border-width: 0px 0px 2px 1px }
.realtable td,
.realtable th { border-color: black;
border-style: solid;
border-width: 0px 0px 1px 1px;
padding-left: 0.4em;
padding-right: 0.4em;
}
.realtable td:first-child,
.realtable th:first-child {
border-left-width: 0px;
vertical-align: baseline;
}
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }
.refcount-info { font-style: italic; }
.refcount-info .value { font-weight: bold;
color: #006600; }
/*
* Some decoration for the "See also:" blocks, in part inspired by some of
* the styling on Lars Marius Garshol's XSA pages.
* (The blue in the navigation bars is #99CCFF.)
*/
.seealso { background-color: #fffaf0;
border: thin solid black;
padding: 0pt 1em 4pt 1em; }
.seealso > .heading { font-size: 110%;
font-weight: bold; }
/*
* Class 'availability' is used for module availability statements at
* the top of modules.
*/
.availability .platform { font-weight: bold; }
/*
* Additional styles for the distutils package.
*/
.du-command { font-family: monospace; }
.du-option { font-family: avantgarde, sans-serif; }
.du-filevar { font-family: avantgarde, sans-serif;
font-style: italic; }
.du-xxx:before { content: "** ";
font-weight: bold; }
.du-xxx:after { content: " **";
font-weight: bold; }
/*
* Some specialization for printed output.
*/
@media print {
.online-navigation { display: none; }
}

View File

@@ -1,55 +1,57 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html> <html>
<head> <head>
<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css'> <link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' />
<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio'> <link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' />
<link rel='contents' href='contents.html' title="Contents"> <link rel='contents' href='contents.html' title="Contents" />
<link rel='last' href='about.html' title='About this document...'> <link rel='last' href='about.html' title='About this document...' />
<link rel='help' href='about.html' title='About this document...'> <link rel='help' href='about.html' title='About this document...' />
<LINK REL="next" href="front.html"> <link rel="next" href="front.html" />
<meta name='aesop' content='information'> <meta name='aesop' content='information' />
<META NAME="description" CONTENT="PyAlsaAudio">
<META NAME="keywords" CONTENT="pyalsaaudio">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<title>PyAlsaAudio</title> <title>PyAlsaAudio</title>
</head> </head>
<body> <body>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<div id='top-navigation-panel' xml:id='top-navigation-panel'>
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><img src='blank.gif' <td class='online-navigation'><img src='previous.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Previous Page' width='32' /></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='up.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Up One Level' width='32' /></td>
<td><a rel="next" title="Front Matter" <td class='online-navigation'><a rel="next" title="Front Matter"
href="front.html"><img src='next.gif' href="front.html"><img src='next.png'
border='0' height='32' alt='Next Page' width='32'></A></td> border='0' height='32' alt='Next Page' width='32' /></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
href="contents.html"><img src='contents.gif' href="contents.html"><img src='contents.png'
border='0' height='32' alt='Contents' width='32'></A></td> border='0' height='32' alt='Contents' width='32' /></A></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='' width='32' /></td>
<td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="front.html">Front Matter</A> <a class="sectref" rel="next" href="front.html">Front Matter</A>
<br><hr> </div>
<hr /></div>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->
<div class="titlepage"> <div class="titlepage">
<center> <div class='center'>
<h1>PyAlsaAudio</h1> <h1>PyAlsaAudio</h1>
<p><b><font size="+2">Casper Wilstrup</font></b></p> <p><b><font size="+2">Casper Wilstrup</font></b></p>
<p>cwi@unispeed.com</p> <p>cwi@unispeed.com</p>
<p> <p></p>
</center> </div>
</div> </div>
<P> <P>
<p><hr> <p><br /></p><hr class='online-navigation' />
<div class='online-navigation'>
<!--Table of Child-Links--> <!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></a> <A NAME="CHILD_LINKS"></a>
@@ -71,31 +73,36 @@
<LI><A href="about.html">About this document ...</a> <LI><A href="about.html">About this document ...</a>
</ul> </ul>
<!--End of Table of Child-Links--> <!--End of Table of Child-Links-->
</div>
<DIV CLASS="navigation"> <DIV CLASS="navigation">
<p><hr> <div class='online-navigation'>
<p></p><hr />
<table align="center" width="100%" cellpadding="0" cellspacing="2"> <table align="center" width="100%" cellpadding="0" cellspacing="2">
<tr> <tr>
<td><img src='blank.gif' <td class='online-navigation'><img src='previous.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Previous Page' width='32' /></td>
<td><img src='blank.gif' <td class='online-navigation'><img src='up.png'
border='0' height='32' alt='' width='32'></td> border='0' height='32' alt='Up One Level' width='32' /></td>
<td><a rel="next" title="Front Matter" <td class='online-navigation'><a rel="next" title="Front Matter"
rel="next" title="Front Matter" href="front.html"><img src='next.png'
href="front.html"><img src='next.gif' border='0' height='32' alt='Next Page' width='32' /></A></td>
border='0' height='32' alt='Next Page' width='32'></A></td>
<td align="center" width="100%">PyAlsaAudio</td> <td align="center" width="100%">PyAlsaAudio</td>
<td><a rel="contents" title="Table of Contents" <td class='online-navigation'><a rel="contents" title="Table of Contents"
rel="contents" title="Table of Contents" href="contents.html"><img src='contents.png'
href="contents.html"><img src='contents.gif' border='0' height='32' alt='Contents' width='32' /></A></td>
border='0' height='32' alt='Contents' width='32'></A></td> <td class='online-navigation'><img src='blank.png'
<td><img src='blank.gif' border='0' height='32' alt='' width='32' /></td>
border='0' height='32' alt='' width='32'></td> <td class='online-navigation'><img src='blank.png'
border='0' height='32' alt='' width='32' /></td>
</tr></table> </tr></table>
<div class='online-navigation'>
<b class="navlabel">Next:</b> <b class="navlabel">Next:</b>
<a class="sectref" rel="next" href="front.html">Front Matter</A> <a class="sectref" rel="next" href="front.html">Front Matter</A>
<hr> </div>
<span class="release-info">Release 0.1.</span> </div>
<hr />
<span class="release-info">Release 0.2.</span>
</DIV> </DIV>
<!--End of Navigation Panel--> <!--End of Navigation Panel-->

View File

@@ -5,7 +5,7 @@
# #
# You also need a working latex installation, and the latex2html # You also need a working latex installation, and the latex2html
# tool installed. # tool installed.
PYTHONSOURCE = /usr/src/Python-2.3.4/ PYTHONSOURCE = /usr/src/Python-2.4.1/
# Shouldn't need to change anything below here! # Shouldn't need to change anything below here!
@@ -13,3 +13,8 @@ MKHOWTO = $(PYTHONSOURCE)/Doc/tools/mkhowto
all: all:
$(MKHOWTO) --dir .. --html pyalsaaudio.tex $(MKHOWTO) --dir .. --html pyalsaaudio.tex
text:
$(MKHOWTO) --dir .. --text pyalsaaudio.tex

View File

@@ -234,7 +234,7 @@ full. In this case, the data should be written at a later time.
The most common reason for problems with playback of PCM audio, is that the people don't properly understand The most common reason for problems with playback of PCM audio, is that the people don't properly understand
that writes to PCM devices must match \emph{exactly} the data rate of the device. that writes to PCM devices must match \emph{exactly} the data rate of the device.
If too little data is written to the device will an underrun, and ugly clicking sounds will occur. Conversely, If too little data is written to the device, it will underrun, and ugly clicking sounds will occur. Conversely,
of too much data is written to the device, the write function will either block (PCM_NORMAL mode) or return zero of too much data is written to the device, the write function will either block (PCM_NORMAL mode) or return zero
(PCM_NONBLOCK mode). (PCM_NONBLOCK mode).
@@ -394,4 +394,4 @@ and that which I do understand has come from a painful trial and error process.
\subsection{ALSA Examples \label{pcm-example}} \subsection{ALSA Examples \label{pcm-example}}
For now, the only examples available are the 'playbacktest.py' and the 'recordtest.py' programs included. For now, the only examples available are the 'playbacktest.py' and the 'recordtest.py' programs included.
This will change in a future version. This will change in a future version.

View File

@@ -2,7 +2,7 @@
\title{PyAlsaAudio} \title{PyAlsaAudio}
\release{0.1} \release{0.2}
% At minimum, give your name and an email address. You can include a % At minimum, give your name and an email address. You can include a
% snail-mail address if you like. % snail-mail address if you like.

View File

@@ -9,7 +9,9 @@
## To test it out do the following: ## To test it out do the following:
## python recordtest.py > out.raw # talk to the microphone ## python recordtest.py > out.raw # talk to the microphone
## python playbacktest.py < out.raw ## python playbacktest.py < out.raw
##
## If you have Gnome, you could also just test by doing something like:
## python playbacktest.py < /usr/share/sounds/gnibbles/laughter.wav
import alsaaudio import alsaaudio
import sys import sys
import time import time

View File

@@ -33,7 +33,7 @@ inp.setformat(alsaaudio.PCM_FORMAT_S16_LE)
# mode. # mode.
inp.setperiodsize(160) inp.setperiodsize(160)
loops = 10000 loops = 1000000
while loops > 0: while loops > 0:
loops -= 1 loops -= 1
# Read data from device # Read data from device