[PD-cvs] pd/src s_stuff.h, 1.5.4.10.2.8.2.10, 1.5.4.10.2.8.2.11 s_audio.c, 1.5.4.16.2.20.2.18, 1.5.4.16.2.20.2.19

Mathieu Bouchard matju at users.sourceforge.net
Tue Jul 10 17:39:42 CEST 2007


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

Modified Files:
      Tag: desiredata
	s_stuff.h s_audio.c 
Log Message:
introducing t_audiodevs


Index: s_audio.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_audio.c,v
retrieving revision 1.5.4.16.2.20.2.18
retrieving revision 1.5.4.16.2.20.2.19
diff -C2 -d -r1.5.4.16.2.20.2.18 -r1.5.4.16.2.20.2.19
*** s_audio.c	10 Jul 2007 07:05:59 -0000	1.5.4.16.2.20.2.18
--- s_audio.c	10 Jul 2007 15:39:40 -0000	1.5.4.16.2.20.2.19
***************
*** 93,103 ****
  static int audio_state;
  
!     /* last requested parameters */
! static int audio_nindev = -1;
! static int audio_indev[MAXAUDIOINDEV];
! static int audio_chindev[MAXAUDIOINDEV];
! static int audio_noutdev = -1;
! static int audio_outdev[MAXAUDIOOUTDEV];
! static int audio_choutdev[MAXAUDIOOUTDEV];
  static int audio_rate;
  static int audio_dacblocksize;
--- 93,99 ----
  static int audio_state;
  
! /* last requested parameters */
! static t_audiodevs audio_in;
! static t_audiodevs audio_out;
  static int audio_rate;
  static int audio_dacblocksize;
***************
*** 112,117 ****
  static int audio_isopen() {
      return audio_state
! 	&& ((audio_nindev > 0 && audio_chindev[0] > 0)
!         || (audio_noutdev > 0 && audio_choutdev[0] > 0));
  }
  
--- 108,113 ----
  static int audio_isopen() {
      return audio_state
! 	&& ((audio_in.ndev > 0 && audio_in.chdev[0] > 0)
!         || (audio_out.ndev > 0 && audio_out.chdev[0] > 0));
  }
  
***************
*** 120,127 ****
  int *pnoutdev, int *poutdev, int *choutdev,
  int *prate, int *pdacblocksize, int *padvance, int *pscheduler) {
!     *pnindev  = audio_nindev;
!     *pnoutdev = audio_noutdev;
!     for (int i=0; i<MAXAUDIOINDEV; i++)  {pindev[i]  = audio_indev[i];  chindev[i]  = audio_chindev[i]; }
!     for (int i=0; i<MAXAUDIOOUTDEV; i++) {poutdev[i] = audio_outdev[i]; choutdev[i] = audio_choutdev[i];}
      *prate = audio_rate;
      *pdacblocksize = audio_dacblocksize;
--- 116,123 ----
  int *pnoutdev, int *poutdev, int *choutdev,
  int *prate, int *pdacblocksize, int *padvance, int *pscheduler) {
!     *pnindev  = audio_in.ndev;
!     *pnoutdev = audio_out.ndev;
!     for (int i=0; i<MAXAUDIOINDEV; i++)  {pindev[i]  = audio_in.dev[i];  chindev[i]  = audio_in.chdev[i]; }
!     for (int i=0; i<MAXAUDIOOUTDEV; i++) {poutdev[i] = audio_out.dev[i]; choutdev[i] = audio_out.chdev[i];}
      *prate = audio_rate;
      *pdacblocksize = audio_dacblocksize;
***************
*** 134,141 ****
  int noutdev, int *outdev, int *choutdev,
  int rate, int dacblocksize, int advance, int scheduler) {
!     audio_nindev  = nindev;
!     audio_noutdev = noutdev;
!     for (int i=0; i<MAXAUDIOINDEV;  i++) {audio_indev[i]  = indev[i];  audio_chindev[i]  = chindev[i];}
!     for (int i=0; i<MAXAUDIOOUTDEV; i++) {audio_outdev[i] = outdev[i]; audio_choutdev[i] = choutdev[i];}
      audio_rate = rate;
      audio_dacblocksize = dacblocksize;
--- 130,137 ----
  int noutdev, int *outdev, int *choutdev,
  int rate, int dacblocksize, int advance, int scheduler) {
!     audio_in.ndev  = nindev;
!     audio_out.ndev = noutdev;
!     for (int i=0; i<MAXAUDIOINDEV;  i++) {audio_in.dev[i]  = indev[i];  audio_in.chdev[i]  = chindev[i];}
!     for (int i=0; i<MAXAUDIOOUTDEV; i++) {audio_out.dev[i] = outdev[i]; audio_out.chdev[i] = choutdev[i];}
      audio_rate = rate;
      audio_dacblocksize = dacblocksize;
***************
*** 144,149 ****
  }
  
