Rev 431 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 431 | Rev 465 | ||
---|---|---|---|
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ;; ;; |
2 | ;; ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2007. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
7 | 7 | ||
8 | ; (C) copyright Serge 2006-2007 |
8 | ; (C) copyright Serge 2006-2007 |
9 | ; email: infinity_sound@mail.ru |
9 | ; email: infinity_sound@mail.ru |
10 | - | ||
11 | SOUND_VERSION equ 0x01000100 |
10 | |
12 | 11 | ||
13 | PLAY_SYNC equ 0x80000000 |
12 | PLAY_SYNC equ 0x80000000 |
14 | - | ||
15 | 13 | ||
16 | PCM_ALL equ 0 |
14 | PCM_ALL equ 0 |
17 | 15 | ||
18 | PCM_OUT equ 0x08000000 |
16 | PCM_OUT equ 0x08000000 |
19 | PCM_RING equ 0x10000000 |
17 | PCM_RING equ 0x10000000 |
20 | PCM_STATIC equ 0x20000000 |
18 | PCM_STATIC equ 0x20000000 |
21 | PCM_FLOAT equ 0x40000000 ;reserved |
19 | PCM_FLOAT equ 0x40000000 ;reserved |
22 | PCM_FILTER equ 0x80000000 ;reserved |
20 | PCM_FILTER equ 0x80000000 ;reserved |
23 | 21 | ||
24 | PCM_2_16_48 equ 1 |
22 | PCM_2_16_48 equ 1 |
25 | PCM_1_16_48 equ 2 |
23 | PCM_1_16_48 equ 2 |
26 | 24 | ||
27 | PCM_2_16_44 equ 3 |
25 | PCM_2_16_44 equ 3 |
28 | PCM_1_16_44 equ 4 |
26 | PCM_1_16_44 equ 4 |
29 | 27 | ||
30 | PCM_2_16_32 equ 5 |
28 | PCM_2_16_32 equ 5 |
31 | PCM_1_16_32 equ 6 |
29 | PCM_1_16_32 equ 6 |
32 | 30 | ||
33 | PCM_2_16_24 equ 7 |
31 | PCM_2_16_24 equ 7 |
34 | PCM_1_16_24 equ 8 |
32 | PCM_1_16_24 equ 8 |
35 | 33 | ||
36 | PCM_2_16_22 equ 9 |
34 | PCM_2_16_22 equ 9 |
37 | PCM_1_16_22 equ 10 |
35 | PCM_1_16_22 equ 10 |
38 | 36 | ||
39 | PCM_2_16_16 equ 11 |
37 | PCM_2_16_16 equ 11 |
40 | PCM_1_16_16 equ 12 |
38 | PCM_1_16_16 equ 12 |
41 | 39 | ||
42 | PCM_2_16_12 equ 13 |
40 | PCM_2_16_12 equ 13 |
43 | PCM_1_16_12 equ 14 |
41 | PCM_1_16_12 equ 14 |
44 | 42 | ||
45 | PCM_2_16_11 equ 15 |
43 | PCM_2_16_11 equ 15 |
46 | PCM_1_16_11 equ 16 |
44 | PCM_1_16_11 equ 16 |
47 | 45 | ||
48 | PCM_2_16_8 equ 17 |
46 | PCM_2_16_8 equ 17 |
49 | PCM_1_16_8 equ 18 |
47 | PCM_1_16_8 equ 18 |
50 | 48 | ||
51 | PCM_2_8_48 equ 19 |
49 | PCM_2_8_48 equ 19 |
52 | PCM_1_8_48 equ 20 |
50 | PCM_1_8_48 equ 20 |
53 | 51 | ||
54 | PCM_2_8_44 equ 21 |
52 | PCM_2_8_44 equ 21 |
55 | PCM_1_8_44 equ 22 |
53 | PCM_1_8_44 equ 22 |
56 | 54 | ||
57 | PCM_2_8_32 equ 23 |
55 | PCM_2_8_32 equ 23 |
58 | PCM_1_8_32 equ 24 |
56 | PCM_1_8_32 equ 24 |
59 | 57 | ||
60 | PCM_2_8_24 equ 25 |
58 | PCM_2_8_24 equ 25 |
61 | PCM_1_8_24 equ 26 |
59 | PCM_1_8_24 equ 26 |
62 | 60 | ||
63 | PCM_2_8_22 equ 27 |
61 | PCM_2_8_22 equ 27 |
64 | PCM_1_8_22 equ 28 |
62 | PCM_1_8_22 equ 28 |
65 | 63 | ||
66 | PCM_2_8_16 equ 29 |
64 | PCM_2_8_16 equ 29 |
67 | PCM_1_8_16 equ 30 |
65 | PCM_1_8_16 equ 30 |
68 | 66 | ||
69 | PCM_2_8_12 equ 31 |
67 | PCM_2_8_12 equ 31 |
70 | PCM_1_8_12 equ 32 |
68 | PCM_1_8_12 equ 32 |
71 | 69 | ||
72 | PCM_2_8_11 equ 33 |
70 | PCM_2_8_11 equ 33 |
73 | PCM_1_8_11 equ 34 |
71 | PCM_1_8_11 equ 34 |
74 | 72 | ||
75 | PCM_2_8_8 equ 35 |
73 | PCM_2_8_8 equ 35 |
76 | PCM_1_8_8 equ 36 |
74 | PCM_1_8_8 equ 36 |
77 | 75 | ||
78 | SRV_GETVERSION equ 0 |
76 | SRV_GETVERSION equ 0 |
79 | SND_CREATE_BUFF equ 1 |
77 | SND_CREATE_BUFF equ 1 |
80 | SND_DESTROY_BUFF equ 2 |
78 | SND_DESTROY_BUFF equ 2 |
81 | SND_SETFORMAT equ 3 |
79 | SND_SETFORMAT equ 3 |
82 | SND_GETFORMAT equ 4 |
80 | SND_GETFORMAT equ 4 |
83 | SND_RESET equ 5 |
81 | SND_RESET equ 5 |
84 | SND_SETPOS equ 6 |
82 | SND_SETPOS equ 6 |
85 | SND_GETPOS equ 7 |
83 | SND_GETPOS equ 7 |
86 | SND_SETBUFF equ 8 |
84 | SND_SETBUFF equ 8 |
87 | SND_OUT equ 9 |
85 | SND_OUT equ 9 |
88 | SND_PLAY equ 10 |
86 | SND_PLAY equ 10 |
89 | SND_STOP equ 11 |
87 | SND_STOP equ 11 |
90 | SND_SETVOLUME equ 12 |
88 | SND_SETVOLUME equ 12 |
91 | SND_GETVOLUME equ 13 |
89 | SND_GETVOLUME equ 13 |
92 | SND_SETPAN equ 14 |
90 | SND_SETPAN equ 14 |
93 | SND_GETPAN equ 15 |
91 | SND_GETPAN equ 15 |
94 | SND_GETBUFFSIZE equ 16 |
92 | SND_GETBUFFSIZE equ 16 |
95 | 93 | ||
96 | struc STREAM |
94 | struc STREAM |
97 | { |
95 | { |
98 | .magic dd ? ;'WAVE' |
96 | .magic dd ? ;'WAVE' |
99 | .destroy dd ? ;internal destructor |
97 | .destroy dd ? ;internal destructor |
100 | .fd dd ? ;next object in list |
98 | .fd dd ? ;next object in list |
101 | .bk dd ? ;prev object in list |
99 | .bk dd ? ;prev object in list |
102 | .pid dd ? ;owner id |
100 | .pid dd ? ;owner id |
103 | 101 | ||
104 | .size dd ? |
102 | .size dd ? |
105 | .str_fd dd ? |
103 | .str_fd dd ? |
106 | .str_bk dd ? |
104 | .str_bk dd ? |
107 | .device dd ? |
105 | .device dd ? |
108 | .format dd ? |
106 | .format dd ? |
109 | .flags dd ? |
107 | .flags dd ? |
110 | 108 | ||
111 | .out_base dd ? |
109 | .out_base dd ? |
112 | .out_wp dd ? |
110 | .out_wp dd ? |
113 | .out_rp dd ? |
111 | .out_rp dd ? |
114 | .out_count dd ? |
112 | .out_count dd ? |
115 | .out_top dd ? |
113 | .out_top dd ? |
116 | 114 | ||
117 | .r_size dd ? |
115 | .r_size dd ? |
118 | .r_dt dd ? |
116 | .r_dt dd ? |
119 | .r_silence dd ? |
117 | .r_silence dd ? |
120 | .resample dd ? |
118 | .resample dd ? |
121 | .l_vol dd ? |
119 | .l_vol dd ? |
122 | .r_vol dd ? |
120 | .r_vol dd ? |
123 | .l_amp dw ? |
121 | .l_amp dw ? |
124 | .r_amp dw ? |
122 | .r_amp dw ? |
125 | .pan dd ? |
123 | .pan dd ? |
126 | 124 | ||
127 | .in_base dd ? |
125 | .in_base dd ? |
128 | .in_size dd ? |
126 | .in_size dd ? |
129 | .in_wp dd ? |
127 | .in_wp dd ? |
130 | .in_rp dd ? |
128 | .in_rp dd ? |
131 | .in_count dd ? |
129 | .in_count dd ? |
132 | .in_free dd ? |
130 | .in_free dd ? |
133 | .in_top dd ? |
131 | .in_top dd ? |
134 | 132 | ||
135 | .notify_event dd ? |
133 | .notify_event dd ? |
136 | .notify_id dd ? |
134 | .notify_id dd ? |
137 | } |
135 | } |
138 | 136 | ||
139 | STREAM_SIZE equ 34*4 |
137 | STREAM_SIZE equ 34*4 |
140 | FD_OFFSET equ 24 |
138 | FD_OFFSET equ 24 |
141 | 139 | ||
142 | virtual at 0 |
140 | virtual at 0 |
143 | STREAM STREAM |
141 | STREAM STREAM |
144 | end virtual |
142 | end virtual |
145 | 143 | ||
146 | struc WAVE_HEADER |
144 | struc WAVE_HEADER |
147 | { .riff_id dd ? |
145 | { .riff_id dd ? |
148 | .riff_size dd ? |
146 | .riff_size dd ? |
149 | .riff_format dd ? |
147 | .riff_format dd ? |
150 | 148 | ||
151 | .fmt_id dd ? |
149 | .fmt_id dd ? |
152 | .fmt_size dd ? |
150 | .fmt_size dd ? |
153 | .format_tag dw ? |
151 | .format_tag dw ? |
154 | .channels dw ? |
152 | .channels dw ? |
155 | .freq dd ? |
153 | .freq dd ? |
156 | .bytes_sec dd ? |
154 | .bytes_sec dd ? |
157 | .block_align dw ? |
155 | .block_align dw ? |
158 | .bits_sample dw ? |
156 | .bits_sample dw ? |
159 | 157 | ||
160 | .data_id dd ? |
158 | .data_id dd ? |
161 | .data_size dd ? |
159 | .data_size dd ? |
162 | } |
160 | } |