X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=dosdemo;a=blobdiff_plain;f=src%2Fmusic.c;h=fe8ed6d940786a8565bfd98077d9f1bb30d768cc;hp=11b9c44d7c42aea77314c46dba86823f259c069d;hb=b6c89d9ffbb08c5286448de4773290f0924a420b;hpb=ae96c724e905181ca10441a63b1dfe9c2fc5d2ea diff --git a/src/music.c b/src/music.c index 11b9c44..fe8ed6d 100644 --- a/src/music.c +++ b/src/music.c @@ -1,20 +1,13 @@ #include #include "music.h" -#ifndef NO_MUSIC -#include "mikmod.h" - #ifdef __WATCOMC__ -#define USE_OLDMIK -typedef UNIMOD MODULE; - -static void update_callback(void); -static void MikMod_RegisterAllDrivers(void); -static void MikMod_RegisterAllLoaders(void); -#else -#define USE_NEWMIK +#define NO_MUSIC #endif +#ifndef NO_MUSIC +#include "mikmod.h" + static MODULE *mod; static int initialized; @@ -23,7 +16,6 @@ static int init(void) MikMod_RegisterAllDrivers(); MikMod_RegisterAllLoaders(); -#ifdef USE_NEWMIK md_mode |= DMODE_SOFT_MUSIC | DMODE_16BITS | DMODE_STEREO | DMODE_INTERP; if(MikMod_Init("") != 0) { fprintf(stderr, "mikmod init failed: %s\n", @@ -31,26 +23,6 @@ static int init(void) return -1; } -#else - md_mixfreq = 44100; - md_dmabufsize = 20000; - md_mode = DMODE_STEREO | DMODE_16BITS | DMODE_INTERP; - md_device = 0; - - MD_RegisterPlayer(update_callback); - - if(!MD_Init()) { - fprintf(stderr, "mikmod init failed: %s\n", myerr); - return -1; - } - printf("using mikmod driver %s\n", md_driver->Name); - printf(" %d bits, %s, %s mixing at %d Hz\n", md_mode & DMODE_16BITS ? 16 : 8, - md_mode & DMODE_STEREO ? "stereo" : "mono", - md_mode & DMODE_INTERP ? "interpolated" : "normal", - md_mixfreq); - - atexit(MD_Exit); -#endif return 0; } @@ -63,22 +35,11 @@ int music_open(const char *fname) initialized = 1; } -#ifdef USE_NEWMIK if(!(mod = Player_Load(fname, 64, 0))) { fprintf(stderr, "failed to load music: %s: %s\n", fname, MikMod_strerror(MikMod_errno)); return -1; } -#else - if(!(mod = ML_LoadFN((char*)fname))) { - fprintf(stderr, "failed to load music: %s: %s\n", fname, myerr); - return -1; - } - - MP_Init(mod); - md_numchn = mod->numchn; - printf("opened module %s (%d channels)\n", fname, md_numchn); -#endif return 0; } @@ -87,72 +48,28 @@ void music_close(void) if(mod) { printf("shutting down music playback\n"); music_stop(); -#ifdef USE_NEWMIK Player_Free(mod); -#else - ML_Free(mod); -#endif mod = 0; } } void music_play(void) { -#ifdef USE_NEWMIK Player_Start(mod); -#else - MD_PlayStart(); -#endif } void music_stop(void) { -#ifdef USE_NEWMIK Player_Stop(); -#else - MD_PlayStop(); -#endif } void music_update(void) { -#ifdef USE_NEWMIK if(Player_Active()) { MikMod_Update(); } -#else - MD_Update(); -#endif -} - -#ifdef USE_OLDMIK -static void update_callback(void) -{ - MP_HandleTick(); - MD_SetBPM(mp_bpm); } -static void MikMod_RegisterAllDrivers(void) -{ - MD_RegisterDriver(&drv_nos); - MD_RegisterDriver(&drv_ss); - MD_RegisterDriver(&drv_sb); - MD_RegisterDriver(&drv_gus); -} - -static void MikMod_RegisterAllLoaders(void) -{ - ML_RegisterLoader(&load_m15); - ML_RegisterLoader(&load_mod); - ML_RegisterLoader(&load_mtm); - ML_RegisterLoader(&load_s3m); - ML_RegisterLoader(&load_stm); - ML_RegisterLoader(&load_ult); - ML_RegisterLoader(&load_uni); - ML_RegisterLoader(&load_xm); -} -#endif - #else /* NO_MUSIC */ int music_open(const char *fname)