<div dir="ltr">Non-interleaved meaning data is sent (L,L,L then R,R,R per block) rather than the usual I2S/TDM method of interleaving channels per sample?  <div><br></div><div>The ALSA folks have some mmap example code here that looks like a pretty generic interface:</div>
<div><br></div><div><a href="http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html">http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html</a><br></div><div><br></div><div>I will build that and see if the SoC hardware likes the mmap calls.</div>
<div><br></div><div><br></div><div>Thanks!</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Apr 13, 2014 at 8:46 PM, Miller Puckette <span dir="ltr">&lt;<a href="mailto:msp@ucsd.edu" target="_blank">msp@ucsd.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Drat.<br>
<br>
The mmap code only works for non-interleaved memory map interfaces.  The<br>
only device I know of that works with the is the RME Hammerfall series.<br>
<br>
I don&#39;t know if alsa supports any sort of mmap-ing for your hardware, but<br>
if so (and I guess it would be interleaved in that case) it might be worth<br>
hacking the mmap code to try that.  It sounds less likely to hang than the<br>
read/write interface would be.<br>
<br>
cheers<br>
Miller<br>
<div><div class="h5"><br>
On Sun, Apr 13, 2014 at 04:42:04PM -0400, Chris Clepper wrote:<br>
&gt; I could not get PortAudio to work on ARM at all and Jack has issues with<br>
&gt; duplex low latency.<br>
&gt;<br>
&gt; What&#39;s the deal with the ALSA mmap code?  Doesn&#39;t that use callbacks?<br>
&gt;<br>
&gt;<br>
&gt; On Sun, Apr 13, 2014 at 2:55 PM, Miller Puckette &lt;<a href="mailto:msp@ucsd.edu">msp@ucsd.edu</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; You might have already tried this, but it might work better to use<br>
&gt; &gt; portaudio to get to ALSA - it can connect with ALSA using callbacks<br>
&gt; &gt; which the built-in ASA code doesn&#39;t.  I don&#39;t know what difference this<br>
&gt; &gt; will make but perhaps it will help.<br>
&gt; &gt;<br>
&gt; &gt; (try compiling with and without FAKEBLOCKING and THREADSIGNAL defined in<br>
&gt; &gt; s_audio_pa.c).<br>
&gt; &gt;<br>
&gt; &gt; cheers<br>
&gt; &gt; Miller<br>
&gt; &gt;<br>
&gt; &gt; On Sat, Apr 12, 2014 at 07:26:56PM -0700, Jonathan Wilkes wrote:<br>
&gt; &gt; &gt; There isn&#39;t a way to poll the DSP state in Pd Vanilla.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; -Jonathan<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Saturday, April 12, 2014 8:47 PM, Chris Clepper &lt;<a href="mailto:cgclepper@gmail.com">cgclepper@gmail.com</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; [pdinfo] is not part of vanilla.  I can&#39;t (nor want to) use extended for<br>
&gt; &gt; this project.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Saturday, April 12, 2014, Jonathan Wilkes &lt;<a href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a>&gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On 04/12/2014 04:27 PM, Chris Clepper wrote:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;Hi list<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;I&#39;m wondering if there are any recommended ways to ensure DSP keeps<br>
&gt; &gt; running for long periods like permanent installations.  I get &#39;audio I/O<br>
&gt; &gt; stuck&#39; popping up every few days, which is not bad, but ideally audio<br>
&gt; &gt; should stay running indefinitely.<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;I can send a [metro 1000] to [;pd DSP 1( to keep audio going, but is<br>
&gt; &gt; there any long term issue with doing that?  Will it reliably restart audio<br>
&gt; &gt; after Pd closes it?<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;Also, the internal message [;pd audiostate( only returns data to the<br>
&gt; &gt; console.  Perhaps there is a way to poll Pd for the internal DSP state and<br>
&gt; &gt; restart it if it dies?<br>
&gt; &gt; &gt; &gt;In Pd-l2ork:<br>
&gt; &gt; &gt; &gt;[dsp-status(<br>
&gt; &gt; &gt; &gt;|<br>
&gt; &gt; &gt; &gt;[pdinfo]<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;-Jonathan<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;Thanks!<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt;&gt;<br>
</div></div>&gt; &gt; &gt; &gt;&gt;_______________________________________________ Pd-list@iem.atmailing list<br>
<div class="HOEnZb"><div class="h5">&gt; &gt; &gt; UNSUBSCRIBE and account-management -&gt;<br>
&gt; &gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; <a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
&gt; &gt; &gt; UNSUBSCRIBE and account-management -&gt;<br>
&gt; &gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
<br>
&gt; _______________________________________________<br>
&gt; <a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
&gt; UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br>
</div></div></blockquote></div><br></div>