Subversion Repositories Kolibri OS

Rev

Rev 368 | Rev 376 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 368 Rev 374
1
#ifndef _SOUND_H_
1
#ifndef _SOUND_H_
2
#define _SOUND_H_
2
#define _SOUND_H_
3
 
3
 
4
#ifdef __cplusplus
4
#ifdef __cplusplus
5
extern "C"
5
extern "C"
6
{
6
{
7
#endif
7
#endif
8
 
8
 
9
#define SOUND_VERSION  5
9
#define SOUND_VERSION 5
10
 
10
 
11
#define PCM_ALL       0
11
#define PCM_ALL       0
12
#define PCM_STATIC    0x80000000
12
 
-
 
13
#define PCM_OUT       0x08000000
-
 
14
#define PCM_RING      0x10000000
-
 
15
#define PCM_STATIC    0x20000000
13
#define PCM_FILTER    0x40000000
16
#define PCM_FLOAT     0x40000000
14
#define PCM_FLOAT     0x20000000
17
#define PCM_FILTER    0x80000000
15
 
18
 
16
#define PCM_2_16_48   1
19
#define PCM_2_16_48   1
17
#define PCM_1_16_48   2
20
#define PCM_1_16_48   2
18
#define PCM_2_16_44   3
21
#define PCM_2_16_44   3
19
#define PCM_1_16_44   4
22
#define PCM_1_16_44   4
20
#define PCM_2_16_32   5
23
#define PCM_2_16_32   5
21
#define PCM_1_16_32   6
24
#define PCM_1_16_32   6
22
#define PCM_2_16_24   7
25
#define PCM_2_16_24   7
23
#define PCM_1_16_24   8
26
#define PCM_1_16_24   8
24
#define PCM_2_16_22   9
27
#define PCM_2_16_22   9
25
#define PCM_1_16_22  10
28
#define PCM_1_16_22  10
26
#define PCM_2_16_16  11
29
#define PCM_2_16_16  11
27
#define PCM_1_16_16  12
30
#define PCM_1_16_16  12
28
#define PCM_2_16_12  13
31
#define PCM_2_16_12  13
29
#define PCM_1_16_12  14
32
#define PCM_1_16_12  14
30
#define PCM_2_16_11  15
33
#define PCM_2_16_11  15
31
#define PCM_1_16_11  16
34
#define PCM_1_16_11  16
32
#define PCM_2_16_8   17
35
#define PCM_2_16_8   17
33
#define PCM_1_16_8   18
36
#define PCM_1_16_8   18
34
#define PCM_2_8_48   19
37
#define PCM_2_8_48   19
35
#define PCM_1_8_48   20
38
#define PCM_1_8_48   20
36
#define PCM_2_8_44   21
39
#define PCM_2_8_44   21
37
#define PCM_1_8_44   22
40
#define PCM_1_8_44   22
38
#define PCM_2_8_32   23
41
#define PCM_2_8_32   23
39
#define PCM_1_8_32   24
42
#define PCM_1_8_32   24
40
#define PCM_2_8_24   25
43
#define PCM_2_8_24   25
41
#define PCM_1_8_24   26
44
#define PCM_1_8_24   26
42
#define PCM_2_8_22   27
45
#define PCM_2_8_22   27
43
#define PCM_1_8_22   28
46
#define PCM_1_8_22   28
44
#define PCM_2_8_16   29
47
#define PCM_2_8_16   29
45
#define PCM_1_8_16   30
48
#define PCM_1_8_16   30
46
#define PCM_2_8_12   31
49
#define PCM_2_8_12   31
47
#define PCM_1_8_12   32
50
#define PCM_1_8_12   32
48
#define PCM_2_8_11   33
51
#define PCM_2_8_11   33
49
#define PCM_1_8_11   34
52
#define PCM_1_8_11   34
50
#define PCM_2_8_8    35
53
#define PCM_2_8_8    35
51
#define PCM_1_8_8    36
54
#define PCM_1_8_8    36
52
 
55
 
53
#define SRV_GETVERSION      0
56
#define SRV_GETVERSION      0
54
#define SND_CREATE_BUFF     1
57
#define SND_CREATE_BUFF     1
55
#define SND_DESTROY_BUFF    2
58
#define SND_DESTROY_BUFF    2
56
#define SND_SETFORMAT       3
59
#define SND_SETFORMAT       3
57
#define SND_RESET           4
60
#define SND_GETFORMAT       4 
58
#define SND_SETPOS          5
61
#define SND_RESET           5
59
#define SND_SETBUFF         6
62
#define SND_SETPOS          6
60
#define SND_SETVOLUME       7
63
#define SND_GETPOS          7
61
#define SND_GETVOLUME       8
64
#define SND_SETBUFF         8
62
#define SND_OUT             9
65
#define SND_OUT             9
63
#define SND_PLAY            10
66
#define SND_PLAY           10
64
#define SND_STOP            11
67
#define SND_STOP           11
65
 
68
#define SND_SETVOLUME      12
-
 
69
#define SND_GETVOLUME      13
-
 
70
#define SND_SETPAN         14
-
 
71
#define SND_GETPAN         15
-
 
72
#define SND_GETBUFFSIZE    16
-
 
73
 
-
 
74
#define PLAY_SYNC     0x80000000
-
 
75
 
66
typedef unsigned int SNDBUF;
76
typedef unsigned int SNDBUF;
67
 
77
 
68
int _stdcall  InitSound();
78
int _stdcall  InitSound();
69
SNDBUF _stdcall  CreateBuffer(unsigned int format,int size);
79
 
-
 
80
SNDBUF _stdcall  CreateBuffer(unsigned int format,int size);
70
int _stdcall  DestroyBuffer(SNDBUF hBuff);
81
int _stdcall  DestroyBuffer(SNDBUF hBuff);
71
int _stdcall  SetBuffer(SNDBUF hBuff,void* buff,
82
 
72
                        int offs, int size);
-
 
73
int _stdcall  SetFormat(SNDBUF hBuff, unsigned int format);                        
-
 
-
 
83
int _stdcall  SetFormat(SNDBUF hBuff, unsigned int format);                        
74
int _stdcall  ResetBuffer(SNDBUF hBuff, unsigned int flags);
84
int _stdcall  GetFormat(SNDBUF hBuff);                        
-
 
85
 
-
 
86
int _stdcall  ResetBuffer(SNDBUF hBuff, unsigned int flags);
75
int _stdcall  SetBufferPos(SNDBUF hBuff, int offset);
87
int _stdcall  SetBufferPos(SNDBUF hBuff, int offset);
76
int _stdcall  SetVolume(SNDBUF hBuff, int left, int right);
88
int _stdcall  GetBufferPos(SNDBUF hBuff);
77
int _stdcall  GetVolume(SNDBUF hBuff, int *left, int *right);
89
int _stdcall  GetBufferSize(SNDBUF hBuff);
78
int _stdcall  SetPan(SNDBUF hBuff, int pan);
-
 
79
                        
90
 
-
 
91
int _stdcall  SetBuffer(SNDBUF hBuff,void* buff,
-
 
92
                        int offs, int size);
80
int _stdcall  WaveOut(SNDBUF hBuff,void *buff, int size);
93
int _stdcall  WaveOut(SNDBUF hBuff,void *buff, int size);
81
                               
-
 
82
int _stdcall  PlayBuffer(SNDBUF hBuff);
94
int _stdcall  PlayBuffer(SNDBUF hBuff,unsigned int flags);
83
int _stdcall  StopBuffer(SNDBUF hBuff);
95
int _stdcall  StopBuffer(SNDBUF hBuff);
84
 
-
 
85
typedef struct
96
                        
86
{  unsigned int       riff_id;
97
int _stdcall  SetVolume(SNDBUF hBuff, int left, int right);
87
   unsigned int       riff_size;
98
int _stdcall  GetVolume(SNDBUF hBuff, int *left, int *right);
88
   unsigned int       riff_format;
-
 
89
 
99
int _stdcall  SetPan(SNDBUF hBuff, int pan);
90
   unsigned int       fmt_id;
-
 
91
   unsigned int       fmt_size;
100
int _stdcall  GetPan(SNDBUF hBuff);
92
 
101
                        
93
   unsigned short int wFormatTag;
-
 
94
   unsigned short int nChannels;
-
 
95
   unsigned int       nSamplesPerSec;
-
 
96
   unsigned int       nAvgBytesPerSec;
-
 
97
   unsigned short int nBlockAlign;
102
int _stdcall  GetMasterVol(int* vol);
98
   unsigned short int wBitsPerSample;
-
 
99
   unsigned int       data_id;
-
 
100
   unsigned int       data_size;
-
 
101
} WAVEHEADER;
103
int _stdcall  SetMasterVol(int vol);
102
 
104
 
103
unsigned int _stdcall test_wav(WAVEHEADER *hdr);
105
unsigned int _stdcall test_wav(WAVEHEADER *hdr);
104
 
106
 
105
#ifdef __cplusplus
107
#ifdef __cplusplus
106
extern "C"
108
extern "C"
107
}
109
}
108
#endif
110
#endif
109
 
111
 
110
#endif //_SOUND_H_
112
#endif //_SOUND_H_