[PD-cvs] pd/src s_audio.c,1.5.4.10,1.5.4.11

Tim Blechmann timblech at users.sourceforge.net
Fri Apr 8 14:42:06 CEST 2005


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13287

Modified Files:
      Tag: devel_0_38
	s_audio.c 
Log Message:
more portable peak metering and sleepgrain adaption

Index: s_audio.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_audio.c,v
retrieving revision 1.5.4.10
retrieving revision 1.5.4.11
diff -C2 -d -r1.5.4.10 -r1.5.4.11
*** s_audio.c	7 Apr 2005 21:23:15 -0000	1.5.4.10
--- s_audio.c	8 Apr 2005 12:42:04 -0000	1.5.4.11
***************
*** 39,45 ****
  int sys_schedblocksize;
  
! static int sys_meters;          /* true if we're metering */
! static float sys_inmax;         /* max input amplitude */
! static float sys_outmax;        /* max output amplitude */
  
      /* exported variables */
--- 39,45 ----
  int sys_schedblocksize;
  
! int sys_meters;          /* true if we're metering */
! float sys_inmax;         /* max input amplitude */
! float sys_outmax;        /* max output amplitude */
  
      /* exported variables */
***************
*** 323,337 ****
      sys_schedadvance = advance * 1000;
  
- 	/* tb {
- 	 * cut'n'paste from m_scheduler to adapt the sleepgrain with the latency */
-     if (sys_schedadvance < 20000)
-         sys_sleepgrain = sys_schedadvance/4;
-     if (sys_sleepgrain < 100)
-         sys_sleepgrain = 100;
-     else 
- 		if (sys_sleepgrain > 5000)
- 			sys_sleepgrain = 5000;
- 	/* } tb */
- 
      sys_setchsr(inchans, outchans, rate, dacblocksize);
      sys_log_error(ERR_NOTHING);
--- 323,326 ----
***************
*** 352,356 ****
          if (sys_audioapi == API_JACK) 
              jack_open_audio((naudioindev > 0 ? realinchans[0] : 0),
!                             (naudiooutdev > 0 ? realoutchans[0] : 0), rate);
  
          else
--- 341,345 ----
          if (sys_audioapi == API_JACK) 
              jack_open_audio((naudioindev > 0 ? realinchans[0] : 0),
!                             (naudiooutdev > 0 ? realoutchans[0] : 0), rate, schedmode);
  
          else
***************
*** 402,405 ****
--- 391,405 ----
      sys_vgui("set pd_whichapi %d\n",  (audio_isopen() ? sys_audioapi : 0));
      sched_set_using_dacs(enable);
+ 
+ 	/* tb {
+ 	 * cut'n'paste from m_scheduler to adapt the sleepgrain with the latency */
+     if (sys_schedadvance < 20000)
+         sys_sleepgrain = sys_schedadvance/4;
+     if (sys_sleepgrain < 100)
+         sys_sleepgrain = 100;
+     else 
+ 		if (sys_sleepgrain > 5000)
+ 			sys_sleepgrain = 5000;
+ 	/* } tb */
  }
  
***************
*** 482,494 ****
  /* } */
  
  int sys_send_dacs(void)
  {
      if (sys_meters)
!     {
!         sys_inmax = peak_fp(sys_soundin,sys_inchannels * sys_dacblocksize, 
! 							sys_inmax);
!         sys_outmax = peak_fp(sys_soundout,sys_outchannels * sys_dacblocksize, 
! 							 sys_outmax);
!     }
  
  #ifdef USEAPI_PORTAUDIO
--- 482,497 ----
  /* } */
  
+ void sys_peakmeters(void)
+ {
+ 	sys_inmax = peak_fp(sys_soundin,sys_inchannels * sys_dacblocksize, 
+ 						sys_inmax);
+ 	sys_outmax = peak_fp(sys_soundout,sys_outchannels * sys_dacblocksize, 
+ 						 sys_outmax);
+ }
+ 
  int sys_send_dacs(void)
  {
      if (sys_meters)
! 		sys_peakmeters();
  
  #ifdef USEAPI_PORTAUDIO





More information about the Pd-cvs mailing list