1 // MIDI stuff follows.
\r
7 hmp_file *hmp = NULL;
\r
9 int midi_volume = 255;
\r
10 int digi_midi_song_playing = 0;
\r
13 void digi_stop_current_song()
\r
15 if (digi_midi_song_playing)
\r
19 digi_midi_song_playing = 0;
\r
23 void digi_set_midi_volume(int n)
\r
34 // scale up from 0-127 to 0-0xffff
\r
35 mm_volume = (midi_volume << 1) | (midi_volume & 1);
\r
36 mm_volume |= (mm_volume << 8);
\r
39 midiOutSetVolume((HMIDIOUT)hmp->hmidi, mm_volume | mm_volume << 16);
\r
42 void digi_play_midi_song(char *filename, char *melodic_bank, char *drum_bank, int loop)
\r
45 if (!digi_initialised)
\r
49 digi_stop_current_song();
\r
51 if (filename == NULL)
\r
53 if (midi_volume < 1)
\r
56 if ((hmp = hmp_open(filename)))
\r
59 digi_midi_song_playing = 1;
\r
60 digi_set_midi_volume(midi_volume);
\r
63 printf("hmp_open failed\n");
\r
67 int sound_paused = 0;
\r
69 void digi_pause_midi()
\r
72 if (!digi_initialised)
\r
76 if (sound_paused == 0)
\r
83 void digi_resume_midi()
\r
86 if (!digi_initialised)
\r
90 Assert(sound_paused > 0);
\r
92 if (sound_paused == 1)
\r
94 // resume sound here
\r