[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