Hehe ok :lol:
My MIDI importer algorithm is simply a complete MIDI player (with handling of all controllers incl. Hold Pedal, Portamento Pedal, Sostenuto Pedal, Soft Pedal, Legato Pedal, Hold2 Pedal, Portamento Time, etc.), but only instead of output to a MIDI out device, the events will mapped and converted into pattern rows, where the midi time unit will convert as exactly as possible into the pattern row unit with use of the correct "original" BPM tempo from the MIDI (where BPM = 60000000/MidiTempo). Even dynamic tempo changes are handled.
With the MIDI import of BeRoTracker can adjust the user the RPB (Rows Per Beat) and further import options freely, where 8 RPB is the most optimal value (1RPB=Speed 24, 2RPB=Speed 12, 4RPB=Speed 6, 8RPB=Speed 3, and so on).
Even the MIDI import of Renoise shows still some weaknesses opposite BeRoTracker, because at me Renoise 1.5.2 seems to always import MIDIs with 125 BPM. And MadTracker 2.6.1 always with 120 BPM. And Modplug's BPM/Speed Detection is a big disaster, there is often the BPM and the midi time unit to pattern row division conversation incorrect and often a big disaster. But with BeRoTracker this is however ensured. Try simply yourself, if you doesn't believe me.
Short: If you need an good, very near perfect (not completely perfectly), midi importer, then use BeRoTracker or the MID2XM from Un4Seen, which is an old Win3.11 16-bit program and which needs external instrument patches (BRT uses simply the instruments+samples of the gm.dls soundbank from DirectX, and yes, BRT can automatically import even track own sound banks from RIFF MIDI files (*.RMI), which can contain soundbanks).
And BRT Classic has now a MIDI importer dialog since two days, so please download the lastest BRT Classic version (no, I've posted no BRT site news for this), if you do not want use BRT Impulse to convert MIDIs to XM/IT/BRT.
Here a good example
http://www.berotracker.de/midiimport/simspons/ BRT 4rpb.it - Imported MIDI in BRT with 4 rows per beat with use of samples and correct imported timing
BRT 8rpb.it - Imported MIDI in BRT with 8 rows per beat with use of samples and correct imported timing
BRT MIDIReexport.mid - Midi Out 8RPB.brt exported to MIDI
Midi Out 4RPB.brt - Imported MIDI in BRT with 4 rows per beat with use of MIDI out and correct imported timing
Midi Out 8RPB.brt - Imported MIDI in BRT with 8 rows per beat with use of MIDI out and correct imported timing
Modplug.it - Imported MIDI in MPT with use of samples and incorrect imported timing
Original.mid - The original MIDI file