<?xml version="1.0" encoding="UTF-8"?>
<commits type="array">
  <commit>
    <parents type="array">
      <parent>
        <id>482569eab93ab14484c5684a92d7ba14798f613f</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/4b504e8aa290312cc35bf6a97a9da18ee8aa12e8</url>
    <id>4b504e8aa290312cc35bf6a97a9da18ee8aa12e8</id>
    <committed-date>2009-12-10T10:47:43-08:00</committed-date>
    <authored-date>2009-12-10T10:47:43-08:00</authored-date>
    <message>Add more documentation to the FLAC decoder.
Although still not as fast as the reference decoder,
current speed hangups are in LPC subframe calculation and residual reading.
The reference decoder handlers the former with loop unrolling
and the latter with assembly language.
Since both approaches conflict with my focus on making something easily
understandable, I'll just have to live with its current speed.</message>
    <tree>b4166315e341e2a8af94aa51c880ce78ca42af49</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>8c768d7e756e4d79f87a9b79c46fe3d1ebae9c39</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/482569eab93ab14484c5684a92d7ba14798f613f</url>
    <id>482569eab93ab14484c5684a92d7ba14798f613f</id>
    <committed-date>2009-12-09T12:22:28-08:00</committed-date>
    <authored-date>2009-12-09T12:22:28-08:00</authored-date>
    <message>Typedef various int return types into a &quot;status&quot; type for clarity.</message>
    <tree>9376de2ad5a2e787f48e0c79cd18b394dd02c64e</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>931df401bd5282824e44207525d464168392d1a4</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/8c768d7e756e4d79f87a9b79c46fe3d1ebae9c39</url>
    <id>8c768d7e756e4d79f87a9b79c46fe3d1ebae9c39</id>
    <committed-date>2009-12-09T08:37:55-08:00</committed-date>
    <authored-date>2009-12-09T08:37:55-08:00</authored-date>
    <message>Fix 8-bit FLAC decoding.</message>
    <tree>a33f753edaa40d6741a8a102ea0609d827663511</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>0c02d7dda52d4b427bc705d230ee8a010d73dca0</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/931df401bd5282824e44207525d464168392d1a4</url>
    <id>931df401bd5282824e44207525d464168392d1a4</id>
    <committed-date>2009-12-09T07:46:46-08:00</committed-date>
    <authored-date>2009-12-09T07:46:46-08:00</authored-date>
    <message>Add working CRC-8/CRC-16 checks.</message>
    <tree>173d5bb1fb9f237476d769bd3facbbc607d5dc2b</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>5075348bf401cb0605f7695d22e060957a489c66</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/0c02d7dda52d4b427bc705d230ee8a010d73dca0</url>
    <id>0c02d7dda52d4b427bc705d230ee8a010d73dca0</id>
    <committed-date>2009-12-08T16:45:01-08:00</committed-date>
    <authored-date>2009-12-08T16:45:01-08:00</authored-date>
    <message>Fix realloc bug.</message>
    <tree>aae92c65ddbc126781a9f9bebcfdab64cd8b1a49</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>b8301c590e5cce1bc651baa33a4879cfd3364df3</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/5075348bf401cb0605f7695d22e060957a489c66</url>
    <id>5075348bf401cb0605f7695d22e060957a489c66</id>
    <committed-date>2009-12-08T14:06:58-08:00</committed-date>
    <authored-date>2009-12-08T14:06:58-08:00</authored-date>
    <message>Clean out some dead code and import the state machine generator.</message>
    <tree>a79965a3e73ccb47f6d5a4161d5e1a31282ec5c7</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>bb15d139ec54e147f49df40a75b5481a0c73a53a</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/b8301c590e5cce1bc651baa33a4879cfd3364df3</url>
    <id>b8301c590e5cce1bc651baa33a4879cfd3364df3</id>
    <committed-date>2009-12-08T11:13:03-08:00</committed-date>
    <authored-date>2009-12-08T11:13:03-08:00</authored-date>
    <message>Add close() method to FlacDecoder.
In testing, while decoding is still significantly slower than flac(1),
using it in conjuction with a slower encoder such as lame(1) yields a
slight speed boost - probably because of a reduction in context switching
since the data path goes from:

flac -&gt; python -&gt; lame

to:

