diff options
author | Walter Bender <walter@walter-laptop.(none)> | 2009-02-20 16:12:44 (GMT) |
---|---|---|
committer | Walter Bender <walter@walter-laptop.(none)> | 2009-02-20 16:12:44 (GMT) |
commit | b0b6de5e6c61fe92452bf057d2f0677a3d1fec9b (patch) | |
tree | 18b7e220d66044df26505c31b0ad68cda5e8d8b0 /arch_src/pyalsaaudio-0.2/doc/.svn/text-base | |
parent | 897de91d58c45e13f6de78818d9805fc78021d75 (diff) |
silbe patch to build alsaaudio on first launch
Diffstat (limited to 'arch_src/pyalsaaudio-0.2/doc/.svn/text-base')
26 files changed, 2390 insertions, 0 deletions
diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/about.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/about.html.svn-base new file mode 100644 index 0000000..c47ebca --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/about.html.svn-base @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="parent" href="pyalsaaudio.html" /> +<meta name='aesop' content='information' /> +<title>About this document ...</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4.4 ALSA Examples" + href="pcm-example.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="PyAlsaAudio" + href="pyalsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="pcm-example.html">4.4 ALSA Examples</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION003000000000000000000"> +About this document ...</A> +</H1> + <strong>PyAlsaAudio</strong> +<p> This document was generated using the <a + href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/"> + <strong>LaTeX</strong>2<tt>HTML</tt></a> translator. +</p> + +<p> <a + href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/"> + <strong>LaTeX</strong>2<tt>HTML</tt></a> is Copyright © + 1993, 1994, 1995, 1996, 1997, <a + href="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos + Drakos</a>, Computer Based Learning Unit, University of + Leeds, and Copyright © 1997, 1998, <a + href="http://www.maths.mq.edu.au/~ross/">Ross + Moore</a>, Mathematics Department, Macquarie University, + Sydney. +</p> + +<p> The application of <a + href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/"> + <strong>LaTeX</strong>2<tt>HTML</tt></a> to the Python + documentation has been heavily tailored by Fred L. Drake, + Jr. Original navigation icons were contributed by Christopher + Petrilli. +</p> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4.4 ALSA Examples" + href="pcm-example.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="PyAlsaAudio" + href="pyalsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="pcm-example.html">4.4 ALSA Examples</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/blank.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/blank.gif.svn-base Binary files differnew file mode 100644 index 0000000..2e31f4e --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/blank.gif.svn-base diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/contents.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/contents.gif.svn-base Binary files differnew file mode 100644 index 0000000..6d299c4 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/contents.gif.svn-base diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/contents.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/contents.html.svn-base new file mode 100644 index 0000000..7f5eb2a --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/contents.html.svn-base @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="prev" href="front.html" /> +<link rel="parent" href="pyalsaaudio.html" /> +<link rel="next" href="node3.html" /> +<meta name='aesop' content='information' /> +<title>Contents</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="Front Matter" + href="front.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="PyAlsaAudio" + href="pyalsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="1 What is ALSA" + href="node3.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</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> +<td class='online-navigation'><img src='blank.png' + border='0' height='32' alt='' width='32' /></td> +</tr></table> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="front.html">Front Matter</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node3.html">1 What is ALSA</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> +<BR><h2><A NAME="SECTION002000000000000000000"> +Contents</A> +</h2> +<!--Table of Contents--> + +<UL CLASS="TofC"> +<LI><UL> +<LI><A href="node3.html">1 What is ALSA</a> +<LI><A href="node4.html">2 ALSA and Python</a> +<LI><A href="node5.html">3 Installation</a> +<LI><A href="module-alsaaudio.html">4 alsaaudio</a> +<UL> +<LI><A href="node7.html">4.1 PCM Terminology and Concepts</a> +<LI><A href="pcm-objects.html">4.2 PCM Objects</a> +<LI><A href="mixer-objects.html">4.3 Mixer Objects</a> +<LI><A href="pcm-example.html">4.4 ALSA Examples</a> +</ul></ul></ul> +<!--End of Table of Contents--> +<P> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="Front Matter" + href="front.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="PyAlsaAudio" + href="pyalsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="1 What is ALSA" + href="node3.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</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> +<td class='online-navigation'><img src='blank.png' + border='0' height='32' alt='' width='32' /></td> +</tr></table> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="front.html">Front Matter</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node3.html">1 What is ALSA</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/front.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/front.html.svn-base new file mode 100644 index 0000000..bbcdbc5 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/front.html.svn-base @@ -0,0 +1,119 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="prev" href="pyalsaaudio.html" /> +<link rel="parent" href="pyalsaaudio.html" /> +<link rel="next" href="contents.html" /> +<meta name='aesop' content='information' /> +<title>Front Matter</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="PyAlsaAudio" + href="pyalsaaudio.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="PyAlsaAudio" + href="pyalsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="Contents" + href="contents.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="pyalsaaudio.html">PyAlsaAudio</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="contents.html">Contents</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION001000000000000000000"></A><A NAME="front"></A> +<BR> +Front Matter +</H1> + +<P> +This software is licensed under the PSF license - the same one used +by the majority of the python distribution. Basically you can use it +for anything you wish (even commercial purposes). There is no warranty +whatsoever. + +<P> + +<H3>Abstract:</H3> +<DIV CLASS="ABSTRACT"> + +This package contains wrappers for accessing the ALSA api from Python. It +is currently fairly complete for PCM devices and Mixer access. MIDI sequencer +support is low on my priority list, but volunteers are welcome. + +<P> +If you find bugs in the wrappers please notify me on email. Please +don't send bug reports regarding ALSA specifically. There are several +bugs in this api, and those should be reported to the ALSA team - not +me. +</DIV> +<P> + +<P> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="PyAlsaAudio" + href="pyalsaaudio.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="PyAlsaAudio" + href="pyalsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="Contents" + href="contents.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="pyalsaaudio.html">PyAlsaAudio</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="pyalsaaudio.html">PyAlsaAudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="contents.html">Contents</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.dat.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.dat.svn-base new file mode 100644 index 0000000..8efff3f --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.dat.svn-base @@ -0,0 +1,27 @@ +<a href="node6.html"><tt class="module">alsaaudio</tt> (extension module)###DEF0000000608 +<a href="node6.html#l2h-2"><tt class="function">mixers()</tt> (in module alsaaudio)###0000000609 +<a href="node6.html#l2h-3"><tt class="class">PCM</tt> (class in alsaaudio)###0000000610 +<a href="node6.html#l2h-4"><tt class="class">Mixer</tt> (class in alsaaudio)###0000000611 +<a href="node6.html#l2h-5"><tt class="exception">ALSAAudioError</tt>###0000000612 +<a href="node8.html#l2h-6"><tt class="class">PCM</tt> (class in alsaaudio)###0000000622 +<a href="node8.html#l2h-7"><tt class="method">pcmtype()</tt> (PCM method)###0000000623 +<a href="node8.html#l2h-8"><tt class="method">pcmmode()</tt> (PCM method)###0000000624 +<a href="node8.html#l2h-9"><tt class="method">cardname()</tt> (PCM method)###0000000625 +<a href="node8.html#l2h-10"><tt class="method">setchannels()</tt> (PCM method)###0000000626 +<a href="node8.html#l2h-11"><tt class="method">setrate()</tt> (PCM method)###0000000627 +<a href="node8.html#l2h-12"><tt class="method">setformat()</tt> (PCM method)###0000000628 +<a href="node8.html#l2h-13"><tt class="method">setperiodsize()</tt> (PCM method)###0000000629 +<a href="node8.html#l2h-14"><tt class="method">read()</tt> (PCM method)###0000000630 +<a href="node8.html#l2h-15"><tt class="method">write()</tt> (PCM method)###0000000631 +<a href="node9.html#l2h-16"><tt class="class">Mixer</tt> (class in alsaaudio)###0000000633 +<a href="node9.html#l2h-17"><tt class="method">cardname()</tt> (Mixer method)###0000000634 +<a href="node9.html#l2h-18"><tt class="method">mixer()</tt> (Mixer method)###0000000635 +<a href="node9.html#l2h-19"><tt class="method">mixerid()</tt> (Mixer method)###0000000636 +<a href="node9.html#l2h-20"><tt class="method">switchcap()</tt> (Mixer method)###0000000637 +<a href="node9.html#l2h-21"><tt class="method">volumecap()</tt> (Mixer method)###0000000638 +<a href="node9.html#l2h-22"><tt class="method">getvolume()</tt> (Mixer method)###0000000639 +<a href="node9.html#l2h-23"><tt class="method">getmute()</tt> (Mixer method)###0000000640 +<a href="node9.html#l2h-24"><tt class="method">getrec()</tt> (Mixer method)###0000000641 +<a href="node9.html#l2h-25"><tt class="method">setvolume()</tt> (Mixer method)###0000000642 +<a href="node9.html#l2h-26"><tt class="method">setmute()</tt> (Mixer method)###0000000643 +<a href="node9.html#l2h-27"><tt class="method">setrec()</tt> (Mixer method)###0000000644 diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.gif.svn-base Binary files differnew file mode 100644 index 0000000..32eecfb --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.gif.svn-base diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.html.svn-base new file mode 100644 index 0000000..fc3e86f --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.html.svn-base @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' href='about.html' title='About this document...' /> +<link rel='help' href='about.html' title='About this document...' /> +<link rel="next" href="front.html" /> +<meta name='aesop' content='information' /> +<title>PyAlsaAudio</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></td> +<td class='online-navigation'><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></td> +<td class='online-navigation'><a rel="next" title="Front Matter" + href="front.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="front.html">Front Matter</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<div class="titlepage"> +<div class='center'> +<h1>PyAlsaAudio</h1> +<p><b><font size="+2">Casper Wilstrup</font></b></p> +<p>cwi@unispeed.com</p> +<p></p> +</div> +</div> + +<P> + +<p><br /></p><hr class='online-navigation' /> +<div class='online-navigation'> +<!--Table of Child-Links--> +<A NAME="CHILD_LINKS"></a> + +<UL CLASS="ChildLinks"> +<LI><A href="front.html">Front Matter</a> +<LI><A href="contents.html">Contents</a> +<UL> +<LI><A href="node3.html">1 What is ALSA</a> +<LI><A href="node4.html">2 ALSA and Python</a> +<LI><A href="node5.html">3 Installation</a> +<LI><A href="module-alsaaudio.html">4 <tt class="module">alsaaudio</tt></a> +<UL> +<LI><A href="node7.html">4.1 PCM Terminology and Concepts</a> +<LI><A href="pcm-objects.html">4.2 PCM Objects</a> +<LI><A href="mixer-objects.html">4.3 Mixer Objects</a> +<LI><A href="pcm-example.html">4.4 ALSA Examples</a> +</ul> +</ul> +<LI><A href="about.html">About this document ...</a> +</ul> +<!--End of Table of Child-Links--> +</div> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></td> +<td class='online-navigation'><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></td> +<td class='online-navigation'><a rel="next" title="Front Matter" + href="front.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="front.html">Front Matter</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/internals.pl.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/internals.pl.svn-base new file mode 100644 index 0000000..4864f4b --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/internals.pl.svn-base @@ -0,0 +1,34 @@ +# LaTeX2HTML 2002-2 (1.70) +# Associate internals original text with physical files. + + +$key = q/module-alsaaudio/; +$ref_files{$key} = "$dir".q|node6.html|; +$noresave{$key} = "$nosave"; + +$key = q/pcm-objects/; +$ref_files{$key} = "$dir".q|node8.html|; +$noresave{$key} = "$nosave"; + +$key = q/front/; +$ref_files{$key} = "$dir".q|node1.html|; +$noresave{$key} = "$nosave"; + +$key = q/contents/; +$ref_files{$key} = "$dir".q|node2.html|; +$noresave{$key} = "$nosave"; + +$key = q/mixer-objects/; +$ref_files{$key} = "$dir".q|node9.html|; +$noresave{$key} = "$nosave"; + +$key = q/pcm-example/; +$ref_files{$key} = "$dir".q|node10.html|; +$noresave{$key} = "$nosave"; + +$key = q/about/; +$ref_files{$key} = "$dir".q|node11.html|; +$noresave{$key} = "$nosave"; + +1; + diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/intlabels.pl.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/intlabels.pl.svn-base new file mode 100644 index 0000000..972ec5a --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/intlabels.pl.svn-base @@ -0,0 +1,30 @@ +%internal_labels = (); +1; # hack in case there are no entries + +$internal_labels{"l2h-1"} = "/node6.html"; +$internal_labels{"l2h-2"} = "/node6.html"; +$internal_labels{"l2h-3"} = "/node6.html"; +$internal_labels{"l2h-4"} = "/node6.html"; +$internal_labels{"l2h-5"} = "/node6.html"; +$internal_labels{"l2h-6"} = "/node8.html"; +$internal_labels{"l2h-7"} = "/node8.html"; +$internal_labels{"l2h-8"} = "/node8.html"; +$internal_labels{"l2h-9"} = "/node8.html"; +$internal_labels{"l2h-10"} = "/node8.html"; +$internal_labels{"l2h-11"} = "/node8.html"; +$internal_labels{"l2h-12"} = "/node8.html"; +$internal_labels{"l2h-13"} = "/node8.html"; +$internal_labels{"l2h-14"} = "/node8.html"; +$internal_labels{"l2h-15"} = "/node8.html"; +$internal_labels{"l2h-16"} = "/node9.html"; +$internal_labels{"l2h-17"} = "/node9.html"; +$internal_labels{"l2h-18"} = "/node9.html"; +$internal_labels{"l2h-19"} = "/node9.html"; +$internal_labels{"l2h-20"} = "/node9.html"; +$internal_labels{"l2h-21"} = "/node9.html"; +$internal_labels{"l2h-22"} = "/node9.html"; +$internal_labels{"l2h-23"} = "/node9.html"; +$internal_labels{"l2h-24"} = "/node9.html"; +$internal_labels{"l2h-25"} = "/node9.html"; +$internal_labels{"l2h-26"} = "/node9.html"; +$internal_labels{"l2h-27"} = "/node9.html"; diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/labels.pl.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/labels.pl.svn-base new file mode 100644 index 0000000..f3d0859 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/labels.pl.svn-base @@ -0,0 +1,57 @@ +# LaTeX2HTML 2002-2-1 (1.70) +# Associate labels original text with physical files. + + +$key = q/module-alsaaudio/; +$external_labels{$key} = "$URL/" . q|node6.html|; +$noresave{$key} = "$nosave"; + +$key = q/pcm-objects/; +$external_labels{$key} = "$URL/" . q|node8.html|; +$noresave{$key} = "$nosave"; + +$key = q/front/; +$external_labels{$key} = "$URL/" . q|node1.html|; +$noresave{$key} = "$nosave"; + +$key = q/contents/; +$external_labels{$key} = "$URL/" . q|node2.html|; +$noresave{$key} = "$nosave"; + +$key = q/mixer-objects/; +$external_labels{$key} = "$URL/" . q|node9.html|; +$noresave{$key} = "$nosave"; + +$key = q/pcm-example/; +$external_labels{$key} = "$URL/" . q|node10.html|; +$noresave{$key} = "$nosave"; + +$key = q/about/; +$external_labels{$key} = "$URL/" . q|node11.html|; +$noresave{$key} = "$nosave"; + +1; + + +# LaTeX2HTML 2002-2-1 (1.70) +# labels from external_latex_labels array. + + +$key = q/module-alsaaudio/; +$external_latex_labels{$key} = q|4|; +$noresave{$key} = "$nosave"; + +$key = q/pcm-objects/; +$external_latex_labels{$key} = q|4.2|; +$noresave{$key} = "$nosave"; + +$key = q/mixer-objects/; +$external_latex_labels{$key} = q|4.3|; +$noresave{$key} = "$nosave"; + +$key = q/pcm-example/; +$external_latex_labels{$key} = q|4.4|; +$noresave{$key} = "$nosave"; + +1; + diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/mixer-objects.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/mixer-objects.html.svn-base new file mode 100644 index 0000000..5a4d516 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/mixer-objects.html.svn-base @@ -0,0 +1,327 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="prev" href="pcm-objects.html" /> +<link rel="parent" href="module-alsaaudio.html" /> +<link rel="next" href="pcm-example.html" /> +<meta name='aesop' content='information' /> +<title>4.3 Mixer Objects</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4.2 PCM Objects" + href="pcm-objects.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4.4 ALSA Examples" + href="pcm-example.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="pcm-objects.html">4.2 PCM Objects</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="pcm-example.html">4.4 ALSA Examples</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H2><A NAME="SECTION002430000000000000000"></A> +<A NAME="mixer-objects"></A> +<BR> +4.3 Mixer Objects +</H2> + +<P> +Mixer objects provides access to the ALSA mixer API. + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><span class="typelabel">class</span> <tt id='l2h-16' xml:id='l2h-16' class="class">Mixer</tt></b>(</nobr></td> + <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> +<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. +The default value is 'Master' - other common controls include 'Master Mono', 'PCM', 'Line', etc. + +<P> +<var>id</var> - the id of the mixer control. Default is 0 + +<P> +<var>cardname</var> - specifies which card should be used (this is only relevant +if you have more than one sound card). Omit to use the default sound card +</dl> + +<P> +Mixer objects have the following methods: + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-17' xml:id='l2h-17' class="method">cardname</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Return the name of the sound card used by this Mixer object +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-18' xml:id='l2h-18' class="method">mixer</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Return the name of the specific mixer controlled by this object, For example 'Master' +or 'PCM' +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-19' xml:id='l2h-19' class="method">mixerid</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Return the ID of the ALSA mixer controlled by this object. +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-20' xml:id='l2h-20' class="method">switchcap</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Returns a list of the switches which are defined by this specific mixer. Possible values in +this list are: + +<P> +<div class="center"><table class="realtable"> + <thead> + <tr> + <th class="left" >Switch</th> + <th class="left" >Description</th> + </tr> + </thead> + <tbody> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Mute'</Volume></td> + <td class="left" >This mixer can be muted</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Mute'</Volume></td> + <td class="left" >This mixer can mute all channels at the same time</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Playback Mute'</Volume></td> + <td class="left" >This mixer can mute the playback output</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Playback Mute'</Volume></td> + <td class="left" >Mute playback for all channels at the same time</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Capture Mute'</Volume></td> + <td class="left" >Mute sound capture</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Capture Mute'</Volume></td> + <td class="left" >Mute sound capture for all channels at a time</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Capture Exclusive'</Volume></td> + <td class="left" >Not quite sure what this is</td></tr></tbody> +</table></div> + +<P> +To manipulate these swithes use the <tt class="method">setrec</tt> or <tt class="method">setmute</tt> methods +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-21' xml:id='l2h-21' class="method">volumecap</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Returns a list of the volume control capabilities of this mixer. Possible values in +the list are: + +<P> +<div class="center"><table class="realtable"> + <thead> + <tr> + <th class="left" >Capability</th> + <th class="left" >Description</th> + </tr> + </thead> + <tbody> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Volume'</Volume></td> + <td class="left" >This mixer can control volume</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Volume'</Volume></td> + <td class="left" >This mixer can control volume for all channels at the same time</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Playback Volume'</Volume></td> + <td class="left" >This mixer can manipulate the playback volume</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Playback Volume'</Volume></td> + <td class="left" >Manipulate playback volumne for all channels at the same time</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Capture Volume'</Volume></td> + <td class="left" >Manipulate sound capture volume</td></tr> + <tr><td class="left" valign="baseline"><Volume Capabilities>'Joined Capture Volume'</Volume></td> + <td class="left" >Manipulate sound capture volume for all channels at a time</td></tr></tbody> +</table></div> + +<P> +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-22' xml:id='l2h-22' class="method">getvolume</tt></b>(</nobr></td> + <td><var></var><big>[</big><var>direction</var><big>]</big><var></var>)</td></tr></table></dt> +<dd> +Returns a list with the current volume settings for each channel. The list elements +are integer percentages. + +<P> +The optional <var>direction</var> argument can be either 'playback' or 'capture', which is relevant +if the mixer can control both playback and capture volume. The default value is 'playback' +if the mixer has this capability, otherwise 'capture' + +<P> +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-23' xml:id='l2h-23' class="method">getmute</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Return a list indicating the current mute setting for each channel. 0 means not muted, 1 means muted. + +<P> +This method will fail if the mixer has no playback switch capabilities. +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-24' xml:id='l2h-24' class="method">getrec</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Return a list indicating the current record mute setting for each channel. 0 means not recording, 1 +means not recording. + +<P> +This method will fail if the mixer has no capture switch capabilities. +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <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><var></var>)</td></tr></table></dt> +<dd> +Change the current volume settings for this mixer. The <var>volume</var> argument controls +the new volume setting as an integer percentage. + +<P> +If the optional argument <var>channel</var> is present, the volume is set only for this channel. This +assumes that the mixer can control the volume for the channels independently. + +<P> +The optional <var>direction</var> argument can be either 'playback' or 'capture' is relevant if the mixer +has independent playback and capture volume capabilities, and controls which of the volumes +if changed. The default is 'playback' if the mixer has this capability, otherwise 'capture'. +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <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><var></var>)</td></tr></table></dt> +<dd> +Sets the mute flag to a new value. The <var>mute</var> argument is either 0 for not muted, or 1 for muted. + +<P> +The optional <var>channel</var> argument controls which channel is muted. The default is to set the mute flag +for all channels. + +<P> +This method will fail if the mixer has no playback mute capabilities +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <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><var></var>)</td></tr></table></dt> +<dd> +Sets the capture mute flag to a new value. The <var>capture</var> argument is either 0 for no capture, +or 1 for capture. + +<P> +The optional <var>channel</var> argument controls which channel is changed. The default is to set the capture flag +for all channels. + +<P> +This method will fail if the mixer has no capture switch capabilities +</dl> + +<P> +<b>A Note on the ALSA Mixer API</b> + +<P> +The ALSA mixer API is extremely complicated - and hardly documented at all. <tt class="module">alsaaudio</tt> implements +a much simplified way to access this API. In designing the API I've had to make some choices which +may limit what can and cannot be controlled through the API. However, If I had chosen to implement the +full API, I would have reexposed the horrible complexity/documentation ratio of the underlying API. +At least the <tt class="module">alsaaudio</tt> API is easy to understand and use. + +<P> +If my design choises prevents you from doing something that the underlying API would have allowed, +please let me know, so I can incorporate these need into future versions. + +<P> +If the current state of affairs annoy you, the best you can do is to write a HOWTO on the API and +make this available on the net. Until somebody does this, the availability of ALSA mixer capable +devices will stay quite limited. + +<P> +Unfortunately, I'm not able to create such a HOWTO myself, since I only understand half of the API, +and that which I do understand has come from a painful trial and error process. + +<P> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4.2 PCM Objects" + href="pcm-objects.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4.4 ALSA Examples" + href="pcm-example.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="pcm-objects.html">4.2 PCM Objects</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="pcm-example.html">4.4 ALSA Examples</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/module-alsaaudio.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/module-alsaaudio.html.svn-base new file mode 100644 index 0000000..c3673ee --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/module-alsaaudio.html.svn-base @@ -0,0 +1,167 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="parent" href="contents.html" /> +<link rel="next" href="node7.html" /> +<meta name='aesop' content='information' /> +<title>4 alsaaudio</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="3 Installation" + href="node5.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="Contents" + href="contents.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4.1 PCM Terminology and" + href="node7.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node5.html">3 Installation</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="contents.html">Contents</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node7.html">4.1 PCM Terminology and</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION002400000000000000000"> +4 <tt class="module">alsaaudio</tt></A> +</H1> + +<P> +<A NAME="module-alsaaudio"></A> +<P> + +<p class="availability">Availability: <span + class="platform">Linux</span>.</p> + +<P> + +<P> + +<P> +The <tt class="module">alsaaudio</tt> module defines functions and classes for using +ALSA. + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-2' xml:id='l2h-2' class="function">mixers</tt></b>(</nobr></td> + <td><var></var><big>[</big><var>cardname</var><big>]</big><var></var>)</td></tr></table></dt> +<dd> +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 +sound card). Omit to use the default sound card +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><span class="typelabel">class</span> <tt id='l2h-3' xml:id='l2h-3' class="class">PCM</tt></b>(</nobr></td> + <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> +This class is used to represent a PCM device (both playback and capture devices). +The arguments are: +<BR><var>type</var> - can be either PCM_CAPTURE or PCM_PLAYBACK (default). +<BR><var>mode</var> - can be either PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL (the default). +<BR><var>cardname</var> - specifies which card should be used (this is only relevant +if you have more than one sound card). Omit to use the default sound card +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><span class="typelabel">class</span> <tt id='l2h-4' xml:id='l2h-4' class="class">Mixer</tt></b>(</nobr></td> + <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> +This class is used to access a specific ALSA mixer. +The arguments are: +<BR><var>control</var> - Name of the chosen mixed (default is Master). +<BR><var>id</var> - id of mixer (default is 0) - More explaniation needed here +<BR><var>cardname</var> specifies which card should be used (this is only relevant +if you have more than one sound card). Omit to use the default sound card +</dl> + +<P> +<dl><dt><b><span class="typelabel">exception</span> <tt id='l2h-5' xml:id='l2h-5' class="exception">ALSAAudioError</tt></b></dt> +<dd> +Exception raised when an operation fails for a ALSA specific reason. +The exception argument is a string describing the reason of the +failure. +</dd></dl> + +<P> + +<p><br /></p><hr class='online-navigation' /> +<div class='online-navigation'> +<!--Table of Child-Links--> +<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></a> + +<UL CLASS="ChildLinks"> +<LI><A href="node7.html">4.1 PCM Terminology and Concepts</a> +<LI><A href="pcm-objects.html">4.2 PCM Objects</a> +<LI><A href="mixer-objects.html">4.3 Mixer Objects</a> +<LI><A href="pcm-example.html">4.4 ALSA Examples</a> +</ul> +<!--End of Table of Child-Links--> +</div> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="3 Installation" + href="node5.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="Contents" + href="contents.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4.1 PCM Terminology and" + href="node7.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node5.html">3 Installation</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="contents.html">Contents</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node7.html">4.1 PCM Terminology and</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/modules.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/modules.gif.svn-base Binary files differnew file mode 100644 index 0000000..f5860b6 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/modules.gif.svn-base diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/next.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/next.gif.svn-base Binary files differnew file mode 100644 index 0000000..5dcaff8 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/next.gif.svn-base diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node3.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node3.html.svn-base new file mode 100644 index 0000000..e848a78 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node3.html.svn-base @@ -0,0 +1,120 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="prev" href="contents.html" /> +<link rel="parent" href="contents.html" /> +<link rel="next" href="node4.html" /> +<meta name='aesop' content='information' /> +<title>1 What is ALSA</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="Contents" + href="contents.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="Contents" + href="contents.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="2 ALSA and Python" + href="node4.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="contents.html">Contents</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="contents.html">Contents</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node4.html">2 ALSA and Python</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION002100000000000000000"> +1 What is ALSA</A> +</H1> + +<P> +The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI +functionality to the Linux operating system. + +<P> +Logically ALSA consists of these components: + +<UL> +<LI>A set of kernel drivers. +<BR> +These drivers are responsible for handling the physical sound + hardware from within the Linux kernel, and have been the standard + sound implementation in Linux since kernel version 2.5 +</LI> +<LI>A kernel level API for manipulating the ALSA devices. +</LI> +<LI>A user-space C library for simplified access to the sound hardware + from userspace applications. This library is called <i>libasound</i> + and is required by all ALSA capable applications. +</LI> +</UL> + +<P> +More information about ALSA may be found on the project homepage +<a class="url" href="http://www.alsa-project.org">http://www.alsa-project.org</a> +<P> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="Contents" + href="contents.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="Contents" + href="contents.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="2 ALSA and Python" + href="node4.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="contents.html">Contents</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="contents.html">Contents</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node4.html">2 ALSA and Python</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node4.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node4.html.svn-base new file mode 100644 index 0000000..9c6ab01 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node4.html.svn-base @@ -0,0 +1,116 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="prev" href="node3.html" /> +<link rel="parent" href="contents.html" /> +<link rel="next" href="node5.html" /> +<meta name='aesop' content='information' /> +<title>2 ALSA and Python</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="1 What is ALSA" + href="node3.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="Contents" + href="contents.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="3 Installation" + href="node5.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node3.html">1 What is ALSA</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="contents.html">Contents</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node5.html">3 Installation</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION002200000000000000000"> +2 ALSA and Python</A> +</H1> + +<P> +The older Linux sound API (OSS) which is now deprecated is well supported +from the standard Python library, through the ossaudiodev module. No native +ALSA support exists in the standard library (yet). + +<P> +There are a few other ``ALSA for Python'' projects available, including at +least two different projects called pyAlsa. Neither of these seem to be under +active development at the time - and neither are very feature complete. + +<P> +I wrote PyAlsaAudio to fill this gap. My long term goal is to have the module +included in the standard Python library, but that is probably a while of yet. + +<P> +PyAlsaAudio hass full support for sound capture, playback of sound, as well as +the ALSA Mixer API. + +<P> +MIDI support is not available, and since I don't own any MIDI hardware, it's +difficult for me to implement it. Volunteers to work on this would be greatly +appreciated + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="1 What is ALSA" + href="node3.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="Contents" + href="contents.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="3 Installation" + href="node5.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node3.html">1 What is ALSA</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="contents.html">Contents</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="node5.html">3 Installation</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node5.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node5.html.svn-base new file mode 100644 index 0000000..923ac75 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node5.html.svn-base @@ -0,0 +1,115 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="prev" href="node4.html" /> +<link rel="parent" href="contents.html" /> +<link rel="next" href="module-alsaaudio.html" /> +<meta name='aesop' content='information' /> +<title>3 Installation</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="2 ALSA and Python" + href="node4.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="Contents" + href="contents.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node4.html">2 ALSA and Python</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="contents.html">Contents</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="module-alsaaudio.html">4 alsaaudio</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H1><A NAME="SECTION002300000000000000000"> +3 Installation</A> +</H1> + +<P> +Note: the wrappers link with the alsasound library (from the alsa-lib +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 +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 +most distributions ship with ALSA kernels. + +<P> +To install, execute the following: +<BR><div class="verbatim"><pre> +$ python setup.py build +</pre></div> + +<P> +And then as root: +<BR><div class="verbatim"><pre> +# python setup.py install +</pre></div> + +<P> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="2 ALSA and Python" + href="node4.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="Contents" + href="contents.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node4.html">2 ALSA and Python</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="contents.html">Contents</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="module-alsaaudio.html">4 alsaaudio</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node7.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node7.html.svn-base new file mode 100644 index 0000000..f58333a --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node7.html.svn-base @@ -0,0 +1,169 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="prev" href="module-alsaaudio.html" /> +<link rel="parent" href="module-alsaaudio.html" /> +<link rel="next" href="pcm-objects.html" /> +<meta name='aesop' content='information' /> +<title>4.1 PCM Terminology and Concepts</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4.2 PCM Objects" + href="pcm-objects.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="pcm-objects.html">4.2 PCM Objects</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H2><A NAME="SECTION002410000000000000000"> +4.1 PCM Terminology and Concepts</A> +</H2> + +<P> +In order to use PCM devices it is useful to be familiar with some concepts and +terminology. + +<P> +<DL> +<DT><STRONG>Sample</STRONG></DT> +<DD>PCM audio, whether it is input or output, consists at the lowest level +of a number of single samples. A sample represents the sound in a single channel in +a brief interval. If more than one channel is in use, more than one sample is required +for each interval to describe the sound. Samples can be of many different sizes, ranging +from 8 bit to 64 bit presition. The specific format of each sample can also vary - they +can be big endian byte order, little endian byte order, or even floats. + +<P> +</DD> +<DT><STRONG>Frame</STRONG></DT> +<DD>A frame consists of exactly one sample per channel. If there is only one +channel (Mono sound) a frame is simply a single sample. If the sound is stereo, each frame +consists of two samples, etc. + +<P> +</DD> +<DT><STRONG>Frame size</STRONG></DT> +<DD>This is the size in bytes of each frame. This can vary a lot: if each sample is +8 bits, and we're handling mono sound, the frame size is one byte. Similarly in 6 channel audio with +64 bit floating point samples, the frame size is 48 bytes + +<P> +</DD> +<DT><STRONG>Rate</STRONG></DT> +<DD>PCM sound consists of a flow of sound frames. The sound rate controls how often +the current frame is replaced. For example, a rate of 8000 Hz means that a new frame is played +or captured 8000 times per second. + +<P> +</DD> +<DT><STRONG>Data rate</STRONG></DT> +<DD>This is the number of bytes, which must be recorded or provided per second +at a certain frame size and rate. + +<P> +8000 Hz mono sound with 8 bit (1 byte) samples has a data rate of 8000 * 1 * 1 = 8 kb/s + +<P> +At the other end of the scale, 96000 Hz, 6 channel sound with 64 bit (8 bytes) samples +has a data rate of 96000 * 6 * 8 = 4608 kb/s (almost 5 Mb sound data per second) + +<P> +</DD> +<DT><STRONG>Period</STRONG></DT> +<DD>When the hardware processes data this is done in chunks of frames. The time interval +between each processing (A/D or D/A conversion) is known as the period. The size of the period has +direct implication on the latency of the sound input or output. For low-latency the period size should +be very small, while low CPU resource usage would usually demand larger period sizes. With ALSA, the +CPU utilization is not impacted much by the period size, since the kernel layer buffers multiple +periods internally, so each period generates an interrupt and a memory copy, but userspace can be +slower and read or write multiple periods at the same time. + +<P> +</DD> +<DT><STRONG>Period size</STRONG></DT> +<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 +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. + +<P> +</DD> +</DL> + +<P> +Once you understand these concepts, you will be ready to actually utilize PCM API. Read on. + +<P> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4.2 PCM Objects" + href="pcm-objects.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="pcm-objects.html">4.2 PCM Objects</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pcm-example.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pcm-example.html.svn-base new file mode 100644 index 0000000..d458bac --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pcm-example.html.svn-base @@ -0,0 +1,99 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="parent" href="module-alsaaudio.html" /> +<link rel="next" href="about.html" /> +<meta name='aesop' content='information' /> +<title>4.4 ALSA Examples </title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4.3 Mixer Objects" + href="mixer-objects.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="About this document ..." + href="about.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="mixer-objects.html">4.3 Mixer Objects</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="about.html">About this document ...</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H2><A NAME="SECTION002440000000000000000"></A><A NAME="pcm-example"></A> +<BR> +4.4 ALSA Examples +</H2> + +<P> +For now, the only examples available are the 'playbacktest.py' and the 'recordtest.py' programs included. +This will change in a future version. + +<P> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4.3 Mixer Objects" + href="mixer-objects.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="About this document ..." + href="about.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="mixer-objects.html">4.3 Mixer Objects</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="about.html">About this document ...</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pcm-objects.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pcm-objects.html.svn-base new file mode 100644 index 0000000..3fc5d78 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pcm-objects.html.svn-base @@ -0,0 +1,331 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' 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="prev" href="node7.html" /> +<link rel="parent" href="module-alsaaudio.html" /> +<link rel="next" href="mixer-objects.html" /> +<meta name='aesop' content='information' /> +<title>4.2 PCM Objects</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4.1 PCM Terminology and" + href="node7.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4.3 Mixer Objects" + href="mixer-objects.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node7.html">4.1 PCM Terminology and</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="mixer-objects.html">4.3 Mixer Objects</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<H2><A NAME="SECTION002420000000000000000"></A> +<A NAME="pcm-objects"></A> +<BR> +4.2 PCM Objects +</H2> + +<P> +The acronym PCM is short for Pulse Code Modulation and is the method used in ALSA +and many other places to handle playback and capture of sampled sound data. + +<P> +PCM objects in <tt class="module">alsaaudio</tt> are used to do exactly that, either play sample based +sound or capture sound from some input source (perhaps a microphone). The PCM object +constructor takes the following arguments: + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><span class="typelabel">class</span> <tt id='l2h-6' xml:id='l2h-6' class="class">PCM</tt></b>(</nobr></td> + <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> + +<P> +<var>type</var> - can be either PCM_CAPTURE or PCM_PLAYBACK (default). + +<P> +<var>mode</var> - can be either PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL (the default). +In PCM_NONBLOCK mode, calls to read will return immediately independent of wether +there is any actual data to read. Similarly, write calls will return immediately +without actually writing anything to the playout buffer if the buffer is full. + +<P> +In the current version of <tt class="module">alsaaudio</tt> PCM_ASYNC is useless, since it relies +on a callback procedure, which can't be specified from Python. + +<P> +<var>cardname</var> - specifies which card should be used (this is only relevant +if you have more than one sound card). Omit to use the default sound card + +<P> +This will construct a PCM object with default settings: + +<P> +Sample format: PCM_FORMAT_S16_LE +<BR> +Rate: 8000 Hz +<BR> +Channels: 2 +<BR> +Period size: 32 frames +<BR></dl> + +<P> +PCM objects have the following methods: + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-7' xml:id='l2h-7' class="method">pcmtype</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Returns the type of PCM object. Either PCM_CAPTURE or PCM_PLAYBACK. +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-8' xml:id='l2h-8' class="method">pcmmode</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Return the mode of the PCM object. One of PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-9' xml:id='l2h-9' class="method">cardname</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +Return the name of the sound card used by this PCM object. +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <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></dt> +<dd> +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 +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <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></dt> +<dd> +Set the sample rate in Hz for the device. Typical values are 8000 (poor sound), 16000, 44100 (cd quality), +and 96000 +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-12' xml:id='l2h-12' class="method">setformat</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +The sound format of the device. Sound format controls how the PCM device interpret data for playback, +and how data is encoded in captures. + +<P> +The following formats are provided by ALSA: +<div class="center"><table class="realtable"> + <thead> + <tr> + <th class="left" >Format</th> + <th class="left" >Description</th> + </tr> + </thead> + <tbody> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S8</Formats></td> + <td class="left" >Signed 8 bit samples for each channel</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U8</Formats></td> + <td class="left" >Signed 8 bit samples for each channel</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S16_LE</Formats></td> + <td class="left" >Signed 16 bit samples for each channel (Little Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S16_BE</Formats></td> + <td class="left" >Signed 16 bit samples for each channel (Big Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U16_LE</Formats></td> + <td class="left" >Unsigned 16 bit samples for each channel (Little Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U16_BE</Formats></td> + <td class="left" >Unsigned 16 bit samples for each channel (Big Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S24_LE</Formats></td> + <td class="left" >Signed 24 bit samples for each channel (Little Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S24_BE</Formats></td> + <td class="left" >Signed 24 bit samples for each channel (Big Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U24_LE</Formats></td> + <td class="left" >Unsigned 24 bit samples for each channel (Little Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U24_BE</Formats></td> + <td class="left" >Unsigned 24 bit samples for each channel (Big Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S32_LE</Formats></td> + <td class="left" >Signed 32 bit samples for each channel (Little Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_S32_BE</Formats></td> + <td class="left" >Signed 32 bit samples for each channel (Big Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U32_LE</Formats></td> + <td class="left" >Unsigned 32 bit samples for each channel (Little Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_U32_BE</Formats></td> + <td class="left" >Unsigned 32 bit samples for each channel (Big Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT_LE</Formats></td> + <td class="left" >32 bit samples encoded as float. (Little Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT_BE</Formats></td> + <td class="left" >32 bit samples encoded as float (Big Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT64_LE</Formats></td> + <td class="left" >64 bit samples encoded as float. (Little Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_FLOAT64_BE</Formats></td> + <td class="left" >64 bit samples encoded as float. (Big Endian byte order)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_MU_LAW</Formats></td> + <td class="left" >A logarithmic encoding (used by Sun .au files)</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_A_LAW</Formats></td> + <td class="left" >Another logarithmic encoding</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_IMA_ADPCM</Formats></td> + <td class="left" >a 4:1 compressed format defined by the Interactive Multimedia Association</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_MPEG</Formats></td> + <td class="left" >MPEG encoded audio?</td></tr> + <tr><td class="left" valign="baseline"><Formats>PCM_FORMAT_GSM</Formats></td> + <td class="left" >9600 constant rate encoding well suitet for speech</td></tr></tbody> +</table></div> + +<P> +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <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></dt> +<dd> +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 +it may return nothing at all) +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <td><nobr><b><tt id='l2h-14' xml:id='l2h-14' class="method">read</tt></b>(</nobr></td> + <td><var></var>)</td></tr></table></dt> +<dd> +In PCM_NORMAL mode, this function blocks until a full period is available, and then returns a +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 +bytes. + +<P> +In PCM_NONBLOCK mode, the call will not block, but will return <code>(0,'')</code> if no new period +has become available since the last call to read. +</dl> + +<P> +<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline"> + <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></dt> +<dd> +Writes (plays) the sound in data. The length of data <em>must</em> be a multiple of the frame size, and +<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. + +<P> +If the device is not in PCM_NONBLOCK mode, this call will block if the kernel buffer is full, and +until enough sound has been played to allow the sound data to be buffered. The call always returns +the size of the data provided + +<P> +In PCM_NONBLOCK mode, the call will return immediately, with a return value of zero, if the buffer is +full. In this case, the data should be written at a later time. + +<P> +</dl> + +<P> +<strong>A few hints on using PCM devices for playback</strong> + +<P> +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 <em>exactly</em> the data rate of the device. + +<P> +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 +(PCM_NONBLOCK mode). + +<P> +If your program does nothing, but play sound, the easiest way is to put the device in PCM_NORMAL mode, and just +write as much data to the device as possible. This strategy can also be achieved by using a separate thread +with the sole task of playing out sound. + +<P> +In GUI programs, however, it may be a better strategy to setup the device, preload the buffer with a few +periods by calling write a couple of times, and then use some timer method to write one period size of data to +the device every period. The purpose of the preloading is to avoid underrun clicks if the used timer +doesn't expire exactly on time. + +<P> +Also note, that most timer API's that you can find for Python will cummulate time delays: If you set the timer +to expire after 1/10'th of a second, the actual timeout will happen slightly later, which will accumulate to +quite a lot after a few seconds. Hint: use time.time() to check how much time has really passed, and add +extra writes as nessecary. + +<P> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><a rel="prev" title="4.1 PCM Terminology and" + href="node7.html"><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></A></td> +<td class='online-navigation'><a rel="parent" title="4 alsaaudio" + href="module-alsaaudio.html"><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></A></td> +<td class='online-navigation'><a rel="next" title="4.3 Mixer Objects" + href="mixer-objects.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Previous:</b> +<a class="sectref" rel="prev" href="node7.html">4.1 PCM Terminology and</A> +<b class="navlabel">Up:</b> +<a class="sectref" rel="parent" href="module-alsaaudio.html">4 alsaaudio</A> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="mixer-objects.html">4.3 Mixer Objects</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/previous.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/previous.gif.svn-base Binary files differnew file mode 100644 index 0000000..de1da16 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/previous.gif.svn-base diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyalsaaudio.css.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyalsaaudio.css.svn-base new file mode 100644 index 0000000..06a613c --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyalsaaudio.css.svn-base @@ -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; } + } diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyalsaaudio.html.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyalsaaudio.html.svn-base new file mode 100644 index 0000000..fc3e86f --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyalsaaudio.html.svn-base @@ -0,0 +1,110 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html> +<head> +<link rel="STYLESHEET" href="pyalsaaudio.css" type='text/css' /> +<link rel="first" href="pyalsaaudio.html" title='PyAlsaAudio' /> +<link rel='contents' href='contents.html' title="Contents" /> +<link rel='last' href='about.html' title='About this document...' /> +<link rel='help' href='about.html' title='About this document...' /> +<link rel="next" href="front.html" /> +<meta name='aesop' content='information' /> +<title>PyAlsaAudio</title> +</head> +<body> +<DIV CLASS="navigation"> +<div id='top-navigation-panel' xml:id='top-navigation-panel'> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></td> +<td class='online-navigation'><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></td> +<td class='online-navigation'><a rel="next" title="Front Matter" + href="front.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="front.html">Front Matter</A> +</div> +<hr /></div> +</DIV> +<!--End of Navigation Panel--> + +<div class="titlepage"> +<div class='center'> +<h1>PyAlsaAudio</h1> +<p><b><font size="+2">Casper Wilstrup</font></b></p> +<p>cwi@unispeed.com</p> +<p></p> +</div> +</div> + +<P> + +<p><br /></p><hr class='online-navigation' /> +<div class='online-navigation'> +<!--Table of Child-Links--> +<A NAME="CHILD_LINKS"></a> + +<UL CLASS="ChildLinks"> +<LI><A href="front.html">Front Matter</a> +<LI><A href="contents.html">Contents</a> +<UL> +<LI><A href="node3.html">1 What is ALSA</a> +<LI><A href="node4.html">2 ALSA and Python</a> +<LI><A href="node5.html">3 Installation</a> +<LI><A href="module-alsaaudio.html">4 <tt class="module">alsaaudio</tt></a> +<UL> +<LI><A href="node7.html">4.1 PCM Terminology and Concepts</a> +<LI><A href="pcm-objects.html">4.2 PCM Objects</a> +<LI><A href="mixer-objects.html">4.3 Mixer Objects</a> +<LI><A href="pcm-example.html">4.4 ALSA Examples</a> +</ul> +</ul> +<LI><A href="about.html">About this document ...</a> +</ul> +<!--End of Table of Child-Links--> +</div> + +<DIV CLASS="navigation"> +<div class='online-navigation'> +<p></p><hr /> +<table align="center" width="100%" cellpadding="0" cellspacing="2"> +<tr> +<td class='online-navigation'><img src='previous.png' + border='0' height='32' alt='Previous Page' width='32' /></td> +<td class='online-navigation'><img src='up.png' + border='0' height='32' alt='Up One Level' width='32' /></td> +<td class='online-navigation'><a rel="next" title="Front Matter" + href="front.html"><img src='next.png' + border='0' height='32' alt='Next Page' width='32' /></A></td> +<td align="center" width="100%">PyAlsaAudio</td> +<td class='online-navigation'><a rel="contents" title="Table of Contents" + href="contents.html"><img src='contents.png' + border='0' height='32' alt='Contents' width='32' /></A></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> +<div class='online-navigation'> +<b class="navlabel">Next:</b> +<a class="sectref" rel="next" href="front.html">Front Matter</A> +</div> +</div> +<hr /> +<span class="release-info">Release 0.2.</span> +</DIV> +<!--End of Navigation Panel--> + +</BODY> +</HTML> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyfav.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyfav.gif.svn-base Binary files differnew file mode 100644 index 0000000..58271ed --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyfav.gif.svn-base diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/up.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/up.gif.svn-base Binary files differnew file mode 100644 index 0000000..a9d3e13 --- /dev/null +++ b/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/up.gif.svn-base |