mirror of
https://github.com/fabiangreffrath/woof.git
synced 2025-09-27 06:54:23 -04:00
Fix bigendian MIDI (#113)
* Fix bigendian MIDI Add define READ_INT16(b) and fix MUSh header * Update mmus2mid.c * Revert "Update mmus2mid.c" This reverts commit fc8c2119d3d288b91be5570e1772358307f3b269. * Update mmus2mid.c
This commit is contained in:
parent
8cdf91337a
commit
18bb743540
@ -286,6 +286,7 @@ static UBYTE MidiEvent(MIDI *mididata,UBYTE midicode,UBYTE MIDIchannel,
|
|||||||
//
|
//
|
||||||
// Returns 0 if successful, otherwise an error code (see mmus2mid.h).
|
// Returns 0 if successful, otherwise an error code (see mmus2mid.h).
|
||||||
//
|
//
|
||||||
|
#define READ_INT16(b) ((b)[0] | ((b)[1] << 8))
|
||||||
int mmus2mid(UBYTE *mus, MIDI *mididata, UWORD division, int nocomp)
|
int mmus2mid(UBYTE *mus, MIDI *mididata, UWORD division, int nocomp)
|
||||||
{
|
{
|
||||||
UWORD TrackCnt = 0;
|
UWORD TrackCnt = 0;
|
||||||
@ -302,8 +303,12 @@ int mmus2mid(UBYTE *mus, MIDI *mididata, UWORD division, int nocomp)
|
|||||||
signed char MUS2MIDchannel[MIDI_TRACKS];
|
signed char MUS2MIDchannel[MIDI_TRACKS];
|
||||||
|
|
||||||
// copy the MUS header from the MUS buffer to the MUSh header structure
|
// copy the MUS header from the MUS buffer to the MUSh header structure
|
||||||
|
memcpy(MUSh.ID, mus, 4);
|
||||||
memcpy(&MUSh,mus,sizeof(MUSheader));
|
MUSh.ScoreLength = READ_INT16(&mus[4]);
|
||||||
|
MUSh.ScoreStart = READ_INT16(&mus[6]);
|
||||||
|
MUSh.channels = READ_INT16(&mus[8]);
|
||||||
|
MUSh.SecChannels = READ_INT16(&mus[10]);
|
||||||
|
MUSh.InstrCnt = READ_INT16(&mus[12]);
|
||||||
|
|
||||||
// check some things and set length of MUS buffer from internal data
|
// check some things and set length of MUS buffer from internal data
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user