[PD-cvs] pd/src s_audio_portaudio.c, 1.1.2.9, 1.1.2.10 m_glob.c, 1.4.4.2.2.7, 1.4.4.2.2.8 m_class.c, 1.3.4.7.2.17, 1.3.4.7.2.18

Tim Blechmann timblech at users.sourceforge.net
Tue Jun 13 14:48:03 CEST 2006


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





More information about the Pd-cvs mailing list