Difference between revisions of "Sound/ru"

From KolibriOS wiki
Jump to navigation Jump to search
m
m (Improved syntax highlighting)
Line 4: Line 4:
  
 
Звуковая система '''Infinity''' содержит следующие сервисы:
 
Звуковая система '''Infinity''' содержит следующие сервисы:
  SRV_GETVERSION      equ 0
+
<syntaxhighlight lang="asm">
  SND_CREATE_BUFF      equ 1
+
SRV_GETVERSION      equ 0
  SND_DESTROY_BUFF    equ 2
+
SND_CREATE_BUFF      equ 1
  SND_SETFORMAT        equ 3
+
SND_DESTROY_BUFF    equ 2
  SND_GETFORMAT        equ 4
+
SND_SETFORMAT        equ 3
  SND_RESET            equ 5
+
SND_GETFORMAT        equ 4
  SND_SETPOS          equ 6
+
SND_RESET            equ 5
  SND_GETPOS          equ 7
+
SND_SETPOS          equ 6
  SND_SETBUFF          equ 8
+
SND_GETPOS          equ 7
  SND_OUT              equ 9
+
SND_SETBUFF          equ 8
  SND_PLAY            equ 10
+
SND_OUT              equ 9
  SND_STOP            equ 11
+
SND_PLAY            equ 10
  SND_SETVOLUME        equ 12
+
SND_STOP            equ 11
  SND_GETVOLUME        equ 13
+
SND_SETVOLUME        equ 12
  SND_SETPAN          equ 14
+
SND_GETVOLUME        equ 13
  SND_GETPAN          equ 15
+
SND_SETPAN          equ 14
  SND_GETBUFFSIZE      equ 16
+
SND_GETPAN          equ 15
  SND_GETFREESPACE    equ 17
+
SND_GETBUFFSIZE      equ 16
  SND_SETTIMEBASE      equ 18
+
SND_GETFREESPACE    equ 17
  SND_GETTIMESTAMP    equ 19
+
SND_SETTIMEBASE      equ 18
 
+
SND_GETTIMESTAMP    equ 19
 +
</syntaxhighlight>
 
SDK содержит следующие вспомогательные [http://websvn.kolibrios.org/listing.php?repname=Kolibri+OS&path=%2Fprograms%2Fdevelop%2Fsdk%2Ftrunk%2Fsound%2Fsrc%2F&#a375d81500982fc566688f871656e47fa библиотеки]:
 
SDK содержит следующие вспомогательные [http://websvn.kolibrios.org/listing.php?repname=Kolibri+OS&path=%2Fprograms%2Fdevelop%2Fsdk%2Ftrunk%2Fsound%2Fsrc%2F&#a375d81500982fc566688f871656e47fa библиотеки]:
  
 
1) init.asm
 
1) init.asm
  _InitSound@4:        ;p_ver:dword
+
<syntaxhighlight lang="asm">
  _CreateBuffer@12:    ;format:dword,size:dword,p_str:dword
+
_InitSound@4:        ;p_ver:dword
  _DestroyBuffer@4:    ;str:dword
+
_CreateBuffer@12:    ;format:dword,size:dword,p_str:dword
 +
_DestroyBuffer@4:    ;str:dword
 +
</syntaxhighlight>
 
2) setbuf.asm
 
2) setbuf.asm
  _SetBuffer@16:      ;str:dword, src:dword, offs:dword, size:dword
+
<syntaxhighlight lang="asm">
  _PlayBuffer@8:      ;str:dword,flags:dword
+
_SetBuffer@16:      ;str:dword, src:dword, offs:dword, size:dword
 +
_PlayBuffer@8:      ;str:dword,flags:dword
 +
</syntaxhighlight>
 
3) sndgetfmt.asm
 
3) sndgetfmt.asm
  _GetFormat@8:        ;str:dword, p_fmt:dword
+
<syntaxhighlight lang="asm">
 +
_GetFormat@8:        ;str:dword, p_fmt:dword
 +
</syntaxhighlight>
 
4) sndgetmvol.asm
 
4) sndgetmvol.asm
  proc _GetMasterVol@4 stdcall, pvol:dword
+
<syntaxhighlight lang="asm">
  proc _GetDevInfo@8  stdcall, hSrv:dword, p_info:dword
+
proc _GetMasterVol@4 stdcall, pvol:dword
 +
proc _GetDevInfo@8  stdcall, hSrv:dword, p_info:dword
 +
</syntaxhighlight>
 
5) sndgetpan.asm
 
5) sndgetpan.asm
  _GetPan@8:          ;str:dword, p_pan:dword
+
<syntaxhighlight lang="asm">
 +
_GetPan@8:          ;str:dword, p_pan:dword
 +
</syntaxhighlight>
 
6) sndgetpos.asm
 
6) sndgetpos.asm
  _GetBufferPos@8:    ;str:dword, p_pos:dword
+
<syntaxhighlight lang="asm">
 +
_GetBufferPos@8:    ;str:dword, p_pos:dword
 +
</syntaxhighlight>
 
7) sndgetsize.asm
 
7) sndgetsize.asm
  _GetBufferSize@8:    ;str:dword, p_size:dword
+
<syntaxhighlight lang="asm">
  _GetBufferFree@8:    ;str:dword, p_free:dword
+
_GetBufferSize@8:    ;str:dword, p_size:dword
 +
_GetBufferFree@8:    ;str:dword, p_free:dword
 +
