/* _______ ____ __ ___ ___ * \ _ \ \ / \ / \ \ / / ' ' ' * | | \ \ | | || | \/ | . . * | | | | | | || ||\ /| | * | | | | | | || || \/ | | ' ' ' * | | | | | | || || | | . . * | |_/ / \ \__// || | | * /_______/ynamic \____/niversal /__\ /____\usic /| . . ibliotheque * / \ * / . \ * modplug.txt - Some comments on ModPlug Tracker / / \ \ * and its compatibility with other | < / \_ * tracking tools. | \/ /\ / * \_ / > / * | \ / / * | ' / * \__/ */ ******************** *** Introduction *** ******************** There are two 'authorities' on how the various tracker files should be played. The first is the original trackers; I consider these the true authorities because they were around earlier, they created their own formats, and they mostly play the music the same on every computer (exception: IT's support for MIDI output). The second is ModPlug Tracker. It is not the only third-party tracker, but it is by far the most used. I have some issues with ModPlug Tracker, which I shall explain below. However, I do use ModPlug Tracker because it is user- friendly. I recommend that anyone planning to compose music in ModPlug Tracker read this document. DUMB's loyalty is to the original trackers, not ModPlug Tracker. Please bear this in mind when reporting bugs. ModPlug Tracker is now available with source code, so you may be able to use its own music playback engine if you prefer; but read this file anyway! ModPlug Tracker - http://www.modplug.com/ Open Source Version - http://sourceforge.net/projects/modplug/ ************************* *** Incompatibilities *** ************************* There are a few situations in which ModPlug Tracker's playback engine differs from the original trackers' playback engines. I shall list the five I am most aware of, in order from least to most annoying: 5. Create a new IT file. Create a multisample instrument, for example a piano. Play a low note. Then go up the scale, but in the pattern data, make sure the instrument column is blank; put in only the notes. Play this with ModPlug Tracker, and play it with Impulse Tracker or DUMB. Impulse Tracker and DUMB change sample as you go up the scale; ModPlug Tracker does not. 4. Arpeggio and Retrigger Note effects behave badly when combined with Portamento, which can appear in the volume column. While Retrigger Note isn't too bad, Arpeggio sounds completely wrong. Try it and see what happens. Then repeat the experiment in Impulse Tracker, or play the file with DUMB. 3. The filter algorithm is incorrect. Impulse Tracker uses a standard low- pass resonant filter algorithm with a slight modification to increase the resonance (the poles are closer to the unit circle). ModPlug Tracker does not incorporate this modification. As a result, filtered channels sound somewhat weaker. 2. When looping, ModPlug Tracker resets all variables. The original trackers do not do this. 1. Worst of all, ModPlug Tracker has no regard for playback volume, and generally has a much lower output level than the original trackers. You can adjust this in the program set-up. The control has been moved out of the file into the user's domain, which makes it difficult to ensure that your file will play at a reasonable volume everywhere. I have plenty of files that distort horribly with DUMB and Impulse Tracker because they were written with ModPlug Tracker. Cases 3, 2 and 1 lead people to create IT files that play badly in the original trackers. If some of these problems could be fixed, I'd be all for it - but I was once told these problems were reported to the author and he had no motivation to fix them. ModPlug Tracker is now open source, but I suspect fixing 3, 2 and 1 would be deemed detrimental to too many people's music by now. If you are incorporating music into a game, you can work around the volume problem in your program. When you pass a volume to al_start_duh() or equivalent, try passing a lower value than 1.0f. Be drastic; try 0.5f, 0.2f, and maybe even 0.1f, until you find a level that sounds loud enough but doesn't distort. However, for neatness I would always recommend fixing the module by changing its mixing volume. ****************** *** Extensions *** ****************** ModPlug Tracker has also made various extensions, mostly to the IT format. These are useful if you are keeping your module files private and distributing MP3 or OGG files. However, if you wish to distribute the module files, you will want to avoid them. DUMB currently supports one of ModPlug Tracker's extensions, namely stereo samples, but supporting the others is not high on my list of priorities. The support for stereo samples is only in there because I did not know it was an extension at first! Impulse Tracker's own format documentation makes provision for stereo samples but states that they are not supported yet. Other extensions ModPlug Tracker has provided mostly take the form of extra effects. For instance, S98 and S99 can be used to enable or disable reverb. I believe the latest versions of ModPlug Tracker offer alternative types of filter, such as high-pass and band-pass. As soon as an IT file uses any of these features, it will play incorrectly with Impulse Tracker. By far the most evil extension provided by ModPlug Tracker is the effect plug-ins. These enable IT files to use VST effects. I recently downloaded an IT file that uses some effects from a collection named "DirectX Media Audio Effects". I doubt these effects will be ported to Linux any time soon. All in all, the extensions are having the result of making all the other IT players, and Impulse Tracker itself, look bad. ****************** *** Conclusion *** ****************** ModPlug Tracker is trying to be two things at once, and is going about it slightly wrong. It wants to be an editor for the existing formats, allowing Windows users who have limited DOS support to continue tracking using the same file formats. This is fairly noble. The problem arose when it took it upon itself to modify the formats, make up its own rules and take advantage of everything available including system-specific features, which is useful as long as you will be distributing your music prerendered. In my opinion, ModPlug Tracker should have come out with its own file format, in which all these extensions would have found a home. As it stands, you can use all the extensions and still save your music as an .it or .xm file, which is asking for trouble. Despite all the above problems, I do recommend ModPlug Tracker as an editor, provided you are careful not to use ModPlug Tracker's extensions or rely on its incompatibilities unless you really don't intend to distribute your 'source' module file. Oh, and by the way, save your final version with Impulse Tracker. Then the samples will be compressed for you! Ben Davis entheh@users.sf.net