README 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. libmodplug - the library which was part of the Modplug-xmms project
  2. Web page: http://modplug-xmms.sf.net/
  3. Based on the ModPlug sound engine by Olivier Lapicque <olivierl@jps.net>
  4. XMMS plugin by Kenton Varda <temporal@gauge3d.org> (~2002)
  5. Maintainer is now Konstanty Bialkowski <konstanty@ieee.org> (~2006)
  6. On Wed 14 Aug 2013 the repository was forked / cloned to GitHub.
  7. The current release is libmodplug v0.8.9.0.
  8. History
  9. -------
  10. Olivier Lapicque, author of Modplug, which is arguably the best quality
  11. MOD-playing software available, has placed his sound rendering code in the
  12. public domain. This library and plugin is based on that code.
  13. This code was originally part of modplug-xmms, and was split into a library - libmodplug
  14. and the modplug-xmms code. Also since then an example rendering project called modplugplay and
  15. modplug123 were introduced. They are still available on the sourceforge website.
  16. For more information on libmodplug, the library for decoding mod-like music
  17. formats, see libmodplug/README.
  18. Contents
  19. --------
  20. 1. Requirements
  21. 2. Features
  22. 3. Options
  23. 4. Troubleshooting
  24. ---------------
  25. 1. Requirements
  26. ---------------
  27. - POSIX OS (Linux or other unix*)
  28. - XMMS 1.0.0 or higher (only for modplug-xmms plugin).
  29. * This library is only guaranteed to work on Linux. I have received
  30. conflicting reports on whether or not it will work on Solaris x86.
  31. One person reported that the plugin compiled fine with the
  32. "-fpermissive" compiler flag, which I have added. Others had far
  33. more trouble. Note that a recent change to the library should allow
  34. it to work on PPC and other big-endian systems.
  35. * Under linux there is also modplugplay contributed, which allows command
  36. line playing of mod files under Linux. (Available at http://modplug-xmms.sf.net/)
  37. -----------
  38. 2. Features
  39. -----------
  40. - Plays 22 different mod formats, including:
  41. MOD, S3M, XM, IT, 669, AMF (both of them), AMS, DBM, DMF, DSM, FAR,
  42. MDL, MED, MTM, OKT, PTM, STM, ULT, UMX, MT2, PSM
  43. - Plays zip, rar, gzip, and bzip2 compressed mods. The following
  44. extensions are recognized: (Only in modplug-xmms)
  45. zip: MDZ, S3Z, XMZ, ITZ
  46. rar: MDR, S3R, XMR, ITR
  47. gzip: MDGZ, S3GZ, XMGZ, ITGZ
  48. You can also load plain old ZIP, RAR, and GZ files. If ModPlug finds
  49. a mod in them, it will play it.
  50. Note: To play these formats, you need to have the associated
  51. decompression utilities (unzip, gunzip, unrar) installed.
  52. Note(2): The format of the mod is NOT determined from the extension on
  53. compressed mods. For example, if you zipped a UMX mod and gave it the
  54. extension MDZ, it would work fine.
  55. - plays timidity's GUS patch files (*.pat):
  56. a multi sample pat file with n samples can be played with a Frere Jacques
  57. canon with n voices.
  58. - plays all types of MIDI files (*.mid):
  59. uses the timidity .pat files for samples (when available)
  60. recognizes environment variables:
  61. MMPAT_PATH_TO_CFG set to the directory where the file "timidity.cfg" and
  62. the subdirectory "instruments" can be found,
  63. default: "/usr/local/share/timidity".
  64. MMMID_SPEED for experimenting with the mod speed (1 thru 9)
  65. MMMID_VERBOSE for feedback on the conversion process
  66. MMMID_DEBUG for sake of completeness, only useful for maintainers
  67. - plays textfiles written in the ABC music notation (*.abc):
  68. uses the timidity .pat files for samples (when available)
  69. recognizes environment variables:
  70. MMPAT_PATH_TO_CFG set to the directory where the file "timidity.cfg" and
  71. the subdirectory "instruments" can be found,
  72. default: "/usr/local/share/timidity".
  73. MMABC_NO_RANDOM_PICK when not set and the abc file contains multiple songs
  74. (X:n) the first song to be played will be picked at random another click
  75. on the play button advances to the next
  76. song in the file (or the first when the last song has been
  77. played), when set it can be 0 (zero) or not numeric
  78. to let it play all songs in the file, a positive number n to
  79. let it play the n-th song in the file, a negative number -n to
  80. let it play the n-th song in the file and advancing to the next
  81. song when the play button is clicked.
  82. MMABC_DUMPTRACKS when set it gives diagnostic information on stdout,
  83. values can be:
  84. all - every event is printed
  85. nonotes - only the control events (looping, breaks etc.) are printed
  86. any other value prints the control events and every note event
  87. immediately succeeding the control events.
  88. - Slightly better sound quality than Mikmod. Vastly superior quality
  89. over Winamp.
  90. - All XMMS calls are supported except for the band gains on the
  91. equalizer. The preamp is supported, but MOD music is not anywhere
  92. near as cheap to equalize as MP3. Thus, equalization does is not
  93. supported in this version. However, a variable bass boost option
  94. is available in the configuration dialog (see below).
  95. - Tons of playback options (see below).
  96. ----------
  97. 3. Options
  98. ----------
  99. All of the following items are configurable from the plugin
  100. configuration dialog box.
  101. Sampling rate: Higher is better. Note that the sound is rendered at a
  102. higher sampling rate and converted down to increase quality.
  103. Bits per sample: 8-bit or 16-bit sound. Note that all computations are
  104. done at 32-bit and converted down to the sampling rate you specify.
  105. Channels: mono/stereo. Note that all computations are done in stereo.
  106. If you choose mono, the channels will be mixed.
  107. Resampling: Method used to convert samples to different sampling rates.
  108. "Nearest" is the fastest setting (but sounds terrible), while
  109. "8-tap fir" is the best-quality setting.
  110. Noise Reduction: Reduces noise. :)
  111. Fast Playlist Info: When this option is on, names of songs in your
  112. playlist will load considerably faster, but song lengths will not be
  113. shown and only MOD, S3M, XM, and IT formats will have their names shown.
  114. Don't worry, though, because all the data which is skipped will still be
  115. loaded when you actually play the song. This should probably always be
  116. on.
  117. Reverb: A nice reverb effect. The depth and delay of the reverb can be
  118. tuned to your liking using the sliders.
  119. Bass boost: Variable bass boost effect. The "range" slider controls the
  120. frequency range of the bass boost. If you increase this value, higher
  121. frequencies will be boosted, but the overall volume increase will be
  122. less. (you can compensate by using the volume slider:)
  123. Surround: Dolby Pro-Logic surround effect. Depth and delay can be fine
  124. tuned.
  125. Preamp: A global volume boost. Note that setting the preamp too high
  126. will cause clipping (nasty clicks and pops).
  127. Looping: Some mods have loops built-in. Normally, these loops are
  128. ignored because otherwise the same mod would play forever. However,
  129. you can choose to respect the loops, or even set a number of times to
  130. follow a loop.
  131. ------------------
  132. 4. Troubleshooting
  133. ------------------
  134. Problem:
  135. Some of my files load up, but show garbled info in the playlist and/or
  136. don't play correctly.
  137. Possible cause:
  138. The mod is in a different format than its file format suggests.
  139. Modplug-XMMS uses a combination of file extension and contents to figure
  140. out what format a mod is in, and can be thrown off if a mod is
  141. incorrectly labeled.
  142. Solution:
  143. Turning off "fast info" in the configuration may fix the problem. This
  144. will cause Modplug-XMMS to detect all basic mod types by content, but
  145. archive types will still be detected by extension. If this doesn't
  146. solve the problem, then you probably have files which are actually
  147. compressed archives but are not labeled as such. For example, you may
  148. have a file "aws_anew.xm" which is actually a ZIP archive. You will
  149. have to either unzip these files or rename them to have an extension
  150. associated with their type. In the case of a ZIP, you can use any of
  151. the extensions "ZIP, MDZ, S3Z, XMZ, ITZ". (Note that these five types
  152. are all treated exactly the same -- the actual format of the mod is
  153. detected by contents.)
  154. Problem:
  155. Everything appears to be working, but no sound is being generated.
  156. MP3's play just fine.
  157. Possible cause:
  158. Modplug has a relatively low default volume, and you may just not be
  159. hearing it. (Note: Yes, more that one person has e-mailed me with
  160. this problem.)
  161. Solution:
  162. Turn up your volume. You may wish to do this via the "preamp"
  163. setting in the ModPlug configuration. This way, you won't have to
  164. turn down your volume again when you play an MP3.
  165. Problem:
  166. You have a mod which is rendered incorrectly by ModPlug-XMMS.
  167. Possible cause:
  168. This could be our fault. :)
  169. Solution:
  170. First, test the mod using the Windows version of ModPlug, if you can.
  171. If it sounds wrong there, then send the mod and a bug report to
  172. Olivier Lapicque <olivierl@jps.net>. If the mod plays correctly in
  173. Windows, however, then the bug is my fault. In that case, e-mail
  174. me (Konstanty) <konstanty@ieee.org>. (previously Kenton Varda at
  175. <temporal@gauge3d.org>).
  176. Problem:
  177. I have a problem which is not listed here, or an idea for a cool
  178. feature.
  179. Solution:
  180. E-mail me (Konstanty) at <konstanty@ieee.org>. I would be
  181. happy to hear any suggestions or problems you have.