diff options
Diffstat (limited to 'arch_src/pyalsaaudio-0.2/doc')
121 files changed, 0 insertions, 6355 deletions
diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/README.txt b/arch_src/pyalsaaudio-0.2/doc/.svn/README.txt deleted file mode 100644 index 271a8ce..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -This is a Subversion working copy administrative directory. -Visit http://subversion.tigris.org/ for more information. diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/dir-wcprops b/arch_src/pyalsaaudio-0.2/doc/.svn/dir-wcprops deleted file mode 100644 index 4238dab..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/dir-wcprops +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 53 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/empty-file b/arch_src/pyalsaaudio-0.2/doc/.svn/empty-file deleted file mode 100644 index e69de29..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/empty-file +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/entries b/arch_src/pyalsaaudio-0.2/doc/.svn/entries deleted file mode 100644 index b80e28b..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/entries +++ /dev/null @@ -1,247 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<wc-entries - xmlns="svn:"> -<entry - committed-rev="1274" - name="" - committed-date="2005-03-25T23:37:10.228413Z" - url="http://casperr@divmod.org/svn/Shtoom/trunk/audio/pyalsaaudio/doc" - last-author="casper" - kind="dir" - revision="1584"/> -<entry - committed-rev="1585" - name="node7.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="a093f4493a8d1b19db8a5dc6db96aee2" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="previous.gif" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="57ccc2604089b7eb759578897d5f2e3c" - last-author="casper" - kind="file" - prop-time="2005-07-07T13:49:38.000000Z"/> -<entry - committed-rev="1274" - name="next.gif" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="9b81d8d96d2a76040ed1ffe5605c886f" - last-author="casper" - kind="file" - prop-time="2005-07-07T13:49:38.000000Z"/> -<entry - name="src" - kind="dir"/> -<entry - committed-rev="1585" - name="intlabels.pl" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="733eff09971a24ecb4fbaf5d74c0927d" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="up.gif" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="f0a4d04e0c6e11f2e557da65776e6645" - last-author="casper" - kind="file" - prop-time="2005-07-07T13:49:38.000000Z"/> -<entry - committed-rev="1585" - name="module-alsaaudio.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="4975c5b625113000380888c5a1d57cd7" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="pyfav.gif" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="3ec327b4e2b2d3b712efbbe000e18a5a" - last-author="casper" - kind="file" - prop-time="2005-07-07T13:49:38.000000Z"/> -<entry - committed-rev="1585" - name="front.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="3628ea13543589ec8c6f9ae6dccd5831" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="blank.gif" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="34edb7b43fe856a1d7d7402504f81797" - last-author="casper" - kind="file" - prop-time="2005-07-07T13:49:38.000000Z"/> -<entry - committed-rev="1585" - name="contents.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="272cfe13d2d53cc591ccd913b042f724" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="contents.gif" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="103f27b271c293edd555cff65a2bee53" - last-author="casper" - kind="file" - prop-time="2005-07-07T13:49:38.000000Z"/> -<entry - committed-rev="1585" - name="pyalsaaudio.css" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="0e22fb5bbc524eb380193ba758127487" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="pcm-objects.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="4106fe70fd35683a4014ba273ca9f51e" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="internals.pl" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="ca2b5426eb4a9d57e3545ac596eac928" - last-author="casper" - kind="file"/> -<entry - committed-rev="1585" - name="index.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="149bd2deba94b730700b015eeaa2b8c0" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="node3.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="661561d381936e676afeb7f4b28dc309" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="index.gif" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="a58f486cd4242b6f3d178647388381a1" - last-author="casper" - kind="file" - prop-time="2005-07-07T13:49:38.000000Z"/> -<entry - committed-rev="1585" - name="pcm-example.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="ed057e8959cf036b6e74bf849a5f98e6" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="node4.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="112c37da67fb3e1945b67f5c8f308b9a" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="labels.pl" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="a8a08423337783320e04965d81b628cc" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="modules.gif" - text-time="2005-07-07T13:49:38.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="a0a980c08c5489be525614583336f06a" - last-author="casper" - kind="file" - prop-time="2005-07-07T13:49:38.000000Z"/> -<entry - committed-rev="1585" - name="about.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="85baafc25f77c50890c476a27392f034" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="node5.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="bfaf209f678b544ce893ae593111d6ea" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="pyalsaaudio.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="149bd2deba94b730700b015eeaa2b8c0" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="mixer-objects.html" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="4a655786c2c9b88caa1e5a10498de48c" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1274" - name="index.dat" - text-time="2005-07-09T21:14:56.000000Z" - committed-date="2005-03-25T23:37:10.228413Z" - checksum="06106f07b3e2cfe4e1694cabf5de8e8a" - last-author="casper" - kind="file"/> -</wc-entries> diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/format b/arch_src/pyalsaaudio-0.2/doc/.svn/format deleted file mode 100644 index b8626c4..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/format +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/blank.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/blank.gif.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/blank.gif.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/contents.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/contents.gif.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/contents.gif.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/index.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/index.gif.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/index.gif.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/modules.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/modules.gif.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/modules.gif.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/next.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/next.gif.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/next.gif.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/previous.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/previous.gif.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/previous.gif.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/pyfav.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/pyfav.gif.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/pyfav.gif.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/up.gif.svn-base b/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/up.gif.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/prop-base/up.gif.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/props/blank.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/props/blank.gif.svn-work deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/props/blank.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/props/contents.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/props/contents.gif.svn-work deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/props/contents.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/props/index.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/props/index.gif.svn-work deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/props/index.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/props/modules.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/props/modules.gif.svn-work deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/props/modules.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/props/next.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/props/next.gif.svn-work deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/props/next.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/props/previous.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/props/previous.gif.svn-work deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/props/previous.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/props/pyfav.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/props/pyfav.gif.svn-work deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/props/pyfav.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/props/up.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/props/up.gif.svn-work deleted file mode 100644 index 5e9587e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/props/up.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END 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 deleted file mode 100644 index c47ebca..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/about.html.svn-base +++ /dev/null @@ -1,110 +0,0 @@ -<!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 differdeleted file mode 100644 index 2e31f4e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/blank.gif.svn-base +++ /dev/null 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 differdeleted file mode 100644 index 6d299c4..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/contents.gif.svn-base +++ /dev/null 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 deleted file mode 100644 index 7f5eb2a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/contents.html.svn-base +++ /dev/null @@ -1,106 +0,0 @@ -<!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 deleted file mode 100644 index bbcdbc5..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/front.html.svn-base +++ /dev/null @@ -1,119 +0,0 @@ -<!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 deleted file mode 100644 index 8efff3f..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.dat.svn-base +++ /dev/null @@ -1,27 +0,0 @@ -<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 differdeleted file mode 100644 index 32eecfb..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.gif.svn-base +++ /dev/null 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 deleted file mode 100644 index fc3e86f..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/index.html.svn-base +++ /dev/null @@ -1,110 +0,0 @@ -<!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 deleted file mode 100644 index 4864f4b..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/internals.pl.svn-base +++ /dev/null @@ -1,34 +0,0 @@ -# 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 deleted file mode 100644 index 972ec5a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/intlabels.pl.svn-base +++ /dev/null @@ -1,30 +0,0 @@ -%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 deleted file mode 100644 index f3d0859..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/labels.pl.svn-base +++ /dev/null @@ -1,57 +0,0 @@ -# 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 deleted file mode 100644 index 5a4d516..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/mixer-objects.html.svn-base +++ /dev/null @@ -1,327 +0,0 @@ -<!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 deleted file mode 100644 index c3673ee..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/module-alsaaudio.html.svn-base +++ /dev/null @@ -1,167 +0,0 @@ -<!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 differdeleted file mode 100644 index f5860b6..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/modules.gif.svn-base +++ /dev/null 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 differdeleted file mode 100644 index 5dcaff8..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/next.gif.svn-base +++ /dev/null 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 deleted file mode 100644 index e848a78..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node3.html.svn-base +++ /dev/null @@ -1,120 +0,0 @@ -<!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 deleted file mode 100644 index 9c6ab01..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node4.html.svn-base +++ /dev/null @@ -1,116 +0,0 @@ -<!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 deleted file mode 100644 index 923ac75..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node5.html.svn-base +++ /dev/null @@ -1,115 +0,0 @@ -<!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 deleted file mode 100644 index f58333a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/node7.html.svn-base +++ /dev/null @@ -1,169 +0,0 @@ -<!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 deleted file mode 100644 index d458bac..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pcm-example.html.svn-base +++ /dev/null @@ -1,99 +0,0 @@ -<!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 deleted file mode 100644 index 3fc5d78..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pcm-objects.html.svn-base +++ /dev/null @@ -1,331 +0,0 @@ -<!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 differdeleted file mode 100644 index de1da16..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/previous.gif.svn-base +++ /dev/null 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 deleted file mode 100644 index 06a613c..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyalsaaudio.css.svn-base +++ /dev/null @@ -1,243 +0,0 @@ -/* - * 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 deleted file mode 100644 index fc3e86f..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyalsaaudio.html.svn-base +++ /dev/null @@ -1,110 +0,0 @@ -<!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 differdeleted file mode 100644 index 58271ed..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/pyfav.gif.svn-base +++ /dev/null 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 differdeleted file mode 100644 index a9d3e13..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/text-base/up.gif.svn-base +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/about.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/about.html.svn-work deleted file mode 100644 index d2c4115..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/about.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 64 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/about.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/blank.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/blank.gif.svn-work deleted file mode 100644 index 52ec074..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/blank.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 63 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/blank.gif -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/contents.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/contents.gif.svn-work deleted file mode 100644 index ac50bbd..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/contents.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 66 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/contents.gif -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/contents.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/contents.html.svn-work deleted file mode 100644 index 443432d..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/contents.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 67 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/contents.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/front.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/front.html.svn-work deleted file mode 100644 index abbbcfc..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/front.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 64 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/front.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.dat.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.dat.svn-work deleted file mode 100644 index fd24f9a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.dat.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 63 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/index.dat -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.gif.svn-work deleted file mode 100644 index a2f5186..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 63 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/index.gif -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.html.svn-work deleted file mode 100644 index 92d1677..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/index.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 64 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/index.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/internals.pl.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/internals.pl.svn-work deleted file mode 100644 index b9d814a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/internals.pl.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 66 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/internals.pl -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/intlabels.pl.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/intlabels.pl.svn-work deleted file mode 100644 index 5d25e60..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/intlabels.pl.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 66 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/intlabels.pl -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/labels.pl.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/labels.pl.svn-work deleted file mode 100644 index 64dd582..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/labels.pl.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 63 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/labels.pl -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/mixer-objects.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/mixer-objects.html.svn-work deleted file mode 100644 index ac8fdd4..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/mixer-objects.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 72 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/mixer-objects.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/module-alsaaudio.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/module-alsaaudio.html.svn-work deleted file mode 100644 index 2d9603a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/module-alsaaudio.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 75 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/module-alsaaudio.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/modules.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/modules.gif.svn-work deleted file mode 100644 index d8101b2..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/modules.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 65 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/modules.gif -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/next.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/next.gif.svn-work deleted file mode 100644 index c5cafe7..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/next.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 62 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/next.gif -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node3.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node3.html.svn-work deleted file mode 100644 index a6cf231..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node3.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 64 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/node3.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node4.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node4.html.svn-work deleted file mode 100644 index 4046589..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node4.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 64 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/node4.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node5.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node5.html.svn-work deleted file mode 100644 index 63c0f62..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node5.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 64 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/node5.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node7.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node7.html.svn-work deleted file mode 100644 index c5d1273..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/node7.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 64 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/node7.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pcm-example.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pcm-example.html.svn-work deleted file mode 100644 index af3e8f0..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pcm-example.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 70 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/pcm-example.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pcm-objects.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pcm-objects.html.svn-work deleted file mode 100644 index 2c2e3d0..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pcm-objects.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 70 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/pcm-objects.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/previous.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/previous.gif.svn-work deleted file mode 100644 index 101dadf..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/previous.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 66 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/previous.gif -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyalsaaudio.css.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyalsaaudio.css.svn-work deleted file mode 100644 index 0667b51..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyalsaaudio.css.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 69 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/pyalsaaudio.css -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyalsaaudio.html.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyalsaaudio.html.svn-work deleted file mode 100644 index 5967be8..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyalsaaudio.html.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 70 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/pyalsaaudio.html -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyfav.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyfav.gif.svn-work deleted file mode 100644 index 57581c8..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/pyfav.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 63 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/pyfav.gif -END diff --git a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/up.gif.svn-work b/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/up.gif.svn-work deleted file mode 100644 index 3a936ad..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/.svn/wcprops/up.gif.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 60 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/up.gif -END diff --git a/arch_src/pyalsaaudio-0.2/doc/about.html b/arch_src/pyalsaaudio-0.2/doc/about.html deleted file mode 100644 index c47ebca..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/about.html +++ /dev/null @@ -1,110 +0,0 @@ -<!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/blank.gif b/arch_src/pyalsaaudio-0.2/doc/blank.gif Binary files differdeleted file mode 100644 index 2e31f4e..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/blank.gif +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/blank.png b/arch_src/pyalsaaudio-0.2/doc/blank.png Binary files differdeleted file mode 100644 index 2af5639..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/blank.png +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/contents.gif b/arch_src/pyalsaaudio-0.2/doc/contents.gif Binary files differdeleted file mode 100644 index 6d299c4..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/contents.gif +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/contents.html b/arch_src/pyalsaaudio-0.2/doc/contents.html deleted file mode 100644 index 7f5eb2a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/contents.html +++ /dev/null @@ -1,106 +0,0 @@ -<!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/contents.png b/arch_src/pyalsaaudio-0.2/doc/contents.png Binary files differdeleted file mode 100644 index 3429be0..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/contents.png +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/front.html b/arch_src/pyalsaaudio-0.2/doc/front.html deleted file mode 100644 index bbcdbc5..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/front.html +++ /dev/null @@ -1,119 +0,0 @@ -<!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/index.dat b/arch_src/pyalsaaudio-0.2/doc/index.dat deleted file mode 100644 index 8efff3f..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/index.dat +++ /dev/null @@ -1,27 +0,0 @@ -<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/index.gif b/arch_src/pyalsaaudio-0.2/doc/index.gif Binary files differdeleted file mode 100644 index 32eecfb..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/index.gif +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/index.html b/arch_src/pyalsaaudio-0.2/doc/index.html deleted file mode 100644 index fc3e86f..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/index.html +++ /dev/null @@ -1,110 +0,0 @@ -<!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/index.png b/arch_src/pyalsaaudio-0.2/doc/index.png Binary files differdeleted file mode 100644 index cd918af..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/index.png +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/internals.pl b/arch_src/pyalsaaudio-0.2/doc/internals.pl deleted file mode 100644 index 4864f4b..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/internals.pl +++ /dev/null @@ -1,34 +0,0 @@ -# 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/intlabels.pl b/arch_src/pyalsaaudio-0.2/doc/intlabels.pl deleted file mode 100644 index 972ec5a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/intlabels.pl +++ /dev/null @@ -1,30 +0,0 @@ -%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/labels.pl b/arch_src/pyalsaaudio-0.2/doc/labels.pl deleted file mode 100644 index f3d0859..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/labels.pl +++ /dev/null @@ -1,57 +0,0 @@ -# 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/mixer-objects.html b/arch_src/pyalsaaudio-0.2/doc/mixer-objects.html deleted file mode 100644 index 5a4d516..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/mixer-objects.html +++ /dev/null @@ -1,327 +0,0 @@ -<!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/module-alsaaudio.html b/arch_src/pyalsaaudio-0.2/doc/module-alsaaudio.html deleted file mode 100644 index c3673ee..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/module-alsaaudio.html +++ /dev/null @@ -1,167 +0,0 @@ -<!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/modules.gif b/arch_src/pyalsaaudio-0.2/doc/modules.gif Binary files differdeleted file mode 100644 index f5860b6..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/modules.gif +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/modules.png b/arch_src/pyalsaaudio-0.2/doc/modules.png Binary files differdeleted file mode 100644 index 8fa8b75..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/modules.png +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/next.gif b/arch_src/pyalsaaudio-0.2/doc/next.gif Binary files differdeleted file mode 100644 index 5dcaff8..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/next.gif +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/next.png b/arch_src/pyalsaaudio-0.2/doc/next.png Binary files differdeleted file mode 100644 index cfe5e51..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/next.png +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/node3.html b/arch_src/pyalsaaudio-0.2/doc/node3.html deleted file mode 100644 index e848a78..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/node3.html +++ /dev/null @@ -1,120 +0,0 @@ -<!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/node4.html b/arch_src/pyalsaaudio-0.2/doc/node4.html deleted file mode 100644 index 9c6ab01..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/node4.html +++ /dev/null @@ -1,116 +0,0 @@ -<!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/node5.html b/arch_src/pyalsaaudio-0.2/doc/node5.html deleted file mode 100644 index 923ac75..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/node5.html +++ /dev/null @@ -1,115 +0,0 @@ -<!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/node7.html b/arch_src/pyalsaaudio-0.2/doc/node7.html deleted file mode 100644 index f58333a..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/node7.html +++ /dev/null @@ -1,169 +0,0 @@ -<!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/pcm-example.html b/arch_src/pyalsaaudio-0.2/doc/pcm-example.html deleted file mode 100644 index d458bac..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/pcm-example.html +++ /dev/null @@ -1,99 +0,0 @@ -<!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/pcm-objects.html b/arch_src/pyalsaaudio-0.2/doc/pcm-objects.html deleted file mode 100644 index 3fc5d78..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/pcm-objects.html +++ /dev/null @@ -1,331 +0,0 @@ -<!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/previous.gif b/arch_src/pyalsaaudio-0.2/doc/previous.gif Binary files differdeleted file mode 100644 index de1da16..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/previous.gif +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/previous.png b/arch_src/pyalsaaudio-0.2/doc/previous.png Binary files differdeleted file mode 100644 index 497def4..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/previous.png +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/pyalsaaudio.css b/arch_src/pyalsaaudio-0.2/doc/pyalsaaudio.css deleted file mode 100644 index 06a613c..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/pyalsaaudio.css +++ /dev/null @@ -1,243 +0,0 @@ -/* - * 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/pyalsaaudio.html b/arch_src/pyalsaaudio-0.2/doc/pyalsaaudio.html deleted file mode 100644 index fc3e86f..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/pyalsaaudio.html +++ /dev/null @@ -1,110 +0,0 @@ -<!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/pyfav.gif b/arch_src/pyalsaaudio-0.2/doc/pyfav.gif Binary files differdeleted file mode 100644 index 58271ed..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/pyfav.gif +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/pyfav.png b/arch_src/pyalsaaudio-0.2/doc/pyfav.png Binary files differdeleted file mode 100644 index d2d8669..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/pyfav.png +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/README.txt b/arch_src/pyalsaaudio-0.2/doc/src/.svn/README.txt deleted file mode 100644 index 271a8ce..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/README.txt +++ /dev/null @@ -1,2 +0,0 @@ -This is a Subversion working copy administrative directory. -Visit http://subversion.tigris.org/ for more information. diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/dir-wcprops b/arch_src/pyalsaaudio-0.2/doc/src/.svn/dir-wcprops deleted file mode 100644 index 208849d..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/dir-wcprops +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 57 -/svn/Shtoom/!svn/ver/1274/trunk/audio/pyalsaaudio/doc/src -END diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/empty-file b/arch_src/pyalsaaudio-0.2/doc/src/.svn/empty-file deleted file mode 100644 index e69de29..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/empty-file +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/entries b/arch_src/pyalsaaudio-0.2/doc/src/.svn/entries deleted file mode 100644 index 3bd9b4c..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/entries +++ /dev/null @@ -1,39 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<wc-entries - xmlns="svn:"> -<entry - committed-rev="1274" - name="" - committed-date="2005-03-25T23:37:10.228413Z" - url="http://casperr@divmod.org/svn/Shtoom/trunk/audio/pyalsaaudio/doc/src" - last-author="casper" - kind="dir" - revision="1584"/> -<entry - committed-rev="1585" - name="libalsaaudio.tex" - text-time="2005-07-09T21:08:46.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="757600e4551bc4d9367fcbfe79a0b144" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="pyalsaaudio.tex" - text-time="2005-07-09T21:08:58.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="43e07db73c7507adde7404d63a2b42f6" - last-author="casper" - kind="file" - revision="1585"/> -<entry - committed-rev="1585" - name="Makefile" - text-time="2005-07-09T21:14:53.000000Z" - committed-date="2005-07-09T21:26:15.500773Z" - checksum="350ef37c7f1fcf3e2ff2c4a05eec328d" - last-author="casper" - kind="file" - revision="1585"/> -</wc-entries> diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/format b/arch_src/pyalsaaudio-0.2/doc/src/.svn/format deleted file mode 100644 index b8626c4..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/format +++ /dev/null @@ -1 +0,0 @@ -4 diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/Makefile.svn-base b/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/Makefile.svn-base deleted file mode 100644 index 44c3313..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/Makefile.svn-base +++ /dev/null @@ -1,20 +0,0 @@ -# Makefile for PyAlsaAudio documentation -# -# In order to use this you need an unpacked version of the -# Python source available. Set the source path below -# -# You also need a working latex installation, and the latex2html -# tool installed. -PYTHONSOURCE = /usr/src/Python-2.4.1/ - -# Shouldn't need to change anything below here! - -MKHOWTO = $(PYTHONSOURCE)/Doc/tools/mkhowto - -all: - $(MKHOWTO) --dir .. --html pyalsaaudio.tex - -text: - $(MKHOWTO) --dir .. --text pyalsaaudio.tex - - diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/libalsaaudio.tex.svn-base b/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/libalsaaudio.tex.svn-base deleted file mode 100644 index c50ffe5..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/libalsaaudio.tex.svn-base +++ /dev/null @@ -1,397 +0,0 @@ -\section{\module{alsaaudio}} - -%\declaremodule{builtin}{alsaaudio} % standard library, in C -\declaremodule{extension}{alsaaudio} % not standard, in C - -\platform{Linux} - -\moduleauthor{Casper Wilstrup}{cwi@unispeed.com} % Author of the module code; - - -\modulesynopsis{ALSA sound support} - - -The \module{alsaaudio} module defines functions and classes for using -ALSA. - -% ---- 3.1. ---- -% For each function, use a ``funcdesc'' block. This has exactly two -% parameters (each parameters is contained in a set of curly braces): -% the first parameter is the function name (this automatically -% generates an index entry); the second parameter is the function's -% argument list. If there are no arguments, use an empty pair of -% curly braces. If there is more than one argument, separate the -% arguments with backslash-comma. Optional parts of the parameter -% list are contained in \optional{...} (this generates a set of square -% brackets around its parameter). Arguments are automatically set in -% italics in the parameter list. Each argument should be mentioned at -% least once in the description; each usage (even inside \code{...}) -% should be enclosed in \var{...}. - -\begin{funcdesc}{mixers}{\optional{cardname}} -List the available mixers. The optional \var{cardname} 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 -\end{funcdesc} - -\begin{classdesc}{PCM}{\optional{type}, \optional{mode}, \optional{cardname}} -This class is used to represent a PCM device (both playback and capture devices). -The arguments are: \\ -\var{type} - can be either PCM_CAPTURE or PCM_PLAYBACK (default). \\ -\var{mode} - can be either PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL (the default).\\ -\var{cardname} - 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 -\end{classdesc} - -\begin{classdesc}{Mixer}{\optional{control}, \optional{id}, \optional{cardname}} -This class is used to access a specific ALSA mixer. -The arguments are: \\ -\var{control} - Name of the chosen mixed (default is Master). \\ -\var{id} - id of mixer (default is 0) -- More explaniation needed here\\ -\var{cardname} 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 -\end{classdesc} - - -\begin{excdesc}{ALSAAudioError} -Exception raised when an operation fails for a ALSA specific reason. -The exception argument is a string describing the reason of the -failure. -\end{excdesc} - -\subsection{PCM Terminology and Concepts} - -In order to use PCM devices it is useful to be familiar with some concepts and -terminology. - -\begin{description} -\item[Sample] 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. - -\item[Frame] 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. - -\item[Frame size] 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 - -\item[Rate] 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. - -\item[Data rate] This is the number of bytes, which must be recorded or provided per second -at a certain frame size and rate. - -8000 Hz mono sound with 8 bit (1 byte) samples has a data rate of 8000 * 1 * 1 = 8 kb/s - -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) - -\item[Period] 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. - -\item[Period size] This is the size of each period in Hz. \emph{Not bytes, but Hz!.} In \module{alsaaudio} -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. - -\end{description} - -Once you understand these concepts, you will be ready to actually utilize PCM API. Read on. - -\subsection{PCM Objects} -\label{pcm-objects} - -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. - -PCM objects in \module{alsaaudio} 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: - -\begin{classdesc}{PCM}{\optional{type}, \optional{mode}, \optional{cardname}} - -\var{type} - can be either PCM_CAPTURE or PCM_PLAYBACK (default). - -\var{mode} - 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. - -In the current version of \module{alsaaudio} PCM_ASYNC is useless, since it relies -on a callback procedure, which can't be specified from Python. - -\var{cardname} - 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 - -This will construct a PCM object with default settings: - -Sample format: PCM_FORMAT_S16_LE \\ -Rate: 8000 Hz \\ -Channels: 2 \\ -Period size: 32 frames \\ -\end{classdesc} - -PCM objects have the following methods: - -\begin{methoddesc}[PCM]{pcmtype}{} -Returns the type of PCM object. Either PCM_CAPTURE or PCM_PLAYBACK. -\end{methoddesc} - -\begin{methoddesc}[PCM]{pcmmode}{} -Return the mode of the PCM object. One of PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL -\end{methoddesc} - -\begin{methoddesc}[PCM]{cardname}{} -Return the name of the sound card used by this PCM object. -\end{methoddesc} - -\begin{methoddesc}[PCM]{setchannels}{nchannels} -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 -\end{methoddesc} - -\begin{methoddesc}[PCM]{setrate}{rate} -Set the sample rate in Hz for the device. Typical values are 8000 (poor sound), 16000, 44100 (cd quality), -and 96000 -\end{methoddesc} - -\begin{methoddesc}[PCM]{setformat}{} -The sound format of the device. Sound format controls how the PCM device interpret data for playback, -and how data is encoded in captures. - -The following formats are provided by ALSA: -\begin{tableii}{l|l}{Formats}{Format}{Description} - \lineii{PCM_FORMAT_S8}{Signed 8 bit samples for each channel} - \lineii{PCM_FORMAT_U8}{Signed 8 bit samples for each channel} - \lineii{PCM_FORMAT_S16_LE}{Signed 16 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_S16_BE}{Signed 16 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_U16_LE}{Unsigned 16 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_U16_BE}{Unsigned 16 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_S24_LE}{Signed 24 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_S24_BE}{Signed 24 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_U24_LE}{Unsigned 24 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_U24_BE}{Unsigned 24 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_S32_LE}{Signed 32 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_S32_BE}{Signed 32 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_U32_LE}{Unsigned 32 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_U32_BE}{Unsigned 32 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_FLOAT_LE}{32 bit samples encoded as float. (Little Endian byte order)} - \lineii{PCM_FORMAT_FLOAT_BE}{32 bit samples encoded as float (Big Endian byte order)} - \lineii{PCM_FORMAT_FLOAT64_LE}{64 bit samples encoded as float. (Little Endian byte order)} - \lineii{PCM_FORMAT_FLOAT64_BE}{64 bit samples encoded as float. (Big Endian byte order)} - \lineii{PCM_FORMAT_MU_LAW}{A logarithmic encoding (used by Sun .au files)} - \lineii{PCM_FORMAT_A_LAW}{Another logarithmic encoding} - \lineii{PCM_FORMAT_IMA_ADPCM}{a 4:1 compressed format defined by the Interactive Multimedia Association} - \lineii{PCM_FORMAT_MPEG}{MPEG encoded audio?} - \lineii{PCM_FORMAT_GSM}{9600 constant rate encoding well suitet for speech} -\end{tableii} - -\end{methoddesc} - -\begin{methoddesc}[PCM]{setperiodsize}{period} -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) -\end{methoddesc} - -\begin{methoddesc}[PCM]{read}{} -In PCM_NORMAL mode, this function blocks until a full period is available, and then returns a -tuple (length,data) where \emph{length} is the size in bytes of the captured data, and \emph{data} -is the captured sound frames as a string. The length of the returned data will be periodsize*framesize -bytes. - -In PCM_NONBLOCK mode, the call will not block, but will return \code{(0,'')} if no new period -has become available since the last call to read. -\end{methoddesc} - -\begin{methoddesc}[PCM]{write}{data} -Writes (plays) the sound in data. The length of data \emph{must} be a multiple of the frame size, and -\emph{should} 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. - -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 - -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. - -\end{methoddesc} - -\strong{A few hints on using PCM devices for playback} - -The most common reason for problems with playback of PCM audio, is that the people don't properly understand -that writes to PCM devices must match \emph{exactly} the data rate of the device. - -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). - -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. - -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. - -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. - -\subsection{Mixer Objects} -\label{mixer-objects} - -Mixer objects provides access to the ALSA mixer API. - -\begin{classdesc}{Mixer}{\optional{control}, \optional{id}, \optional{cardname}} -\var{control} - specifies which control to manipulate using this mixer object. The list -of available controls can be found with the \module{alsaaudio}.\function{mixers} function. -The default value is 'Master' - other common controls include 'Master Mono', 'PCM', 'Line', etc. - -\var{id} - the id of the mixer control. Default is 0 - -\var{cardname} - 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 -\end{classdesc} - -Mixer objects have the following methods: - -\begin{methoddesc}[Mixer]{cardname}{} -Return the name of the sound card used by this Mixer object -\end{methoddesc} - -\begin{methoddesc}[Mixer]{mixer}{} -Return the name of the specific mixer controlled by this object, For example 'Master' -or 'PCM' -\end{methoddesc} - -\begin{methoddesc}[Mixer]{mixerid}{} -Return the ID of the ALSA mixer controlled by this object. -\end{methoddesc} - -\begin{methoddesc}[Mixer]{switchcap}{} -Returns a list of the switches which are defined by this specific mixer. Possible values in -this list are: - -\begin{tableii}{l|l}{Switches}{Switch}{Description} - \lineii{'Mute'}{This mixer can be muted} - \lineii{'Joined Mute'}{This mixer can mute all channels at the same time} - \lineii{'Playback Mute'}{This mixer can mute the playback output} - \lineii{'Joined Playback Mute'}{Mute playback for all channels at the same time} - \lineii{'Capture Mute'}{Mute sound capture} - \lineii{'Joined Capture Mute'}{Mute sound capture for all channels at a time} - \lineii{'Capture Exclusive'}{Not quite sure what this is} -\end{tableii} - -To manipulate these swithes use the \method{setrec} or \method{setmute} methods -\end{methoddesc} - -\begin{methoddesc}[Mixer]{volumecap}{} -Returns a list of the volume control capabilities of this mixer. Possible values in -the list are: - -\begin{tableii}{l|l}{Volume Capabilities}{Capability}{Description} - \lineii{'Volume'}{This mixer can control volume} - \lineii{'Joined Volume'}{This mixer can control volume for all channels at the same time} - \lineii{'Playback Volume'}{This mixer can manipulate the playback volume} - \lineii{'Joined Playback Volume'}{Manipulate playback volumne for all channels at the same time} - \lineii{'Capture Volume'}{Manipulate sound capture volume} - \lineii{'Joined Capture Volume'}{Manipulate sound capture volume for all channels at a time} -\end{tableii} - -\end{methoddesc} - -\begin{methoddesc}[Mixer]{getvolume}{\optional{direction}} -Returns a list with the current volume settings for each channel. The list elements -are integer percentages. - -The optional \var{direction} 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' - -\end{methoddesc} - -\begin{methoddesc}[Mixer]{getmute}{} -Return a list indicating the current mute setting for each channel. 0 means not muted, 1 means muted. - -This method will fail if the mixer has no playback switch capabilities. -\end{methoddesc} - -\begin{methoddesc}[Mixer]{getrec}{} -Return a list indicating the current record mute setting for each channel. 0 means not recording, 1 -means not recording. - -This method will fail if the mixer has no capture switch capabilities. -\end{methoddesc} - -\begin{methoddesc}[Mixer]{setvolume}{volume,\optional{channel},\optional{direction}} -Change the current volume settings for this mixer. The \var{volume} argument controls -the new volume setting as an integer percentage. - -If the optional argument \var{channel} is present, the volume is set only for this channel. This -assumes that the mixer can control the volume for the channels independently. - -The optional \var{direction} 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'. -\end{methoddesc} - -\begin{methoddesc}[Mixer]{setmute}{mute, \optional{channel}} -Sets the mute flag to a new value. The \var{mute} argument is either 0 for not muted, or 1 for muted. - -The optional \var{channel} argument controls which channel is muted. The default is to set the mute flag -for all channels. - -This method will fail if the mixer has no playback mute capabilities -\end{methoddesc} - -\begin{methoddesc}[Mixer]{setrec}{capture,\optional{channel}} -Sets the capture mute flag to a new value. The \var{capture} argument is either 0 for no capture, -or 1 for capture. - -The optional \var{channel} argument controls which channel is changed. The default is to set the capture flag -for all channels. - -This method will fail if the mixer has no capture switch capabilities -\end{methoddesc} - - -\textbf{A Note on the ALSA Mixer API} - -The ALSA mixer API is extremely complicated - and hardly documented at all. \module{alsaaudio} 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 \module{alsaaudio} API is easy to understand and use. - -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. - -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. - -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. - - - -% ==== 4. ==== -\subsection{ALSA Examples \label{pcm-example}} - -For now, the only examples available are the 'playbacktest.py' and the 'recordtest.py' programs included. -This will change in a future version. diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/pyalsaaudio.tex.svn-base b/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/pyalsaaudio.tex.svn-base deleted file mode 100644 index 1a5a4b0..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/text-base/pyalsaaudio.tex.svn-base +++ /dev/null @@ -1,107 +0,0 @@ -\documentclass{howto} - -\title{PyAlsaAudio} - -\release{0.2} - -% At minimum, give your name and an email address. You can include a -% snail-mail address if you like. -\author{Casper Wilstrup} -\authoraddress{cwi@unispeed.com} - -\begin{document} -\maketitle - -% This makes the Abstract go on a separate page in the HTML version; -% if a copyright notice is used, it should go immediately after this. -% -\ifhtml -\chapter*{Front Matter\label{front}} -\fi - -% Copyright statement should go here, if needed. -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. - -% The abstract should be a paragraph or two long, and describe the -% scope of the document. -\begin{abstract} -\noindent -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. - -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. -\end{abstract} - -\tableofcontents - -\section{What is ALSA} - -The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI -functionality to the Linux operating system. - -Logically ALSA consists of these components: -\begin{itemize} - \item A set of kernel drivers.\\ - 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 - \item A kernel level API for manipulating the ALSA devices. - \item A user-space C library for simplified access to the sound hardware - from userspace applications. This library is called \textit{libasound} - and is required by all ALSA capable applications. -\end{itemize} - -More information about ALSA may be found on the project homepage -\url{http://www.alsa-project.org} - -\section{ALSA and Python} - -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). - -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. - -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. - -PyAlsaAudio hass full support for sound capture, playback of sound, as well as -the ALSA Mixer API. - -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 -\section{Installation} - -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. - -To install, execute the following: \\ -\begin{verbatim} -$ python setup.py build -\end{verbatim} - -And then as root: \\ -\begin{verbatim} -# python setup.py install -\end{verbatim} - -\input{libalsaaudio} - - - - -\end{document} diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/Makefile.svn-work b/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/Makefile.svn-work deleted file mode 100644 index 5af62dd..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/Makefile.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 66 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/src/Makefile -END diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/libalsaaudio.tex.svn-work b/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/libalsaaudio.tex.svn-work deleted file mode 100644 index a30dac2..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/libalsaaudio.tex.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 74 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/src/libalsaaudio.tex -END diff --git a/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/pyalsaaudio.tex.svn-work b/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/pyalsaaudio.tex.svn-work deleted file mode 100644 index b1bf388..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/.svn/wcprops/pyalsaaudio.tex.svn-work +++ /dev/null @@ -1,5 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 73 -/svn/Shtoom/!svn/ver/1585/trunk/audio/pyalsaaudio/doc/src/pyalsaaudio.tex -END diff --git a/arch_src/pyalsaaudio-0.2/doc/src/Makefile b/arch_src/pyalsaaudio-0.2/doc/src/Makefile deleted file mode 100644 index 44c3313..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -# Makefile for PyAlsaAudio documentation -# -# In order to use this you need an unpacked version of the -# Python source available. Set the source path below -# -# You also need a working latex installation, and the latex2html -# tool installed. -PYTHONSOURCE = /usr/src/Python-2.4.1/ - -# Shouldn't need to change anything below here! - -MKHOWTO = $(PYTHONSOURCE)/Doc/tools/mkhowto - -all: - $(MKHOWTO) --dir .. --html pyalsaaudio.tex - -text: - $(MKHOWTO) --dir .. --text pyalsaaudio.tex - - diff --git a/arch_src/pyalsaaudio-0.2/doc/src/libalsaaudio.tex b/arch_src/pyalsaaudio-0.2/doc/src/libalsaaudio.tex deleted file mode 100644 index c50ffe5..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/libalsaaudio.tex +++ /dev/null @@ -1,397 +0,0 @@ -\section{\module{alsaaudio}} - -%\declaremodule{builtin}{alsaaudio} % standard library, in C -\declaremodule{extension}{alsaaudio} % not standard, in C - -\platform{Linux} - -\moduleauthor{Casper Wilstrup}{cwi@unispeed.com} % Author of the module code; - - -\modulesynopsis{ALSA sound support} - - -The \module{alsaaudio} module defines functions and classes for using -ALSA. - -% ---- 3.1. ---- -% For each function, use a ``funcdesc'' block. This has exactly two -% parameters (each parameters is contained in a set of curly braces): -% the first parameter is the function name (this automatically -% generates an index entry); the second parameter is the function's -% argument list. If there are no arguments, use an empty pair of -% curly braces. If there is more than one argument, separate the -% arguments with backslash-comma. Optional parts of the parameter -% list are contained in \optional{...} (this generates a set of square -% brackets around its parameter). Arguments are automatically set in -% italics in the parameter list. Each argument should be mentioned at -% least once in the description; each usage (even inside \code{...}) -% should be enclosed in \var{...}. - -\begin{funcdesc}{mixers}{\optional{cardname}} -List the available mixers. The optional \var{cardname} 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 -\end{funcdesc} - -\begin{classdesc}{PCM}{\optional{type}, \optional{mode}, \optional{cardname}} -This class is used to represent a PCM device (both playback and capture devices). -The arguments are: \\ -\var{type} - can be either PCM_CAPTURE or PCM_PLAYBACK (default). \\ -\var{mode} - can be either PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL (the default).\\ -\var{cardname} - 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 -\end{classdesc} - -\begin{classdesc}{Mixer}{\optional{control}, \optional{id}, \optional{cardname}} -This class is used to access a specific ALSA mixer. -The arguments are: \\ -\var{control} - Name of the chosen mixed (default is Master). \\ -\var{id} - id of mixer (default is 0) -- More explaniation needed here\\ -\var{cardname} 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 -\end{classdesc} - - -\begin{excdesc}{ALSAAudioError} -Exception raised when an operation fails for a ALSA specific reason. -The exception argument is a string describing the reason of the -failure. -\end{excdesc} - -\subsection{PCM Terminology and Concepts} - -In order to use PCM devices it is useful to be familiar with some concepts and -terminology. - -\begin{description} -\item[Sample] 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. - -\item[Frame] 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. - -\item[Frame size] 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 - -\item[Rate] 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. - -\item[Data rate] This is the number of bytes, which must be recorded or provided per second -at a certain frame size and rate. - -8000 Hz mono sound with 8 bit (1 byte) samples has a data rate of 8000 * 1 * 1 = 8 kb/s - -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) - -\item[Period] 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. - -\item[Period size] This is the size of each period in Hz. \emph{Not bytes, but Hz!.} In \module{alsaaudio} -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. - -\end{description} - -Once you understand these concepts, you will be ready to actually utilize PCM API. Read on. - -\subsection{PCM Objects} -\label{pcm-objects} - -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. - -PCM objects in \module{alsaaudio} 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: - -\begin{classdesc}{PCM}{\optional{type}, \optional{mode}, \optional{cardname}} - -\var{type} - can be either PCM_CAPTURE or PCM_PLAYBACK (default). - -\var{mode} - 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. - -In the current version of \module{alsaaudio} PCM_ASYNC is useless, since it relies -on a callback procedure, which can't be specified from Python. - -\var{cardname} - 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 - -This will construct a PCM object with default settings: - -Sample format: PCM_FORMAT_S16_LE \\ -Rate: 8000 Hz \\ -Channels: 2 \\ -Period size: 32 frames \\ -\end{classdesc} - -PCM objects have the following methods: - -\begin{methoddesc}[PCM]{pcmtype}{} -Returns the type of PCM object. Either PCM_CAPTURE or PCM_PLAYBACK. -\end{methoddesc} - -\begin{methoddesc}[PCM]{pcmmode}{} -Return the mode of the PCM object. One of PCM_NONBLOCK, PCM_ASYNC, or PCM_NORMAL -\end{methoddesc} - -\begin{methoddesc}[PCM]{cardname}{} -Return the name of the sound card used by this PCM object. -\end{methoddesc} - -\begin{methoddesc}[PCM]{setchannels}{nchannels} -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 -\end{methoddesc} - -\begin{methoddesc}[PCM]{setrate}{rate} -Set the sample rate in Hz for the device. Typical values are 8000 (poor sound), 16000, 44100 (cd quality), -and 96000 -\end{methoddesc} - -\begin{methoddesc}[PCM]{setformat}{} -The sound format of the device. Sound format controls how the PCM device interpret data for playback, -and how data is encoded in captures. - -The following formats are provided by ALSA: -\begin{tableii}{l|l}{Formats}{Format}{Description} - \lineii{PCM_FORMAT_S8}{Signed 8 bit samples for each channel} - \lineii{PCM_FORMAT_U8}{Signed 8 bit samples for each channel} - \lineii{PCM_FORMAT_S16_LE}{Signed 16 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_S16_BE}{Signed 16 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_U16_LE}{Unsigned 16 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_U16_BE}{Unsigned 16 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_S24_LE}{Signed 24 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_S24_BE}{Signed 24 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_U24_LE}{Unsigned 24 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_U24_BE}{Unsigned 24 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_S32_LE}{Signed 32 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_S32_BE}{Signed 32 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_U32_LE}{Unsigned 32 bit samples for each channel (Little Endian byte order)} - \lineii{PCM_FORMAT_U32_BE}{Unsigned 32 bit samples for each channel (Big Endian byte order)} - \lineii{PCM_FORMAT_FLOAT_LE}{32 bit samples encoded as float. (Little Endian byte order)} - \lineii{PCM_FORMAT_FLOAT_BE}{32 bit samples encoded as float (Big Endian byte order)} - \lineii{PCM_FORMAT_FLOAT64_LE}{64 bit samples encoded as float. (Little Endian byte order)} - \lineii{PCM_FORMAT_FLOAT64_BE}{64 bit samples encoded as float. (Big Endian byte order)} - \lineii{PCM_FORMAT_MU_LAW}{A logarithmic encoding (used by Sun .au files)} - \lineii{PCM_FORMAT_A_LAW}{Another logarithmic encoding} - \lineii{PCM_FORMAT_IMA_ADPCM}{a 4:1 compressed format defined by the Interactive Multimedia Association} - \lineii{PCM_FORMAT_MPEG}{MPEG encoded audio?} - \lineii{PCM_FORMAT_GSM}{9600 constant rate encoding well suitet for speech} -\end{tableii} - -\end{methoddesc} - -\begin{methoddesc}[PCM]{setperiodsize}{period} -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) -\end{methoddesc} - -\begin{methoddesc}[PCM]{read}{} -In PCM_NORMAL mode, this function blocks until a full period is available, and then returns a -tuple (length,data) where \emph{length} is the size in bytes of the captured data, and \emph{data} -is the captured sound frames as a string. The length of the returned data will be periodsize*framesize -bytes. - -In PCM_NONBLOCK mode, the call will not block, but will return \code{(0,'')} if no new period -has become available since the last call to read. -\end{methoddesc} - -\begin{methoddesc}[PCM]{write}{data} -Writes (plays) the sound in data. The length of data \emph{must} be a multiple of the frame size, and -\emph{should} 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. - -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 - -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. - -\end{methoddesc} - -\strong{A few hints on using PCM devices for playback} - -The most common reason for problems with playback of PCM audio, is that the people don't properly understand -that writes to PCM devices must match \emph{exactly} the data rate of the device. - -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). - -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. - -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. - -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. - -\subsection{Mixer Objects} -\label{mixer-objects} - -Mixer objects provides access to the ALSA mixer API. - -\begin{classdesc}{Mixer}{\optional{control}, \optional{id}, \optional{cardname}} -\var{control} - specifies which control to manipulate using this mixer object. The list -of available controls can be found with the \module{alsaaudio}.\function{mixers} function. -The default value is 'Master' - other common controls include 'Master Mono', 'PCM', 'Line', etc. - -\var{id} - the id of the mixer control. Default is 0 - -\var{cardname} - 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 -\end{classdesc} - -Mixer objects have the following methods: - -\begin{methoddesc}[Mixer]{cardname}{} -Return the name of the sound card used by this Mixer object -\end{methoddesc} - -\begin{methoddesc}[Mixer]{mixer}{} -Return the name of the specific mixer controlled by this object, For example 'Master' -or 'PCM' -\end{methoddesc} - -\begin{methoddesc}[Mixer]{mixerid}{} -Return the ID of the ALSA mixer controlled by this object. -\end{methoddesc} - -\begin{methoddesc}[Mixer]{switchcap}{} -Returns a list of the switches which are defined by this specific mixer. Possible values in -this list are: - -\begin{tableii}{l|l}{Switches}{Switch}{Description} - \lineii{'Mute'}{This mixer can be muted} - \lineii{'Joined Mute'}{This mixer can mute all channels at the same time} - \lineii{'Playback Mute'}{This mixer can mute the playback output} - \lineii{'Joined Playback Mute'}{Mute playback for all channels at the same time} - \lineii{'Capture Mute'}{Mute sound capture} - \lineii{'Joined Capture Mute'}{Mute sound capture for all channels at a time} - \lineii{'Capture Exclusive'}{Not quite sure what this is} -\end{tableii} - -To manipulate these swithes use the \method{setrec} or \method{setmute} methods -\end{methoddesc} - -\begin{methoddesc}[Mixer]{volumecap}{} -Returns a list of the volume control capabilities of this mixer. Possible values in -the list are: - -\begin{tableii}{l|l}{Volume Capabilities}{Capability}{Description} - \lineii{'Volume'}{This mixer can control volume} - \lineii{'Joined Volume'}{This mixer can control volume for all channels at the same time} - \lineii{'Playback Volume'}{This mixer can manipulate the playback volume} - \lineii{'Joined Playback Volume'}{Manipulate playback volumne for all channels at the same time} - \lineii{'Capture Volume'}{Manipulate sound capture volume} - \lineii{'Joined Capture Volume'}{Manipulate sound capture volume for all channels at a time} -\end{tableii} - -\end{methoddesc} - -\begin{methoddesc}[Mixer]{getvolume}{\optional{direction}} -Returns a list with the current volume settings for each channel. The list elements -are integer percentages. - -The optional \var{direction} 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' - -\end{methoddesc} - -\begin{methoddesc}[Mixer]{getmute}{} -Return a list indicating the current mute setting for each channel. 0 means not muted, 1 means muted. - -This method will fail if the mixer has no playback switch capabilities. -\end{methoddesc} - -\begin{methoddesc}[Mixer]{getrec}{} -Return a list indicating the current record mute setting for each channel. 0 means not recording, 1 -means not recording. - -This method will fail if the mixer has no capture switch capabilities. -\end{methoddesc} - -\begin{methoddesc}[Mixer]{setvolume}{volume,\optional{channel},\optional{direction}} -Change the current volume settings for this mixer. The \var{volume} argument controls -the new volume setting as an integer percentage. - -If the optional argument \var{channel} is present, the volume is set only for this channel. This -assumes that the mixer can control the volume for the channels independently. - -The optional \var{direction} 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'. -\end{methoddesc} - -\begin{methoddesc}[Mixer]{setmute}{mute, \optional{channel}} -Sets the mute flag to a new value. The \var{mute} argument is either 0 for not muted, or 1 for muted. - -The optional \var{channel} argument controls which channel is muted. The default is to set the mute flag -for all channels. - -This method will fail if the mixer has no playback mute capabilities -\end{methoddesc} - -\begin{methoddesc}[Mixer]{setrec}{capture,\optional{channel}} -Sets the capture mute flag to a new value. The \var{capture} argument is either 0 for no capture, -or 1 for capture. - -The optional \var{channel} argument controls which channel is changed. The default is to set the capture flag -for all channels. - -This method will fail if the mixer has no capture switch capabilities -\end{methoddesc} - - -\textbf{A Note on the ALSA Mixer API} - -The ALSA mixer API is extremely complicated - and hardly documented at all. \module{alsaaudio} 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 \module{alsaaudio} API is easy to understand and use. - -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. - -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. - -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. - - - -% ==== 4. ==== -\subsection{ALSA Examples \label{pcm-example}} - -For now, the only examples available are the 'playbacktest.py' and the 'recordtest.py' programs included. -This will change in a future version. diff --git a/arch_src/pyalsaaudio-0.2/doc/src/pyalsaaudio.tex b/arch_src/pyalsaaudio-0.2/doc/src/pyalsaaudio.tex deleted file mode 100644 index 1a5a4b0..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/src/pyalsaaudio.tex +++ /dev/null @@ -1,107 +0,0 @@ -\documentclass{howto} - -\title{PyAlsaAudio} - -\release{0.2} - -% At minimum, give your name and an email address. You can include a -% snail-mail address if you like. -\author{Casper Wilstrup} -\authoraddress{cwi@unispeed.com} - -\begin{document} -\maketitle - -% This makes the Abstract go on a separate page in the HTML version; -% if a copyright notice is used, it should go immediately after this. -% -\ifhtml -\chapter*{Front Matter\label{front}} -\fi - -% Copyright statement should go here, if needed. -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. - -% The abstract should be a paragraph or two long, and describe the -% scope of the document. -\begin{abstract} -\noindent -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. - -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. -\end{abstract} - -\tableofcontents - -\section{What is ALSA} - -The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI -functionality to the Linux operating system. - -Logically ALSA consists of these components: -\begin{itemize} - \item A set of kernel drivers.\\ - 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 - \item A kernel level API for manipulating the ALSA devices. - \item A user-space C library for simplified access to the sound hardware - from userspace applications. This library is called \textit{libasound} - and is required by all ALSA capable applications. -\end{itemize} - -More information about ALSA may be found on the project homepage -\url{http://www.alsa-project.org} - -\section{ALSA and Python} - -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). - -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. - -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. - -PyAlsaAudio hass full support for sound capture, playback of sound, as well as -the ALSA Mixer API. - -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 -\section{Installation} - -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. - -To install, execute the following: \\ -\begin{verbatim} -$ python setup.py build -\end{verbatim} - -And then as root: \\ -\begin{verbatim} -# python setup.py install -\end{verbatim} - -\input{libalsaaudio} - - - - -\end{document} diff --git a/arch_src/pyalsaaudio-0.2/doc/up.gif b/arch_src/pyalsaaudio-0.2/doc/up.gif Binary files differdeleted file mode 100644 index a9d3e13..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/up.gif +++ /dev/null diff --git a/arch_src/pyalsaaudio-0.2/doc/up.png b/arch_src/pyalsaaudio-0.2/doc/up.png Binary files differdeleted file mode 100644 index a90e028..0000000 --- a/arch_src/pyalsaaudio-0.2/doc/up.png +++ /dev/null |