ref: 431b79530bea2f5666e0ca362773160ab7274f5d
parent: 0fea3b6cd1c5e80aaed4a045d11025db34a83d7f
author: Simon Howard <[email protected]>
date: Wed Jun 19 16:50:09 EDT 2013
Fix OPL MIDI playback on big endian systems (thanks GhostlyDeath). Subversion-branch: /trunk/chocolate-doom Subversion-revision: 2607
--- a/src/i_oplmusic.c
+++ b/src/i_oplmusic.c
@@ -736,7 +736,7 @@
gm_voice = &voice->current_instr->voices[voice->current_instr_voice];
- if ((voice->current_instr->flags & GENMIDI_FLAG_FIXED) == 0)
+ if ((SHORT(voice->current_instr->flags) & GENMIDI_FLAG_FIXED) == 0)
{
note += (signed short) SHORT(gm_voice->base_note_offset);
}
@@ -853,7 +853,7 @@
// Work out the note to use. This is normally the same as
// the key, unless it is a fixed pitch instrument.
- if ((instrument->flags & GENMIDI_FLAG_FIXED) != 0)
+ if ((SHORT(instrument->flags) & GENMIDI_FLAG_FIXED) != 0)
{
voice->note = instrument->fixed_note;
}
@@ -920,7 +920,7 @@
VoiceKeyOn(channel, instrument, 0, key, volume);
- if ((instrument->flags & GENMIDI_FLAG_2VOICE) != 0)
+ if ((SHORT(instrument->flags) & GENMIDI_FLAG_2VOICE) != 0)
{
VoiceKeyOn(channel, instrument, 1, key, volume);
}
--- a/src/midifile.c
+++ b/src/midifile.c
@@ -697,7 +697,7 @@
unsigned int MIDI_GetFileTimeDivision(midi_file_t *file)
{
- return file->header.time_division;
+ return SHORT(file->header.time_division);
}
void MIDI_RestartIterator(midi_track_iter_t *iter)