source: trunk/src/dsound/OS2DSOUND.H@ 3313

Last change on this file since 3313 was 3099, checked in by sandervl, 25 years ago

replaced dsound by new version

File size: 2.7 KB
Line 
1/* $Id: OS2DSOUND.H,v 1.5 2000-03-13 12:47:46 sandervl Exp $ */
2
3/*
4 * DirectSound main class
5 *
6 * Copyright 1998 Sander van Leeuwen (sandervl@xs4all.nl)
7 *
8 * Project Odin Software License can be found in LICENSE.TXT
9 *
10 */
11#ifndef __OS2DSOUND_H__
12#define __OS2DSOUND_H__
13
14#undef THIS
15#define THIS VOID*This
16
17#undef THIS_
18#define THIS_ VOID*This,
19
20class OS2IDirectSound
21{
22 public:
23 //this one has to go first!
24 IDirectSoundVtbl *lpVtbl;
25 IDirectSoundVtbl Vtbl;
26
27 OS2IDirectSound(const GUID *lpGUID);
28 ~OS2IDirectSound();
29
30 int Referenced;
31
32 static BOOL fDSExists;
33 inline HRESULT GetLastError() { return lastError; };
34 inline DWORD GetCoopLevel() { return CoopLevel; };
35
36 private:
37
38 protected:
39 HRESULT lastError;
40
41 DWORD speakerConfig;
42 DWORD CoopLevel;
43 HWND hwndClient;
44
45
46 // Linked list management
47 OS2IDirectSound* next; // Next OS2IDirectSound
48 static OS2IDirectSound* dsound; // List of OS2IDirectSound
49
50 friend HRESULT __stdcall SoundQueryInterface(THIS, REFIID riid, LPVOID * ppvObj);
51 friend ULONG __stdcall SoundAddRef(THIS);
52 friend ULONG __stdcall SoundRelease(THIS);
53 friend HRESULT __stdcall SoundCreateSoundBuffer(THIS_ LPDSBUFFERDESC, LPDIRECTSOUNDBUFFER*,LPUNKNOWN);
54 friend HRESULT __stdcall SoundGetCaps(THIS_ LPDSCAPS );
55 friend HRESULT __stdcall SoundDuplicateSoundBuffer(THIS_ LPDIRECTSOUNDBUFFER, LPLPDIRECTSOUNDBUFFER );
56 friend HRESULT __stdcall SoundSetCooperativeLevel(THIS_ HWND, DWORD );
57 friend HRESULT __stdcall SoundCompact(THIS );
58 friend HRESULT __stdcall SoundGetSpeakerConfig(THIS_ LPDWORD );
59 friend HRESULT __stdcall SoundSetSpeakerConfig(THIS_ DWORD );
60 friend HRESULT __stdcall SoundInitialize(THIS_ LPGUID);
61};
62//******************************************************************************
63//******************************************************************************
64HRESULT __stdcall SoundQueryInterface(THIS, REFIID riid, LPVOID * ppvObj);
65ULONG __stdcall SoundAddRef(THIS);
66ULONG __stdcall SoundRelease(THIS);
67HRESULT __stdcall SoundCreateSoundBuffer(THIS_ LPDSBUFFERDESC, LPDIRECTSOUNDBUFFER*,LPUNKNOWN);
68HRESULT __stdcall SoundGetCaps(THIS_ LPDSCAPS );
69HRESULT __stdcall SoundDuplicateSoundBuffer(THIS_ LPDIRECTSOUNDBUFFER, LPLPDIRECTSOUNDBUFFER );
70HRESULT __stdcall SoundSetCooperativeLevel(THIS_ HWND, DWORD );
71HRESULT __stdcall SoundCompact(THIS );
72HRESULT __stdcall SoundGetSpeakerConfig(THIS_ LPDWORD );
73HRESULT __stdcall SoundSetSpeakerConfig(THIS_ DWORD );
74HRESULT __stdcall SoundInitialize(THIS_ LPGUID);
75
76#endif
Note: See TracBrowser for help on using the repository browser.