9b639cf2d6 2015-05-05 kinaba: module win32.directx.dsound8; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: //import tango.sys.win32.Types; 9b639cf2d6 2015-05-05 kinaba: import win32.windows; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias GUID* LPCGUID; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IUnknown 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: HRESULT QueryInterface(IID* riid, void** pvObject); 9b639cf2d6 2015-05-05 kinaba: ULONG AddRef(); 9b639cf2d6 2015-05-05 kinaba: ULONG Release(); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias IUnknown LPUNKNOWN; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDirectSound : IUnknown 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: extern(Windows): 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: // IDirectSound methods 9b639cf2d6 2015-05-05 kinaba: HRESULT CreateSoundBuffer (LPCDSBUFFERDESC pcDSBufferDesc, LPDIRECTSOUNDBUFFER *ppDSBuffer, LPUNKNOWN pUnkOuter); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetCaps (LPDSCAPS pDSCaps); 9b639cf2d6 2015-05-05 kinaba: HRESULT DuplicateSoundBuffer (LPDIRECTSOUNDBUFFER pDSBufferOriginal, LPDIRECTSOUNDBUFFER *ppDSBufferDuplicate); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetCooperativeLevel (HWND hwnd, DWORD dwLevel); 9b639cf2d6 2015-05-05 kinaba: HRESULT Compact (); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetSpeakerConfig (LPDWORD pdwSpeakerConfig); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetSpeakerConfig (DWORD dwSpeakerConfig); 9b639cf2d6 2015-05-05 kinaba: HRESULT Initialize (LPCGUID pcGuidDevice); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias IDirectSound LPDIRECTSOUND; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDirectSound8 : IDirectSound 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: extern(Windows): 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: // IDirectSound8 methods 9b639cf2d6 2015-05-05 kinaba: HRESULT VerifyCertification (LPDWORD pdwCertified); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias IDirectSound8 LPDIRECTSOUND8; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDirectSoundBuffer : IUnknown 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: extern(Windows): 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: // IDirectSoundBuffer methods 9b639cf2d6 2015-05-05 kinaba: HRESULT GetCaps (LPDSBCAPS pDSBufferCaps); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetCurrentPosition (LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetFormat (LPWAVEFORMATEX pwfxFormat, DWORD dwSizeAllocated, LPDWORD pdwSizeWritten); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetVolume (LPLONG plVolume); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetPan (LPLONG plPan); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetFrequency (LPDWORD pdwFrequency); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetStatus (LPDWORD pdwStatus); 9b639cf2d6 2015-05-05 kinaba: HRESULT Initialize (LPDIRECTSOUND pDirectSound, LPCDSBUFFERDESC pcDSBufferDesc); 9b639cf2d6 2015-05-05 kinaba: HRESULT Lock (DWORD dwOffset, DWORD dwBytes, LPVOID *ppvAudioPtr1, LPDWORD pdwAudioBytes1, 9b639cf2d6 2015-05-05 kinaba: LPVOID *ppvAudioPtr2, LPDWORD pdwAudioBytes2, DWORD dwFlags); 9b639cf2d6 2015-05-05 kinaba: HRESULT Play (DWORD dwReserved1, DWORD dwPriority, DWORD dwFlags); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetCurrentPosition (DWORD dwNewPosition); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetFormat (LPCWAVEFORMATEX pcfxFormat); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetVolume (LONG lVolume); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetPan (LONG lPan); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetFrequency (DWORD dwFrequency); 9b639cf2d6 2015-05-05 kinaba: HRESULT Stop (); 9b639cf2d6 2015-05-05 kinaba: HRESULT Unlock (LPVOID pvAudioPtr1, DWORD dwAudioBytes1, LPVOID pvAudioPtr2, DWORD dwAudioBytes2); 9b639cf2d6 2015-05-05 kinaba: HRESULT Restore (); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias IDirectSoundBuffer LPDIRECTSOUNDBUFFER; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: interface IDirectSound3DListener : IUnknown 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: extern(Windows): 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: // IDirectSound3DListener methods 9b639cf2d6 2015-05-05 kinaba: HRESULT GetAllParameters (LPDS3DLISTENER pListener); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDistanceFactor (D3DVALUE* pflDistanceFactor); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetDopplerFactor (D3DVALUE* pflDopplerFactor); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetOrientation (D3DVECTOR* pvOrientFront, D3DVECTOR* pvOrientTop); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetPosition (D3DVECTOR* pvPosition); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetRolloffFactor (D3DVALUE* pflRolloffFactor); 9b639cf2d6 2015-05-05 kinaba: HRESULT GetVelocity (D3DVECTOR* pvVelocity); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetAllParameters (LPCDS3DLISTENER pcListener, DWORD dwApply); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetDistanceFactor (D3DVALUE flDistanceFactor, DWORD dwApply); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetDopplerFactor (D3DVALUE flDopplerFactor, DWORD dwApply); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetOrientation (D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront, 9b639cf2d6 2015-05-05 kinaba: D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetPosition (D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetRolloffFactor (D3DVALUE flRolloffFactor, DWORD dwApply); 9b639cf2d6 2015-05-05 kinaba: HRESULT SetVelocity (D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply); 9b639cf2d6 2015-05-05 kinaba: HRESULT CommitDeferredSettings (); 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct WAVEFORMATEX 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: ushort wFormatTag; 9b639cf2d6 2015-05-05 kinaba: ushort nChannels; 9b639cf2d6 2015-05-05 kinaba: uint nSamplesPerSec; 9b639cf2d6 2015-05-05 kinaba: uint nAvgBytesPerSec; 9b639cf2d6 2015-05-05 kinaba: ushort nBlockAlign; 9b639cf2d6 2015-05-05 kinaba: ushort wBitsPerSample; 9b639cf2d6 2015-05-05 kinaba: ushort cbSize; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias WAVEFORMATEX* LPWAVEFORMATEX, LPCWAVEFORMATEX; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: enum : uint 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: WAVE_FORMAT_PCM = 1 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DSCBUFFERDESC 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: DWORD dwBufferBytes; 9b639cf2d6 2015-05-05 kinaba: DWORD dwReserved; 9b639cf2d6 2015-05-05 kinaba: LPWAVEFORMATEX lpwfxFormat; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFXCount; 9b639cf2d6 2015-05-05 kinaba: LPDSCEFFECTDESC lpDSCFXDesc; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias DSCBUFFERDESC* LPDSCBUFFERDESC; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DSBUFFERDESC 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: DWORD dwBufferBytes; 9b639cf2d6 2015-05-05 kinaba: DWORD dwReserved; 9b639cf2d6 2015-05-05 kinaba: LPWAVEFORMATEX lpwfxFormat; 9b639cf2d6 2015-05-05 kinaba: GUID guid3DAlgorithm; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias DSBUFFERDESC* LPCDSBUFFERDESC; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DSCAPS 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMinSecondarySampleRate; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMaxSecondarySampleRate; 9b639cf2d6 2015-05-05 kinaba: DWORD dwPrimaryBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMaxHwMixingAllBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMaxHwMixingStaticBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMaxHwMixingStreamingBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFreeHwMixingAllBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFreeHwMixingStaticBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFreeHwMixingStreamingBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMaxHw3DAllBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMaxHw3DStaticBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMaxHw3DStreamingBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFreeHw3DAllBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFreeHw3DStaticBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFreeHw3DStreamingBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwTotalHwMemBytes; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFreeHwMemBytes; 9b639cf2d6 2015-05-05 kinaba: DWORD dwMaxContigFreeHwMemBytes; 9b639cf2d6 2015-05-05 kinaba: DWORD dwUnlockTransferRateHwBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwPlayCpuOverheadSwBuffers; 9b639cf2d6 2015-05-05 kinaba: DWORD dwReserved1; 9b639cf2d6 2015-05-05 kinaba: DWORD dwReserved2; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias DSCAPS* LPDSCAPS; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DSBCAPS 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: DWORD dwBufferBytes; 9b639cf2d6 2015-05-05 kinaba: DWORD dwUnlockTransferRate; 9b639cf2d6 2015-05-05 kinaba: DWORD dwPlayCpuOverhead; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias DSBCAPS *LPDSBCAPS; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DSCEFFECTDESC 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: DWORD dwFlags; 9b639cf2d6 2015-05-05 kinaba: GUID guidDSCFXClass; 9b639cf2d6 2015-05-05 kinaba: GUID guidDSCFXInstance; 9b639cf2d6 2015-05-05 kinaba: DWORD dwReserved1; 9b639cf2d6 2015-05-05 kinaba: DWORD dwReserved2; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias DSCEFFECTDESC *LPDSCEFFECTDESC; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct DS3DLISTENER 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: DWORD dwSize; 9b639cf2d6 2015-05-05 kinaba: D3DVECTOR vPosition; 9b639cf2d6 2015-05-05 kinaba: D3DVECTOR vVelocity; 9b639cf2d6 2015-05-05 kinaba: D3DVECTOR vOrientFront; 9b639cf2d6 2015-05-05 kinaba: D3DVECTOR vOrientTop; 9b639cf2d6 2015-05-05 kinaba: D3DVALUE flDistanceFactor; 9b639cf2d6 2015-05-05 kinaba: D3DVALUE flRolloffFactor; 9b639cf2d6 2015-05-05 kinaba: D3DVALUE flDopplerFactor; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias DS3DLISTENER *LPDS3DLISTENER, LPCDS3DLISTENER; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: alias float D3DVALUE; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: struct D3DVECTOR 9b639cf2d6 2015-05-05 kinaba: { 9b639cf2d6 2015-05-05 kinaba: float x; 9b639cf2d6 2015-05-05 kinaba: float y; 9b639cf2d6 2015-05-05 kinaba: float z; 9b639cf2d6 2015-05-05 kinaba: } 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: extern(Windows) export HRESULT DirectSoundCreate8(LPCGUID pcGuidDevice, LPDIRECTSOUND8 *ppDS8, LPUNKNOWN pUnkOuter); 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: const DSSCL_PRIORITY = 0x00000002; 9b639cf2d6 2015-05-05 kinaba: const DSBCAPS_PRIMARYBUFFER = 0x00000001; 9b639cf2d6 2015-05-05 kinaba: const DSBCAPS_CTRL3D = 0x00000010; 9b639cf2d6 2015-05-05 kinaba: const DSBCAPS_GETCURRENTPOSITION2 = 0x00010000; 9b639cf2d6 2015-05-05 kinaba: const DSBCAPS_LOCDEFER = 0x00040000; 9b639cf2d6 2015-05-05 kinaba: const DSBPLAY_LOOPING = 0x00000001; 9b639cf2d6 2015-05-05 kinaba: const DSBSTATUS_PLAYING = 0x00000001; 9b639cf2d6 2015-05-05 kinaba: const DSBCAPS_CTRLFREQUENCY = 0x00000020; 9b639cf2d6 2015-05-05 kinaba: const DSBCAPS_CTRLPAN = 0x00000040; 9b639cf2d6 2015-05-05 kinaba: const DSBCAPS_CTRLVOLUME = 0x00000080; 9b639cf2d6 2015-05-05 kinaba: const DSBLOCK_ENTIREBUFFER = 0x00000002; 9b639cf2d6 2015-05-05 kinaba: 9b639cf2d6 2015-05-05 kinaba: const GUID IID_IDirectSound3DListener8 = {0x279AFA84,0x4981,0x11CE,[0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60]};