source: sbliveos2/trunk/include/daudio.h@ 179

Last change on this file since 179 was 179, checked in by sandervl, 24 years ago

header updates

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.1 KB
Line 
1/* $Id: daudio.h 179 2001-04-30 21:09:54Z sandervl $ */
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.