home *** CD-ROM | disk | FTP | other *** search
/ Large Pack of OldSkool DOS MOD Trackers / tsm.zip / Replay / DSoundConst.inc next >
Text File  |  2004-08-29  |  4KB  |  117 lines

  1. ; --------------- Direct Sound definitions
  2. STDMETHOD        MACRO    name,argl:VARARG
  3.             LOCAL    @tmp_a
  4.             LOCAL    @tmp_b
  5. @tmp_a            TYPEDEF PROTO argl
  6. @tmp_b            TYPEDEF PTR @tmp_a
  7.             name    @tmp_b ?
  8.             ENDM
  9.  
  10. DSINVOKE        MACRO    func,this,arglist:VARARG
  11.             mov    eax,[this]
  12.             mov    eax,[eax]
  13.             IFB    <arglist>
  14.                 INVOKE    [IDirectSoundVtbl.func][eax],this
  15.             ELSE
  16.                 INVOKE    [IDirectSoundVtbl.func][eax],this,arglist
  17.             ENDIF
  18.             ENDM
  19.  
  20. DSBINVOKE        MACRO    func,this,arglist:VARARG
  21.             mov    eax,[this]
  22.             mov    eax,[eax]
  23.             IFB <arglist>
  24.                 INVOKE [IDirectSoundBufferVtbl.func][eax],this
  25.             ELSE
  26.                 INVOKE [IDirectSoundBufferVtbl.func][eax],this,arglist
  27.             ENDIF
  28.             ENDM
  29.  
  30. DSNINVOKE        MACRO    func,this,arglist:VARARG
  31.             mov    eax,[this]
  32.             mov    eax,[eax]
  33.             IFB <arglist>
  34.                 INVOKE [IDirectSoundNotifyVtbl.func][eax],this
  35.             ELSE
  36.                 INVOKE [IDirectSoundNotifyVtbl.func][eax],this,arglist
  37.             ENDIF
  38.             ENDM
  39.  
  40. DSSCL_NORMAL        EQU    000000001h
  41. DSSCL_EXCLUSIVE        EQU    000000003h
  42. DSBCAPS_PRIMARYBUFFER    EQU    000000001h
  43. DSBCAPS_GLOBALFOCUS    EQU    000008000h
  44. DSBCAPS_CTRLPOSITIONNOTIFY EQU    000000100h
  45. DSBCAPS_GETCURRENTPOSITION2 EQU    000010000h
  46. DSBPLAY_LOOPING        EQU    000000001h
  47. DSBSTATUS_BUFFERLOST    EQU    000000002h
  48. DSBCAPS_STICKYFOCUS    EQU    000004000h
  49.  
  50. _DSBUFFERDESC        STRUCT    4
  51. dwSize            DWORD    ?
  52. dwFlags            DWORD    ?
  53. dwBufferBytes        DWORD    ?
  54. dwReserved        DWORD    ?
  55. lpwfxFormat        DWORD    ?
  56. _DSBUFFERDESC        ENDS
  57.  
  58. _DSBPOSITIONNOTIFY    STRUCT    4
  59. dwOffset        DWORD    ?
  60. hEventNotify        DWORD    ?
  61. _DSBPOSITIONNOTIFY    ENDS
  62.  
  63. PcmSound        STRUCT 
  64. SndBuffer        dd    0    ; the buffer for the sound 
  65. SndState        dd    0    ; state of the sound
  66. SndRate            dd    0    ; playback rate
  67. SndLSize        dd    0    ; size of sound
  68. PcmSound        ENDS
  69.  
  70. DSBUFFERDESC        TYPEDEF    _DSBUFFERDESC
  71. DSBPOSITIONNOTIFY    TYPEDEF    _DSBPOSITIONNOTIFY
  72.  
  73. IDirectSoundVtbl    STRUC
  74. STDMETHOD        QueryInterface,:PTR IDirectSound,:PTR,:PTR PTR
  75. STDMETHOD        AddRef,:PTR IDirectSound
  76. STDMETHOD        Release,:PTR IDirectSound
  77. STDMETHOD        CreateSoundBuffer,:PTR IDirectSound,:DWORD,:DWORD,:DWORD
  78. STDMETHOD        GetCaps,:PTR IDirectSound,:DWORD
  79. STDMETHOD        DuplicateSoundBuffer,:PTR IDirectSound,:DWORD,:DWORD
  80. STDMETHOD        SetCooperativeLevel,:PTR IDirectSound,:DWORD,:DWORD
  81. STDMETHOD        Compact,:PTR IDirectSound
  82. STDMETHOD        GetSpeakerConfig,:PTR IDirectSound,:DWORD
  83. STDMETHOD        SetSpeakerConfig,:PTR IDirectSound,:DWORD
  84. STDMETHOD        Initialize,:PTR IDirectSound,:DWORD
  85. IDirectSoundVtbl    ENDS
  86.  
  87. IDirectSoundBufferVtbl    STRUC
  88. STDMETHOD        QueryInterface,:PTR IDirectSoundBuffer,:PTR,:PTR PTR
  89. STDMETHOD        AddRef,:PTR IDirectSoundBuffer
  90. STDMETHOD        Release,:PTR IDirectSoundBuffer
  91. STDMETHOD        GetCaps,:PTR IDirectSoundBuffer,:DWORD
  92. STDMETHOD        GetCurrentPosition,:PTR IDirectSoundBuffer,:DWORD,:DWORD
  93. STDMETHOD        GetFormat,:PTR IDirectSoundBuffer,:DWORD,:DWORD,:DWORD
  94. STDMETHOD        GetVolume,:PTR IDirectSoundBuffer,:DWORD
  95. STDMETHOD        GetPan,:PTR IDirectSoundBuffer,:DWORD
  96. STDMETHOD        GetFrequency,:PTR IDirectSoundBuffer,:DWORD
  97. STDMETHOD        GetStatus,:PTR IDirectSoundBuffer,:DWORD
  98. STDMETHOD        Initialize,:PTR IDirectSoundBuffer,:DWORD,:DWORD
  99. STDMETHOD        mLock,:PTR IDirectSoundBuffer,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
  100. STDMETHOD        Play,:PTR IDirectSoundBuffer,:DWORD,:DWORD,:DWORD
  101. STDMETHOD        SetCurrentPosition,:PTR IDirectSoundBuffer,:DWORD
  102. STDMETHOD        SetFormat,:PTR IDirectSoundBuffer,:DWORD
  103. STDMETHOD        SetVolume,:PTR IDirectSoundBuffer,:DWORD
  104. STDMETHOD        SetPan,:PTR IDirectSoundBuffer,:DWORD
  105. STDMETHOD        SetFrequency,:PTR IDirectSoundBuffer,:DWORD
  106. STDMETHOD        Stop,:PTR IDirectSoundBuffer
  107. STDMETHOD        Unlock,:PTR IDirectSoundBuffer,:DWORD,:DWORD,:DWORD,:DWORD
  108. STDMETHOD        Restore,:PTR IDirectSoundBuffer
  109. IDirectSoundBufferVtbl    ENDS
  110.  
  111. IDirectSoundNotifyVtbl    STRUCT
  112. STDMETHOD        QueryInterface,:DWORD,:DWORD,:DWORD
  113. STDMETHOD        AddRef,:DWORD
  114. STDMETHOD        Release,:DWORD
  115. STDMETHOD        SetNotificationPositions,:DWORD,:DWORD,:DWORD
  116. IDirectSoundNotifyVtbl    ENDS
  117.