Mod Archive Forums Mod Archive Forums
Advanced search  

News:

Please note: Your main modarchive.org account will not work here, you must create a forum account to post on the forums.

Pages: [1]   Go Down

Author Topic: [closed] IT Import Bugs  (Read 8332 times)

0 Members and 1 Guest are viewing this topic.

KungFuFurby

  • New User
  • Offline Offline
  • Posts: 7
    • View Profile
[closed] IT Import Bugs
« on: August 09, 2007, 16:19:58 »

Two bugs are present in the IT importer, and one bug is present when playing anything with a loop segment in a pattern.

1. Any effect with all zeros are ignored when imported from IT, effect or volume coloum. Unless the effect is unsupported, this usually happens.
What should have happened is that when two zeroes are found, it should look for the last parameter from that effect and use that instead. Here are some cases I have put out:

Case 1: On a retrigger with a volume change, the volume change should remain untouched if a zero is used unless two zeros are found, then you use the last parameter. If the retrigger time in ticks is a zero, it should either use a 1 if there's no previous parameter, or it should use the last parameter it finds.

Case 2: Jump to orders and break to row xx on next pattern should stay as is, even with two zeros in it.

Case 3: Any other effect, if I can recall correctly. If it has two zeros, then just use the last paramenter the effect uses.

2. All notes and insturments are transposed down by one octave, losing the lowest octave and making the ninth octave unused when imported from IT.
What should have happened is that the insturments should have retained its default note one octave higher, therefore transposing all notes one octave higher as well. Now instead of losing one octave, you only lose one note; B9.

3. There's a bug on the loop segments in a pattern. When placed at the end of a pattern, instead of jumping to row zero on the next pattern like IT does, it continunes on the next pattern with the next row number being the number after the repeat. The only case I've found is in two of my own creations, both IT files, and with both having more rows in the next pattern than the previous pattern.

If you need help on how IT works, try Schism Tracker to give you some help. The XM export function is buggy, but it should give you a clue as to how IT works, and should give you a better understanding on some of the formats and how to give them compatibilty with XM-supported effects. See here and pick a build, depending on what OS you run. I apologize if this is taking it the wrong way.
« Last Edit: January 06, 2009, 12:52:24 by m0d »
Logged

pailes

  • Milkytracker Moderator
  • Rising Star
  • *
  • Offline Offline
  • Posts: 287
    • View Profile

I'm fully aware of the fact that the IT import could be somewhat improved, but still I have to ask myself if all this is worth the effort. I mean how many people are really trying to convert an Impulse Tracker song to an XM and expect it to sound ok? ???
Logged

KungFuFurby

  • New User
  • Offline Offline
  • Posts: 7
    • View Profile

Actually, I'm making XM files for SNES music for SNES games. I came here to report a fixable bug so that I could be more sastified with the IT-XM conversion. I'm not very happy with some of the results currently...

I have lots of pieces of music that you can test with. Look here for some IT files. I also have a few that made it to the XM files with no bugs that I converted, but I stopped due to bugs.
Logged

pailes

  • Milkytracker Moderator
  • Rising Star
  • *
  • Offline Offline
  • Posts: 287
    • View Profile

[I removed the garbage from Kmuland and me, that's a different story, don't care about it]

Yes that's what this forum is for, thanks for the report. I just really didn't expect that anyone would really try to convert an IT tune to an XM tune.

Just a few in-depth notes:
1. Some effects just work differently in FT2 and IT even if they're called the same and their semantics seem to be the same. This applies e.g. for the loop command (E6x) because there is a stupid bug in FT2 which causes this and MilkyTracker tries to emulate all FT2 bugs as closely as possible to ensure accurate XM playback compatibility. There is no logic in the exporter trying to correct this and most likely it can't be done perfectly, so you will have to do it manually after conversion. In general you should be aware of the weaknesses/bugs in FT2 if you want to convert you music into the XM format.

2. The Impulse Tracker note range is wider than the FT2 note range no matter how you turn it. IT has got 10 octaves and FT2 got 8 octaves so transposing/clipping must be done either in the pattern data or in the sample properties.

3. The exporter fills in the last operands for several commands already. Try Portamentos/Volume slides for example. I'm not sure what the problem is with the retrig command as it should work similiar in FT2 so no correction is done there. If either of the two nibbles in the operand byte is zero FT2 will use the last nibble from the previous retrig.

4. Some stuff simply can't be converted since XM and IT are substantially different (instrument global volume, note table mapping in instruments etc.)
« Last Edit: September 20, 2007, 08:51:49 by pailes »
Logged

KungFuFurby

  • New User
  • Offline Offline
  • Posts: 7
    • View Profile

I feel your pain. I feel your pain... I didn't know that was an actual bug in the first place anyways in the actual format!
Logged
Pages: [1]   Go Up