165 lines
3.6 KiB
PHP
165 lines
3.6 KiB
PHP
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
|
;; ;;
|
||
|
;; Copyright (C) KolibriOS team 2006-2008. All rights reserved. ;;
|
||
|
;; Distributed under terms of the GNU General Public License ;;
|
||
|
;; ;;
|
||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||
|
|
||
|
; Serge 2006-2008
|
||
|
; email: infinity_sound@mail.ru
|
||
|
|
||
|
|
||
|
PLAY_SYNC equ 0x80000000
|
||
|
|
||
|
PCM_ALL equ 0
|
||
|
|
||
|
PCM_OUT equ 0x08000000
|
||
|
PCM_RING equ 0x10000000
|
||
|
PCM_STATIC equ 0x20000000
|
||
|
PCM_FLOAT equ 0x40000000 ;reserved
|
||
|
PCM_FILTER equ 0x80000000 ;reserved
|
||
|
|
||
|
PCM_2_16_48 equ 1
|
||
|
PCM_1_16_48 equ 2
|
||
|
|
||
|
PCM_2_16_44 equ 3
|
||
|
PCM_1_16_44 equ 4
|
||
|
|
||
|
PCM_2_16_32 equ 5
|
||
|
PCM_1_16_32 equ 6
|
||
|
|
||
|
PCM_2_16_24 equ 7
|
||
|
PCM_1_16_24 equ 8
|
||
|
|
||
|
PCM_2_16_22 equ 9
|
||
|
PCM_1_16_22 equ 10
|
||
|
|
||
|
PCM_2_16_16 equ 11
|
||
|
PCM_1_16_16 equ 12
|
||
|
|
||
|
PCM_2_16_12 equ 13
|
||
|
PCM_1_16_12 equ 14
|
||
|
|
||
|
PCM_2_16_11 equ 15
|
||
|
PCM_1_16_11 equ 16
|
||
|
|
||
|
PCM_2_16_8 equ 17
|
||
|
PCM_1_16_8 equ 18
|
||
|
|
||
|
PCM_2_8_48 equ 19
|
||
|
PCM_1_8_48 equ 20
|
||
|
|
||
|
PCM_2_8_44 equ 21
|
||
|
PCM_1_8_44 equ 22
|
||
|
|
||
|
PCM_2_8_32 equ 23
|
||
|
PCM_1_8_32 equ 24
|
||
|
|
||
|
PCM_2_8_24 equ 25
|
||
|
PCM_1_8_24 equ 26
|
||
|
|
||
|
PCM_2_8_22 equ 27
|
||
|
PCM_1_8_22 equ 28
|
||
|
|
||
|
PCM_2_8_16 equ 29
|
||
|
PCM_1_8_16 equ 30
|
||
|
|
||
|
PCM_2_8_12 equ 31
|
||
|
PCM_1_8_12 equ 32
|
||
|
|
||
|
PCM_2_8_11 equ 33
|
||
|
PCM_1_8_11 equ 34
|
||
|
|
||
|
PCM_2_8_8 equ 35
|
||
|
PCM_1_8_8 equ 36
|
||
|
|
||
|
SRV_GETVERSION equ 0
|
||
|
SND_CREATE_BUFF equ 1
|
||
|
SND_DESTROY_BUFF equ 2
|
||
|
SND_SETFORMAT equ 3
|
||
|
SND_GETFORMAT equ 4
|
||
|
SND_RESET equ 5
|
||
|
SND_SETPOS equ 6
|
||
|
SND_GETPOS equ 7
|
||
|
SND_SETBUFF equ 8
|
||
|
SND_OUT equ 9
|
||
|
SND_PLAY equ 10
|
||
|
SND_STOP equ 11
|
||
|
SND_SETVOLUME equ 12
|
||
|
SND_GETVOLUME equ 13
|
||
|
SND_SETPAN equ 14
|
||
|
SND_GETPAN equ 15
|
||
|
SND_GETBUFFSIZE equ 16
|
||
|
SND_GETFREESPACE equ 17
|
||
|
|
||
|
struc STREAM
|
||
|
{
|
||
|
.magic dd ? ;'WAVE'
|
||
|
.destroy dd ? ;internal destructor
|
||
|
.fd dd ? ;next object in list
|
||
|
.bk dd ? ;prev object in list
|
||
|
.pid dd ? ;owner id
|
||
|
|
||
|
.size dd ?
|
||
|
.str_fd dd ?
|
||
|
.str_bk dd ?
|
||
|
.device dd ?
|
||
|
.format dd ?
|
||
|
.flags dd ?
|
||
|
|
||
|
.out_base dd ?
|
||
|
.out_wp dd ?
|
||
|
.out_rp dd ?
|
||
|
.out_count dd ?
|
||
|
.out_top dd ? ;16*4
|
||
|
|
||
|
.r_size dd ?
|
||
|
.r_dt dd ?
|
||
|
.r_silence dd ?
|
||
|
.resample dd ?
|
||
|
.l_vol dd ?
|
||
|
.r_vol dd ?
|
||
|
.l_amp dw ?
|
||
|
.r_amp dw ?
|
||
|
.pan dd ?
|
||
|
.l_amp_f dd ? ;float point left
|
||
|
.r_amp_f dd ? ;float point right
|
||
|
|
||
|
.in_base dd ?
|
||
|
.in_size dd ?
|
||
|
.in_wp dd ?
|
||
|
.in_rp dd ?
|
||
|
.in_count dd ?
|
||
|
.in_free dd ?
|
||
|
.in_top dd ?
|
||
|
|
||
|
.notify_event dd ?
|
||
|
.notify_id dd ?
|
||
|
}
|
||
|
|
||
|
STREAM_SIZE equ 36*4
|
||
|
FD_OFFSET equ 24
|
||
|
|
||
|
virtual at 0
|
||
|
STREAM STREAM
|
||
|
end virtual
|
||
|
|
||
|
struc WAVE_HEADER
|
||
|
{ .riff_id dd ?
|
||
|
.riff_size dd ?
|
||
|
.riff_format dd ?
|
||
|
|
||
|
.fmt_id dd ?
|
||
|
.fmt_size dd ?
|
||
|
.format_tag dw ?
|
||
|
.channels dw ?
|
||
|
.freq dd ?
|
||
|
.bytes_sec dd ?
|
||
|
.block_align dw ?
|
||
|
.bits_sample dw ?
|
||
|
|
||
|
.data_id dd ?
|
||
|
.data_size dd ?
|
||
|
}
|
||
|
|