<div dir="ltr">Hmm, I&#39;m using an armv7 chip which is much more up to date than the Pi CPU, so that might make things more possible.  But the entire ARM on Linux has sent me down many weird alleys so far, I&#39;m not expecting anything to be easy at this point.  It&#39;s a lot like forcing x86 Linux to do audio 15 years ago!</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Apr 13, 2014 at 9:07 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">
Correct...<br>
<br>
But now I&#39;m suddenly remembering that I once heard that it was precisely the<br>
lack of mmap interface that made it impossible (at least a year ago) to<br>
get jack running on Raspberry Pis - so I might easily be sending you on a<br>
wild goose chase.<br>
<br>
OTOH I don&#39;t know what else to try - especially if portaudio isn&#39;t working.<br>
<span class="HOEnZb"><font color="#888888"><br>
M<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sun, Apr 13, 2014 at 08:59:36PM -0400, Chris Clepper wrote:<br>
&gt; Non-interleaved meaning data is sent (L,L,L then R,R,R per block) rather<br>
&gt; than the usual I2S/TDM method of interleaving channels per sample?<br>
&gt;<br>
&gt; The ALSA folks have some mmap example code here that looks like a pretty<br>
&gt; generic interface:<br>
&gt;<br>
&gt; <a href="http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html" target="_blank">http://www.alsa-project.org/alsa-doc/alsa-lib/_2test_2pcm_8c-example.html</a><br>
&gt;<br>
&gt; I will build that and see if the SoC hardware likes the mmap calls.<br>
&gt;<br>
&gt;<br>
&gt; Thanks!<br>
&gt;<br>
&gt;<br>
&gt; On Sun, Apr 13, 2014 at 8:46 PM, Miller Puckette &lt;<a href="mailto:msp@ucsd.edu">msp@ucsd.edu</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; Drat.<br>
&gt; &gt;<br>
&gt; &gt; The mmap code only works for non-interleaved memory map interfaces.  The<br>
&gt; &gt; only device I know of that works with the is the RME Hammerfall series.<br>
&gt; &gt;<br>
&gt; &gt; I don&#39;t know if alsa supports any sort of mmap-ing for your hardware, but<br>
&gt; &gt; if so (and I guess it would be interleaved in that case) it might be worth<br>
&gt; &gt; hacking the mmap code to try that.  It sounds less likely to hang than the<br>
&gt; &gt; read/write interface would be.<br>
&gt; &gt;<br>
&gt; &gt; cheers<br>
&gt; &gt; Miller<br>
&gt; &gt;<br>
&gt; &gt; On Sun, Apr 13, 2014 at 04:42:04PM -0400, Chris Clepper wrote:<br>
&gt; &gt; &gt; I could not get PortAudio to work on ARM at all and Jack has issues with<br>
&gt; &gt; &gt; duplex low latency.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; What&#39;s the deal with the ALSA mmap code?  Doesn&#39;t that use callbacks?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &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; &gt; &gt;<br>
&gt; &gt; &gt; &gt; You might have already tried this, but it might work better to use<br>
&gt; &gt; &gt; &gt; portaudio to get to ALSA - it can connect with ALSA using callbacks<br>
&gt; &gt; &gt; &gt; which the built-in ASA code doesn&#39;t.  I don&#39;t know what difference this<br>
&gt; &gt; &gt; &gt; will make but perhaps it will help.<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; (try compiling with and without FAKEBLOCKING and THREADSIGNAL defined<br>
&gt; &gt; in<br>
&gt; &gt; &gt; &gt; s_audio_pa.c).<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; cheers<br>
&gt; &gt; &gt; &gt; Miller<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; On Sat, Apr 12, 2014 at 07:26:56PM -0700, Jonathan Wilkes wrote:<br>
&gt; &gt; &gt; &gt; &gt; There isn&#39;t a way to poll the DSP state in Pd Vanilla.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; -Jonathan<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On Saturday, April 12, 2014 8:47 PM, Chris Clepper &lt;<br>
&gt; &gt; <a href="mailto:cgclepper@gmail.com">cgclepper@gmail.com</a>&gt;<br>
&gt; &gt; &gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; [pdinfo] is not part of vanilla.  I can&#39;t (nor want to) use extended<br>
&gt; &gt; for<br>
&gt; &gt; &gt; &gt; this project.<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On Saturday, April 12, 2014, Jonathan Wilkes &lt;<a href="mailto:jancsika@yahoo.com">jancsika@yahoo.com</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; On 04/12/2014 04:27 PM, Chris Clepper wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;Hi list<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;I&#39;m wondering if there are any recommended ways to ensure DSP keeps<br>
&gt; &gt; &gt; &gt; running for long periods like permanent installations.  I get &#39;audio<br>
&gt; &gt; I/O<br>
&gt; &gt; &gt; &gt; stuck&#39; popping up every few days, which is not bad, but ideally audio<br>
&gt; &gt; &gt; &gt; should stay running indefinitely.<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;I can send a [metro 1000] to [;pd DSP 1( to keep audio going, but<br>
&gt; &gt; is<br>
&gt; &gt; &gt; &gt; there any long term issue with doing that?  Will it reliably restart<br>
&gt; &gt; audio<br>
&gt; &gt; &gt; &gt; after Pd closes it?<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;Also, the internal message [;pd audiostate( only returns data to<br>
&gt; &gt; the<br>
&gt; &gt; &gt; &gt; console.  Perhaps there is a way to poll Pd for the internal DSP state<br>
&gt; &gt; and<br>
&gt; &gt; &gt; &gt; restart it if it dies?<br>
&gt; &gt; &gt; &gt; &gt; &gt;In Pd-l2ork:<br>
&gt; &gt; &gt; &gt; &gt; &gt;[dsp-status(<br>
&gt; &gt; &gt; &gt; &gt; &gt;|<br>
&gt; &gt; &gt; &gt; &gt; &gt;[pdinfo]<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;-Jonathan<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;Thanks!<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;<br>
&gt; &gt; &gt; &gt; &gt; &gt;&gt;_______________________________________________<br>
&gt; &gt; Pd-list@iem.atmailing list<br>
&gt; &gt; &gt; &gt; &gt; UNSUBSCRIBE and account-management -&gt;<br>
&gt; &gt; &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; &gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; &gt; _______________________________________________<br>
&gt; &gt; &gt; &gt; &gt; <a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
&gt; &gt; &gt; &gt; &gt; UNSUBSCRIBE and account-management -&gt;<br>
&gt; &gt; &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; &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>