[PD-dev] what is "audio I/O stuck... closing audio" for?

Hans-Christoph Steiner hans at at.or.at
Mon Apr 26 00:52:40 CEST 2010


So there is some code in m_sched.c which closes the audio device.  On  
Mac OS X, it gets triggered when the computer goes to sleep, and then  
Pd can't play audio any more unless you cycle the DSP or restart Pd.   
This is an source of confusion for newbies and annoyance for users.  I  
don't quite understand why there is this code to close the audio  
device?  Can I just #ifdef it out for Mac OS X?


                         /* on 32nd idle, start a clock watch;  every
                         32 ensuing idles, check it */
                     if (idlecount == 32)
                         idletime = sys_getrealtime();
                     else if (sys_getrealtime() - idletime > 1.)
                     {
                         post("audio I/O stuck... closing audio\n");
                         sys_close_audio();
                         sched_set_using_audio(SCHED_AUDIO_NONE);
                         goto waitfortick;
                     }

It also seems to get triggered a lot on Windows, but I don't know  
why.  Perhaps this isn't really needed?

.hc



----------------------------------------------------------------------------

Programs should be written for people to read, and only incidentally  
for machines to execute.
  - from Structure and Interpretation of Computer Programs





More information about the Pd-dev mailing list