Line | |
---|
1 | /*
|
---|
2 | * DirectSound DirectSoundNotify class
|
---|
3 | *
|
---|
4 | * Copyright 2000 Michal Necasek
|
---|
5 | *
|
---|
6 | * Project Odin Software License can be found in LICENSE.TXT
|
---|
7 | *
|
---|
8 | */
|
---|
9 | #ifndef __OS2NOTIFY_H__
|
---|
10 | #define __OS2NOTIFY_H__
|
---|
11 |
|
---|
12 | #undef THIS
|
---|
13 | #define THIS VOID*This
|
---|
14 |
|
---|
15 | #undef THIS_
|
---|
16 | #define THIS_ VOID*This,
|
---|
17 |
|
---|
18 | class OS2IDirectSoundNotify
|
---|
19 | {
|
---|
20 | public:
|
---|
21 | //this one has to go first!
|
---|
22 | IDirectSoundNotifyVtbl *lpVtbl;
|
---|
23 | IDirectSoundNotifyVtbl Vtbl;
|
---|
24 |
|
---|
25 | OS2IDirectSoundNotify(OS2IDirectSoundBuffer *parentBuffer);
|
---|
26 | ~OS2IDirectSoundNotify();
|
---|
27 |
|
---|
28 | int Referenced;
|
---|
29 |
|
---|
30 | // helper functions to handle notify event signaling
|
---|
31 | void CheckPos(DWORD dwOldpos, DWORD dwNewpos);
|
---|
32 | void CheckStop();
|
---|
33 |
|
---|
34 | private:
|
---|
35 |
|
---|
36 | protected:
|
---|
37 | OS2IDirectSoundBuffer *lpSoundBuffer; // parent sound buffer
|
---|
38 | DWORD cPositions; // # of notification positions
|
---|
39 | LPDSBPOSITIONNOTIFY lpPositions; // notify positions and associated
|
---|
40 | // event object handles
|
---|
41 |
|
---|
42 | friend HRESULT __stdcall SoundNotifyQueryInterface(THIS, REFIID riid, LPVOID * ppvObj);
|
---|
43 | friend ULONG __stdcall SoundNotifyAddRef(THIS);
|
---|
44 | friend ULONG __stdcall SoundNotifyRelease(THIS);
|
---|
45 | friend HRESULT __stdcall SoundNotifySetNotificationPositions(THIS, DWORD cPositionNotifies, LPCDSBPOSITIONNOTIFY lpcPositionNotifies);
|
---|
46 | };
|
---|
47 |
|
---|
48 | #endif
|
---|
Note:
See
TracBrowser
for help on using the repository browser.