[AD] OSX qtmidi.m build failure fix

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


This is my first attempt at flagging something as broken and supplying a patch to fix it. If I improperly followed procedure, please let me know.

When building Allegro for MacOS X from the 4.2 branch (revision 5777) the following errors occur:

src/macosx/qtmidi.m: In function 'osx_midi_init':
src/macosx/qtmidi.m:128: error: request for member 'bigEndianValue' in something not a structure or union src/macosx/qtmidi.m:129: error: request for member 'bigEndianValue' in something not a structure or union

Below is a diff of a fix that remedies the problem. Testing may be required, as I'm not sure exactly what should be tested to ensure it does everything correctly. My poor test consisted of running exmidi and verifying that it properly plays a midi file.

-Jay

===================================================================
--- src/macosx/qtmidi.m (revision 5777)
+++ src/macosx/qtmidi.m (working copy)
@@ -125,8 +125,8 @@
       voice[i].vol = -1;
       voice[i].pan = -1;
       memset(&note_request, 0, sizeof(note_request));
-      note_request.info.polyphony.bigEndianValue = EndianU16_NtoB(8);
- note_request.info.typicalPolyphony.bigEndianValue = EndianS32_NtoB(X2Fix(1.0));
+      *(short *)(&note_request.info.polyphony) = EndianU16_NtoB(8);
+ *(long *)(&note_request.info.typicalPolyphony) = EndianS32_NtoB(X2Fix(1.0)); result = NAStuffToneDescription(note_allocator, 1, &note_request.tone); result |= NANewNoteChannel(note_allocator, &note_request, &voice[i].channel);
       result |= NAResetNoteChannel(note_allocator, voice[i].channel);




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/