/* dmbndtrk.h Copyright (c) 1997-1998 Microsoft Corporation. All rights reserved. Note: Contains private interfaces support by objects contained within dmband.dll. Originally written by Robert K. Amenn */ #ifndef DMBNDTRK_H #define DMBNDTRK_H #include #define COM_NO_WINDOWS_H #include #ifdef __cplusplus extern "C" { #endif struct IDirectMusicBand; typedef struct _DMUS_IO_PATCH_ITEM { MUSIC_TIME lTime; BYTE byStatus; BYTE byPChange; BYTE byMSB; BYTE byLSB; DWORD dwFlags; BOOL fNotInFile; // set to true if this patch item was automatically generated IDirectMusicCollection* pIDMCollection; struct _DMUS_IO_PATCH_ITEM* pNext; } DMUS_IO_PATCH_ITEM; typedef enum enumDMUS_MIDIMODEF_FLAGS { DMUS_MIDIMODEF_GM = 0x1, DMUS_MIDIMODEF_GS = 0x2, DMUS_MIDIMODEF_XG = 0x4, } DMUS_MIDIMODEF_FLAGS; struct StampedGMGSXG { MUSIC_TIME mtTime; DWORD dwMidiMode; }; /* Private Interface IDirectMusicBandTrk */ interface IDirectMusicBandTrk; #ifndef __cplusplus typedef interface IDirectMusicBandTrk IDirectMusicBandTrk; #endif typedef IDirectMusicBandTrk __RPC_FAR *LPDIRECTMUSICBANDTRK; #undef INTERFACE #define INTERFACE IDirectMusicBandTrk DECLARE_INTERFACE_(IDirectMusicBandTrk, IUnknown) { /* IUnknown */ STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE; STDMETHOD_(ULONG,AddRef) (THIS) PURE; STDMETHOD_(ULONG,Release) (THIS) PURE; /* IDirectMusicBandTrk */ STDMETHOD(AddBand) (THIS_ DMUS_IO_PATCH_ITEM*) PURE; STDMETHOD(AddBand) (THIS_ IDirectMusicBand* pIDMBand) PURE; STDMETHOD(SetGMGSXGMode) (THIS_ MUSIC_TIME mtTime, DWORD dwMidiMode) PURE; }; /* Private Interface IDirectMusicBandPrivate */ interface IDirectMusicBandPrivate; #ifndef __cplusplus typedef interface IDirectMusicBandPrivate IDirectMusicBandPrivate; #endif typedef IDirectMusicBandPrivate __RPC_FAR *LPDIRECTMUSICBANDP; #undef INTERFACE #define INTERFACE IDirectMusicBandPrivate DECLARE_INTERFACE_(IDirectMusicBandPrivate, IUnknown) { /* IUnknown */ STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID FAR *) PURE; STDMETHOD_(ULONG,AddRef) (THIS) PURE; STDMETHOD_(ULONG,Release) (THIS) PURE; /* IDirectMusicBandPrivate */ STDMETHOD(GetFlags) (THIS_ DWORD* dwFlags) PURE; STDMETHOD(SetGMGSXGMode) (THIS_ DWORD dwMidiMode) PURE; }; DEFINE_GUID(IID_IDirectMusicBandTrk, 0x53466056, 0x6dc4, 0x11d1, 0xbf, 0x7b, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef); DEFINE_GUID(IID_IDirectMusicBandPrivate,0xda54db81, 0x837d, 0x11d1, 0x86, 0xbc, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef); #ifdef __cplusplus }; /* extern "C" */ #endif #endif /* #ifndef DMBNDTRK_H */