KungFuFurby / snesgss

Part copy from the Google Code repository by Shiru ( https://code.google.com/archive/p/snesgss/ ), part fork of SNES Game Sound System by Shiru
Apache License 2.0
5 stars 1 forks source link

Improve import of XM files #1

Open KungFuFurby opened 2 years ago

KungFuFurby commented 2 years ago

Requested by MisthaLu on the SNES Development Server Discord server.

Due to XM being mostly an extension of the MOD file format effect-wise, this can spill over into the MOD format under the condition that a proper solution is found to Amiga pitch slides.

Currently only Fxx is supported.

To start things off, the following effects can be theoretically imported to a direct conversion in addition to the ones that are already handled:

These volume column effects also have a direct conversion:

Both linear and Amiga mode need to be accounted for here on the pitches. Linear would go first, since it's easier to track.

These effects require manual tracking of the parameter on a per-row basis being modified because they are not stored locally...

Ditto for these volume column effects...

Note that volume column and standard effects may end up generating more than one effect. The internal format supports this, but I don't think the tracker does: special adaptations may be required to support more than one effect per row.

These effects affect the rows themselves instead of anything else since SNESGSS codes all of its delays in actual ticks:

These effects affect the pattern processing and/or overall playback of the song: