projects
/
dosdemo
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Removed division in displacement inner loop
[dosdemo]
/
src
/
dos
/
music.c
diff --git
a/src/dos/music.c
b/src/dos/music.c
index
5ed6b48
..
5f3b84a
100644
(file)
--- a/
src/dos/music.c
+++ b/
src/dos/music.c
@@
-9,8
+9,18
@@
static int initialized;
static int init(void)
{
static int init(void)
{
+ md_mixfreq = 44100;
+ md_dmabufsize = 20000;
+ md_mode = DMODE_STEREO | DMODE_16BITS | DMODE_INTERP;
+ md_device = 0;
+
+ ML_RegisterLoader(&load_m15);
ML_RegisterLoader(&load_mod);
ML_RegisterLoader(&load_mod);
+ ML_RegisterLoader(&load_mtm);
ML_RegisterLoader(&load_s3m);
ML_RegisterLoader(&load_s3m);
+ ML_RegisterLoader(&load_stm);
+ ML_RegisterLoader(&load_ult);
+ ML_RegisterLoader(&load_uni);
ML_RegisterLoader(&load_xm);
MD_RegisterDriver(&drv_nos);
ML_RegisterLoader(&load_xm);
MD_RegisterDriver(&drv_nos);
@@
-18,9
+28,8
@@
static int init(void)
MD_RegisterDriver(&drv_sb);
MD_RegisterDriver(&drv_gus);
MD_RegisterDriver(&drv_sb);
MD_RegisterDriver(&drv_gus);
- MD_RegisterPlayer(&update_callback);
+ MD_RegisterPlayer(update_callback);
- /*md_mode |= DMODE_INTERP;*/
if(!MD_Init()) {
fprintf(stderr, "mikmod init failed: %s\n", myerr);
return -1;
if(!MD_Init()) {
fprintf(stderr, "mikmod init failed: %s\n", myerr);
return -1;
@@
-48,13
+57,17
@@
int music_open(const char *fname)
fprintf(stderr, "failed to load music: %s: %s\n", fname, myerr);
return -1;
}
fprintf(stderr, "failed to load music: %s: %s\n", fname, myerr);
return -1;
}
+
+ MP_Init(mod);
md_numchn = mod->numchn;
md_numchn = mod->numchn;
+ printf("opened module %s (%d channels)\n", fname, md_numchn);
return 0;
}
void music_close(void)
{
if(mod) {
return 0;
}
void music_close(void)
{
if(mod) {
+ printf("shutting down music playback\n");
music_stop();
ML_Free(mod);
mod = 0;
music_stop();
ML_Free(mod);
mod = 0;
@@
-78,4
+91,6
@@
void music_update(void)
static void update_callback(void)
{
static void update_callback(void)
{
+ MP_HandleTick();
+ MD_SetBPM(mp_bpm);
}
}