</syntaxhighlight>
 
8) sndgetvol.asm
 
8) sndgetvol.asm
  proc _GetVolume@12  stdcall, str:dword, pleft:dword,pright:dword
+
<syntaxhighlight lang="asm">
 +
proc _GetVolume@12  stdcall, str:dword, pleft:dword,pright:dword
 +
</syntaxhighlight>
 
9) sndout.asm
 
9) sndout.asm
  _WaveOut@12:        ;str:dword, src:dword, size:dword
+
<syntaxhighlight lang="asm">
 +
_WaveOut@12:        ;str:dword, src:dword, size:dword
 +
</syntaxhighlight>
 
10) sndreset.asm
 
10) sndreset.asm
  _ResetBuffer@8:      ;str:dword, flags:dword
+
<syntaxhighlight lang="asm">
 +
_ResetBuffer@8:      ;str:dword, flags:dword
 +
</syntaxhighlight>
 
11) sndsetfmt.asm
 
11) sndsetfmt.asm
  _SetFormat@8:        ;str:dword, fmt:dword
+
<syntaxhighlight lang="asm">
 +
_SetFormat@8:        ;str:dword, fmt:dword
 +
</syntaxhighlight>
 
12) sndsetmvol.asm
 
12) sndsetmvol.asm
  _SetMasterVol@4:    ;vol:dword
+
<syntaxhighlight lang="asm">
 +
_SetMasterVol@4:    ;vol:dword
 +
</syntaxhighlight>
 
13) sndsetpan.asm
 
13) sndsetpan.asm
  _SetPan@8:          ;str:dword, pan:dword
+
<syntaxhighlight lang="asm">
 +
_SetPan@8:          ;str:dword, pan:dword
 +
</syntaxhighlight>
 
14) sndsetpos.asm
 
14) sndsetpos.asm
  _SetBufferPos@8:    ;str:dword, offs:dword
+
<syntaxhighlight lang="asm">
 +
_SetBufferPos@8:    ;str:dword, offs:dword
 +
</syntaxhighlight>
 
15) sndsetvol.asm
 
15) sndsetvol.asm
  _SetVolume@12:      ;str:dword, lvol:dword,rvol:dword
+
<syntaxhighlight lang="asm">
 +
_SetVolume@12:      ;str:dword, lvol:dword,rvol:dword
 +
</syntaxhighlight>
 
16) stopbuf.asm
 
16) stopbuf.asm
  _StopBuffer@4:      ;str:dword
+
<syntaxhighlight lang="asm">
 +
_StopBuffer@4:      ;str:dword
 +
</syntaxhighlight>
 
17) wavhdr.asm
 
17) wavhdr.asm
  proc _test_wav@4    stdcall, hdr:dword
+
<syntaxhighlight lang="asm">
 +
proc _test_wav@4    stdcall, hdr:dword
 +
</syntaxhighlight>
  
 
[[Category: Библиотеки]]
 
[[Category: Библиотеки]]

Revision as of 11:12, 14 June 2012

Изначально Колибри унаследовала от Менуэт только звуковой драйвер для SoundBlaster, встроенный в ядро. Позже в (2005-2006) была написана полноценная звуковая подсистема Infinity, автор Сергей Семёнов aka Serge.

К сожалению какой либо внятной документации по Infinity нет, есть только исходники и файлы SDK.

Звуковая система Infinity содержит следующие сервисы:

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
SND_SETTIMEBASE      equ 18
SND_GETTIMESTAMP     equ 19

SDK содержит следующие вспомогательные библиотеки:

1) init.asm

_InitSound@4:        ;p_ver:dword
_CreateBuffer@12:    ;format:dword,size:dword,p_str:dword
_DestroyBuffer@4:    ;str:dword

2) setbuf.asm

_SetBuffer@16:       ;str:dword, src:dword, offs:dword, size:dword
_PlayBuffer@8:       ;str:dword,flags:dword

3) sndgetfmt.asm

_GetFormat@8:        ;str:dword, p_fmt:dword

4) sndgetmvol.asm

proc _GetMasterVol@4 stdcall, pvol:dword
proc _GetDevInfo@8   stdcall, hSrv:dword, p_info:dword

5) sndgetpan.asm

_GetPan@8:           ;str:dword, p_pan:dword

6) sndgetpos.asm

_GetBufferPos@8:     ;str:dword, p_pos:dword

7) sndgetsize.asm

_GetBufferSize@8:    ;str:dword, p_size:dword
_GetBufferFree@8:    ;str:dword, p_free:dword

8) sndgetvol.asm

proc _GetVolume@12   stdcall, str:dword, pleft:dword,pright:dword

9) sndout.asm

_WaveOut@12:         ;str:dword, src:dword, size:dword

10) sndreset.asm

_ResetBuffer@8:      ;str:dword, flags:dword

11) sndsetfmt.asm

_SetFormat@8:        ;str:dword, fmt:dword

12) sndsetmvol.asm

_SetMasterVol@4:     ;vol:dword

13) sndsetpan.asm

_SetPan@8:           ;str:dword, pan:dword

14) sndsetpos.asm

_SetBufferPos@8:     ;str:dword, offs:dword

15) sndsetvol.asm

_SetVolume@12:       ;str:dword, lvol:dword,rvol:dword

16) stopbuf.asm

_StopBuffer@4:       ;str:dword

17) wavhdr.asm

proc _test_wav@4     stdcall, hdr:dword