[PD-cvs] pd/src s_audio_mmio.c,1.4.4.1.4.2,1.4.4.1.4.3

Mathieu Bouchard matju at users.sourceforge.net
Tue Jul 31 01:26:42 CEST 2007


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

Modified Files:
      Tag: desiredata
	s_audio_mmio.c 
Log Message:
cleanup and remove fprintf


Index: s_audio_mmio.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/s_audio_mmio.c,v
retrieving revision 1.4.4.1.4.2
retrieving revision 1.4.4.1.4.3
diff -C2 -d -r1.4.4.1.4.2 -r1.4.4.1.4.3
*** s_audio_mmio.c	10 Jul 2007 05:47:28 -0000	1.4.4.1.4.2
--- s_audio_mmio.c	30 Jul 2007 23:26:40 -0000	1.4.4.1.4.3
***************
*** 53,66 ****
  static int ntsnd_inphase[NAPORTS];          /* index of next buffer to read */
  
! static void nt_waveinerror(char *s, int err) {
      char t[256];
      waveInGetErrorText(err, t, 256);
!     fprintf(stderr, s, t);
  }
  
! static void nt_waveouterror(char *s, int err) {
      char t[256];
      waveOutGetErrorText(err, t, 256);
!     fprintf(stderr, s, t);
  }
  
--- 53,66 ----
  static int ntsnd_inphase[NAPORTS];          /* index of next buffer to read */
  
! static void nt_waveinerror(const char *s, int err) {
      char t[256];
      waveInGetErrorText(err, t, 256);
!     error(s,t);
  }
  
! static void nt_waveouterror(const char *s, int err) {
      char t[256];
      waveOutGetErrorText(err, t, 256);
!     error(s,t);
  }
  
***************
*** 147,153 ****
          /* Open a waveform device for output in sucessiv device numbering*/
          mmresult = waveOutOpen(&ntsnd_outdev[nda], nt_whichdac + nda, (WAVEFORMATEX *)(&form), 0L, 0L, CALLBACK_NULL);
!         if (sys_verbose) fprintf(stderr,"opened dac device %d, with return %d\n", nt_whichdac +nda, mmresult);
          if (mmresult != MMSYSERR_NOERROR) {
!             fprintf(stderr,"Wave out open device %d + %d\n",nt_whichdac,nda);
              nt_waveouterror("waveOutOpen device: %s\n",  mmresult);
              nt_nwaveout = nda;
--- 147,153 ----
          /* Open a waveform device for output in sucessiv device numbering*/
          mmresult = waveOutOpen(&ntsnd_outdev[nda], nt_whichdac + nda, (WAVEFORMATEX *)(&form), 0L, 0L, CALLBACK_NULL);
!         if (sys_verbose) post("opened dac device %d, with return %d", nt_whichdac +nda, mmresult);
          if (mmresult != MMSYSERR_NOERROR) {
!             post("Wave out open device %d + %d",nt_whichdac,nda);
              nt_waveouterror("waveOutOpen device: %s\n",  mmresult);
              nt_nwaveout = nda;
***************
*** 246,251 ****
              phase3 = WRAPFWD(phase2 + 1);
          }
!         post("nad %d phase %d busy %d done %d", nad, phase, firstphasebusy,
!             firstphasedone);
          continue;
      multipleadc:
--- 246,250 ----
              phase3 = WRAPFWD(phase2 + 1);
          }
!         post("nad %d phase %d busy %d done %d", nad, phase, firstphasebusy, firstphasedone);
          continue;
      multipleadc:
***************
*** 276,283 ****
              phase3 = WRAPFWD(phase2 + 1);
          }
!         if (firstphasebusy < 0) post("nda %d phase %d all %d",
!             nda, phase, (ntsnd_outvec[nad][0].lpWaveHdr->dwFlags & WHDR_DONE));
!         else post("nda %d phase %d busy %d done %d", nda, phase, firstphasebusy,
!             firstphasedone);
          continue;
      multipledac:
--- 275,280 ----
              phase3 = WRAPFWD(phase2 + 1);
          }
!         if (firstphasebusy < 0) post("nda %d phase %d all %d", nda, phase, (ntsnd_outvec[nad][0].lpWaveHdr->dwFlags & WHDR_DONE));
!         else post("nda %d phase %d busy %d done %d", nda, phase, firstphasebusy, firstphasedone);
          continue;
      multipledac:
***************
*** 313,324 ****
              WAVEHDR *inwavehdr = ntsnd_invec[nad][phase].lpWaveHdr;
              if (!(inwavehdr->dwFlags & WHDR_DONE)) break;
!             if (inwavehdr->dwFlags & WHDR_PREPARED)
!                 waveInUnprepareHeader(ntsnd_indev[nad],
!                     inwavehdr, sizeof(WAVEHDR));
              inwavehdr->dwFlags = 0L;
              waveInPrepareHeader(ntsnd_indev[nad], inwavehdr, sizeof(WAVEHDR));
              mmresult = waveInAddBuffer(ntsnd_indev[nad], inwavehdr, sizeof(WAVEHDR));
!             if (mmresult != MMSYSERR_NOERROR)
!                 nt_waveinerror("waveInAddBuffer: %s\n", mmresult);
              ntsnd_inphase[nad] = phase = WRAPFWD(phase + 1);
          }
--- 310,318 ----
              WAVEHDR *inwavehdr = ntsnd_invec[nad][phase].lpWaveHdr;
              if (!(inwavehdr->dwFlags & WHDR_DONE)) break;
!             if (inwavehdr->dwFlags & WHDR_PREPARED) waveInUnprepareHeader(ntsnd_indev[nad], inwavehdr, sizeof(WAVEHDR));
              inwavehdr->dwFlags = 0L;
              waveInPrepareHeader(ntsnd_indev[nad], inwavehdr, sizeof(WAVEHDR));
              mmresult = waveInAddBuffer(ntsnd_indev[nad], inwavehdr, sizeof(WAVEHDR));
!             if (mmresult != MMSYSERR_NOERROR) nt_waveinerror("waveInAddBuffer: %s\n", mmresult);
              ntsnd_inphase[nad] = phase = WRAPFWD(phase + 1);
          }
***************
*** 331,345 ****
              WAVEHDR *outwavehdr = ntsnd_outvec[nda][phase].lpWaveHdr;
              if (!(outwavehdr->dwFlags & WHDR_DONE)) break;
!             if (outwavehdr->dwFlags & WHDR_PREPARED)
!                 waveOutUnprepareHeader(ntsnd_outdev[nda], outwavehdr, sizeof(WAVEHDR));
              outwavehdr->dwFlags = 0L;
!             memset((char *)(ntsnd_outvec[nda][phase].lpData),
!                 0, (CHANNELS_PER_DEVICE * SAMPSIZE * nt_realdacblksize));
!             waveOutPrepareHeader(ntsnd_outdev[nda], outwavehdr,
!                 sizeof(WAVEHDR));
!             mmresult = waveOutWrite(ntsnd_outdev[nda], outwavehdr,
!                 sizeof(WAVEHDR));
!             if (mmresult != MMSYSERR_NOERROR)
!                 nt_waveouterror("waveOutAddBuffer: %s\n", mmresult);
              ntsnd_outphase[nda] = phase = WRAPFWD(phase + 1);
          }
--- 325,334 ----
              WAVEHDR *outwavehdr = ntsnd_outvec[nda][phase].lpWaveHdr;
              if (!(outwavehdr->dwFlags & WHDR_DONE)) break;
!             if (outwavehdr->dwFlags & WHDR_PREPARED) waveOutUnprepareHeader(ntsnd_outdev[nda], outwavehdr, sizeof(WAVEHDR));
              outwavehdr->dwFlags = 0L;
!             memset((char *)(ntsnd_outvec[nda][phase].lpData), 0, (CHANNELS_PER_DEVICE * SAMPSIZE * nt_realdacblksize));
!             waveOutPrepareHeader(   ntsnd_outdev[nda], outwavehdr, sizeof(WAVEHDR));
!             mmresult = waveOutWrite(ntsnd_outdev[nda], outwavehdr, sizeof(WAVEHDR));
!             if (mmresult != MMSYSERR_NOERROR) nt_waveouterror("waveOutAddBuffer: %s\n", mmresult);
              ntsnd_outphase[nda] = phase = WRAPFWD(phase + 1);
          }
***************
*** 385,389 ****
      float *fp1, *fp2;
      int nextfill, doxfer = 0;
