summaryrefslogtreecommitdiff
path: root/plugins/dumb/dumb-kode54/docs/modplug.txt
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dumb/dumb-kode54/docs/modplug.txt')
-rw-r--r--plugins/dumb/dumb-kode54/docs/modplug.txt150
1 files changed, 84 insertions, 66 deletions
diff --git a/plugins/dumb/dumb-kode54/docs/modplug.txt b/plugins/dumb/dumb-kode54/docs/modplug.txt
index 65eabe8a..c70ab299 100644
--- a/plugins/dumb/dumb-kode54/docs/modplug.txt
+++ b/plugins/dumb/dumb-kode54/docs/modplug.txt
@@ -8,9 +8,9 @@
* /_______/ynamic \____/niversal /__\ /____\usic /| . . ibliotheque
* / \
* / . \
- * modplug.txt - Our official position regarding / / \ \
- * compatibility with ModPlug | < / \_
- * Tracker. | \/ /\ /
+ * modplug.txt - Some comments on ModPlug Tracker / / \ \
+ * and its compatibility with other | < / \_
+ * tracking tools. | \/ /\ /
* \_ / > /
* | \ / /
* | ' /
@@ -22,67 +22,94 @@
*** Introduction ***
********************
-ModPlug Tracker is a very popular tracker for Windows. Its popularity is due
-to the intuitive interface and its many advanced features. The author has
-done a good job with this piece of software, but sadly in doing so he has
-desecrated the IT file format.
+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).
-I am not against ModPlug Tracker being used to write music modules. As
-already stated, it has some very advanced and convenient features; I use it
-myself. However, I believe its users should be aware of the entire situation
-before using it for any serious work.
+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 misinterprets the
-original module formats. I shall list the five I am most aware of, from least
-to most annoying:
+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 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. Impulse Tracker changes sample as you go
- up the scale; ModPlug Tracker does not.
+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.
+ happens. Then repeat the experiment in Impulse Tracker, or play the file
+ with DUMB.
-3. The filter algorithm is incorrect, in more ways than one. When Jeffrey Lim
- programmed the low-pass resonant filters into Impulse Tracker, he used a
- standard filter algorithm with a slight modification to achieve greater
- resonance. ModPlug Tracker does not incorporate this modification.
- Furthermore, ModPlug Tracker uses integer arithmetic with nowhere near
- enough precision; the wave output is really poor in some cases. I don't
- doubt it damages the acoustic properties of the filters in subtle ways.
+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.
-
-Cases 3, 2 and 1 lead people to write IT files that play badly in the
+ 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 these problems have been reported to the author and he had no
-motivation to fix them. ModPlug Tracker has been around long enough that
-fixing 3, 2 and 1 would be detrimental to too many people's music.
+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 ***
******************
-Worse than the incompatibilities are the extensions ModPlug Tracker makes,
-mostly to the IT format. DUMB currently supports one of these extensions,
-namely stereo samples, but supporting the others is not high on my list of
-priorities.
+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
@@ -93,39 +120,32 @@ 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". When can we expect these effects to be ported to Linux?
+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. It wants to be an editor
-for the existing formats, but at the same time it wants to be proprietary,
-with all its own features and extensions. Unfortunately it is succeeding;
-there are many IT files out there that only play right in ModPlug Tracker. In
-my opinion, ModPlug Tracker should have come out with its own file format, in
-which all these extensions would have found a home.
-
-If you are going to use ModPlug Tracker's extensions, I recommend you
-ultimately convert your music to a streamed format such as Ogg Vorbis. (If
-you were thinking of using MP3, then don't - consider using Ogg Vorbis
-instead.) If you release IT files that use ModPlug Tracker's extensions,
-please state prominently that the files are designed to be played with
-ModPlug Tracker. Finally, don't ask me to support ModPlug Tracker's
-extensions; ModPlug Tracker's playback code is available for use in your
-games, so use that instead.
-
- Ogg Vorbis - http://www.vorbis.com/
-
-Despite all the above problems, don't forget that ModPlug Tracker does have a
-lot of very useful features for editing files. These include a function for
-removing unused patterns, samples and instruments, drag-and-drop sample and
-instrument ripping, drop-down menus for selecting the effects by name without
-having to memorise the codes or refer to help, and lots of other nice things.
-I do recommend it as an editor, provided you make sure you are aware of the
-situation and do not use ModPlug Tracker's extensions or incompatibilities
-inadvertently.
+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!
@@ -133,5 +153,3 @@ samples will be compressed for you!
Ben Davis
entheh@users.sf.net
-IRC EFnet #dumb
-See readme.txt for details on using IRC.