ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

dmplugin.h
Go to the documentation of this file.
00001 /*
00002  *  DirectMusic Performance Layer Plugins API
00003  *
00004  *  Copyright (C) 2003-2004 Rok Mandeljc
00005  *
00006  *  This program is free software; you can redistribute it and/or
00007  *  modify it under the terms of the GNU Lesser General Public
00008  *  License as published by the Free Software Foundation; either
00009  *  version 2.1 of the License, or (at your option) any later version.
00010  *
00011  *  This program is distributed in the hope that it will be useful,
00012  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  *  Lesser General Public License for more details.
00015  *
00016  *  You should have received a copy of the GNU Lesser General Public
00017  *  License along with this program; if not, write to the Free Software
00018  *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 #ifndef __WINE_DMUSIC_PLUGIN_H
00022 #define __WINE_DMUSIC_PLUGIN_H
00023 
00024 #ifndef __WINESRC__
00025 #include <windows.h>
00026 #endif /* __WINESRC__ */
00027 
00028 #define COM_NO_WINDOWS_H
00029 #include <objbase.h>
00030 #include <mmsystem.h>
00031 #include <dmusici.h>
00032 #include <pshpack8.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C" {
00036 #endif
00037 
00038 /*****************************************************************************
00039  * Registry path
00040  */
00041 #define DMUS_REGSTR_PATH_TOOLS "Software\\Microsoft\\DirectMusic\\Tools"
00042 
00043     
00044 /*****************************************************************************
00045  * Predeclare the interfaces
00046  */
00047 /* CLSIDs */    
00048 DEFINE_GUID(CLSID_DirectMusicBandTrack,              0xd2ac2894,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00049 DEFINE_GUID(CLSID_DirectMusicChordTrack,             0xd2ac288b,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00050 DEFINE_GUID(CLSID_DirectMusicChordMapTrack,          0xd2ac2896,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00051 DEFINE_GUID(CLSID_DirectMusicCommandTrack,           0xd2ac288c,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00052 DEFINE_GUID(CLSID_DirectMusicLyricsTrack,            0x995c1cf5,0x54ff,0x11d3,0x8b,0xda,0x00,0x60,0x08,0x93,0xb1,0xb6);
00053 DEFINE_GUID(CLSID_DirectMusicMarkerTrack,            0x55a8fd00,0x4288,0x11d3,0x9b,0xd1,0x8a,0x0d,0x61,0xc8,0x88,0x35);
00054 DEFINE_GUID(CLSID_DirectMusicMotifTrack,             0xd2ac288e,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00055 DEFINE_GUID(CLSID_DirectMusicMuteTrack,              0xd2ac2898,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00056 DEFINE_GUID(CLSID_DirectMusicParamControlTrack,      0x4be0537b,0x5c19,0x11d3,0x8b,0xdc,0x00,0x60,0x08,0x93,0xb1,0xb6);
00057 DEFINE_GUID(CLSID_DirectMusicScriptTrack,            0x4108fa85,0x3586,0x11d3,0x8b,0xd7,0x00,0x60,0x08,0x93,0xb1,0xb6);
00058 DEFINE_GUID(CLSID_DirectMusicSegmentTriggerTrack,    0xbae4d665,0x4ea1,0x11d3,0x8b,0xda,0x00,0x60,0x08,0x93,0xb1,0xb6);
00059 DEFINE_GUID(CLSID_DirectMusicSeqTrack,               0xd2ac2886,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00060 DEFINE_GUID(CLSID_DirectMusicSignPostTrack,          0xf17e8672,0xc3b4,0x11d1,0x87,0x0b,0x00,0x60,0x08,0x93,0xb1,0xbd);
00061 DEFINE_GUID(CLSID_DirectMusicStyleTrack,             0xd2ac288d,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00062 DEFINE_GUID(CLSID_DirectMusicSysExTrack,             0xd2ac2887,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00063 DEFINE_GUID(CLSID_DirectMusicTempoTrack,             0xd2ac2885,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00064 DEFINE_GUID(CLSID_DirectMusicTimeSigTrack,           0xd2ac2888,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00065 DEFINE_GUID(CLSID_DirectMusicWaveTrack,              0xeed36461,0x9ea5,0x11d3,0x9b,0xd1,0x00,0x80,0xc7,0x15,0x0a,0x74);
00066 /* MS doesn't support this in DX 9.0 and newer... but there's no harm in keeping it around */
00067 DEFINE_GUID(CLSID_DirectMusicMelodyFormulationTrack, 0xb0684266,0xb57f,0x11d2,0x97,0xf9,0x00,0xc0,0x4f,0xa3,0x6e,0x58);
00068 
00069 /* IIDs */
00070 DEFINE_GUID(IID_IDirectMusicTool,                    0xd2ac28ba,0xb39b,0x11d1,0x87,0x04,0x00,0x60,0x08,0x93,0xb1,0xbd);
00071 DEFINE_GUID(IID_IDirectMusicTool8,                   0x0e674303,0x3b05,0x11d3,0x9b,0xd1,0xf9,0xe7,0xf0,0xa0,0x15,0x36);
00072 DEFINE_GUID(IID_IDirectMusicTrack,                   0xf96029a1,0x4282,0x11d2,0x87,0x17,0x00,0x60,0x08,0x93,0xb1,0xbd);
00073 DEFINE_GUID(IID_IDirectMusicTrack8,                  0x0e674304,0x3b05,0x11d3,0x9b,0xd1,0xf9,0xe7,0xf0,0xa0,0x15,0x36);
00074 
00075 /* typedef definitions */
00076 typedef struct IDirectMusicTrack *LPDIRECTMUSICTRACK;
00077 typedef struct IDirectMusicTrack8 *LPDIRECTMUSICTRACK8;
00078 typedef struct IDirectMusicTool *LPDIRECTMUSICTOOL;
00079 typedef struct IDirectMusicTool8 *LPDIRECTMUSICTOOL8;
00080 /* these are from dmusici.h and are needed here */
00081 typedef struct IDirectMusicPerformance *LPDIRECTMUSICPERFORMANCE;
00082 typedef struct IDirectMusicPerformance8 *LPDIRECTMUSICPERFORMANCE8;
00083 typedef struct IDirectMusicSegment *LPDIRECTMUSICSEGMENT;
00084 typedef struct IDirectMusicSegment8 *LPDIRECTMUSICSEGMENT8;
00085 typedef struct IDirectMusicSegmentState *LPDIRECTMUSICSEGMENTSTATE;
00086 typedef struct IDirectMusicSegmentState8 *LPDIRECTMUSICSEGMENTSTATE8;
00087 typedef struct IDirectMusicGraph *LPDIRECTMUSICGRAPH;
00088 typedef struct IDirectMusicGraph         IDirectMusicGraph8,        *LPDIRECTMUSICGRAPH8;
00089 
00090 
00091 /*****************************************************************************
00092  * Typedef definitions
00093  */
00094 typedef struct _DMUS_PMSG DMUS_PMSG;
00095 typedef LONG MUSIC_TIME;
00096 
00097 
00098 /*****************************************************************************
00099  * Flags
00100  */
00101 #define DMUS_TRACK_PARAMF_CLOCK 0x1
00102 
00103 /*****************************************************************************
00104  * Enumerations
00105  */
00106 /* typedef definitions */
00107 typedef enum enumDMUS_TRACKF_FLAGS DMUS_TRACKF_FLAGS;
00108 
00109 /* actual enumerations */
00110 enum enumDMUS_TRACKF_FLAGS {
00111     DMUS_TRACKF_SEEK       = 0x001,
00112     DMUS_TRACKF_LOOP       = 0x002,
00113     DMUS_TRACKF_START      = 0x004,
00114     DMUS_TRACKF_FLUSH      = 0x008,
00115     DMUS_TRACKF_DIRTY      = 0x010,
00116     DMUS_TRACKF_NOTIFY_OFF = 0x020,
00117     DMUS_TRACKF_PLAY_OFF   = 0x040,
00118     DMUS_TRACKF_LOOPEND    = 0x080,
00119     DMUS_TRACKF_STOP       = 0x100,
00120     DMUS_TRACKF_RECOMPOSE  = 0x200,
00121     DMUS_TRACKF_CLOCK      = 0x400,
00122 };
00123 
00124 /*****************************************************************************
00125  * IDirectMusicTool interface
00126  */
00127 #define INTERFACE IDirectMusicTool
00128 DECLARE_INTERFACE_(IDirectMusicTool,IUnknown)
00129 {
00130     /*** IUnknown methods ***/
00131     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00132     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00133     STDMETHOD_(ULONG,Release)(THIS) PURE;
00134     /*** IDirectMusicTool methods ***/
00135     STDMETHOD(Init)(THIS_ struct IDirectMusicGraph *pGraph) PURE;
00136     STDMETHOD(GetMsgDeliveryType)(THIS_ DWORD *pdwDeliveryType) PURE;
00137     STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD *pdwNumElements) PURE;
00138     STDMETHOD(GetMediaTypes)(THIS_ DWORD **padwMediaTypes, DWORD dwNumElements) PURE;
00139     STDMETHOD(ProcessPMsg)(THIS_ struct IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG) PURE;
00140     STDMETHOD(Flush)(THIS_ struct IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG, REFERENCE_TIME rtTime) PURE;
00141 };
00142 #undef INTERFACE
00143 
00144 #if !defined(__cplusplus) || defined(CINTERFACE)
00145 /*** IUnknown methods ***/
00146 #define IDirectMusicTool_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
00147 #define IDirectMusicTool_AddRef(p)                  (p)->lpVtbl->AddRef(p)
00148 #define IDirectMusicTool_Release(p)                 (p)->lpVtbl->Release(p)
00149 /*** IDirectMusicTool methods ***/
00150 #define IDirectMusicTool_Init(p,a)                  (p)->lpVtbl->Init(p,a)
00151 #define IDirectMusicTool_GetMsgDeliveryType(p,a)    (p)->lpVtbl->GetMsgDeliveryType(p,a)
00152 #define IDirectMusicTool_GetMediaTypeArraySize(p,a) (p)->lpVtbl->GetMediaTypeArraySize(p,a)
00153 #define IDirectMusicTool_GetMediaTypes(p,a,b)       (p)->lpVtbl->GetMediaTypes(p,a,b)
00154 #define IDirectMusicTool_ProcessPMsg(p,a,b)         (p)->lpVtbl->ProcessPMsg(p,a,b)
00155 #define IDirectMusicTool_Flush(p,a,b,c)             (p)->lpVtbl->Flush(p,a,b,c)
00156 #endif
00157 
00158 
00159 /*****************************************************************************
00160  * IDirectMusicTool8 interface
00161  */
00162 #define INTERFACE IDirectMusicTool8
00163 DECLARE_INTERFACE_(IDirectMusicTool8,IDirectMusicTool)
00164 {
00165     /*** IUnknown methods ***/
00166     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00167     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00168     STDMETHOD_(ULONG,Release)(THIS) PURE;
00169     /*** IDirectMusicTool methods ***/
00170     STDMETHOD(Init)(THIS_ struct IDirectMusicGraph *pGraph) PURE;
00171     STDMETHOD(GetMsgDeliveryType)(THIS_ DWORD *pdwDeliveryType) PURE;
00172     STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD *pdwNumElements) PURE;
00173     STDMETHOD(GetMediaTypes)(THIS_ DWORD **padwMediaTypes, DWORD dwNumElements) PURE;
00174     STDMETHOD(ProcessPMsg)(THIS_ struct IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG) PURE;
00175     STDMETHOD(Flush)(THIS_ struct IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG, REFERENCE_TIME rtTime) PURE;
00176     /*** IDirectMusicTool8 methods ***/
00177     STDMETHOD(Clone)(THIS_ IDirectMusicTool **ppTool) PURE;
00178 };
00179 #undef INTERFACE
00180 
00181 #if !defined(__cplusplus) || defined(CINTERFACE)
00182 /*** IUnknown methods ***/
00183 #define IDirectMusicTool8_QueryInterface(p,a,b)      (p)->lpVtbl->QueryInterface(p,a,b)
00184 #define IDirectMusicTool8_AddRef(p)                  (p)->lpVtbl->AddRef(p)
00185 #define IDirectMusicTool8_Release(p)                 (p)->lpVtbl->Release(p)
00186 /*** IDirectMusicTool methods ***/
00187 #define IDirectMusicTool8_Init(p,a)                  (p)->lpVtbl->Init(p,a)
00188 #define IDirectMusicTool8_GetMsgDeliveryType(p,a)    (p)->lpVtbl->GetMsgDeliveryType(p,a)
00189 #define IDirectMusicTool8_GetMediaTypeArraySize(p,a) (p)->lpVtbl->GetMediaTypeArraySize(p,a)
00190 #define IDirectMusicTool8_GetMediaTypes(p,a,b)       (p)->lpVtbl->GetMediaTypes(p,a,b)
00191 #define IDirectMusicTool8_ProcessPMsg(p,a,b)         (p)->lpVtbl->ProcessPMsg(p,a,b)
00192 #define IDirectMusicTool8_Flush(p,a,b)               (p)->lpVtbl->Flush(p,a,b)
00193 /*** IDirectMusicTool8 methods ***/
00194 #define IDirectMusicTool8_Clone(p,a)                 (p)->lpVtbl->Clone(p,a)
00195 #endif
00196 
00197 
00198 /*****************************************************************************
00199  * IDirectMusicTrack interface
00200  */
00201 #define INTERFACE IDirectMusicTrack
00202 DECLARE_INTERFACE_(IDirectMusicTrack,IUnknown)
00203 {
00204     /*** IUnknown methods ***/
00205     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00206     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00207     STDMETHOD_(ULONG,Release)(THIS) PURE;
00208     /*** IDirectMusicTrack methods ***/
00209     STDMETHOD(Init)(THIS_ struct IDirectMusicSegment *pSegment) PURE;
00210     STDMETHOD(InitPlay)(THIS_ struct IDirectMusicSegmentState *pSegmentState, struct IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags) PURE;
00211     STDMETHOD(EndPlay)(THIS_ void *pStateData) PURE;
00212     STDMETHOD(Play)(THIS_ void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, struct IDirectMusicPerformance *pPerf, struct IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE;
00213     STDMETHOD(GetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE;
00214     STDMETHOD(SetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, void *pParam) PURE;
00215     STDMETHOD(IsParamSupported)(THIS_ REFGUID rguidType) PURE;
00216     STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
00217     STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
00218     STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack) PURE;
00219 };
00220 #undef INTERFACE
00221 
00222 #if !defined(__cplusplus) || defined(CINTERFACE)
00223 /*** IUnknown methods ***/
00224 #define IDirectMusicTrack_QueryInterface(p,a,b)       (p)->lpVtbl->QueryInterface(p,a,b)
00225 #define IDirectMusicTrack_AddRef(p)                   (p)->lpVtbl->AddRef(p)
00226 #define IDirectMusicTrack_Release(p)                  (p)->lpVtbl->Release(p)
00227 /*** IDirectMusicTrack methods ***/
00228 #define IDirectMusicTrack_Init(p,a)                   (p)->lpVtbl->Init(p,a)
00229 #define IDirectMusicTrack_InitPlay(p,a,b,c,d,e)       (p)->lpVtbl->InitPlay(p,a,b,c,d,e)
00230 #define IDirectMusicTrack_EndPlay(p,a)                (p)->lpVtbl->EndPlay(p,a)
00231 #define IDirectMusicTrack_Play(p,a,b,c,d,e,f,g,h)     (p)->lpVtbl->Play(p,a,b,c,d,e,f,g,h)
00232 #define IDirectMusicTrack_GetParam(p,a,b,c,d)         (p)->lpVtbl->GetParam(p,a,b,c,d)
00233 #define IDirectMusicTrack_SetParam(p,a,b,c)           (p)->lpVtbl->SetParam(p,a,b,c)
00234 #define IDirectMusicTrack_IsParamSupported(p,a)       (p)->lpVtbl->IsParamSupported(p,a)
00235 #define IDirectMusicTrack_AddNotificationType(p,a)    (p)->lpVtbl->AddNotificationType(p,a)
00236 #define IDirectMusicTrack_RemoveNotificationType(p,a) (p)->lpVtbl->RemoveNotificationType(p,a)
00237 #define IDirectMusicTrack_Clone(p,a,b,c)              (p)->lpVtbl->Clone(p,a,b,c)
00238 #endif
00239 
00240 
00241 /*****************************************************************************
00242  * IDirectMusicTrack8 interface
00243  */
00244 #define INTERFACE IDirectMusicTrack8
00245 DECLARE_INTERFACE_(IDirectMusicTrack8,IDirectMusicTrack)
00246 {
00247     /*** IUnknown methods ***/
00248     STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE;
00249     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
00250     STDMETHOD_(ULONG,Release)(THIS) PURE;
00251     /*** IDirectMusicTrack methods ***/
00252     STDMETHOD(Init)(THIS_ struct IDirectMusicSegment *pSegment) PURE;
00253     STDMETHOD(InitPlay)(THIS_ struct IDirectMusicSegmentState *pSegmentState, struct IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags) PURE;
00254     STDMETHOD(EndPlay)(THIS_ void *pStateData) PURE;
00255     STDMETHOD(Play)(THIS_ void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, struct IDirectMusicPerformance *pPerf, struct IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE;
00256     STDMETHOD(GetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE;
00257     STDMETHOD(SetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, void *pParam) PURE;
00258     STDMETHOD(IsParamSupported)(THIS_ REFGUID rguidType) PURE;
00259     STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
00260     STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE;
00261     STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicTrack **ppTrack) PURE;
00262     /*** IDirectMusicTrack8 methods ***/
00263     STDMETHOD(PlayEx)(THIS_ void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, struct IDirectMusicPerformance *pPerf, struct IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE;
00264     STDMETHOD(GetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags) PURE;
00265     STDMETHOD(SetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags) PURE;
00266     STDMETHOD(Compose)(THIS_ IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE;
00267     STDMETHOD(Join)(THIS_ IDirectMusicTrack *pNewTrack, MUSIC_TIME mtJoin, IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE;
00268 };
00269 #undef INTERFACE
00270 
00271 #if !defined(__cplusplus) || defined(CINTERFACE)
00272 /*** IUnknown methods ***/
00273 #define IDirectMusicTrack8_QueryInterface(p,a,b)       (p)->lpVtbl->QueryInterface(p,a,b)
00274 #define IDirectMusicTrack8_AddRef(p)                   (p)->lpVtbl->AddRef(p)
00275 #define IDirectMusicTrack8_Release(p)                  (p)->lpVtbl->Release(p)
00276 /*** IDirectMusicTrack methods ***/
00277 #define IDirectMusicTrack8_Init(p,a)                   (p)->lpVtbl->Init(p,a)
00278 #define IDirectMusicTrack8_InitPlay(p,a,b,c,d,e)       (p)->lpVtbl->InitPlay(p,a,b,c,d,e)
00279 #define IDirectMusicTrack8_EndPlay(p,a)                (p)->lpVtbl->EndPlay(p,a)
00280 #define IDirectMusicTrack8_Play(p,a,b,c,d,e,f,g,h)     (p)->lpVtbl->Play(p,a,b,c,d,e,f,g,h)
00281 #define IDirectMusicTrack8_GetParam(p,a,b,c,d)         (p)->lpVtbl->GetParam(p,a,b,c,d)
00282 #define IDirectMusicTrack8_SetParam(p,a,b,c)           (p)->lpVtbl->SetParam(p,a,b,c)
00283 #define IDirectMusicTrack8_IsParamSupported(p,a)       (p)->lpVtbl->IsParamSupported(p,a)
00284 #define IDirectMusicTrack8_AddNotificationType(p,a)    (p)->lpVtbl->AddNotificationType(p,a)
00285 #define IDirectMusicTrack8_RemoveNotificationType(p,a) (p)->lpVtbl->RemoveNotificationType(p,a)
00286 #define IDirectMusicTrack8_Clone(p,a,b,c)              (p)->lpVtbl->Clone(p,a,b,c)
00287 /*** IDirectMusicTrack8 methods ***/
00288 #define IDirectMusicTrack8_PlayEx(p,a,b,c,d,e,f,g,h)   (p)->lpVtbl->PlayEx(p,a,b,c,d,e,f,g,h)
00289 #define IDirectMusicTrack8_GetParamEx(p,a,b,c,d,e,f)   (p)->lpVtbl->GetParamEx(p,a,b,c,d,e,f)
00290 #define IDirectMusicTrack8_SetParamEx(p,a,b,c,d,e)     (p)->lpVtbl->SetParamEx(p,a,b,c,d,e)
00291 #define IDirectMusicTrack8_Compose(p,a,b,c)            (p)->lpVtbl->Compose(p,a,b,c)
00292 #define IDirectMusicTrack8_Join(p,a,b,c,d,e)           (p)->lpVtbl->Join(p,a,b,c,d,e)
00293 #endif
00294 
00295 #ifdef __cplusplus
00296 }
00297 #endif
00298 
00299 #include <poppack.h>
00300 
00301 #endif /* __WINE_DMUSIC_PLUGIN_H */

Generated on Fri May 25 2012 04:29:10 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.