Ticket #1246: mt32-notes-cut-fix.diff

File mt32-notes-cut-fix.diff, 1.1 KB (added by SF/logicdeluxe, 21 years ago)
  • scumm\imuse.cpp

    old new  
    11771177        if (len > 20)
    11781178                len = 20;
    11791179
     1180        // Set master volume to 100%
     1181        memcpy(&buffer[4], "\x10\x00\x16\x64\x76", 5);
     1182        midi->sysEx(buffer, 9);
     1183
    11801184        // Reset the MT-32
    11811185        memcpy(&buffer[4], "\x7f\x00\x00\x01\x00", 5);
    11821186        midi->sysEx(buffer, 9);
    11831187
     1188        // Set partial reserve equally for all channels
     1189        memcpy(&buffer[4], "\x10\x00\x04\x03\x03\x03\x03\x03\x03\x03\x03\x03\x51", 13);
     1190        midi->sysEx(buffer, 17);
     1191
     1192/* FIXME: The MT-32 isn't fast enough to execute all this SysEx stuff at ones.and
     1193therefor the welcome message SysEx produces an execution buffer overflow error.
     1194So a short delay of about 100 milli seconds or so needs to be added here. Also the
     1195MT-32 reset is done after the master volume (which is not affected by the reset)
     1196since it is faster for some reason and would also require a delay otherwise.*/
     1197
    11841198        // Display a welcome message on MT-32 displays.
    11851199        memcpy(&buffer[4], "\x20\x00\x00", 3);
    11861200        memcpy(&buffer[7], "                    ", 20);