Sound/ru: Difference between revisions

From KolibriOS wiki
Jump to navigation Jump to search
mNo edit summary
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