python -&gt; lame</message>
    <tree>a3f2dc4e2f68009ea129e3739cc76278074e9f59</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>e7830b7ca8f1dede96922394e2843a3f89a60dac</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/bb15d139ec54e147f49df40a75b5481a0c73a53a</url>
    <id>bb15d139ec54e147f49df40a75b5481a0c73a53a</id>
    <committed-date>2009-12-08T10:07:14-08:00</committed-date>
    <authored-date>2009-12-08T10:07:14-08:00</authored-date>
    <message>Convert i_array handling functions to static inline
for a minor speed boost.</message>
    <tree>5352e28a5307b06dd4f98fdfab1c369f54fb2265</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>83ab59059a2e14781e14c623a2d99f00342d171a</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/e7830b7ca8f1dede96922394e2843a3f89a60dac</url>
    <id>e7830b7ca8f1dede96922394e2843a3f89a60dac</id>
    <committed-date>2009-12-08T09:00:16-08:00</committed-date>
    <authored-date>2009-12-08T09:00:16-08:00</authored-date>
    <message>Lots of minor performance tweaks.
Still about half as fast as piping from flac(1)
because we're only reading one frame per call to read().
Once this is fixed, hopefully we'll be close enough to the reference decoder.</message>
    <tree>db6321603fcd93c289626f5153cf203ceb3a6996</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>bae9ce2afdc715e00e2df572cfffad051d487906</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/83ab59059a2e14781e14c623a2d99f00342d171a</url>
    <id>83ab59059a2e14781e14c623a2d99f00342d171a</id>
    <committed-date>2009-12-08T08:22:30-08:00</committed-date>
    <authored-date>2009-12-08T08:22:30-08:00</authored-date>
    <message>Handle wasted bits-per-sample properly.</message>
    <tree>5fc28664fc3bee0f81c9dad7c438bd5392c36135</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>ee27973f6a15901d436e7801a7c14c1d58076e66</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/bae9ce2afdc715e00e2df572cfffad051d487906</url>
    <id>bae9ce2afdc715e00e2df572cfffad051d487906</id>
    <committed-date>2009-12-08T08:09:48-08:00</committed-date>
    <authored-date>2009-12-08T08:09:48-08:00</authored-date>
    <message>Add support for VERBATIM subframes.</message>
    <tree>8aac1043459b0d6d64580f731a3a41dd410248de</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>cb85acbb8e970bb097455d8b1205d2d50460b643</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/ee27973f6a15901d436e7801a7c14c1d58076e66</url>
    <id>ee27973f6a15901d436e7801a7c14c1d58076e66</id>
    <committed-date>2009-12-08T07:54:53-08:00</committed-date>
    <authored-date>2009-12-08T07:54:53-08:00</authored-date>
    <message>Add proper frame number handling and fixed mid-size channel assignment.</message>
    <tree>737bdeeba46f6221ea2e407c308f7dd71634a6c1</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3d30c605784c1d28e50b9ac4516f825c458260e8</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/cb85acbb8e970bb097455d8b1205d2d50460b643</url>
    <id>cb85acbb8e970bb097455d8b1205d2d50460b643</id>
    <committed-date>2009-12-08T07:03:55-08:00</committed-date>
    <authored-date>2009-12-08T07:03:55-08:00</authored-date>
    <message>Add left-difference, difference-right and mid-side channel assignments.</message>
    <tree>7216a2d2a14e34de96b4fbeb0e6b6f9059dd093b</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3f7b00783cc4fcd4923db013fc987016f3e4a07b</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/3d30c605784c1d28e50b9ac4516f825c458260e8</url>
    <id>3d30c605784c1d28e50b9ac4516f825c458260e8</id>
    <committed-date>2009-12-08T06:21:06-08:00</committed-date>
    <authored-date>2009-12-08T06:21:06-08:00</authored-date>
    <message>Rename i_array functions to something more sensible.</message>
    <tree>c00709ba1b43376fcae3b265744123e137fdc300</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>02572b0c3fed9f4ace39702a2f546e1110650a8c</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/3f7b00783cc4fcd4923db013fc987016f3e4a07b</url>
    <id>3f7b00783cc4fcd4923db013fc987016f3e4a07b</id>
    <committed-date>2009-12-07T11:39:55-08:00</committed-date>
    <authored-date>2009-12-07T11:39:55-08:00</authored-date>
    <message>Add subframe string generation.</message>
    <tree>8b0f484c687c5f03a422d6ad2ca70be19681dc44</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>24d20f2d762f14343015d9030aaf221b2875bd05</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/02572b0c3fed9f4ace39702a2f546e1110650a8c</url>
    <id>02572b0c3fed9f4ace39702a2f546e1110650a8c</id>
    <committed-date>2009-12-07T10:16:27-08:00</committed-date>
    <authored-date>2009-12-07T10:16:27-08:00</authored-date>
    <message>Add LPC subframe calculation.</message>
    <tree>93c7f96ceebaca981999e7db0a075d6b9090ffa0</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>86091da7ac0a5301e62bb0cdf363d152995cd2a8</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/24d20f2d762f14343015d9030aaf221b2875bd05</url>
    <id>24d20f2d762f14343015d9030aaf221b2875bd05</id>
    <committed-date>2009-12-07T09:25:21-08:00</committed-date>
    <authored-date>2009-12-07T09:25:21-08:00</authored-date>
    <message>Add FIXED subframe sample calculation.</message>
    <tree>109244c2f1a30cfe0f8da8a003784964bd932ecf</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>92944418c3b38b5afe733f375d9c9946d0714784</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/86091da7ac0a5301e62bb0cdf363d152995cd2a8</url>
    <id>86091da7ac0a5301e62bb0cdf363d152995cd2a8</id>
    <committed-date>2009-12-06T17:06:40-08:00</committed-date>
    <authored-date>2009-12-06T17:06:40-08:00</authored-date>
    <message>Add support for handling difference channel bits correctly.</message>
    <tree>97ff3a2bed6b1c34164dd139c499386432a72b6b</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>9ae4ab605e09e8658ede14fb6eee3a57aea870cc</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/92944418c3b38b5afe733f375d9c9946d0714784</url>
    <id>92944418c3b38b5afe733f375d9c9946d0714784</id>
    <committed-date>2009-12-06T13:23:24-08:00</committed-date>
    <authored-date>2009-12-06T13:23:24-08:00</authored-date>
    <message>Add LPC subframe reader.</message>
    <tree>70200d1b889cf286a077714d3b9cc3b055b09aa6</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>93a719794a06119178b471f3d182b0cd4dbfe370</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/9ae4ab605e09e8658ede14fb6eee3a57aea870cc</url>
    <id>9ae4ab605e09e8658ede14fb6eee3a57aea870cc</id>
    <committed-date>2009-12-06T12:59:41-08:00</committed-date>
    <authored-date>2009-12-06T12:59:41-08:00</authored-date>
    <message>Add byte alignment and CRC-16 reading.</message>
    <tree>ecfb2e22f4c57f70ae41b231182152099fea9794</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>57c99bdb253afd4030773f8ad90bfbf25a4a28fe</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/93a719794a06119178b471f3d182b0cd4dbfe370</url>
    <id>93a719794a06119178b471f3d182b0cd4dbfe370</id>
    <committed-date>2009-12-06T12:13:43-08:00</committed-date>
    <authored-date>2009-12-06T12:13:43-08:00</authored-date>
    <message>Add residual reading function.</message>
    <tree>9ff2c26819ad2b327309d5dbc577359979b87389</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>6c1cd66cbea401afda8e890529657fbc92b9cb4c</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/57c99bdb253afd4030773f8ad90bfbf25a4a28fe</url>
    <id>57c99bdb253afd4030773f8ad90bfbf25a4a28fe</id>
    <committed-date>2009-12-05T15:37:17-08:00</committed-date>
    <authored-date>2009-12-05T15:37:17-08:00</authored-date>
    <message>Numerous additions to the FLAC decoder.</message>
    <tree>f30442dca4fc0152315d4d61a55d754ac3ffeb1b</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>3368e5af5a27945315de16343ed1efecb956e4a6</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/6c1cd66cbea401afda8e890529657fbc92b9cb4c</url>
    <id>6c1cd66cbea401afda8e890529657fbc92b9cb4c</id>
    <committed-date>2009-12-05T08:55:02-08:00</committed-date>
    <authored-date>2009-12-05T08:55:02-08:00</authored-date>
    <message>Preliminary frame header reading in place.</message>
    <tree>1dc4c07775cf49da785171c68ad2bfbc26443491</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>89d2573795ec2a425c651525ba3d40ab8ad7e09c</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/3368e5af5a27945315de16343ed1efecb956e4a6</url>
    <id>3368e5af5a27945315de16343ed1efecb956e4a6</id>
    <committed-date>2009-12-05T06:49:21-08:00</committed-date>
    <authored-date>2009-12-05T06:49:21-08:00</authored-date>
    <message>Split FLAC-specific decoding into seperate files.</message>
    <tree>da47b91b0344531c2d56533262dc35f64d2045b2</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>brian@laptop.(none)</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>beb530336cddfc13ac299517e0433be023253c61</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/89d2573795ec2a425c651525ba3d40ab8ad7e09c</url>
    <id>89d2573795ec2a425c651525ba3d40ab8ad7e09c</id>
    <committed-date>2009-12-04T17:18:20-08:00</committed-date>
    <authored-date>2009-12-04T17:18:20-08:00</authored-date>
    <message>Add bitstream header file.</message>
    <tree>d9121f908e969ba50cfca199c91d0f34ec344fb9</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>845154ca5e8c43d724c12f471d0108608b5b4969</id>
      </parent>
      <parent>
        <id>edcd114e69835a04be42ae877a8f7c3ce8717274</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/beb530336cddfc13ac299517e0433be023253c61</url>
    <id>beb530336cddfc13ac299517e0433be023253c61</id>
    <committed-date>2009-12-04T16:10:23-08:00</committed-date>
    <authored-date>2009-12-04T16:10:23-08:00</authored-date>
    <message>Merge branch 'master' of chuckleb-hugo.dyndns.org:audiotools

