[PD-cvs] pd/portaudio/pa_win_ds pa_win_ds.c,1.9,1.10

Miller Puckette millerpuckette at users.sourceforge.net
Sat Jun 3 21:13:09 CEST 2006


Update of /cvsroot/pure-data/pd/portaudio/pa_win_ds
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12672/pd/portaudio/pa_win_ds

Modified Files:
	pa_win_ds.c 
Log Message:
FFT package selection

Zmoelnig's multi-'$' patch

big-soundfile support

Patch to set open directories (openpanel, savepanel)

patch to allow funny characters in extern names

fixed makefile.in to support intel mac






Index: pa_win_ds.c
===================================================================
RCS file: /cvsroot/pure-data/pd/portaudio/pa_win_ds/pa_win_ds.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** pa_win_ds.c	30 May 2005 03:04:13 -0000	1.9
--- pa_win_ds.c	3 Jun 2006 19:13:06 -0000	1.10
***************
*** 76,84 ****
  #endif
  
  
! #define PRINT(x) /* { printf x; fflush(stdout); } */
  #define ERR_RPT(x) PRINT(x)
! #define DBUG(x)  /* PRINT(x) */
! #define DBUGX(x) /* PRINT(x) */
  
  #define PA_USE_HIGH_LATENCY   (0)
--- 76,90 ----
  #endif
  
+ /*
+  provided in newer platform sdks and x64
+  */
+ #ifndef DWORD_PTR
+ #define DWORD_PTR DWORD
+ #endif
  
! #define PRINT(x) PA_DEBUG(x);
  #define ERR_RPT(x) PRINT(x)
! #define DBUG(x)   PRINT(x)
! #define DBUGX(x)  PRINT(x)
  
  #define PA_USE_HIGH_LATENCY   (0)
***************
*** 367,370 ****
--- 373,385 ----
  
  
+ /* 
+     GUIDs for emulated devices which we blacklist below.
+     are there more than two of them??
+ */
+ 
+ GUID IID_IRolandVSCEmulated1 = {0xc2ad1800, 0xb243, 0x11ce, 0xa8, 0xa4, 0x00, 0xaa, 0x00, 0x6c, 0x45, 0x01};
+ GUID IID_IRolandVSCEmulated2 = {0xc2ad1800, 0xb243, 0x11ce, 0xa8, 0xa4, 0x00, 0xaa, 0x00, 0x6c, 0x45, 0x02};
+ 
+ 
  #define PA_DEFAULTSAMPLERATESEARCHORDER_COUNT_  (13) /* must match array length below */
  static double defaultSampleRateSearchOrder_[] =
***************
*** 405,408 ****
--- 420,433 ----
  
      
+     if( lpGUID )
+     {
+         if (IsEqualGUID (&IID_IRolandVSCEmulated1,lpGUID) ||
+             IsEqualGUID (&IID_IRolandVSCEmulated2,lpGUID) )
+         {
+             PA_DEBUG(("BLACKLISTED: %s \n",name));
+             return paNoError;
+         }
+     }
+ 
      /* Create a DirectSound object for the specified GUID
          Note that using CoCreateInstance doesn't work on windows CE.
***************
*** 428,432 ****
--- 453,474 ----
      if( hr != DS_OK )
      {
+         if (hr == DSERR_ALLOCATED)
+             PA_DEBUG(("AddOutputDeviceInfoFromDirectSound %s DSERR_ALLOCATED\n",name));
          DBUG(("Cannot create DirectSound for %s. Result = 0x%x\n", name, hr ));
+         if (lpGUID)
+             DBUG(("%s's GUID: {0x%x,0x%x,0x%x,0x%x,0x%x,0x%x,0x%x,0x%x,0x%x,0x%x, 0x%x} \n",
+                  name,
+                  lpGUID->Data1,
+                  lpGUID->Data2,
+                  lpGUID->Data3,
+                  lpGUID->Data4[0],
+                  lpGUID->Data4[1],
+                  lpGUID->Data4[2],
+                  lpGUID->Data4[3],
+                  lpGUID->Data4[4],
+                  lpGUID->Data4[5],
+                  lpGUID->Data4[6],
+                  lpGUID->Data4[7]));
+ 
          deviceOK = FALSE;
      }
***************
*** 492,496 ****
                          deviceInfo->defaultSampleRate = 44100.0f;
  
!                         DBUG(("PA - Reported rates both zero. Setting to fake values for device #%d\n", sDeviceIndex ));
                      }
                      else
--- 534,538 ----
                          deviceInfo->defaultSampleRate = 44100.0f;
  
!                         DBUG(("PA - Reported rates both zero. Setting to fake values for device #%s\n", name ));
                      }
                      else
***************
*** 506,510 ****
                      */
                    deviceInfo->defaultSampleRate = 44100.0f;
!                   DBUG(("PA - Sample rate range used instead of two odd values for device #%d\n", sDeviceIndex ));
                  }
                  else deviceInfo->defaultSampleRate = caps.dwMaxSecondarySampleRate;
--- 548,552 ----
                      */
                    deviceInfo->defaultSampleRate = 44100.0f;
!                   DBUG(("PA - Sample rate range used instead of two odd values for device #%s\n", name ));
                  }
                  else deviceInfo->defaultSampleRate = caps.dwMaxSecondarySampleRate;
***************
*** 1512,1516 ****
  }
  /*******************************************************************/
! static void CALLBACK Pa_TimerCallback(UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2)
  {
      PaWinDsStream *stream;
--- 1554,1558 ----
  }
  /*******************************************************************/
! static void CALLBACK Pa_TimerCallback(UINT uID, UINT uMsg, DWORD_PTR dwUser, DWORD dw1, DWORD dw2)
  {
      PaWinDsStream *stream;
***************
*** 1636,1640 ****
          resolution = msecPerWakeup/4;
          stream->timerID = timeSetEvent( msecPerWakeup, resolution, (LPTIMECALLBACK) Pa_TimerCallback,
!                                              (DWORD) stream, TIME_PERIODIC );
      }
      if( stream->timerID == 0 )
--- 1678,1682 ----
          resolution = msecPerWakeup/4;
          stream->timerID = timeSetEvent( msecPerWakeup, resolution, (LPTIMECALLBACK) Pa_TimerCallback,
!                                              (DWORD_PTR) stream, TIME_PERIODIC );
      }
      if( stream->timerID == 0 )





More information about the Pd-cvs mailing list