source: cmedia/trunk/Include/daudio.h@ 559

Last change on this file since 559 was 354, checked in by stevenhl, 17 years ago

Import untested baseline cmedia sources, work products and binaries
Binaries and work products should be deleted from repository.
once new builds are verified to work.

File size: 3.3 KB
Line 
1/* $Id: daudio.h,v 1.4 2001/04/30 21:09:54 sandervl Exp $ */
2#ifndef __DAUDIO_H__
3#define __DAUDIO_H__
4
5#ifndef FAR
6#define FAR
7#endif
8
9#define DAUDIO_IOCTL_CAT 0x91
10
11#define DAUDIO_OPEN 0x40
12#define DAUDIO_CLOSE 0x41
13#define DAUDIO_QUERYFORMAT 0x42
14#define DAUDIO_SETVOLUME 0x43
15#define DAUDIO_GETVOLUME 0x44
16#define DAUDIO_START 0x45
17#define DAUDIO_STOP 0x46
18#define DAUDIO_PAUSE 0x47
19#define DAUDIO_RESUME 0x48
20#define DAUDIO_GETPOS 0x49
21#define DAUDIO_ADDBUFFER 0x4A
22#define DAUDIO_REGISTER_THREAD 0x4B
23#define DAUDIO_DEREGISTER_THREAD 0x4C
24#define DAUDIO_QUERYCAPS 0x4D
25#define DAUDIO_QUERYVERSION 0x4E
26#define DAUDIO_SETPROPERTY 0x4F
27
28#define DAUDIO_VERSION 0x00000002 //highword = major, lowword = minor version
29
30typedef struct {
31 union
32 {
33 struct
34 {
35 ULONG VolumeL; // left volume (0..100)
36 ULONG VolumeR; // right volume (0..100)
37 } Vol;
38 struct
39 {
40 ULONG lpBuffer;
41 ULONG ulBufferLength;
42 } Buffer;
43 struct
44 {
45 ULONG ulCurrentPos;
46 ULONG ulWritePos;
47 } Pos;
48 struct
49 {
50 ULONG hSemaphore;
51 } Thread;
52 struct
53 {
54 ULONG ulVersion;
55 } Version;
56 struct
57 {
58 ULONG type;
59 ULONG value;
60 } SetProperty;
61 };
62
63} DAUDIO_CMD, FAR *LPDAUDIO_CMD;
64
65#define DAUDIOCAPS_PRIMARYMONO 0x00000001
66#define DAUDIOCAPS_PRIMARYSTEREO 0x00000002
67#define DAUDIOCAPS_PRIMARY8BIT 0x00000004
68#define DAUDIOCAPS_PRIMARY16BIT 0x00000008
69#define DAUDIOCAPS_CONTINUOUSRATE 0x00000010
70#define DAUDIOCAPS_EMULDRIVER 0x00000020
71#define DAUDIOCAPS_CERTIFIED 0x00000040
72#define DAUDIOCAPS_SECONDARYMONO 0x00000100
73#define DAUDIOCAPS_SECONDARYSTEREO 0x00000200
74#define DAUDIOCAPS_SECONDARY8BIT 0x00000400
75#define DAUDIOCAPS_SECONDARY16BIT 0x00000800
76
77typedef struct _DAUDIOCAPS
78{
79 ULONG dwSize;
80 ULONG dwFlags;
81 ULONG dwMinSecondarySampleRate;
82 ULONG dwMaxSecondarySampleRate;
83 ULONG dwPrimaryBuffers;
84 ULONG dwMaxHwMixingAllBuffers;
85 ULONG dwMaxHwMixingStaticBuffers;
86 ULONG dwMaxHwMixingStreamingBuffers;
87 ULONG dwFreeHwMixingAllBuffers;
88 ULONG dwFreeHwMixingStaticBuffers;
89 ULONG dwFreeHwMixingStreamingBuffers;
90 ULONG dwMaxHw3DAllBuffers;
91 ULONG dwMaxHw3DStaticBuffers;
92 ULONG dwMaxHw3DStreamingBuffers;
93 ULONG dwFreeHw3DAllBuffers;
94 ULONG dwFreeHw3DStaticBuffers;
95 ULONG dwFreeHw3DStreamingBuffers;
96 ULONG dwTotalHwMemBytes;
97 ULONG dwFreeHwMemBytes;
98 ULONG dwMaxContigFreeHwMemBytes;
99 ULONG dwUnlockTransferRateHwBuffers;
100 ULONG dwPlayCpuOverheadSwBuffers;
101 ULONG dwReserved1;
102 ULONG dwReserved2;
103} DAUDIO_CAPS, FAR *LPDAUDIO_CAPS;
104
105#define SBLIVECAPS_MINSAMPLERATE 5000
106#define SBLIVECAPS_MAXSAMPLERATE 48000
107#define SBLIVECAPS_MAXSTREAMS 32
108
109
110// property types
111#define PROPERTY_LOOPING 0
112#define PROPERTY_FREQUENCY 1
113#define PROPERTY_VOLUME 2
114#define PROPERTY_BALANCE 3
115#define PROPERTY_MASTERVOL 4
116#define PROPERTY_INPUTSRC 5
117#define PROPERTY_INPUTGAIN 6
118
119#endif //__DAUDIO_H__
Note: See TracBrowser for help on using the repository browser.