Conflicts:
	src/bitstream.c</message>
    <tree>e0849462979ed98cd11c88c4094bbd332920112d</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>0729abb1c6fed095016708489a04d9374bbe66c5</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/edcd114e69835a04be42ae877a8f7c3ce8717274</url>
    <id>edcd114e69835a04be42ae877a8f7c3ce8717274</id>
    <committed-date>2009-12-04T10:20:07-08:00</committed-date>
    <authored-date>2009-12-04T10:20:07-08:00</authored-date>
    <message>Add proper STREAMINFO reading to C-based FLAC decoder.</message>
    <tree>c2e34b644d9c605239ffda791eee825d0d4ade3c</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>54b0e71e60d13a9878eb32beae52989461e340f3</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/0729abb1c6fed095016708489a04d9374bbe66c5</url>
    <id>0729abb1c6fed095016708489a04d9374bbe66c5</id>
    <committed-date>2009-12-04T09:29:23-08:00</committed-date>
    <authored-date>2009-12-04T09:29:23-08:00</authored-date>
    <message>Integrate bitstream reader into decoder.
This is state-machine based and should hopefully be faster than
performing the bit shifting on a per-bit basis.</message>
    <tree>acf2b4195123d6f9f6001da4b9b95f73c18771a8</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>b299ac9a0b65835d84cab2e8a0d7e7868b7b081c</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/54b0e71e60d13a9878eb32beae52989461e340f3</url>
    <id>54b0e71e60d13a9878eb32beae52989461e340f3</id>
    <committed-date>2009-12-03T11:41:48-08:00</committed-date>
    <authored-date>2009-12-03T11:41:48-08:00</authored-date>
    <message>Very preliminary support for audio format decoders implemented in C.

The purpose if this is twofold.

Primarily, this reimplementation is an instructional exercise meant to
demonstrate format decoding in a simple, easy-to-understand fashion.
Secondarily, these built-in decoders can cut down on the use of external
binaries.

Although implementing audio decoders in Python works well for the former,
it's far too slow for the latter - in spite of any attempts at optimiziation.
I've tried to use other high-level languages for this task
as a sort of sister project, but none of them are fast enough.

If successful, I'll move on to format encoders later on.</message>
    <tree>dd3c933b17e0fbaac637a38c8fac2647a33d9c8a</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
  <commit>
    <parents type="array">
      <parent>
        <id>9617af4535fa0034d7d4aaf16916b4b1544a3684</id>
      </parent>
    </parents>
    <author>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </author>
    <url>http://github.com/tuffy/python-audio-tools/commit/845154ca5e8c43d724c12f471d0108608b5b4969</url>
    <id>845154ca5e8c43d724c12f471d0108608b5b4969</id>
    <committed-date>2009-11-08T09:58:30-08:00</committed-date>
    <authored-date>2009-11-08T09:58:30-08:00</authored-date>
    <message>Add miscellanous methods to new BitstreamReader object.</message>
    <tree>694a11eda7fb4088a771535740eabcb2871a4a74</tree>
    <committer>
      <name>Brian Langenberger</name>
      <email>bjl@usa.net</email>
    </committer>
  </commit>
</commits>
