Skip to content

Commit

Permalink
Add buffered playback and recording to AudioStream. (#363)
Browse files Browse the repository at this point in the history
* First pass at adding buffered playback and recording to AudioStream.

* Add .read() and .write() on AudioStream.

* Add tests for read() and write().

* Fix Linux build?

* More ifdef gating...

* Skip tests on CI.

* Update docstrings.
  • Loading branch information
psobot committed Jul 29, 2024
1 parent 6029b2b commit 0beae3c
Show file tree
Hide file tree
Showing 6 changed files with 1,070 additions and 158 deletions.
40 changes: 32 additions & 8 deletions docs/genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -333,11 +333,15 @@ <h2>B</h2>
</li>
<li><a href="reference/pedalboard.html#pedalboard.Bitcrush">Bitcrush (class in pedalboard)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.html#pedalboard.LadderFilter.Mode.BPF12">BPF12 (pedalboard.LadderFilter.Mode attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.html#pedalboard.LadderFilter.Mode.BPF24">BPF24 (pedalboard.LadderFilter.Mode attribute)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.buffer_size">buffer_size (pedalboard.io.AudioStream property)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.buffered_input_sample_count">buffered_input_sample_count (pedalboard.io.AudioStream property)</a>
</li>
</ul></td>
</tr></table>
Expand All @@ -361,9 +365,11 @@ <h2>C</h2>
</li>
<li><a href="reference/pedalboard.html#pedalboard.Clipping">Clipping (class in pedalboard)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ReadableAudioFile.close">close() (pedalboard.io.ReadableAudioFile method)</a>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.close">close() (pedalboard.io.AudioStream method)</a>

<ul>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ReadableAudioFile.close">(pedalboard.io.ReadableAudioFile method)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ResampledReadableAudioFile.close">(pedalboard.io.ResampledReadableAudioFile method)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.WriteableAudioFile.close">(pedalboard.io.WriteableAudioFile method)</a>
Expand Down Expand Up @@ -402,6 +408,8 @@ <h2>D</h2>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.html#pedalboard.Distortion">Distortion (class in pedalboard)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.dropped_input_frame_count">dropped_input_frame_count (pedalboard.io.AudioStream property)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ReadableAudioFile.duration">duration (pedalboard.io.ReadableAudioFile property)</a>

Expand Down Expand Up @@ -515,6 +523,8 @@ <h2>I</h2>
<li><a href="reference/pedalboard.html#pedalboard.VST3Plugin.identifier">(pedalboard.VST3Plugin property)</a>
</li>
</ul></li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.ignore_dropped_input">ignore_dropped_input (pedalboard.io.AudioStream property)</a>
</li>
<li><a href="reference/pedalboard.html#pedalboard.IIRFilter">IIRFilter (class in pedalboard)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.StreamResampler.input_latency">input_latency (pedalboard.io.StreamResampler property)</a>
Expand Down Expand Up @@ -746,10 +756,10 @@ <h2>N</h2>
<li><a href="reference/pedalboard.html#pedalboard.VST3Plugin.name">(pedalboard.VST3Plugin property)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.html#pedalboard.NoiseGate">NoiseGate (class in pedalboard)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ReadableAudioFile.num_channels">num_channels (pedalboard.io.ReadableAudioFile property)</a>

<ul>
Expand All @@ -760,6 +770,10 @@ <h2>N</h2>
<li><a href="reference/pedalboard.io.html#pedalboard.io.WriteableAudioFile.num_channels">(pedalboard.io.WriteableAudioFile property)</a>
</li>
</ul></li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.num_input_channels">num_input_channels (pedalboard.io.AudioStream property)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.num_output_channels">num_output_channels (pedalboard.io.AudioStream property)</a>
</li>
</ul></td>
</tr></table>
</section>
Expand Down Expand Up @@ -789,6 +803,8 @@ <h2>P</h2>
<li><a href="reference/pedalboard.html#pedalboard.Phaser">Phaser (class in pedalboard)</a>
</li>
<li><a href="reference/pedalboard.html#pedalboard.PitchShift">PitchShift (class in pedalboard)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.play">play() (pedalboard.io.AudioStream static method)</a>
</li>
<li><a href="reference/pedalboard.html#pedalboard.Plugin">Plugin (class in pedalboard)</a>
</li>
Expand Down Expand Up @@ -896,9 +912,11 @@ <h2>R</h2>
<li><a href="reference/pedalboard.html#pedalboard.VST3Plugin.raw_state">(pedalboard.VST3Plugin property)</a>
</li>
</ul></li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ReadableAudioFile.read">read() (pedalboard.io.ReadableAudioFile method)</a>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.read">read() (pedalboard.io.AudioStream method)</a>

<ul>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ReadableAudioFile.read">(pedalboard.io.ReadableAudioFile method)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ResampledReadableAudioFile.read">(pedalboard.io.ResampledReadableAudioFile method)</a>
</li>
</ul></li>
Expand Down Expand Up @@ -1010,6 +1028,8 @@ <h2>R</h2>
<h2>S</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.sample_rate">sample_rate (pedalboard.io.AudioStream property)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.ReadableAudioFile.samplerate">samplerate (pedalboard.io.ReadableAudioFile property)</a>

<ul>
Expand Down Expand Up @@ -1106,10 +1126,14 @@ <h2>W</h2>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.html#pedalboard.Resample.Quality.WindowedSinc">WindowedSinc (pedalboard.Resample.Quality attribute)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.AudioStream.write">write() (pedalboard.io.AudioStream method)</a>

<ul>
<li><a href="reference/pedalboard.io.html#pedalboard.io.WriteableAudioFile.write">(pedalboard.io.WriteableAudioFile method)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="reference/pedalboard.io.html#pedalboard.io.WriteableAudioFile.write">write() (pedalboard.io.WriteableAudioFile method)</a>
</li>
<li><a href="reference/pedalboard.io.html#pedalboard.io.WriteableAudioFile">WriteableAudioFile (class in pedalboard.io)</a>
</li>
</ul></td>
Expand Down
Loading

0 comments on commit 0beae3c

Please sign in to comment.