source: trunk/src/dsound/DAudioNotify.h@ 6502

Last change on this file since 6502 was 5608, checked in by sandervl, 24 years ago

preliminary code for directaudio interface

File size: 1.4 KB
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 __DAUDIONOTIFY_H__
10#define __DAUDIONOTIFY_H__
11
12#undef THIS
13#define THIS VOID*This
14
15#undef THIS_
16#define THIS_ VOID*This,
17
18class IDirectAudioNotify
19{
20 public:
21 //this one has to go first!
22 IDirectSoundNotifyVtbl *lpVtbl;
23 IDirectSoundNotifyVtbl Vtbl;
24
25 IDirectAudioNotify(IDirectAudioBuffer *parentBuffer);
26 ~IDirectAudioNotify();
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 IDirectAudioBuffer *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 DAudioNotifyQueryInterface(THIS, REFIID riid, LPVOID * ppvObj);
43 friend ULONG __stdcall DAudioNotifyAddRef(THIS);
44 friend ULONG __stdcall DAudioNotifyRelease(THIS);
45 friend HRESULT __stdcall DAudioNotifySetNotificationPositions(THIS, DWORD cPositionNotifies, LPCDSBPOSITIONNOTIFY lpcPositionNotifies);
46};
47
48#endif //__DAUDIONOTIFY_H__
Note: See TracBrowser for help on using the repository browser.