Short: Convert Goat Tracker 1 to Ninja Tracker Author: Covert Bitops, Morphos port by Fabrizio "Lanch" Bartoloni Uploader: lanch tiscali it (Fabrizio Bartoloni) Type: mus/misc Version: 1.11 Architecture: ppc-morphos Goattracker -> Ninjatracker convertor V1.11 ------------------------------------------- by Cadaver (loorni()student.oulu.fi) Usage: goatninj Converts a GoatTracker V1.4 song to Ninjatracker V1.03+ format. Following limitations apply: - If a pattern is played with two different tempos in the song, it will be still be converted only in one tempo as NinjaTracker is based on note durations (a copy of the pattern isn't made) - If an instrument's wavetable (to be Goattracker-compatible, it has to be completely played before a portamento or vibrato can begin), including one more frame for the hardrestart, is as long as, or longer than the song's tempo, vibratos or portamentos can't be started in conjunction with a note. - A keyoff will override all effects on its tick, as Ninjatracker doesn't support having a keyoff and a effect at the same time. However, if a vibrato or portamento has been started before, they'll continue just fine Notes on specific effects: Effect 0 (arpeggio) - Arpeggio works only when beginning a note. Note that using many different arpeggios with many different instruments makes the wavetable grow very large. - Stopping of arpeggio isn't supported Effect 1 (portamento up) - Should work correctly Effect 2 (portamento down) - Should work correctly Effect 3 (toneportamento) - Implemented only as legato note (skipping the 2 initialization rows in wavetable). You have to correct these manually. For example, a typical slide from one note into another: D-4 01120 E-4 01320 --- 00320 --- 00320 --- 00320 will be converted as (assume tempo 6) D-4 02 02 Rst 10 04 (assume 10 is the wavetable-pointer to the slide up with speed $20) E-4 04 24 (4 is the corresponding legato wavetable-pointer for the instrument) Now, you can modify the durations of the rest and note E-4 to make the toneportamento stop smoothly (the legato note start will stabilize the pitch to the correct one) Effect 4 (vibrato) - Should work correctly Effect 5 (set filter) - In editors that don't support it, such as GoatTracker V1.03, the filter command will be erroneously shown as "End" Effect 6 (set SR) - Supported, but not in conjunction of a new note Effect 7 (tempo) - Supported transparently in the note durations Changes in V1.11: - Better handling of pattern tempos, especially when repeat-commands are used - Duplicate pulse programs are created only once