[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