Opened 17 years ago

Closed 17 years ago

Last modified 19 months ago

#7317 closed enhancement (fixed)

Increase MIDI performance by omitting redundancies

Reported by: SF/logicdeluxe Owned by: SF/jamieson630
Priority: normal Component: Audio: MT32
Keywords: Cc:
Game:

Description

In all LEC-Adventures supporting MIDI (original or converted from MT-32 doesn't matter) send the drum bank change command with every single note, which cause some tone generators like the Terratec Wavetable Professional (which is a SC55 clone, and it can not be that bad as it worked fine for all my MIDI games so far) to terrible lagging notes, since it doesn't like it at all. If ScummVM could filter the bank change command on channel 10, the performance for MPU401 devices could increase the prformance a lot. This command is useless anyway, since General MIDI has not defined bank changes at all, and it IS General MIDI after all. Also the bank switch never ever selects another bank then 0 as far as I could find out. However the standard bank should be selected then when native MIDI is initialized to ensure the correct drum set is selected throughout the game on GS or XG devices.

Ticket imported from: #806641. Ticket imported from: feature-requests/133.

Change History (6)

comment:1 by fingolfin, 17 years ago

Owner: set to SF/jamieson630

comment:2 by SF/jamieson630, 17 years ago

Resolution: fixed
Status: newclosed

comment:3 by SF/jamieson630, 17 years ago

Changed in CVS. There is a warning in case a non-zero bank select is attempted. That logic was supposedly in the original distro, after all, and may have been there for a good reason. If that warning manifests itself, we'll have to put bank select back in.

logicdeluxe, please verify that this even fixes your problem. The bandwidth chewed up by the bank selects is not prohibitive given spec MIDI transfer rates, so it sounds to me like poor handling of the program change messages by the Terratec card.

comment:4 by SF/logicdeluxe, 17 years ago

I will verify this, as soon as there is a daily build uploaded. I though a bit about it some more: Those bank changes might be useful for native MT-32. I have to check this, but I don't have my MT-32 right now. Assuming it is ment for MT-32 usage, it might be a good idea omitting the bank change only when General MIDI is used, but actually send them when using a real MT-32. At least it won't hurt, I guess. And in deed, the problem is not the bandwidth of the MIDI interface but the lot of time the bank change takes on some devices. I also heard of people having such problems even with software wavetables. If you wanna check some wavetables, the MI2 title score drives MPU401 interfaces to the limit.

comment:5 by SF/logicdeluxe, 17 years ago

It works much better now.

comment:6 by digitall, 19 months ago

Component: Audio: MT32
Note: See TracTickets for help on using tickets.