1 #ifndef __VGMSNDDRV_H__
\r
2 #define __VGMSNDDRV_H__
\r
11 typedef struct _vgm_file_header
\r
14 UINT32 lngEOFOffset;
\r
18 UINT32 lngGD3Offset;
\r
19 UINT32 lngTotalSamples;
\r
20 UINT32 lngLoopOffset;
\r
21 UINT32 lngLoopSamples;
\r
26 UINT32 lngDataOffset;
\r
37 UINT32 lngHzYMF278B;
\r
39 UINT32 lngHzYMZ280B;
\r
40 UINT32 lngHzRF5C164;
\r
44 UINT8 bytVolumeModifier;
\r
47 UINT8 bytLoopModifier;
\r
50 typedef struct _vgm_file
\r
58 UINT8 OpenVGMFile(const char* FileName, VGM_FILE* vgmFile);
\r
59 void FreeVGMFile(VGM_FILE* vgmFile);
\r
61 void InitEngine(void);
\r
62 void DeinitEngine(void);
\r
64 UINT8 PlayMusic(VGM_FILE* vgmFile);
\r
65 UINT8 PlaySFX(VGM_FILE* vgmFile, UINT8 sfxChnID);
\r
66 UINT8 StopMusic(void);
\r
67 UINT8 StopSFX(UINT8 sfxChnID);
\r
68 UINT8 PauseMusic(void);
\r
69 UINT8 ResumeMusic(void);
\r
71 void UpdateSoundEngine(void);
\r
74 // Functions that must be supplied by external library:
\r
75 //extern void OPL2_Write(UINT8 reg, UINT8 data);
\r
76 //extern UINT8 OPL2_ReadStatus(void);
\r
83 #endif // ! __VGMSNDDRV_H__
\r