Wrote two new header this morning compatible with dxsdk 2004 dec release.

svn path=/trunk/; revision=26897
This commit is contained in:
Magnus Olsen 2007-05-26 07:03:52 +00:00
parent 2f6b952a84
commit 4a0055bc36
2 changed files with 246 additions and 0 deletions

View file

@ -0,0 +1,112 @@
#ifndef _DMUSICS_
#define _DMUSICS_
#include "dmusicc.h"
#define REGSTR_PATH_SOFTWARESYNTHS "Software\\Microsoft\\DirectMusic\\SoftwareSynths"
interface IDirectMusicSynth;
interface IDirectMusicSynthSink;
#ifndef __cplusplus
typedef interface IDirectMusicSynth IDirectMusicSynth;
typedef interface IDirectMusicSynthSink IDirectMusicSynthSink;
#endif
#ifndef _DMUS_VOICE_STATE_DEFINED
#define _DMUS_VOICE_STATE_DEFINED
DEFINE_GUID(IID_IDirectMusicSynth, 0x9823661, 0x5C85, 0x11D2, 0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6);
DEFINE_GUID(IID_IDirectMusicSynth8, 0x53CAB625, 0x2711, 0x4C9F, 0x9D, 0xE7, 0x1B, 0x7F, 0x92, 0x5F, 0x6F, 0xC8);
DEFINE_GUID(IID_IDirectMusicSynthSink, 0x09823663, 0x5C85, 0x11D2, 0xAF, 0xA6, 0x00, 0xAA, 0x00, 0x24, 0xD8, 0xB6);
DEFINE_GUID(GUID_DMUS_PROP_SetSynthSink, 0x0A3A5BA5, 0x37B6, 0x11D2, 0xB9, 0xF9, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12);
DEFINE_GUID(GUID_DMUS_PROP_SinkUsesDSound, 0xBE208857, 0x8952, 0x11D2, 0xBA, 0x1C, 0x00, 0x00, 0xF8, 0x75, 0xAC, 0x12);
#define REFRESH_F_LASTBUFFER 0x00000001
typedef struct _DMUS_VOICE_STATE
{
BOOL bExists;
SAMPLE_POSITION spPosition;
} DMUS_VOICE_STATE;
#endif
#undef INTERFACE
#define INTERFACE IDirectMusicSynth
DECLARE_INTERFACE_(IDirectMusicSynth, IUnknown)
{
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
STDMETHOD(Open) (THIS_ LPDMUS_PORTPARAMS pPortParams) PURE;
STDMETHOD(Close) (THIS) PURE;
STDMETHOD(SetNumChannelGroups) (THIS_ DWORD dwGroups) PURE;
STDMETHOD(Download) (THIS_ LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree ) PURE;
STDMETHOD(Unload) (THIS_ HANDLE hDownload, HRESULT ( CALLBACK *lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData ) PURE;
STDMETHOD(PlayBuffer) (THIS_ REFERENCE_TIME rt,LPBYTE pbBuffer, DWORD cbBuffer) PURE;
STDMETHOD(GetRunningStats) (THIS_ LPDMUS_SYNTHSTATS pStats) PURE;
STDMETHOD(GetPortCaps) (THIS_ LPDMUS_PORTCAPS pCaps) PURE;
STDMETHOD(SetMasterClock) (THIS_ IReferenceClock *pClock) PURE;
STDMETHOD(GetLatencyClock) (THIS_ IReferenceClock **ppClock) PURE;
STDMETHOD(Activate) (THIS_ BOOL fEnable) PURE;
STDMETHOD(SetSynthSink) (THIS_ IDirectMusicSynthSink *pSynthSink) PURE;
STDMETHOD(Render) (THIS_ short *pBuffer, DWORD dwLength, LONGLONG llPosition) PURE;
STDMETHOD(SetChannelPriority) (THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE;
STDMETHOD(GetChannelPriority) (THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE;
STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize) PURE;
STDMETHOD(GetAppend) (THIS_ DWORD* pdwAppend) PURE;
};
#undef INTERFACE
#define INTERFACE IDirectMusicSynth8
DECLARE_INTERFACE_(IDirectMusicSynth8, IDirectMusicSynth)
{
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
STDMETHOD(Open) (THIS_ LPDMUS_PORTPARAMS pPortParams) PURE;
STDMETHOD(Close) (THIS) PURE;
STDMETHOD(SetNumChannelGroups) (THIS_ DWORD dwGroups) PURE;
STDMETHOD(Download) (THIS_ LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree ) PURE;
STDMETHOD(Unload) (THIS_ HANDLE hDownload, HRESULT ( CALLBACK *lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData ) PURE;
STDMETHOD(PlayBuffer) (THIS_ REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer) PURE;
STDMETHOD(GetRunningStats) (THIS_ LPDMUS_SYNTHSTATS pStats) PURE;
STDMETHOD(GetPortCaps) (THIS_ LPDMUS_PORTCAPS pCaps) PURE;
STDMETHOD(SetMasterClock) (THIS_ IReferenceClock *pClock) PURE;
STDMETHOD(GetLatencyClock) (THIS_ IReferenceClock **ppClock) PURE;
STDMETHOD(Activate) (THIS_ BOOL fEnable) PURE;
STDMETHOD(SetSynthSink) (THIS_ IDirectMusicSynthSink *pSynthSink) PURE;
STDMETHOD(Render) (THIS_ short *pBuffer, DWORD dwLength, LONGLONG llPosition) PURE;
STDMETHOD(SetChannelPriority) (THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE;
STDMETHOD(GetChannelPriority) (THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE;
STDMETHOD(GetFormat) (THIS_ LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSize) PURE;
STDMETHOD(GetAppend) (THIS_ DWORD* pdwAppend) PURE;
STDMETHOD(PlayVoice) (THIS_ REFERENCE_TIME rt, DWORD dwVoiceId, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwDLId, long prPitch, long vrVolume, SAMPLE_TIME stVoiceStart, SAMPLE_TIME stLoopStart, SAMPLE_TIME stLoopEnd) PURE;
STDMETHOD(StopVoice) (THIS_ REFERENCE_TIME rt, DWORD dwVoiceId ) PURE;
STDMETHOD(GetVoiceState) (THIS_ DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[] ) PURE;
STDMETHOD(Refresh) (THIS_ DWORD dwDownloadID, DWORD dwFlags) PURE;
STDMETHOD(AssignChannelToBuses) (THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwBuses, DWORD cBuses) PURE;
};
#undef INTERFACE
#define INTERFACE IDirectMusicSynthSink
DECLARE_INTERFACE_(IDirectMusicSynthSink, IUnknown)
{
STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE;
STDMETHOD_(ULONG,AddRef) (THIS) PURE;
STDMETHOD_(ULONG,Release) (THIS) PURE;
STDMETHOD(Init) (THIS_ IDirectMusicSynth *pSynth) PURE;
STDMETHOD(SetMasterClock) (THIS_ IReferenceClock *pClock) PURE;
STDMETHOD(GetLatencyClock) (THIS_ IReferenceClock **ppClock) PURE;
STDMETHOD(Activate) (THIS_ BOOL fEnable) PURE;
STDMETHOD(SampleToRefTime) (THIS_ LONGLONG llSampleTime, REFERENCE_TIME *prfTime) PURE;
STDMETHOD(RefTimeToSample) (THIS_ REFERENCE_TIME rfTime, LONGLONG *pllSampleTime) PURE;
STDMETHOD(SetDirectSound) (THIS_ LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) PURE;
STDMETHOD(GetDesiredBufferSize) (THIS_ LPDWORD pdwBufferSizeInSamples) PURE;
};
#endif

View file

@ -0,0 +1,134 @@
#pragma warning( disable: 4049 )
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif
#ifndef __dshowasf_h__
#define __dshowasf_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
#ifndef __IConfigAsfWriter_FWD_DEFINED__
#define __IConfigAsfWriter_FWD_DEFINED__
typedef interface IConfigAsfWriter IConfigAsfWriter;
#endif
#include "unknwn.h"
#include "objidl.h"
#include "strmif.h"
#include "wmsdkidl.h"
#ifdef __cplusplus
extern "C"{
#endif
void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * );
EXTERN_GUID( IID_IConfigAsfWriter,0x45086030,0xF7E4,0x486A,0xB5,0x04,0x82,0x6B,0xB5,0x79,0x2A,0x3B );
extern RPC_IF_HANDLE __MIDL_itf_dshowasf_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_dshowasf_0000_v0_0_s_ifspec;
#ifndef __IConfigAsfWriter_INTERFACE_DEFINED__
#define __IConfigAsfWriter_INTERFACE_DEFINED__
EXTERN_C const IID IID_IConfigAsfWriter;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("45086030-F7E4-486a-B504-826BB5792A3B")
IConfigAsfWriter : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE ConfigureFilterUsingProfileId(DWORD dwProfileId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentProfileId(DWORD *pdwProfileId) = 0;
virtual HRESULT STDMETHODCALLTYPE ConfigureFilterUsingProfileGuid(REFGUID guidProfile) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentProfileGuid(GUID *pProfileGuid) = 0;
virtual HRESULT STDMETHODCALLTYPE ConfigureFilterUsingProfile(IWMProfile *pProfile) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentProfile(IWMProfile **ppProfile) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIndexMode(BOOL bIndexFile) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIndexMode(BOOL *pbIndexFile) = 0;
};
#else
typedef struct IConfigAsfWriterVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(IConfigAsfWriter * This, REFIID riid, void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(IConfigAsfWriter * This);
ULONG ( STDMETHODCALLTYPE *Release )(IConfigAsfWriter * This);
HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfileId )(IConfigAsfWriter * This, DWORD dwProfileId);
HRESULT ( STDMETHODCALLTYPE *GetCurrentProfileId )(IConfigAsfWriter * This, DWORD *pdwProfileId);
HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfileGuid )(IConfigAsfWriter * This, REFGUID guidProfile);
HRESULT ( STDMETHODCALLTYPE *GetCurrentProfileGuid )(IConfigAsfWriter * This, GUID *pProfileGuid);
HRESULT ( STDMETHODCALLTYPE *ConfigureFilterUsingProfile )(IConfigAsfWriter * This, IWMProfile *pProfile);
HRESULT ( STDMETHODCALLTYPE *GetCurrentProfile )(IConfigAsfWriter * This, IWMProfile **ppProfile);
HRESULT ( STDMETHODCALLTYPE *SetIndexMode )(IConfigAsfWriter * This, BOOL bIndexFile);
HRESULT ( STDMETHODCALLTYPE *GetIndexMode )(IConfigAsfWriter * This, BOOL *pbIndexFile);
END_INTERFACE
} IConfigAsfWriterVtbl;
interface IConfigAsfWriter
{
CONST_VTBL struct IConfigAsfWriterVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IConfigAsfWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IConfigAsfWriter_AddRef(This) (This)->lpVtbl -> AddRef(This)
#define IConfigAsfWriter_Release(This) (This)->lpVtbl -> Release(This)
#define IConfigAsfWriter_ConfigureFilterUsingProfileId(This,dwProfileId) (This)->lpVtbl -> ConfigureFilterUsingProfileId(This,dwProfileId)
#define IConfigAsfWriter_GetCurrentProfileId(This,pdwProfileId) (This)->lpVtbl -> GetCurrentProfileId(This,pdwProfileId)
#define IConfigAsfWriter_ConfigureFilterUsingProfileGuid(This,guidProfile) (This)->lpVtbl -> ConfigureFilterUsingProfileGuid(This,guidProfile)
#define IConfigAsfWriter_GetCurrentProfileGuid(This,pProfileGuid) (This)->lpVtbl -> GetCurrentProfileGuid(This,pProfileGuid)
#define IConfigAsfWriter_ConfigureFilterUsingProfile(This,pProfile) (This)->lpVtbl -> ConfigureFilterUsingProfile(This,pProfile)
#define IConfigAsfWriter_GetCurrentProfile(This,ppProfile) (This)->lpVtbl -> GetCurrentProfile(This,ppProfile)
#define IConfigAsfWriter_SetIndexMode(This,bIndexFile) (This)->lpVtbl -> SetIndexMode(This,bIndexFile)
#define IConfigAsfWriter_GetIndexMode(This,pbIndexFile) (This)->lpVtbl -> GetIndexMode(This,pbIndexFile)
#endif
#endif
HRESULT STDMETHODCALLTYPE IConfigAsfWriter_ConfigureFilterUsingProfileId_Proxy(IConfigAsfWriter * This, DWORD dwProfileId);
void __RPC_STUB IConfigAsfWriter_ConfigureFilterUsingProfileId_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IConfigAsfWriter_GetCurrentProfileId_Proxy(IConfigAsfWriter * This, DWORD *pdwProfileId);
void __RPC_STUB IConfigAsfWriter_GetCurrentProfileId_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IConfigAsfWriter_ConfigureFilterUsingProfileGuid_Proxy(IConfigAsfWriter * This, REFGUID guidProfile);
void __RPC_STUB IConfigAsfWriter_ConfigureFilterUsingProfileGuid_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IConfigAsfWriter_GetCurrentProfileGuid_Proxy(IConfigAsfWriter * This, GUID *pProfileGuid);
void __RPC_STUB IConfigAsfWriter_GetCurrentProfileGuid_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IConfigAsfWriter_ConfigureFilterUsingProfile_Proxy(IConfigAsfWriter * This, IWMProfile *pProfile);
void __RPC_STUB IConfigAsfWriter_ConfigureFilterUsingProfile_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IConfigAsfWriter_GetCurrentProfile_Proxy(IConfigAsfWriter * This, IWMProfile **ppProfile);
void __RPC_STUB IConfigAsfWriter_GetCurrentProfile_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IConfigAsfWriter_SetIndexMode_Proxy(IConfigAsfWriter * This, BOOL bIndexFile);
void __RPC_STUB IConfigAsfWriter_SetIndexMode_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IConfigAsfWriter_GetIndexMode_Proxy(IConfigAsfWriter * This, BOOL *pbIndexFile);
void __RPC_STUB IConfigAsfWriter_GetIndexMode_Stub(IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase);
#endif
#ifdef __cplusplus
}
#endif
#endif