34 #include "SDL_winmm.h" |
34 #include "SDL_winmm.h" |
35 |
35 |
36 #ifndef WAVE_FORMAT_IEEE_FLOAT |
36 #ifndef WAVE_FORMAT_IEEE_FLOAT |
37 #define WAVE_FORMAT_IEEE_FLOAT 0x0003 |
37 #define WAVE_FORMAT_IEEE_FLOAT 0x0003 |
38 #endif |
38 #endif |
|
39 |
|
40 /* !!! FIXME: |
|
41 |
|
42 WAVExxxCAPS gives you 31 bytes for the device name, and just truncates if it's |
|
43 longer. However, since WinXP, you can use the WAVExxxCAPS2 structure, which |
|
44 will give you a name GUID. The full name is in the Windows Registry under |
|
45 that GUID, located here: HKLM\System\CurrentControlSet\Control\MediaCategories |
|
46 |
|
47 Note that drivers can report GUID_NULL for the name GUID, in which case, |
|
48 Windows makes a best effort to fill in those 31 bytes in the usual place. |
|
49 This info summarized from MSDN: |
|
50 |
|
51 http://web.archive.org/web/20131027093034/http://msdn.microsoft.com/en-us/library/windows/hardware/ff536382(v=vs.85).aspx |
|
52 |
|
53 */ |
39 |
54 |
40 #define DETECT_DEV_IMPL(iscap, typ, capstyp) \ |
55 #define DETECT_DEV_IMPL(iscap, typ, capstyp) \ |
41 static void DetectWave##typ##Devs(void) { \ |
56 static void DetectWave##typ##Devs(void) { \ |
42 const UINT iscapture = iscap ? 1 : 0; \ |
57 const UINT iscapture = iscap ? 1 : 0; \ |
43 const UINT devcount = wave##typ##GetNumDevs(); \ |
58 const UINT devcount = wave##typ##GetNumDevs(); \ |