Just writing a better file converter is only one part of the job. The real problem is that the internal XRNX playback is not 100% backwards compatible to all the other tracker playback formats out there: for example our pitch, vibrato, retrigger commands, instrument envelopes behave different. Actually every module format’s commands behave different.
So, for a perfect IT/Mod playback Renoise would have to support all the pattern commands that such formats do use, play instruments the way those old formats did, and so on.
Basically would need to write a new playerengine for every format we would like to support, or add tons of compatibility settings and try to reverse engineer all their (also buggy) behavior. This is a fulltime job. Other players tried to do so before and didn’t managed to do so. See XMPlay for example: http://www.un4seen.com/
Some features cannot be made perfect, also not through lua.
As i explained in the other request-topic about IT import, the pitch envelope has a different scaling range than Impulse Tracker itself has (Renoise has 24, IT has 32). So to get that perfect for adaption this would mean:
You have to check the whole song for which tracks use that instrument and which notes, than figure out which scale is used and hopefully not the full scale is used. The latter means you can shift the pitch envelope settings for that instrument and adjust the notes in the tracks accordingly.
If both the full positive and negative range is being used, you can’t correct anything here.