<div dir="ltr">I think the problem I&#39;ll run into is the 128 channel case. I&#39;m hoping for a general solution... I&#39;m almost positive this will require runtime checks. Your solution is what I was thinking for functions requiring exactly N channels (I&#39;m not sure if there are many functions like that).<br>
<br><br><br><div class="gmail_quote">On Tue, Aug 26, 2008 at 2:11 PM, Henning Thielemann <span dir="ltr">&lt;<a href="mailto:lemming@henning-thielemann.de">lemming@henning-thielemann.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
On Mon, 25 Aug 2008, John Van Enk wrote:<br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
How well would the storablevector package (Data.StorableVector) work for<br>
storing audio data? One of the major issues I&#39;m still working over is that I<br>
want to maintain something similar to a [[a]] format (since the underlying<br>
PortAudio library and hardware could support hundreds of interleaved<br>
channels) but I would like to be able to build in some typechecking to the<br>
functions to make sure the number of channels matches the nubmer expected in<br>
the functions.<br>
</blockquote>
<br></div>
With<br>
 &nbsp;data Stereo a = &nbsp;Stereo !a !a<br>
<br>
you could also use<br>
 &nbsp;Stereo (Stereo a)<br>
 &nbsp; for quadrophony and so on. Would this be convenient enough?<br>
<br>
StorableVector stores everything of fixed length for which a Storable instance is defined.<br>
</blockquote></div><br><br clear="all"><br>-- <br>/jve<br>
</div>