Subversion Repositories Kolibri OS

Rev

Rev 573 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
359 serge 1
 
2
#define _SOUND_H_
3
4
 
5
extern "C"
6
{
7
#endif
8
9
 
573 serge 10
#define PCM_ALL       0
359 serge 11
368 serge 12
 
374 serge 13
#define PCM_RING      0x10000000
14
#define PCM_STATIC    0x20000000
15
#define PCM_FLOAT     0x40000000
16
#define PCM_FILTER    0x80000000
17
18
 
359 serge 19
#define PCM_1_16_48   2
20
#define PCM_2_16_44   3
21
#define PCM_1_16_44   4
22
#define PCM_2_16_32   5
23
#define PCM_1_16_32   6
24
#define PCM_2_16_24   7
25
#define PCM_1_16_24   8
26
#define PCM_2_16_22   9
27
#define PCM_1_16_22  10
28
#define PCM_2_16_16  11
29
#define PCM_1_16_16  12
30
#define PCM_2_16_12  13
31
#define PCM_1_16_12  14
32
#define PCM_2_16_11  15
33
#define PCM_1_16_11  16
34
#define PCM_2_16_8   17
35
#define PCM_1_16_8   18
36
#define PCM_2_8_48   19
37
#define PCM_1_8_48   20
38
#define PCM_2_8_44   21
39
#define PCM_1_8_44   22
40
#define PCM_2_8_32   23
41
#define PCM_1_8_32   24
42
#define PCM_2_8_24   25
43
#define PCM_1_8_24   26
44
#define PCM_2_8_22   27
45
#define PCM_1_8_22   28
46
#define PCM_2_8_16   29
47
#define PCM_1_8_16   30
48
#define PCM_2_8_12   31
49
#define PCM_1_8_12   32
50
#define PCM_2_8_11   33
51
#define PCM_1_8_11   34
52
#define PCM_2_8_8    35
53
#define PCM_1_8_8    36
54
55
 
56
#define SND_CREATE_BUFF     1
57
#define SND_DESTROY_BUFF    2
58
#define SND_SETFORMAT       3
59
#define SND_GETFORMAT       4
550 serge 60
#define SND_RESET           5
374 serge 61
#define SND_SETPOS          6
62
#define SND_GETPOS          7
63
#define SND_SETBUFF         8
64
#define SND_OUT             9
359 serge 65
#define SND_PLAY           10
374 serge 66
#define SND_STOP           11
67
#define SND_SETVOLUME      12
68
#define SND_GETVOLUME      13
69
#define SND_SETPAN         14
70
#define SND_GETPAN         15
71
#define SND_GETBUFFSIZE    16
72
#define SND_GETFREESPACE   17
573 serge 73
#define SND_SETTIMEBASE    18
1691 serge 74
#define SND_GETTIMESTAMP   19
75
359 serge 76
 
1691 serge 77
 
374 serge 78
79
 
359 serge 80
81
 
376 serge 82
374 serge 83
 
376 serge 84
int _stdcall  DestroyBuffer(SNDBUF hBuff);
359 serge 85
374 serge 86
 
550 serge 87
int _stdcall  GetFormat(SNDBUF hBuff, unsigned int *format);
88
374 serge 89
 
368 serge 90
int _stdcall  SetBufferPos(SNDBUF hBuff, int offset);
91
int _stdcall  GetBufferPos(SNDBUF hBuff, int *offset);
376 serge 92
int _stdcall  GetBufferSize(SNDBUF hBuff, int *size);
93
int _stdcall  GetBufferFree(SNDBUF hBuff, int *free);
573 serge 94
374 serge 95
 
96
                        int offs, int size);
97
int _stdcall  WaveOut(SNDBUF hBuff,void *buff, int size);
98
int _stdcall  PlayBuffer(SNDBUF hBuff,unsigned int flags);
99
int _stdcall  StopBuffer(SNDBUF hBuff);
100
550 serge 101
 
368 serge 102
int _stdcall  GetVolume(SNDBUF hBuff, int *left, int *right);
103
int _stdcall  SetPan(SNDBUF hBuff, int pan);
104
int _stdcall  GetPan(SNDBUF hBuff, int *pan);
376 serge 105
550 serge 106
 
374 serge 107
int _stdcall  SetMasterVol(int vol);
108
359 serge 109
 
1691 serge 110
int _stdcall  GetTimeStamp(SNDBUF hBuff, double *stamp);
111
376 serge 112
 
1691 serge 113
 
376 serge 114
{
115
    unsigned int   riff_id;
116
    unsigned int   riff_size;
117
    unsigned int   riff_format;
118
119
 
120
    unsigned int   fmt_size;
121
122
 
123
    unsigned short int nChannels;
124
    unsigned int   nSamplesPerSec;
125
    unsigned int   nAvgBytesPerSec;
126
    unsigned short int nBlockAlign;
127
    unsigned short int wBitsPerSample;
128
    unsigned int   data_id;
129
    unsigned int   data_size;
130
} WAVEHEADER;
131
132
 
133
 
368 serge 134
135
 
359 serge 136
extern "C"
137
}
138
#endif
139
140
 
376 serge 141