Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11804
Modified Files:
Tag: devel_0_39
s_audio_portaudio.c m_glob.c m_class.c
Log Message:
xrun notification to receiver pd
fixed memory leak introduced by alternate filenames
Index: m_class.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_class.c,v
retrieving revision 1.3.4.7.2.17
retrieving revision 1.3.4.7.2.18
diff -C2 -d -r1.3.4.7.2.17 -r1.3.4.7.2.18
*** m_class.c 22 Apr 2006 01:33:15 -0000 1.3.4.7.2.17
--- m_class.c 13 Jun 2006 12:48:01 -0000 1.3.4.7.2.18
***************
*** 675,679 ****
char dirbuf[MAXPDSTRING], *nameptr;
char *altname=alternative_classname(s->s_name);
! if (tryingalready) return;
newest = 0;
class_loadsym = s;
--- 675,684 ----
char dirbuf[MAXPDSTRING], *nameptr;
char *altname=alternative_classname(s->s_name);
! if (tryingalready)
! {
! if (altname)
! freebytes(altname, sizeof(char)*MAXPDSTRING);
! return;
! }
newest = 0;
class_loadsym = s;
***************
*** 683,686 ****
--- 688,693 ----
typedmess((t_pd *)dummy, s, argc, argv);
tryingalready = 0;
+ if (altname)
+ freebytes(altname, sizeof(char)*MAXPDSTRING);
return;
}
***************
*** 704,707 ****
--- 711,716 ----
}
else newest = 0;
+ if (altname)
+ freebytes(altname, sizeof(char)*MAXPDSTRING);
}
Index: s_audio_portaudio.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/Attic/s_audio_portaudio.c,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -C2 -d -r1.1.2.9 -r1.1.2.10
*** s_audio_portaudio.c 4 Jun 2006 10:37:33 -0000 1.1.2.9
--- s_audio_portaudio.c 13 Jun 2006 12:48:01 -0000 1.1.2.10
***************
*** 310,318 ****
void run_all_idle_callbacks(void);
int process (const void *input, void *output, unsigned long frameCount,
const PaStreamCallbackTimeInfo* timeInfo,
PaStreamCallbackFlags statusFlags, void *userData)
{
! static started = 0;
--- 310,320 ----
void run_all_idle_callbacks(void);
+ void sys_xrun_notification(void);
+
int process (const void *input, void *output, unsigned long frameCount,
const PaStreamCallbackTimeInfo* timeInfo,
PaStreamCallbackFlags statusFlags, void *userData)
{
! static int started = 0;
***************
*** 321,331 ****
if (statusFlags)
! post("statusFlags %p", statusFlags);
if (sys_timedlock(timeout) == ETIMEDOUT)
/* we're late */
{
! post("timeout %d", timeout);
! sys_log_error(ERR_SYSLOCK);
return 0;
}
--- 323,332 ----
if (statusFlags)
! sys_xrun_notification();
if (sys_timedlock(timeout) == ETIMEDOUT)
/* we're late */
{
! sys_xrun_notification();
return 0;
}
Index: m_glob.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/m_glob.c,v
retrieving revision 1.4.4.2.2.7
retrieving revision 1.4.4.2.2.8
diff -C2 -d -r1.4.4.2.2.7 -r1.4.4.2.2.8
*** m_glob.c 22 Apr 2006 00:43:40 -0000 1.4.4.2.2.7
--- m_glob.c 13 Jun 2006 12:48:01 -0000 1.4.4.2.2.8
***************
*** 82,85 ****
--- 82,87 ----
if (s == gensym("audiodevice"))
return;
+ if (s == gensym("xrun"))
+ return;
startpost("%s: unknown message %s ", class_getname(pd_class(x)),
***************
*** 200,204 ****
gensym("testaudiosetting"), A_GIMME, 0);
class_addmethod(glob_pdobject, (t_method)glob_audio_getcurrent_devices,
! gensym("getaudiodevice"), 0);
/* tb } */
#ifdef DESIRE
--- 202,206 ----
gensym("testaudiosetting"), A_GIMME, 0);
class_addmethod(glob_pdobject, (t_method)glob_audio_getcurrent_devices,
! gensym("getaudiodevice"), 0);
/* tb } */
#ifdef DESIRE