/* * Copyright (c) 2002, 2003, 2004, 2005, 2007 by Christian Nowak <chnowak@web.de> * Last update: 20th October, 2007 */ #ifndef __MODPLAY_H__ #define __MODPLAY_H__ #include "modplay_core.h" #ifdef __cplusplus extern "C" { #endif #define MODULE_MOD 1 #define MODULE_S3M 2 #define MODULE_XM 3 typedef struct MODFORMAT { int (*set)(u8 *, int, MODFILE *); BOOL (*is) (u8 *, int); int (*getFormatID)(void); char *(*getDescription)(void); char *(*getAuthor)(void); char *(*getVersion)(void); char *(*getCopyright)(void); } MODFORMAT; extern const MODFORMAT mod_formats[]; int MODFILE_Load(const char *fname, MODFILE *mod); void MODFILE_Start(MODFILE *s3m); void MODFILE_Stop(MODFILE *s3m); void MODFILE_Player(MODFILE *s3m); void MODFILE_Free(MODFILE *mod); void MODFILE_Init(MODFILE *mod); void MODFILE_SetFormat(MODFILE *mod, int freq, int channels, int bits, BOOL mixsigned); int MODFILE_Set(u8 *modfile, int modlength, MODFILE *mod); BOOL MODFILE_Is(u8 *, int); MOD_Instrument *MODFILE_MakeInstrument(void *rawData, int nBytes, int nBits); int MODFILE_AllocSFXChannels(MODFILE *mod, int nChannels); void MODFILE_TriggerSFX(MODFILE *mod, MOD_Instrument *instr, int channel, u8 note); #ifdef __cplusplus } #endif #endif