!     /* init routines for any API which needs to set stuff up before
!     any other API gets used.  This is only true of OSS so far. */
  #ifdef USEAPI_OSS
  void oss_init();
--- 140,144 ----
  }
  
! /* init routines for any API which needs to set stuff up before any other API gets used.  This is only true of OSS so far. */
  #ifdef USEAPI_OSS
  void oss_init();
***************
*** 190,207 ****
  /* ----------------------- public routines ----------------------- */
  
!     /* open audio devices (after cleaning up the specified device and channel
!     vectors).  The audio devices are "zero based" (i.e. "0" means the first
!     one.)  We also save the cleaned-up device specification so that we
      can later re-open audio and/or show the settings on a dialog window. */
! 
! extern int sgi_open_audio(int nindev,  int *indev,  int nchin,
! int *chin,  int noutdev, int *outdev, int nchout, int *chout, int rate);
! void sys_open_audio(int nindev, int *indev, int nchindev,
!     int *chindev, int noutdev, int *outdev, int nchoutdev,
!     int *choutdev, int rate, int dacblocksize, int advance, int schedmode, int enable)
! {
      int defaultchannels = SYS_DEFAULTCH;
      int realinchans[MAXAUDIOINDEV], realoutchans[MAXAUDIOOUTDEV];
- 
      char indevlist[MAXNDEV*DEVDESCSIZE], outdevlist[MAXNDEV*DEVDESCSIZE];
      int indevs = 0, outdevs = 0, canmulti = 0;
--- 185,195 ----
  /* ----------------------- public routines ----------------------- */
  
! /* open audio devices (after cleaning up the specified device and channel vectors).  The audio devices are "zero based"
!    (i.e. "0" means the first one.)  We also save the cleaned-up device specification so that we
      can later re-open audio and/or show the settings on a dialog window. */
! void sys_open_audio(int nindev, int *indev, int nchindev, int *chindev, int noutdev, int *outdev, int nchoutdev,
! int *choutdev, int rate, int dacblocksize, int advance, int schedmode, int enable) {
      int defaultchannels = SYS_DEFAULTCH;
      int realinchans[MAXAUDIOINDEV], realoutchans[MAXAUDIOOUTDEV];
      char indevlist[MAXNDEV*DEVDESCSIZE], outdevlist[MAXNDEV*DEVDESCSIZE];
      int indevs = 0, outdevs = 0, canmulti = 0;
***************
*** 509,515 ****
              sys_audioapi = newapi;
  	    /* bash device params back to default */
!             audio_nindev = audio_noutdev = 1;
!             audio_indev[0]   = audio_outdev[0] = DEFAULTAUDIODEV;
!             audio_chindev[0] = audio_choutdev[0] = SYS_DEFAULTCH;
  	}
  	sched_set_using_dacs(0);
--- 497,503 ----
              sys_audioapi = newapi;
  	    /* bash device params back to default */
!             audio_in.ndev = audio_out.ndev = 1;
!             audio_in.dev[0]   = audio_out.dev[0] = DEFAULTAUDIODEV;
!             audio_in.chdev[0] = audio_out.chdev[0] = SYS_DEFAULTCH;
  	}
  	sched_set_using_dacs(0);

Index: s_stuff.h
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_stuff.h,v
retrieving revision 1.5.4.10.2.8.2.10
retrieving revision 1.5.4.10.2.8.2.11
diff -C2 -d -r1.5.4.10.2.8.2.10 -r1.5.4.10.2.8.2.11
*** s_stuff.h	9 Jul 2007 19:50:19 -0000	1.5.4.10.2.8.2.10
--- s_stuff.h	10 Jul 2007 15:39:40 -0000	1.5.4.10.2.8.2.11
***************
*** 381,384 ****
--- 381,393 ----
  void inmidi_polyaftertouch(int portno, int channel, int pitch, int value);
  
+ struct t_audiodevs {
+   int ndev;
+   int dev[MAXAUDIOINDEV];
+   int chdev[MAXAUDIOINDEV];
+ #ifdef __cplusplus
+   t_audiodevs() : ndev(-1) {}
+ #endif
+ };
+ 
  #if defined(_LANGUAGE_C_PLUS_PLUS) || defined(__cplusplus)
  }





More information about the Pd-cvs mailing list