-     int nda, nad;
      if (!nt_nwavein && !nt_nwaveout) return 0;
      if (nt_meters) {
--- 374,377 ----
***************
*** 406,434 ****
         first check whether the buffers are marked "done". */
      if (!nt_fill) {
!         for (nad = 0; nad < nt_nwavein; nad++) {
              int phase = ntsnd_inphase[nad];
              WAVEHDR *inwavehdr = ntsnd_invec[nad][phase].lpWaveHdr;
              if (!(inwavehdr->dwFlags & WHDR_DONE)) goto idle;
          }
!         for (nda = 0; nda < nt_nwaveout; nda++) {
              int phase = ntsnd_outphase[nda];
              WAVEHDR *outwavehdr = ntsnd_outvec[nda][phase].lpWaveHdr;
              if (!(outwavehdr->dwFlags & WHDR_DONE)) goto idle;
          }
!         for (nad = 0; nad < nt_nwavein; nad++) {
              int phase = ntsnd_inphase[nad];
              WAVEHDR *inwavehdr = ntsnd_invec[nad][phase].lpWaveHdr;
!             if (inwavehdr->dwFlags & WHDR_PREPARED)
!                 waveInUnprepareHeader(ntsnd_indev[nad], inwavehdr, sizeof(WAVEHDR));
          }
!         for (nda = 0; nda < nt_nwaveout; nda++) {
              int phase = ntsnd_outphase[nda];
              WAVEHDR *outwavehdr = ntsnd_outvec[nda][phase].lpWaveHdr;
!             if (outwavehdr->dwFlags & WHDR_PREPARED)
!                 waveOutUnprepareHeader(ntsnd_outdev[nda], outwavehdr, sizeof(WAVEHDR));
          }
      }
      /* Convert audio output to fixed-point and put it in the output buffer. */
!     for (nda = 0, fp1 = sys_soundout; nda < nt_nwaveout; nda++) {
          int phase = ntsnd_outphase[nda];
          for (i=0, sp1=(short *)(ntsnd_outvec[nda][phase].lpData)+CHANNELS_PER_DEVICE*nt_fill; i<2; i++, fp1 += sys_dacblocksize, sp1++) {
--- 394,421 ----
         first check whether the buffers are marked "done". */
      if (!nt_fill) {
!         for (int nad=0; nad<nt_nwavein; nad++) {
              int phase = ntsnd_inphase[nad];
              WAVEHDR *inwavehdr = ntsnd_invec[nad][phase].lpWaveHdr;
              if (!(inwavehdr->dwFlags & WHDR_DONE)) goto idle;
          }
!         for (int nda=0; nda<nt_nwaveout; nda++) {
              int phase = ntsnd_outphase[nda];
              WAVEHDR *outwavehdr = ntsnd_outvec[nda][phase].lpWaveHdr;
              if (!(outwavehdr->dwFlags & WHDR_DONE)) goto idle;
          }
!         for (int nad=0; nad<nt_nwavein; nad++) {
              int phase = ntsnd_inphase[nad];
              WAVEHDR *inwavehdr = ntsnd_invec[nad][phase].lpWaveHdr;
!             if (inwavehdr->dwFlags & WHDR_PREPARED) waveInUnprepareHeader(ntsnd_indev[nad], inwavehdr, sizeof(WAVEHDR));
          }
!         for (int nda=0; nda<nt_nwaveout; nda++) {
              int phase = ntsnd_outphase[nda];
              WAVEHDR *outwavehdr = ntsnd_outvec[nda][phase].lpWaveHdr;
!             if (outwavehdr->dwFlags & WHDR_PREPARED) waveOutUnprepareHeader(ntsnd_outdev[nda], outwavehdr, sizeof(WAVEHDR));
          }
      }
      /* Convert audio output to fixed-point and put it in the output buffer. */
!     fp1 = sys_soundout;
!     for (int nda=0; nda<nt_nwaveout; nda++) {
          int phase = ntsnd_outphase[nda];
          for (i=0, sp1=(short *)(ntsnd_outvec[nda][phase].lpData)+CHANNELS_PER_DEVICE*nt_fill; i<2; i++, fp1 += sys_dacblocksize, sp1++) {
***************
*** 443,447 ****
      memset(sys_soundout, 0, (sys_dacblocksize *sizeof(t_sample)*CHANNELS_PER_DEVICE)*nt_nwaveout);
      /* vice versa for the input buffer */
!     for (nad = 0, fp1 = sys_soundin; nad < nt_nwavein; nad++) {
          int phase = ntsnd_inphase[nad];
          for (i=0, sp1=(short *)(ntsnd_invec[nad][phase].lpData)+CHANNELS_PER_DEVICE*nt_fill; i < 2; i++, fp1 += sys_dacblocksize, sp1++) {
--- 430,435 ----
      memset(sys_soundout, 0, (sys_dacblocksize *sizeof(t_sample)*CHANNELS_PER_DEVICE)*nt_nwaveout);
      /* vice versa for the input buffer */
!     fp1 = sys_soundin;
!     for (int nad=0; nad<nt_nwavein; nad++) {
          int phase = ntsnd_inphase[nad];
          for (i=0, sp1=(short *)(ntsnd_invec[nad][phase].lpData)+CHANNELS_PER_DEVICE*nt_fill; i < 2; i++, fp1 += sys_dacblocksize, sp1++) {
***************
*** 454,458 ****
      if (nt_fill == nt_realdacblksize) {
          nt_fill = 0;
!         for (nad = 0; nad < nt_nwavein; nad++) {
              int phase = ntsnd_inphase[nad];
              HWAVEIN device = ntsnd_indev[nad];
--- 442,446 ----
      if (nt_fill == nt_realdacblksize) {
          nt_fill = 0;
!         for (int nad=0; nad<nt_nwavein; nad++) {
              int phase = ntsnd_inphase[nad];
              HWAVEIN device = ntsnd_indev[nad];
***************
*** 460,468 ****
              waveInPrepareHeader(device, inwavehdr, sizeof(WAVEHDR));
              mmresult = waveInAddBuffer(device, inwavehdr, sizeof(WAVEHDR));
!             if (mmresult != MMSYSERR_NOERROR)
!                 nt_waveinerror("waveInAddBuffer: %s\n", mmresult);
              ntsnd_inphase[nad] = WRAPFWD(phase + 1);
          }
!         for (nda = 0; nda < nt_nwaveout; nda++) {
              int phase = ntsnd_outphase[nda];
              HWAVEOUT device = ntsnd_outdev[nda];
--- 448,455 ----
              waveInPrepareHeader(device, inwavehdr, sizeof(WAVEHDR));
              mmresult = waveInAddBuffer(device, inwavehdr, sizeof(WAVEHDR));
!             if (mmresult != MMSYSERR_NOERROR) nt_waveinerror("waveInAddBuffer: %s\n", mmresult);
              ntsnd_inphase[nad] = WRAPFWD(phase + 1);
          }
!         for (int nda=0; nda<nt_nwaveout; nda++) {
              int phase = ntsnd_outphase[nda];
              HWAVEOUT device = ntsnd_outdev[nda];
***************
*** 470,484 ****
              waveOutPrepareHeader(device, outwavehdr, sizeof(WAVEHDR));
              mmresult = waveOutWrite(device, outwavehdr, sizeof(WAVEHDR));
!             if (mmresult != MMSYSERR_NOERROR)
!                 nt_waveouterror("waveOutWrite: %s\n", mmresult);
              ntsnd_outphase[nda] = WRAPFWD(phase + 1);
          }
          /* check for DAC underflow or ADC overflow. */
!         for (nad = 0; nad < nt_nwavein; nad++) {
              int phase = WRAPBACK(ntsnd_inphase[nad] - 2);
              WAVEHDR *inwavehdr = ntsnd_invec[nad][phase].lpWaveHdr;
              if (inwavehdr->dwFlags & WHDR_DONE) goto late;
          }
!         for (nda = 0; nda < nt_nwaveout; nda++) {
              int phase = WRAPBACK(ntsnd_outphase[nda] - 2);
              WAVEHDR *outwavehdr = ntsnd_outvec[nda][phase].lpWaveHdr;
--- 457,470 ----
              waveOutPrepareHeader(device, outwavehdr, sizeof(WAVEHDR));
              mmresult = waveOutWrite(device, outwavehdr, sizeof(WAVEHDR));
!             if (mmresult != MMSYSERR_NOERROR) nt_waveouterror("waveOutWrite: %s\n", mmresult);
              ntsnd_outphase[nda] = WRAPFWD(phase + 1);
          }
          /* check for DAC underflow or ADC overflow. */
!         for (int nad=0; nad<nt_nwavein; nad++) {
              int phase = WRAPBACK(ntsnd_inphase[nad] - 2);
              WAVEHDR *inwavehdr = ntsnd_invec[nad][phase].lpWaveHdr;
              if (inwavehdr->dwFlags & WHDR_DONE) goto late;
          }
!         for (int nda=0; nda<nt_nwaveout; nda++) {
              int phase = WRAPBACK(ntsnd_outphase[nda] - 2);
              WAVEHDR *outwavehdr = ntsnd_outvec[nda][phase].lpWaveHdr;
***************
*** 493,514 ****
  idle:
      /* If more than nt_adcjitterbufsallowed ADC buffers are ready on any input device, resynchronize */
!     for (nad = 0; nad < nt_nwavein; nad++) {
          int phase = ntsnd_inphase[nad];
          WAVEHDR *inwavehdr = ntsnd_invec[nad][WRAPFWD(phase + nt_adcjitterbufsallowed)].lpWaveHdr;
!         if (inwavehdr->dwFlags & WHDR_DONE) {
!             nt_resyncaudio();
!             return 0;
!         }
      }
      /* test dac sync the same way */
!     for (nda = 0; nda < nt_nwaveout; nda++) {
          int phase = ntsnd_outphase[nda];
!         WAVEHDR *outwavehdr =
!             ntsnd_outvec[nda]
!                 [WRAPFWD(phase + nt_dacjitterbufsallowed)].lpWaveHdr;
!         if (outwavehdr->dwFlags & WHDR_DONE) {
!             nt_resyncaudio();
!             return 0;
!         }
      }
  #ifdef MIDI_TIMESTAMP
--- 479,492 ----
  idle:
      /* If more than nt_adcjitterbufsallowed ADC buffers are ready on any input device, resynchronize */
!     for (int nad=0; nad<nt_nwavein; nad++) {
          int phase = ntsnd_inphase[nad];
          WAVEHDR *inwavehdr = ntsnd_invec[nad][WRAPFWD(phase + nt_adcjitterbufsallowed)].lpWaveHdr;
!         if ( inwavehdr->dwFlags & WHDR_DONE) {nt_resyncaudio(); return 0;}
      }
      /* test dac sync the same way */
!     for (int nda=0; nda<nt_nwaveout; nda++) {
          int phase = ntsnd_outphase[nda];
!         WAVEHDR *outwavehdr = ntsnd_outvec[nda][WRAPFWD(phase + nt_dacjitterbufsallowed)].lpWaveHdr;
!         if (outwavehdr->dwFlags & WHDR_DONE) {nt_resyncaudio(); return 0;}
      }
  #ifdef MIDI_TIMESTAMP
***************
*** 527,536 ****
      nbuf = sys_advance_samples/nt_realdacblksize;
      if (nbuf >= MAXBUFFER) {
!         fprintf(stderr, "pd: audio buffering maxed out to %d\n",
!             (int)(MAXBUFFER * ((nt_realdacblksize * 1000.)/44100.)));
          nbuf = MAXBUFFER;
      }
      else if (nbuf < 4) nbuf = 4;
!     fprintf(stderr, "%d audio buffers\n", nbuf);
      nt_naudiobuffer = nbuf;
      if (nt_adcjitterbufsallowed > nbuf - 2) nt_adcjitterbufsallowed = nbuf - 2;
--- 505,513 ----
      nbuf = sys_advance_samples/nt_realdacblksize;
      if (nbuf >= MAXBUFFER) {
!         post("pd: audio buffering maxed out to %d", (int)(MAXBUFFER * ((nt_realdacblksize * 1000.)/44100.)));
          nbuf = MAXBUFFER;
      }
      else if (nbuf < 4) nbuf = 4;
!     post("%d audio buffers", nbuf);
      nt_naudiobuffer = nbuf;
      if (nt_adcjitterbufsallowed > nbuf - 2) nt_adcjitterbufsallowed = nbuf - 2;
***************
*** 554,558 ****
          wRtn = waveInGetDevCaps(i, (LPWAVEINCAPS) &wicap, sizeof(wicap));
          if (wRtn) nt_waveinerror("waveInGetDevCaps: %s\n", wRtn);
!         else fprintf(stderr, "audio input device #%d: %s\n", i+1, wicap.szPname);
      }
      ndevices = waveOutGetNumDevs();
--- 531,535 ----
          wRtn = waveInGetDevCaps(i, (LPWAVEINCAPS) &wicap, sizeof(wicap));
          if (wRtn) nt_waveinerror("waveInGetDevCaps: %s\n", wRtn);
!         else post("audio input device #%d: %s", i+1, wicap.szPname);
      }
      ndevices = waveOutGetNumDevs();
***************
*** 561,565 ****
          wRtn = waveOutGetDevCaps(i, (LPWAVEOUTCAPS) &wocap, sizeof(wocap));
          if (wRtn) nt_waveouterror("waveOutGetDevCaps: %s\n", wRtn);
!         else fprintf(stderr, "audio output device #%d: %s\n", i+1, wocap.szPname);
      }
  }
--- 538,542 ----
          wRtn = waveOutGetDevCaps(i, (LPWAVEOUTCAPS) &wocap, sizeof(wocap));
          if (wRtn) nt_waveouterror("waveOutGetDevCaps: %s\n", wRtn);
!         else post("audio output device #%d: %s", i+1, wocap.szPname);
      }
  }





More information about the Pd-cvs mailing list