Stable versions
---------------

4.7.0 (20260225):
	Changes by Alice Rowan:
	- Increase maximum sampling rate (XMP_MAX_SRATE) to 768000.
	  This increases XMP_MAX_FRAMESIZE to 384000. The tick buffers are now
	  allocated using the player-provided rate instead of XMP_MAX_FRAMESIZE:
	  the frame info buffer may also be much smaller than XMP_MAX_FRAMESIZE.
	  In case of existing software misusing the old XMP_MAX_FRAMESIZE, the
	  minimum value for mixer_data->total_size is the old XMP_MAX_FRAMESIZE
	  for now.
	- xmp_seek_time now always seeks (even if the position is the same
	  as the current position) and uses the start row detected by the scan.
	- New function: xmp_seek_time_frame, which attempts to seek to the time
	  requested by the caller within frame precision. This is achieved by
	  using xmp_seek_time then repeatedly calling xmp_play_frame until the
	  *next* frame contains the caller-requested time. The caller can then
	  use xmp_play_frame/xmp_play_buffer to render the requested frame.
	  WARNING: this is more computationally expensive than xmp_seek_time.
	- New function: xmp_set_tempo_factor_relative, to set a relative
	  tempo factor without clobbering the module's tempo factor.
	- New function: xmp_get_tempo_factor, to get the base tempo factor
	  set by loading a module or by xmp_set_tempo_factor.
	- New function: xmp_get_tempo_factor_relative, to get the relative
	  tempo factor set by xmp_start_player/xmp_set_tempo_factor_relative.
	- New API define: XMP_FORMAT_32BIT for xmp_start_player to enable
	  32-bit integer output.
	- New API define: XMP_INST_NO_DEFAULT_PAN for xmp_subinstrument::pan
	- New API defines: XMP_MARK_SKIP and XMP_MARK_END for xmp_module::xxo
	- Add support for Pack-Ice ("Ice!", "ICE!") depacking.
	- Add support for Software Visions DMF (Apocalypse Abyss MOD variant).
	- Replace kernel list helper in iff.c with custom list management
	  to fix numerous otherwise unfixable KallistiOS redefinition warnings.
	- All internal module time/duration calculations are now in doubles
	  (fixes off-by-one module time on final tick of some modules).
	- IFF format loading is now more permissive toward errors in the IFF
	  tag structure, fixing some broken modules that would load for 64-bit
	  Linux builds but not for Windows.
	- Fix sample name, restart position, note 0 loading, and pattern count
	  calculation for Images Music System modules.
	- Fix XM volume effects cxx/dxx accidentally having effects memory.
	- Fix FAR volume and note edge cases (Prescience/aurora.far pos. 16).
	- Fix Real Tracker RTM maximum pattern row count, various effects
	  translations, initial panning and sample panning, sample base volume,
	  non-delta coded samples, and instrument flags.
	- Correct default of sample default panning values to -1 (no default
	  panning) for most module formats.
	- Fix DigiBooster Pro sample default panning.
	- Fix DigiBooster Pro note 0x1f (key off) and misc. other tidying.
	- Fix Funktracker sample default panning.
	- Fix FunkTracker Fk** and DOS32 initial channel panning.
	- Fix FunkTracker notes 0x3d (partial fix) and 0x3e.
	- Fix FunkTracker injecting sample default volume into events, causing
	  most notes to play at slightly wrong volumes.
	- Fix Galaxy Music System 4.0 sample default panning.
	- Fix Imago Orpheus IMF sample default panning.
	- Fix Imago Orpheus IMF note 255 (no note, not key off).
	- Fix Imago Orpheus IMF Ixx/Jxx/Kxx/Lxx memory, Axy when x and y != 0.
	- Fix Liquid Tracker LIQ sample default panning.
	- Simplify read_event_mod, read_event_st3, read_event_ft2,
	  read_event_med sample default volume handling.
	- MED "hold symbols" now apply the referenced instrument's default
	  volume for modules from OctaMED 3.00+ and don't apply any default
	  volume for modules from prior versions.
	- Fix MED hold/decay implementation and add support for command 8.
	- Fix MED synthetic instrument waveform table speeds.
	- Fix MED module duration for modules using command 1E (pattern delay).
	- Fix MED loading of InstrExt data when s_ext_entrsz is 2.
	- MED: only load long repeat fields for MMD3 modules.
	- Anticlick decay curves are now applied after IT note cut, DCA note
	  cut, IT effect S70 (etc.), and API-requested position changes.
	- XM, MOD: remove QUIRK_FINEFX from QUIRKS_FT2.
	- XM: channel fade rate is only copied from the instrument on rows
	  with note + ins. + no toneporta/K00.
	- XM: zero-length samples cut the channel like invalid instruments.
	- XM: do not cut on a no-instrument key off note if the preceding
	  instrument was invalid.
	- XM: previous instrument's sample default volume is now applied for
	  invalid instrument numbers beside a key off note.
	- XM: previous instrument's sample default panning is now applied for
	  invalid instrument numbers.
	- XM: apply default volume, panning, and instrument fade rate for
	  active invalid instruments.
	- XM: invalid instrument numbers now reset the envelope positions.
	- XM: valid instrument numbers with no note no longer set xc->ins,
	  which would cause notes to play with the wrong instrument envelopes
	  and could cause subsequent no-note instruments or invalid
	  instruments to apply the wrong instrument's volume/panning.
	- XM: rows with an instrument number and K00 no longer reset fadeout.
	- XM: apply QUIRK_FT2BUGS to Fasttracker II clone modules.
	- XM: reimplement Fasttracker II note delay effect.
	- XM: FT2 tremor now resets on all delay rows, does not reset on
	  instrument number + K00 rows, and is suppressed by instrument default
	  volume and Cxx in cases where it is not reset. FT2 tremor no longer
	  updates on note delay events before the delayed event is processed.
	- XM: load all keyoff notes as XMP_KEY_OFF (fixes keyoff + ins rows).
	- XM: keyoff without delay always immediately initiates fadeout, even
	  if there is a volume envelope. The old implementation would sometimes
	  delay the start of fadeout.
	- XM: keyoff without volume envelope sets the channel volume to 0
	  instead of setting fadeout to 0. This is now performed on the tick
	  where keyoff takes effect only (fixes volume effects not cancelling
	  the volume cut when they should have).
	- XM: fix volume column set volume effects resetting fadeout
	  (fixes Comic Bakery Remix position 35).
	- XM: fix Kxx persisting between rows and pattern delay interaction.
	- XM: fix note without ins# resetting fadeout position and state.
	- XM: detect more Modplug Tracker XMs via large unused instruments.
	- XM: handle out-of-range notes more closely to FT2.
	- XM: fix setting toneporta target with an active invalid instrument.
	- XM: implement FT2-style offset effect memory (QUIRK_FT2BUGS only).
	- Sum toneporta rates when toneporta is present in both effects slots
	  in an event; FT2 bug emulation for double toneporta now zeroes the
	  parameter of 3xx in the player instead of using a loader hack. This
	  doesn't affect Ultra Tracker toneporta.
	- XM: fix slow loads/OoMs caused by not verifying the MPT text length.
	- XMF: toneporta is identical to Ultra Tracker toneporta (slightly
	  affects max.xmf pos 13+, but the notes are out-of-tune either way).
	- Fix time tracking bugs in some complex pattern loop cases.
	- Fix time tracking bugs when Bxx+Dxx jumps within the same position.
	- Dxx (S3M/IT: Cxx) followed by Byy on the same row now jumps to pos Y
	  row X for S3M, IT, ModPlug XM, and Skale Tracker XM modules.
	- IT: fix importing channel initial panning for muted channels.
	- IT: fix playing instruments with samples >=120 in the key map.
	- MTM: fix pattern break hex parameter.
	- PTM: actually fix pattern break hex parameter.
	- STM: always use 0 for pattern break parameter (ST2 ignores it).
	- STM: import ST2 tempo values as both speed and BPM.
	- GDM: don't zero channel volume for muted channels.
	- Fix xmp_start_player not unmuting non-muted channels (regression
	  introduced in 4.5.0).
	Changes by Alice Rowan and ds-sloth:
	- Minor Impulse Tracker loader performance improvements.

4.6.3 (20250511):
	Changes by Alice Rowan:
	- Fix crashes when xmp_set_position is used to set a negative position.
	  Negative positions now correctly return -XMP_ERROR_INVALID.
	- Fix crashes when xmp_set_row is used to set a negative row.
	  Negative positions now correctly return -XMP_ERROR_INVALID.
	- Fix hangs when xmp_prev_position is used on the first position of
	  a sequence which is preceded by an S3M/IT skip marker.
	- Fix out-of-bounds reads when xmp_next_position is used at the end of
	  a 256 position module.
	- Fix hangs when seeking to an end-of-module marker caused by these
	  positions getting assigned a non-existent sequence.
	- Document xmp_set_position/xmp_next_position/xmp_prev_position
	  interactions with xmp_stop_module/xmp_restart_module.
	- Fix stack underflow in Pha Packer loader (CVE-2025-47256).
	- Slight performance improvements for the Oktalyzer and SFX loaders.
	- Fix broken conversion of ProRunner 2.0 pattern data.
	- xmp_set_tempo_factor no longer alters frame time calculation for
	  xmp_get_frame_info. Frame time is now updated to account for the
	  new time factor after calling xmp_scan_module.
	- Fix loading XMs with some types of harmless pattern truncation.
	  See: Jazztiz/ta-da-da-da.xm, Sonic (UK)/phuture.xm, et al.
	- Fix Poly Tracker pattern break hex parameter.
	- Fix Digital Tracker broken instrument finetune.
	- Fix Digital Tracker 2.03 position jump effect for 4 channel DTMs.
	- Fix pattern loop jump interactions with same row pattern jump/break:
	  Scream Tracker 3.03b+; Impulse Tracker 1.00 to 1.06 IT;
	  Impulse Tracker 2.00+ IT/S3M; Modplug Tracker 1.16 IT/XM/S3M;
	  Imago Orpheus IMF/S3M; Liquid Tracker LIQ/S3M; Poly Tracker;
	  Digital Tracker <=2.02 DTM/MOD; Digital Tracker 2.03 (partial);
	  Digital Tracker 1.9 (partial); Octalyser.
	Changes by Thomas Neumann:
	- Fix the pattern loop effect in Astroidea XMF loader.
	- Fix loading of Extreme Pinball modules.

4.6.2 (20250224):
	Changes by Alice Rowan:
	- Fix MED effect 1Fxy (delay and retrigger). The new implementation
	  supports both delay and retrigger at the same time and repeats.
	- Fix MED effect FF3 (revert change from 4.6.1). The buggy version
	  of this effect prior to OctaMED v5 is not currently supported.
	- Fix MED3 and MED4 time factor and tempos 1-10.
	- Fix MED4 effect 9xx (set speed).
	- Add support for MED3 and MED4 song files.
	- Better MED MMD tracker version fingerprinting.
	- Fix loading external instruments from the current directory.
	Changes by Thomas Neumann:
	- Fix oxm modules with empty samples (e.g.: The Four Ages.oxm)
	- Fix some modules would be misidentified as Scream Tracker 2.
	- Handle IT modules with edit history but no midi configuration
	Changes by Ozkan Sezer:
	- Revert a bad CVE fix to the miniz inflate code
	- Add missing HAVE_DIRENT definition to Android makefile.

4.6.1 (20250101):
	Changes by Claudio Matsuoka:
	- The full library is now under MIT license
	Changes by Alice Rowan:
	- Add stereo sample loading support for IT, S3M, XM, MED, LIQ, and
	  Digital Tracker (partial).
	- Add sample preamplification to filter mixers for high sample rates.
	- Add support for Ultra Tracker tempo commands.
	- Load Ultra Tracker comments instead of skipping them.
	- Implement support for Protracker instrument swapping.
	- Implement retrigger effects for MED, OctaMED, and Liquid Tracker
	  where only one retrigger occurs. Liquid Tracker (new format) and
	  Digital Symphony now allow retrigger values larger than 15.
	- Fix XM envelope sustain points that exist on a zero-length loop.
	- Fix XM extra fine portamento effect memory.
	- Fix XM portamento up and portamento down memory (only for modules
	  where FT2 bug compatibility is enabled, for now).
	- Fix loading edge case STMs with an EOF byte of 2.
	- Fix loading Imago Orpheus modules with null instrument magic
	  strings, bidirectional samples, and disabled default panning.
	- Faster IT loading by buffering pattern, sample, and comment reads.
	- Fix loop detection edge cases broken by S3M/IT marker scan bugs.
	- Add fix for IT break to module scan (was missed in libxmp 4.5.0.)
	- Fix restart position for >64k sample and Digital Tracker MODs.
	- Reset Invert Loop position when a new instrument is encountered.
	- MOD: make presence of invert loop override tracker ID guesses.
	  M.K. modules within Amiga limits which use EFx invert loop are
	  now IDed as Protracker.
	- Multiple Digital Tracker bug fixes:
	  * Support for loading Digital Tracker 2.03 DTMs (MOD patterns).
	  * Support for loading Digital Tracker 1.9 DTMs (VERS/SV19).
	  * Better Digital Tracker version fingerprinting.
	  * Fix Digital Tracker 2.03 global sample rate and bit depth fields.
	  * Fix Digital Tracker 2.04 pattern note loading (was off-by-one).
	  * Fix Digital Tracker instrument loops (loop end was off-by-one).
	  * Allow patterns up to 396 rows in Digital Home Studio DTMs.
	  * Support for Digital Tracker 1.9 "MIDI note" transpose.
	  * Simulate Digital Tracker effects bugs where possible.
	  * Fix loading of Digital Tracker module names (not always 32 bytes).
	- Liquid Tracker bug fixes:
	  * [Old] Fix loading of module and instrument names (fixes the old
	    format version of WASTETIM.LIQ).
	  * [Old] Fix loading of instrument lengths/loops (32-bit, not 16-bit).
	  * [Old] Fix loading of pattern notes and volumes (off-by-one).
	  * [Old] Fix initial panning.
	  * [Old] Most effects are now supported. H70/H6A is not yet supported.
	    Fxx, if it was ever implemented, is not yet supported.
	  * [New] Fixed Pan Control, Retrigger, Global Volume effects, and
	    vibrato/tremolo waveform 3. P70/P6A is not yet supported.
	  * [New] Fix incorrect bounding of notes that caused several LIQs
	    to fail to load.
	  * [New] Fix loading of pattern volumes (off-by-one).
	  * [New] 16-bit samples with loops no longer cause a failed load.
	  * [New] Fix loading of instrument global volumes.
	  * [New] Add support for ping pong loops.
	  * [New] Fix initial channel volume/pan tables for 0.00 LIQs.
	  * [New] Support channel volume and instrument global volume gain
	    functionality by doubling the mix volume once for each (4x total).
	  * [Both] Stopped incorrectly applying QUIRK_S3MLOOP, QUIRK_VOLPDN,
	    QUIRK_S3MRTG, and QUIRK_MARKER.
	- Fix loading of Poly Tracker (PTM) empty sample names.
	- Fix Real Tracker loader on targets where char is unsigned by default.
	- Fix out-of-bounds reads in His Master's Noise Mupp instruments.
	- Fix slow ProWizard testing.
	- Fix Paula mixer state leak after changing XMP_PLAYER_MODE.
	- Replace rand() with a built-in reentrant alternative.
	- xmp_set_tempo_factor now returns -XMP_ERROR_STATE when called prior
	  to xmp_start_player (instead of causing crashes).
	- Fix mixer crashes caused by previously valid tempo factors after
	  sample rate or BPM changes.
	- Passing NULL to xmp_set_instrument_path() now unsets the instrument
	  path instead of crashing.
	- Merge song file instrument path detection routines.
	- Fix module scan pattern delay counting.
	- Add compatibility for non-standard Pattern Loop implementations:
	  Scream Tracker 3.01b; Scream Tracker 3.03b+; Impulse Tracker 1.00;
	  Impulse Tracker 1.04 to 2.09; Modplug Tracker 1.16; Digital Tracker
	  <=2.04; Digital Tracker 1.9; Octalyser; Imago Orpheus; Liquid Tracker;
	  Poly Tracker. (MOD, FT2, and IT 2.10+ were already supported.)
	- Fixed numerous defects found by fuzzing.
	Changes by Thomas Neumann:
	- Fix XM envelope handling
	- Bug fixes to DSMI loader
	- Fix 16-bit sample check in MultiTracker loader
	- Fix finetune in MultiTracker loader
	- Fix XM restart position, so that it is possible to play
	 "10 Days Of Abstinence.xm"
	Changes by Saga Musix:
	- S3M: Detect PlayerPRO, Velvet Studio and old MPT versions
	Changes by ds-sloth:
	- Optimize scan code for common case of no effects
	Changes by Misty De Méo:
	- Filter off html files when reading archives.
	Changes by Ozkan Sezer:
	- Change lha depacker to use a stripped down version of lhasa.
	- Merge several CVE fixes to depackers stb_vorbis backend.
	- Make the lite version buildable from git or full distribution.
	- Build system fixes and clean-ups. Misc code clean-ups.

4.6.0 (20230615):
	Changes by Alice Rowan:
	- Add Astroidea XMF format loader.
	- Implement S3M and IT mix volume.
	- Add IT MIDI macro filter effects support.
	- Fix for IT filter cutoff 127 on new note behavior.
	- Add missing IT filter clamp to mixer loops.
	- Fix IT duplicate note check to use the key prior to transpose.
	- Fix multiple IT playback bugs affecting, e.g. Atomic Playboy.
	- Fix IT tone portamento and offset.
	- Fix reverse sustain loop release bug, add IT effect S9F support.
	- Add Modplug ADPCM4 support for Impulse Tracker modules.
	- Improve anticlick performance and fix anticlick filter volume bug.
	- IT fade envelope reset should only affect volume envelope.
	- Fix Impulse Tracker envelope and fadeout order.
	- Replace bidirectional loop unrolling with reverse sample rendering.
	- Fix crash when xmp_set_row() is used on an IT end marker.
	- Fix NNA and tone portamento interaction with sample changes.
	- Add compatibility for Modplug Tracker preamp scaling.
	- Add tracker detection for ModPlug Tracker XMs, pre-alpha ITs.
	- New Protracker CIA and VBlank timing detection routine.
	- Fix detection for TakeTracker TDZx MODs.
	- Fix loading of Digital Tracker FA0x MODs.
	- Fix ASYLUM Music Format restart byte.
	- Fix >1MB S3M modules relying on the sample segment high byte.
	- New MIT-licensed Digital Symphony LZW decoder.
	- Add support for Digital Symphony sigma-delta samples.
	- Fix Digital Symphony effects and pattern loading issues.
	- Fix support for most Farandole Composer effects.
	- Implement Ultra Tracker tone portamento.
	- Multiple OctaMED fixes and support for MMDC packed modules.
	- Fix MED Soundstudio 2 default note events.
	- Fix MTM tempo effect and FX_SPEED scan bugs.
	- Add MTM module tempo mode detection and comments support.
	- Multiple fixes and updates for ST modules.
	- Move interpolation wraparound handling out of sample loader.
	- Don't increment voice position by step value at loop/tick end.
	- Several loading performance improvements.
	- Allow up to 255 sequences to be scanned.
	- Allow xmp_smix_play functions to play key off, cut and fade events.
	- Allow loading MED2 samples from the module directory.
	- Fix misc. bugs in the MASI 16 loader.
	- Fix heap corruption in Coconizer loader with invalid sequences.
	- Fix MMCMP literal block unpacking.
	- Fix bad seeking behavior in MMCMP compressed blocks.
	- New permissive licensed Amiga LZX and ARC/ArcFS depackers.
	- Update XZ depacker with an MIT reimplementation.
	- Fixed numerous defects found by fuzzing.
	Changes by Saga Musix:
	- Fix MMD0 pattern loader to honor play transpose setting.
	Changes by Vitaly Novichkov:
	- Cmake build system support.
	Changes by Anonymous Maarten:
	- Cmake and autotools build system updates.
	Changes by Ozkan Sezer:
	- Galaxy Music System loading no longer needs including depackers
	  to inflate MUSE container.
	- Cleanups and refactoring of platform-specific code.
	- Multiple code cleanups.
	- Build system fixes and clean-ups.
	Changes by Claudio Matsuoka:
	- Fix linkage with gcc when versioned symbols and LTO are enabled.
	Changes by Cameron Cawley:
	- Integrate the OXM depacker with the XM loader.
	- Change several depackers to work without using a temporary file.
	- Replace inflate code with permissive licensed miniz.
	- Update the bzip2 depacker code to a newer 0BSD-licensed version.
	- Update to latest version of stb_vorbis depacker.
	- Several code and build system clean-ups.
	Changes by Clownacy:
	- Fixes and cleanups for C++ compatibility.
	Changes by Chris Young:
	- Relicense XFD decruncher under MIT.
	Changes by Denis Barkar:
	- Fix compilation for UWP platform.

4.5.0 (20210606):
	Changes by Alice Rowan:
	- xmp_load_module_from_callbacks and xmp_test_module_from_callbacks
	  added to api
	- fix xmp_set_position et al. when used during loops, pattern delay
	- make xmp_set_position() consistently clear pattern break/jump vars
	- avoid shell command injection when calling external unmo3 or unrar
	- fix volume event handling for FAR modules
	- fix GDM loader to correctly handle empty notes
	- fix GDM fine effects
	- fix incorrect handling of GDM speed effect
	- implement GDM surround effect
	- add support for DSMI 0.8 and 0.9 AMF modules
	- fix incorrect DSMI AMF volume and note 0x7f handling
	- fix DSMI AMF track 0 remapping bug
	- fix DSMI AMF speed effect and pan command conversions
	- fix IMAGO Orpheus channel panning and status values
	- fix S3M ADPCM4 samples
	- fix OctaMED 'tracker compatibility' tempos, more accurate OctaMED
	  8-channel mode BPM tables.
	- ignore MED volume/slide effects with param of 0, fix speed bound.
	- improve MOD loader checks for Mod's Grave WOW files
	- fix Schism Tracker version date calculation
	- fix MED2 BPM handling
	- fix MED modules with pattern lengths > 256
	- fix MED instrument corruption
	- allow up to 512 rows in X-Tracker patterns
	- add support for DigiBooster Pro pan envelopes
	- fix DigiBooster Pro volume envelope number of points
	- fix fine effects for DigiBooster Pro modules
	- fix loading DigiBooster Pro modules with large sample chunks
	- fix IT bug where Cxx on same row as SBx would not be ignored
	- fix IT bug where Qxy would ignore the volume parameter
	- fix IT sample global volume and sample vibrato
	- fix two IT bugs related to note off and volume handling
	- fix event out-of-bounds reads due to invalid key values
	- fix multiple out-of-bounds reads/writes, memory corruptions,
	  uninitialized reads and hangs in several loaders (thanks to
	  Lionel Debroux for providing fuzz files)
	- fix xmp_release_module double frees when invoked multiple times
	- check external sample file names before opening them
	- make it possible to disable module depacker functionality
	- make it possible to disable prowizard module loaders
	Changes by viiri:
	- fix samples corruption in STM modules
	- support more versions of STM modules
	Changes by Özkan Sezer:
	- add new xmp_syserrno call to the api
	- xmp_get_format_list() now returns const char* const*, not char**
	  (no ABI change)
	- xmp_test_module, xmp_load_module, xmp_set_instrument_path and
	  xmp_smix_load_sample() now accept const char* path parameters
	  (no ABI change)
	- xmp_load_module_from_memory() now accepts a const void* memory
	  param (no ABI change)
	- xmp_load_module_from_memory() no longer accepts sizes <= 0.
	- explicitly document that callers of xmp_load_module_from_file()
	  are responsible for closing their own file.
	- remove nonportable use of fdopen in xmp_load_module_from_file()
	- fix a seek issue with xmp_load_module_from_memory
	- fix memory-io functions' error handling
	- fix number of envelope points sanity check in IMF loader
	- rewrite the UMX loader
	- revise sanity checks to prevent oob reads in s404 depacker
	- fix vorbis depacker to function properly on big endian systems
	- fix windows static library builds
	- fix win64 compatibility in ptpopen
	- fix build with C89 compilers
	- fix issues related to visibility attributes
	- fix compatibility with old gcc, mingw, djgpp
	- fix warnings in configure script
	- fix Watcom C build on OS/2
	- fix Amiga build
	- several code clean-ups
	Changes by Carsten Teibes:
	- fix lite build mod loader symbols
	Changes by NoSuck:
	- add new xmp_set_row() call to skip replay to the given row
	- IT: T00 now repeats previous slide
	- prevent clobbering of muted channels' volumes in IT modules
	- clamp number of IT envelope nodes at load time
	- fix IT message (comment) length miscalculation
	- fix IT volume panning effect
	- fix mute status on player creation
	Changes by Cameron Cawley:
	- fix sanity check in Digital Symphony loader
	- fix and enable the Coconizer loader
	- support compiling for Windows with OpenWatcom
	Changes by Ghabry:
	- add xmp_test_module_from_memory and xmp_test_module_from_file
	  calls to api
	Fix problems reported by Ralf Hoffmann:
	- fix MMD3 instrument type sanity check
	- fix strictness of MOD pattern data tester
	- fix loading of XMLiTE XM modules
	- fix loading of ST modules with invalid names
	Fix problems reported by Lionel Debroux:
	- fix PTM loader issues
	- fix MED4 invalid sample load error
	- fix NNA and DCT/DCA issues
	Fix problems reported by Dennis Mulleneers:
	- handle XM 16-bit samples with odd in-file data
	Fix problems reported by Jay Garcia:
	- fix smix sample allocation
	- force reset of buffer state on player start
	Fix problems reported by Vitaly Novichkov:
	- fix Emscripten builds
	- fix linkage errors with MSVC debug builds
	Other changes:
	- fix IT pattern delay volume reset bug (read row events only
	  once per row)
	- fix volume, pitch and pan slides lagging behind one frame
	- fix tempo assignment in module scan to fix seek issues/crashes
	- fix double free in case of ADPCM sample load error
	- code refactoring and cleanup
	- add new xmp_set_tempo_factor() call to set the replay tempo
	  multiplier
	- fix XM keyoff with instrument
	- fix loading xm instruments with more than 16 samples

4.4.1 (20161012):
	Fix issues reported by Saga Musix:
	- fix MDL c5spd to preserve base periods
	- fix MDL sample decoder loop with corrupted data
	- fix MASI loader OPLH and PPAN subchunks parsing
	Other changes:
	- fix MacOS Tiger build issues (reported by Misty De Meo)
	- fix sample loop corner case (reported by knight-ryu12)
	- fix set pan effect in multichannel MODs (reported by Leilei)
	- fix global volume on module loop (reported by Travis Evans)
	- fix IT pan right value (by NoSuck)
	- fix MASI effects based on OpenMPT PSM loader
	- fix memory leak in XMs with 256 patterns
	- fix anticlick when rendering only one sample
	- fix anticlick in His Master's Noise instruments
	- fix anticlick in MED synth instruments

4.4.0 (20160719):
	Fix bugs caught in the OpenMPT test cases:
	- fix XM arpeggio in FastTracker 2 compatible mode
	- fix IT bidirectional loop sample length
	- fix MOD vibrato and tremolo in Protracker compatible mode
	Fix multichannel MOD issues reported by Leilei:
	- fix XM replayer note delay and retrig quirk
	- fix XM replayer channel pan
	- fix MOD loader period to note conversion
	Fix issues reported by Lionel Debroux:
	- fix virtual channel deallocation error handling
	- fix S3M global volume effect
	- fix IT envelope reset on tone portamento
	- fix IT voice leak caused by disabled envelope
	- fix IT volume column tone portamento
	- fix XM envelope position setting
	- fix FT2 arpeggio+portamento quirk with finetunes
	- fix mixer anticlick routines
	- accept S3M modules with invalid effects
	Fix issues reported by Saga Musix:
	- fix 669 effects when no instrument number is specified
	- fix 669 effects to be frequency-based
	- fix 669 initial tempo
	Other changes:
	- fix S3M channel reset on sample end (reported by Alexander Null)
	- fix Noisetracker MOD speed setting (reported by Tero Auvinen)
	- fix IT loader DCA sanity check (reported by Paul Gomez Givera)
	- fix IT envelope reset after offset with portamento
	- fix bidirectional sample interpolation
	- fix mixer resampling and tuning issues
	- add Antti Lankila's Amiga 500 modeling mixer
	- add support to filter effect E0 in Amiga mods
	- add flags to configure player mode
	- add option to set the maximum number of virtual channels
	- add frequency-based "period" mode
	- add support to IT sample sustain loop
	- limit Oktalyzer modules to MOD note range
	- remove broken synth chip and Adlib emulation support
	- code refactoring and cleanup

4.3.13 (20160417):
	Fix bugs caught in the OpenMPT test cases:
	- fix IT volume column fine volume slide with row delay
	Other changes:
	- fix MOD vs XM set finetune effect
	- fix IT old instrument volume
	- fix IT panbrello speed
	- fix IT random pan variation left bias
	- fix IT default pan in sample mode (reported by Hai Shalom)
	- fix S3M set pan effect (reported by Hai Shalom and Johannes Schultz)
	- code refactoring and cleanup

4.3.12 (20160305):
	Fix bugs caught in the OpenMPT test cases:
	- fix IT note off with instrument
	- fix IT note recover after cut
	- fix IT instrument without note after note cut event
	- fix IT pan reset on new note instead of new instrument
	- fix IT volume swing problems
	- fix XM glissando effect
	- fix Scream Tracker 3 period limits
	- fix Scream Tracker 3 tremolo memory
	Other changes:
	- fix IT pattern break in hexadecimal (reported by StarFox008)
	- fix S3M subsong detection (reported by knight-ryu12)
	- fix S3M/IT special marker handling (reported by knight-ryu12)
	- fix Galaxy Music System 4.0 song length (reported by AntonZab)
	- fix tone portamento memory without note (reported by NoSuck)
	- fix IT pan swing limits
	- Add TrackerPacker v1 format converter
	- Add TrackerPacker v2 format converter
	- Add ProPacker 1.0 format converter

4.3.11 (20160212):
	Fix bugs caught in the OpenMPT test cases:
	- fix FT2 XM arpeggio clamp
	- fix FT2 XM arpeggio + pitch slide
	- fix XM tremor effect handling
	- fix XM tremor recover after volume setting
	- fix IT instrument after keyoff
	- fix S3M first frame test in pattern delay
	- fix Protracker tone portamento target setting
	- fix Protracker arpeggio wraparound
	- fix Protracker finetune setting
	Other changes:
	- fix range of MMD effect 9 (reported by Lamar McLouth)
	- fix Visual C++ build (reported by Jochen Goernitz)
	- fix invalid sample offset handling in Skale Tracker XM (reported by
	  Vladislav Suschikh)
	- fix Protracker sample loop to use full repeat only if start is 0
	- fix Scream Tracker 4-channel MOD fingerprinting
	- fix lite build with IT support disabled
	- fix build with gcc 2.95 in Haiku

4.3.10 (20151231):
	Fix bugs reported by Coverity Scan:
	- fix out of bounds access in IT/XM/MDL/IMF envelopes
	- fix out of bounds read in STX effect decoding
	- fix RTM maximum sample name length
	- fix AC1D converter number of patterns underflow
	- fix PRU2 usage of uninitialized data
	- fix Vorbis depacker usage of uninitialized data
	- fix negative array index read when setting position
	- fix resource leak in MFP loader
	- fix resource leak in Chiptracker loader
	- fix resource leak in Startrekker loader
	- fix resource leak in module load error handling
	- fix event decoding in LIQ loader
	- fix JVS command parameter in MED synth
	- fix 669 effect decoding
	- fix memory violation in LZX decompressor
	- fix sanity check in PTM orders loading
	- add sanity check to smix sample loading
	- add sanity check to PP21 format converter
	- add sanity check to P40 and P61A format converters
	- add sanity check to Zen Packer format converter
	- add sanity check to TP3 format converter
	- add error handling to many decompressors
	- add error handling to many I/O operations
	- remove dead code from NO loader
	- remove dead code from Soundtracker loader
	- remove dead code from GMC format converter
	- remove dead code from LZX decompressor
	- remove dead code in virtual channel manager reset
	- remove unnecessary seeks in format loaders
	- prevent division by zero in memory I/O
	- change IFF info ID from string to binary buffer
	- better IFF error handling
	Fix problems caused by fuzz files (reported by Jonathan Neuschäfer):
	- add sanity checks to LHA depacker
	- add sanity checks to MED3 loader
	- add sanity checks to ABK loader
	- add sanity checks to Fuchs converter
	- add sanity checks to GMC converter
	Other changes:
	- fix IT envelope release + fadeout (reported by NoSuck)
	- fix SFX effects 5, 6, 7, and 8 (reported by Lamar McLouth)
	- fix pattern loading in Galaxy 4 and 5 (reported by AntonZab)
	- fix memory leak in LZW decompressor (by Chris Spiegel)
	- fix tone portamento target setting (reported by Georgy Lomsadze)
	- fix IT autovibrato depth (reported by Travis Evans)
	- disable ST3 sample size limit (reported by Jochen Goernitz)
	- fix crash in Prowizard error handling
	- fix IMS sample loop start
	- fix LIQ pan setting and surround channel
	- add sanity check for IFF chunk size
	- refactor ProRunner2 event decoding

4.3.9 (20150623):
	Fix bugs caught in the OpenMPT test cases:
	- fix IT tone portamento on sample change and NNA
	- fix IT tone portamento with offset
	Fix problems caused by fuzz files (reported by Lionel Debroux):
	- add sanity check to RTM/MMD/MDL/DBM/SFX/MASI/DT loaders
	- add sanity check to Starpack/Fuzzac converter
	- add sanity check to Oxm/vorbis depacker
	- add sanity check to lha/MMCMP/s404 depacker
	- fix memory leak in vorbis decoder
	Fix problems caused by fuzz files (reported by Jonathan Neuschäfer):
	- add sanity check to IT instrument name loader
	- add sanity check to IT loader instrument mapping
	- add sanity check to AMF module parameters and event loading
	- initialize IT loader last event data
	Other changes:
	- detect Amiga frequency limits in MOD (reported by Mirko Buffoni)
	- fix problems in Amiga split channels (reported by Gabriele Orioli)
	- fix global volume on restart to invalid row (reported by Adam Purkrt)
	- fix Oktalyzer note slide effect (by Dennis Lindroos)
	- fix Oktalyzer volume setting in split channels (by Dennis Lindroos)
	- fix external sample mixer for IT files (reported by honguito98)
	- allow short sample reads (reported by Adam Purkrt)
	- address problems reported by clang sanitizer

4.3.8 (20150404):
	Fix bugs caught in the OpenMPT test cases:
	- fix pre-increment of envelope indexes
	- fix IT note release at end of envelope sustain loop
	- reset channel flags in case of delay effect
	Other changes:
	- fix MMD3 16-bit samples (reported by jbb666)
	- refactor XM envelopes
	- refactor IT envelopes

4.3.7 (20150329):
	Fix bugs caught in the OpenMPT test cases:
	- fix IT sample mode note cut on invalid sample
	- fix IT sample mode note end detection
	- fix IT envelope handling with carry and fadeout
	- fix IT tone portamento with sample changes
	- fix IT initial global volume setting
	- fix IT keyoff with instrument in old effects mode
	- fix IT filter maximum values with resonance
	Other changes:
	- fix IT random volume variation
	- fix pattern initialization sanity check
	- fix ++ pattern handling in IT loader (reported by honguito98)
	- fix Soundtracker short rip loading (reported by Shlomi Fish)
	- add IT high offset command (SAx)
	- add IT surround command (S9x)
	- add IT surround channel support
	- add IT sample pan setting support

4.3.6 (20150322):
	Fix bugs caught in the OpenMPT test cases:
	- fix IT volume column volume slide effect memory
	- fix IT default filter cutoff on new note
	- fix IT filter envelope memory
	Fix crashes with fuzzed files (reported by Lionel Debroux):
	- add sanity check to MED2/3/4 loader
	- add sanity check to STIM/GDM/DBM/LIQ/ICE/PSM/PTM/MGT loader
	- add sanity check to MDL/RAD/MGT/IMF/RTM/DT/LIQ/DTM pattern loader
	- add sanity check to OKT/IMF/MMD/MDL sample loader
	- add sanity check to Archimedes Tracker format test
	- add sanity check to Digital Symphony track loader
	- add sanity checks to SQSH, bzip2, arc, lha, lzx and S404 depackers
	- add sanity check for AMD/STX number of patterns
	- add sanity check for DSYM/MMD1/MMD3 number of channels
	- add sanity check for MMD1/MMD3 instrument type
	- add sanity check for IT old instrument loading
	- add sanity checks and fix memory leaks in the Vorbis decoder
	Other changes:
	- fix instrument number in channel initialization
	- fix sample size limit (reported by Jochen Goernitz)
	- fix loading of OpenMPT 1.17 IT modules (reported by Dane Bush)
	- fix sample number limit (reported by Lionel Debroux)
	- fix Oktalyzer split channel replay (reported by Dennis Lindroos)
	- fix Oktalyzer sample loop (by Dennis Lindroos)
	- fix Oktalyzer note slide up/down effect
	- fix ThePlayer pattern decoding
	- fix XM loading for MED2XM modules (reported by Lorence Lombardo)
	- add support to Amiga split channel loop and volume setting
	- add IT random volume variation
	- add IT random pan variation

4.3.5 (20150207):
	Fix crashes with fuzzed files (reported by Lionel Debroux):
	- add sanity check for ST3 S3M maximum sample size
	- add sanity check for sample loop start
	- add sanity check for speed 0
	- add sanity check for invalid XM effects
	- add sanity check for maximum number of channels
	- add sanity check for number of points in IT envelope
	- add sanity check for S3M file format information
	- add sanity check for maximum sample size
	- add sanity check for invalid envelope points
	- add sanity check for basic module parameters
	- add sanity check for instrument release after load error
	- add sanity check for XM header size
	- add sanity check for XM/IT/S3M/MTM/RTM parameters and sample size
	- add sanity checks to inflate and lha decompressors
	- add more tests to 669 and NO file detection
	- fix mixer index overflow with large samples
	- fix prowizard data request response
	- fix EU/NP1/NP2/NP3 prowizard depackers
	- fix crash on attempt to play invalid sample
	- fix infinite loop in break+delay quirk
	- reset module data before loading module
	Other changes:
	- fix loop processing error in scan (reported by Lionel Debroux)
	- fix minimum BPM value for MED (reported by cspiegel)
	- fix sample loop adjustment (by Emmanuel Julien)

4.3.4 (20150111):
	Fix bugs caught in the OpenMPT test cases:
	- fix XM keyoff+delay combinations
	- fix XM fine pitch slide with pattern delay
	- fix XM vibrato rampdown waveform
	- fix XM volume column pan with keyoff and delay
	- fix XM pan envelope position setting
	- fix channel volume and instrument initialization
	- fix end of module detection inside a loop
	Fix bugs reported by Francisco Pareja-Lecaros:
	- fix MASI (PSM) volume command
	- fix MASI (PSM) note number parsing
	- fix Noisetracker note limit detection
	Other changes:
	- fix overflow in linear interpolator (reported by Jochen Goernitz)
	- fix MTM invalid track load (reported by Douglas Carmichael)
	- add ProPacker 3.0 loader

4.3.3 (20141231):
	Fix bugs caught in the OpenMPT test cases:
	- fix XM note delay volume with no note or instrument set
	- fix XM out-of-range note delays with pattern delays
	Other changes:
	- fix XM envelope loop length (reported by Per Törner)
	- fix big-endian detection in configuration (by Andreas Schwab)

4.3.2 (20141130):
	Fix bugs caught in the OpenMPT test cases:
	- fix IT invalid instrument number recovery
	- fix IT note retrig on portamento with same sample
	- fix XM portamento target reset on new instrument
	- fix XM portamento with offset
	- fix XM pan slide memory
	- fix XM tremolo and vibrato waveforms
	- fix MOD pattern break with pattern delay
	- fix MOD Protracker offset bug emulation
	- fix tremolo rate
	Other changes:
	- fix IT portamento after keyoff and note end
	- fix IT fadeout reset on new note
	- fix IT pattern row delay scan
	- fix MOD/XM volume up+down priority (reported by Jason Gibson)
	- fix MOD fine volume slide memory (reported by Dennis Lindroos)
	- fix set sample offset effect (by Dennis Lindroos)
	- fix Windows temp file (reported by Andreas Argirakis & Eric Lévesque)
	- add emulation of the FT2 pattern loop bug (by Eugene Toder)
	- allow loading of packed formats from memory
	- allow loading of OpenMPT MOD files with large samples
	- enable offset bug emulation by default for Protracker MODs
	- code cleanup

4.3.1 (20141111):
	Fix bugs caught in the OpenMPT test cases:
	- fix IT filter envelope range
	- fix IT envelope carry after envelope end
	- fix XM note off with volume command
	- fix XM K00 effect handling
	- fix XM portamento with volume column portamento
	- fix XM keyoff with instrument
	- fix XM note limits
	Fix bugs reported by Andreas Argirakis:
	- fix MOD false positive for UNIC Tracker modules
	- fix EMOD instrument finetune 
	- fix UNIC Tracker instrument finetune test
	- fix NoisePacker1 loader
	Other changes:
	- fix IT tone portamento in first note (reported by Jan Engelhardt)
	- fix XM invalid memory access in event reader
	- fix STM empty note event read
	- fix ABK loader test in Win32
	- fix MOD period range enforcing (reported by Jason Gibson)
	- fix ST2.6 speed effect (reported by Saga Musix)
	- fix corner case memory leak in S3M loader
	- fix retrig of single-shot samples after the end of the sample
	- fix crash in envelope reset with invalid instrument
	- fix module titles and instrument names in Mac OS X
	- fix row delay initialization on new module
	- refactor depacking code
	- code cleanup

4.3.0 (20140926):
	Fix bugs reported by Sami Jumppanen:
	- fix MED4 instrument numbering
	- fix MED effect FFF (turn note off)
	- fix MED synth finetune effect
	Fix bugs reported by Alexander Null:
	- fix fine volume slide memory
	- fix IT portamento after note end in sample mode
	- fix S3M portamento after note end
	Fix bugs caught in the OpenMPT test cases:
	- add XM and IT envelope loop and sustain point quirk
	- fix Amiga limits for notes with finetune
	- fix XM invalid offset handling
	- fix XM note release reset on new volume
	- fix XM pattern loader to honor header size
	- fix XM fine volume slide effect memory
	- fix XM fine pitch slide effect memory
	- fix XM finetune effect
	- fix IT portamento if offset effect is used
	- fix IT NNA on invalid sample mapping
	- fix IT filter envelope index reset
	- fix IT envelope carry on note cut events
	- fix IT envelope reset on new instrument
	- fix IT instrument change on portamento in compatible GXX mode
	- fix IT unmapped sample parsing
	- fix IT filter cutoff reset
	Other changes:
	- add API call to load a module from a file handle
	- add API call to set default pan separation value
	- add OpenMPT test cases to regression test suite
	- add AMOS Music Bank loader (by Stephen Leary)
	- refactor memory I/O calls
	- read OctaMED annotation and song info text
	- fix segfault in mixer caused by sample position overflow
	- fix MED synth pitch slide reset on new note
	- fix MED synth volume change during wait command
	- fix MED synth envelope loop handling (reported by Stefan Martens) 
	- fix OctaMED SS default pitch transpose (reported by Karl Churchill)
	- fix OctaMED instrument name loading
	- fix XM, S3M, IT and MED offset effect handling
	- fix IT fadeout and envelope reset on new virtual channel
	- fix S3M shared effect parameter memory
	- fix S3M default pan positions
	- fix S3M set BPM effect with values < 32 (reported by Kyu S.)
	- fix incorrect Noisetracker effect filtering (reported by Kyu S.)
	- fix period limits for (possibly non-Amiga) Protracker clones
	- fix loop counter reset on play buffer reset
	- fix finetune effect
	
4.2.8 (20140714):
	Fix bugs reported by Sami Jumppanen:
	- fix OctaMED decimal volume decoding
	- fix MED4 sampled instrument octave range
	- fix mishandling of MED4 effect FFD
	- fix MED synth waveform command CHD
	Other changes:
	- fix sequence number reset on player start
	- fix stray notes in XM (reported by Andreas Argirakis)
	- limit note number to avoid crash (reported by Bastian Pflieger)
	- disable recursive file decompression

4.2.7 (20140412):
	- add support for XM with ADPCM samples (reported by mk.bikash)
	- add OctaMED effect 2E (reported by Andreas Argirakis)
	- fix MMD2/3 note event mapping (reported by Andreas Argirakis)
	- fix XM set pan effect
	- fix IT disabled instrument pan

4.2.6 (20140407):
	Fix bugs reported by Andreas Argirakis:
	- add OctaMED 2 to 7 octave IFFOCT sample loader
	- fix volume in MED synth instruments
	- fix OctaMED V5 MMD2 sample transpose
	Other changes:
	- fix double free in module loaded from memory (by Arnaud Troël)
	- fix old Soundtracker sample loops (reported by Dennis Lindroos)
	- fix Win64 portability issues (reported by Özkan Sezer)
	- fix OctaMED 3 octave limit for sampled instruments
	- fix OctaMED hold/decay event support
	- fix OctaMED vibrato effect depth
	- fix IT tempo slide effect
	- fix Visual C++ nmake build issues
	- refactor OctaMED event reader
	- generate Android NDK static libraries

4.2.5 (20140302):
	- fix Oktalyzer sample numbering (reported by Andreas Argirakis)
	- fix XM delay effect with invalid instrument
	- disable incomplete Graoumf Tracker loader
	- disable incomplete TCB Tracker loader
	- code refactor for core mod player library subset
	
4.2.4 (20140222):
	Fix bugs reported by Justin Crawford:
	- fix XM note and envelope retrig on delay effect
	- fix XM keyoff reset on new note event
	- fix retrig effect frame counter
	- fix envelope update after manually set point
	Other changes:
	- fix Chiptracker pattern decoding (reported by Andreas Argirakis)
	- fix AMF sample loop end
	- fix false positives in Slamtilt format test
	- refactor S3M arpeggio effect memory
	- disable incomplete DMF loader
	- disable incomplete DTT loader
	- address clang-analyzer warnings

4.2.3 (20140118):
	- remove limit of samples in RTM loader
	- fix S3M length bug introduced in 4.2.1 (reported by Misty De Meo)
	- fix MDL effect decoding
	- fix MDL envelope decoding
	- fix MDL fadeout setting when envelopes are disabled
	- fix MDL instrument vibrato depth
	- fix MDL sample loop size
	- fix MDL fine volume slide effect
	- fix MacOS X dylib versioning

4.2.2 (20140111):
	- re-enable Falcon MegaTracker loader
	- fix DIGI Booster finetune (reported by Andreas Argirakis)
	- fix tempo in BPM mode MMD modules (reported by Andreas Argirakis)
	- fix crash in zip depacker
	- fix MED4 large (>64KB) sample loading
	- fix MED4 sample loop flag setting
	- fix MMD Protracker-compatible volume slide effect
	- fix number of channels in GDM loader
	- fix number of channels in MED4 loader
	- fix instrument name setting in MDL loader
	- replace LZX decompressor code with LGPL version from XAD

4.2.1 (20131229):
	Many fixes by Vitamin/CAIG:
	- fixes in memory I/O layer
	- improve loading of many module formats including XM and S3M
	- fix resource leak in case of invalid module structure
	- portability fixes
	Other changes:
	- disable YM2149 emulator
	- disable poorly implemented and rarely used module formats
	- fix mod loop setting in very small loops (reported by Misty De Meo)
	- fix linear period mode vibrato handling
	- refactor vibrato effect processing
	- code cleanup

4.2.0 (20131109):
	- ignore invalid Noisetracker effects
	- add API call to load a module from a buffer in memory
	- add API call to read the player state (loaded, playing, etc)
	- add API call to set the player master volume
	- add API calls to reserve channels and play instruments on them
	- add loader for His Master's Noise modules
	- fix loop parameter in xmp_play_buffer()
	- fix MED synth volume slide reset on new note
	- fix instrument mapping in IT old instrument format
	- fix number of tracks in IT loader
	- fix LHA depacker header parsing
	- fix thread-unsafe Archimedes Tracker loader
	- fix thread-unsafe Digital Tracker loader
	- fix handling of loader errors
	- fix S3M 16-bit sample replay
	- refactor handling of format-specific instrument and channel data
	- refactor MED synth command interpreter
	- rewrite SQSH depacker code
	- disable rarely used ZOO depacker
	- disable rarely used ALM loader
	- code cleanup

4.1.5 (20130527):
	Fix bugs reported by Andreas Falkenhahn:
	- fix OctaMED decay event and effect decoding
	- fix The Player 6.0A pattern depacking
	- fix Oktalyzer instrument to sample mapping

4.1.4 (20130519):
	- fix array initialization in IT loader (reported by Jacques Philippe)
	- remove regression tests from the distribution package
	- address license issues in  md5 digest code
	- address Visual C++ portability issues
	- code cleanup

4.1.3 (20130511):
	- fix envelope reset on new instrument (reported by ArtRemix)
	- fix JMP END sequences in MED synth wave table
	- fix IT portamento after note cut
	- fix IT and XM envelope resets
	- refactor virtual channel code
	- code cleanup

4.1.2 (20130504):
	- fix Graoumf Tracker arpeggio, set linear volume and set number
	  of frames effects (reported by Misty De Meo)
	- fix MTM sample fine tuning
	- fix unsigned conversion sample range when downmixing
	- fix memory leaks when attempting to load corrupted modules
	- refactor note slide effect code

4.1.1 (20130428):
	- add XM set envelope position effect
	- fix XM note with no instrument after keyoff
	- fix detection of compiler flags
	- fix library symbol versioning in OS X (by Douglas Carmichael)
	- fix loss of precision in portamento (reported by Misty De Meo)
	- fix OS X, Solaris and BeOS/Haiku build issues

4.1.0 (20130420):
	- add API call to fill equally-sized data chunks with PCM data
	- add configurable player parameter to disable sample loading
	- add configurable player parameter to set/get current module flags
	- changed maximum sampling rate to 49170 Hz
	- fix floating point values in lowpass filter
	- fix buffer overflow in MASI loader (reported by Douglas Carmichael)
	- fix simultaneous volume slide up and down
	- fix IT vs XM vibrato rate using quirk
	- fix IT portamento after note cut (reported by Benjamin Shadwick)
	- fix segfault in AMD module loader (reported by Jacques Philippe)
	- fix memory leak in AMD module loader
	- fix sequence scanner to prevent listing empty sequences
	- fix build issues in Cygwin (reported by Benjamin Shadwick)
	- fix pkg-config library definition
	- fix loop count reset when restarting module
	- fix MMD0-3 pitch slides (reported by Simon Spiers)
	- fix MED4 pattern reading (reported by Simon Spiers)
	- fix MED2/3/4 portamento effect
	- fix Stonecracker depacker
	- fix IT envelopes with no envelope points
	- fix XM invalid instrument event (reported by Banjamin Shadwick)

4.0.4 (20130406):
	- fix IT volume column slide to note
	- fix IT pan setting effect
	- fix IT vibrato effect depth
	- fix IT portamento after fadeout
	- fix IT panbrello waveform setting
	- fix tremolo effect depth
	- fix random waveform generator

4.0.3 (20130331):
	- add module quirks for well-known cases
	- add built-in zoo depacker
	- add IT pan slide effect 
	- add IT panbrello effect
	- fix IT pan setting effect (reported by Jan Engelhardt)
	- fix IT fine vibrato effect
	- fix MED BPM mode tempo setting
	- fix global volume slides
	- fix bidirectional sample loops
	- fix sequence entry points
	- rescan sequences if timing flag is changed

4.0.2 (20130223):
	- add IT volume column vibrato
	- add IT pattern row delay effect
	- add fine global volume slide effect
	- fix IT instrument vibrato depth and sweep
	- fix IT past note effects
	- fix IT fadeout values
	- fix IT fadeout event loading
	- fix period range for values lower than 8
	- fix global volume slides
	- fix channel volume setting
	- fix multi-retrig effect counter
	- fix invalid sample number access
	- fix memory access violation in MMCMP depacker
	- fix global volume setting in module scan
	- reset virtual channel flags on creation
	- change maximum number of mixer voices to 128

4.0.1 (20130216):
	- fix license issues reported by Jan Engelhardt
	- minor documentation updates

4.0.0 (20130213):
	- split library and application in different packages
	- remove OSS sequencer support
	- remove platform-specific device drivers
	- remove all global data, make library code fully thread-safe
	- remove configuration files (moved to front-end)
	- remove support to uLaw-encoded output
	- remove bogus lzma file detection (by Bodo Thiesen)
	- extend note range to full 10-octave range
	- extensive code refactoring
	- rewrite MMCMP decompressor to be endian-safe
	- replaced IT sample decompressor with public domain version
	- add cubic spline sample interpolation
	- add built-in zip file decompressor
	- add built-in gzip file decompressor
	- add built-in compress file decompressor
	- add built-in bzip2 file decompressor
	- add built-in xz file decompressor
	- add built-in lha file decompressor
	- add built-in vorbis sample decoder
	- add support to IT envelope carry
	- add support to IT sample vibrato
	- add ASYLUM Music Format V1.0 loader
	- add regression tests
	- fix interpolation and sample loop processing
	- fix S404 depacker integration
	- fix note delay effect
	- fix FT2 old instrument volume quirk
	- fix XM tone portamento with finetune (reported by Rakesh Sewgolam)
	- fix instrument envelope loops (Storlek test #24)
	- fix IT tremor effect (Storlek tests #12 and #13)
	- fix IT global volume (Storlek test #16)
	- fix IT stray tone portamento handling (Storlek test #23)
	- fix IT unified pitch slide memory (Storlek test #25)
	- fix IT retrigger effect (Storlek test #15)
	- fix IT filters
	- fix IT fadeout event handling
	- fix persistent slide down effect

3.5.0 (20120127):
	- fix AMF 1.0 module loading (reported by Andre Timmermans), probe
	  for sample loop size
	- fix AMF 1.1+ sample loops when loop start is zero
	- fix AMF track index including track 0 as empty track (reported by
	  Andre Timmermans)
	- fix AMF tremolo effect (reported by Andre Timmermans)
	- fix AMF pitchbend effects (reported by Andre Timmermans)
	- fix AMF volume slide effect
	- fix AMF track allocation
	- fix OpenBSD driver configuration
	- fix pattern delay + pattern break command (reported by The Welder)
	- fix memory leaks found by cppcheck (reported by Paul Wise)
	- fix XM note cut on invalid instrument (reported by Benjamin Shadwick)
	- fix invalid memory access in case of mismatched track/pattern lengths
	- fix uninitialized values when loading BoobieSqueezer XM modules
	- fix subinstrument mapping for certain parameters
	- fix invalid memory access in The Player loader
	- fix plugin for Audacious 2.5.4
	- add support to DSMS mod files
	- add YM2149 emulator and improved chip sound support
	- add support to ZX Spectrum AY-3-8192 chiptunes
	- add ZX Spectrum Soundtracker module loader

3.4.1 (20110813):
	- test for unused but set variable warning in gcc (needed to
	  build on MacOS X, reported by Misty De Meo)
	- fix format specifiers in CoreAudio driver messages (reported
	  by Misty De Meo)
	- build audacious3 driver if system has Audacious 2.5
	- change dependency generation flags for clang (reported by Misty
	  De Meo)
	- fix OXM module loading

3.4.0 (20110808):
	- fix reported elapsed time with looped modules
	- fix portamento of mapped instruments (reported by Null Vista)
	- add MED2 (MED 1.12) module support
	- add Noiserunner module support
	- add support for MED4 synth instruments (reported by Tim Newsham)
	- fix MED4 Soundtracker-compatible tempo setting (Song2.med)
	- fix Audacious plugin crash if module is invalid (reported by
	  Dominik Mierzejewski)
	- fix Audacious plugin seek widget position setting
	- remove nonexistent Modplug Tracker IT quirk (reported by Johannes
	  Schultz, voice samples shouldn't play in Deep in Her Eyes remake)
	- fix Startrekker Packer loader
	- fix IT215 compressed sample loader (reported by Ben "GreaseMonkey"
	  Russell)
	- use start/stoptimer also for pause in OSS driver (by Test Rat)
	- identify modules created with munch.py in IT loader
	- OctaMED MMD0/1/2/3 tempo fixes (by Francis Russell)
	- MMD0/1 note limit fix (by Francis Russell)
	- improve latency in ALSA driver output
	- Audacious 2.4 API 17 plugin fixes
	- add Audacious 3.0 plugin (by Michael Schwendt)

3.3.0 (20101202):
	- change MED BPM mode tempo setting (reported by Lorence Lombardo)
	- fix OSS driver fragment setting
	- add interactive loop toggle (requested by Emanuel Haupt)
	- add filter to prevent loading NoiseRunner modules as Protracker
	- add NoiseRunner loader (requested by Johan Samuelsson)
	- add improved Impulse Tracker fingerprinting (from Schism Tracker)
	- add Archimedes Tracker StasisMod effects support (Tom Hargreaves)
	- add tarball decompressor (Tom Hargreaves)
	- limit uncompression recursion (Tom Hargreaves)
	- fix Tracker Packer 3 loader (Tom Hargreaves)
	- fix load issue with BoobieSqueezer XMs (reported by Null Vista)
	- fix modinfo tempo/bpm setting
	- fix Zip file detection (Tom Hargreaves)
	- fix Archimedes Tracker effects (Tom Hargreaves)
	- update Audacious plugin to API 16
	- code cleanup

3.2.0 (20100530):
	- Digital Symphony fixes by Tom Hargreaves
	- Archimedes Tracker fixes by Tom Hargreaves
	- add shared logarithmic volume table for Archimedes formats
	- fix default Archimedes formats pan (RLLR instead of LRRL)
	- add Coconizer file loader
	- portability fixes for BeOS and Haiku
	- code cleanup and optimizations
	- Android port using NDK
	- fix time echoback event for MED
	- fix module time count not resetting at new module
	- make zipfile detection stricter (by Solomon Peachy)
	- fix DSMI loader volume event (by Solomon Peachy)
	- initialize formats only once
	- fix build with Audacious plugin API 13
	- fix seek in Audacious plugin

3.1.0 (20100107):
	- implement MED4 instrument transposition
	- fix build with MSVC++ 2008
	- fix bogus information in winamp plugin file info display
	- fix Audacious plugin dialog stacking order (by Michael Schwendt)
	- add Titanics Player prowizard loader
	- add SKYT Packer prowizard loader
	- add Novotrade Packer prowizard loader
	- add Hornet Packer prowizard loader
	- fix empty instruments in Digital Illusions loader
	- fix silent Liquid Tracker module bug
	- add Magnetic Fields Packer loader
	- add The Player 6.1a prowizard loader
	- add StoneCracker S404 decompressor (from amigadepacker)
	- add extra Funktracker file tests to prevent false positives
	- add Polly Tracker module loader
	- code cleanup and optimizations

3.0.1 (20091221):
	- better handling of corrupted modules
	- load Real Tracker RTMM 1.12 modules (tested with odyssey.rtm)
	- fix tuning of Real Tracker modules
	- fix Real Tracker pattern decoding
	- fix segfault in modules with 0 orders or 0 channels
	- fix loading of MED4 module patterns with less than 32 lines
	- fix memory leak when loading corrupt MED4 files

3.0.0 (20091210): 13 years after the 0.09b release
	- allow parallel build (R.I.P. 1996 buildsystem)
	- implement the long postponed open player loop 
	- generate win32 project files when packaging distfile
	- remove callback driver
	- split unified flags/quirks into separate variables
	- add elapsed time echoback event
	- add option to display elapsed and remaining time
	- implement IT volume column fine effects quirk (Storlek test #6)
	- fix bmp plugin build
	- fix FreeBSD build (by swell k)
	- fix terminal handling in Cygwin (by daniel åkerud)
	- add OpenMPT id to S3M loader
	- add Epic MegaGames MUSE data decompression
	- add Galaxy Music System (Jazz Jackrabbit 2 J2B) module loader
	- fix parsing of driver-specific parameters
	- fix GDM length, number of patterns and number of samples
	- fix memory access error in MDL sample depacker
	- fix ProRunner1 samples size
	- OSS driver resets the DSP device on exit (by Andrew Church)
	- fix handling of PT portamento+vslide effect (by Andrew Church)
	- move driver init from player core to main application or plugin
	- Epic MegaGames MASI loader fixes
	- add Amiga TuneNet plugin (by Chris Young)
	- fix Module Protector loader
	- fix lha depacking in Amiga (reported by Chris Young)
	- fix clang build (by swell k)
	- add support for xz decompressor (by swell k)
	- add built-in LZX decompressor
	- remove pause-related functions from player core
	- fix build in Solaris 10 and Sun Studio 12 Update 1 C++ compiler
	  (reported by Douglas Carmichael)
	- fix plugin to work with Audacious 2.2 (reported by Götz Waschk)
	- fix invalid and uninitialized data accesses reported by Valgrind
	- fix memory leaks reported by Valgrind

2.7.1 (20090718):
	- fix -l option in manpage (debian bug #442147)
	- fix endianism in MDL sample depacking (reported by Gürkan Sengün)
	- fix loading of MOD2XM 1.0 modules (reported by Gürkan Sengün)
	- add some sanity checks in XM module loading
	- fix IT note cut and delay (Storlek test #22)
	- increase period resolution for better tuning (reported by Mirko
	  Buffoni and Gürkan Sengün)
	- allow lower BPM settings (fixes Lemmings 2 circus music)

2.7.0 (20090711):
	- add StarTrekker packer loader (untested, need samples)
	- extended key range to IT octave 9 (fixes beek-my_eleventh_year.it,
	  reported by Mirko Buffoni)
	- ignore tempo/bpm settings to 0 in module scan (fixes albacore.it,
	  reported by Storlek)
	- implement IT T0x and T1x tempo slides
	- process effects in IT muted channels (Storlek test #10)
	- generalized delayed event support (Storlek test #8)
	- emulate "always store instrument" IT bug (Storlek test #8)
	- add extra click removal step in mixer routines
	- fix loop size in GMC loader (reported by Mirko Buffoni)
	- GMC loader code cleanup
	- store in-file comments
	- apply amplification in the final downmix
	- set sample format to unsigned on 8-bit wav file output
	- attempt to handle BPM-based MED tempos a bit better
	- add option to use the IT LPF as a click/noise filter
	- deprecate $HOME/.xmprc, use $HOME/.xmp/xmp.conf instead
	- reintroduce modules.conf, move SYSCONFDIR back to /etc/xmp
	- display checksum for platforms where cksum(1) not readily available
	- add filter quirk for rn-alone.it
	- reintroduce manual setting for vblank timing in Amiga modules
	- add vblank quirk for mod.siedler ii (by Daniel Åkerud)
	- don't crash if SoundSmith instruments not found

2.6.2 (20090630):
	- Promizer 1.8a loader code cleanup
	- fix portamento to skip first frame of each row
	- fix periods in instruments with finetune

2.6.1 (20090627):
	- fix XMMS plugin build (reported by Götz Waschk)
	- add Chibi Tracker fingerprint to IT loader (info by Storlek)
	- add Schism Tracker fingerprint to S3M loader (info by Storlek)
	- fix Modplug Tracker/OpenMPT identification in IT loader
	- IT instrument and sample modes use same quirks (Storlek test #9)
	- transposed period scale base down one semitone (Storlek test #1)
	- remove previous portamento in SpaceDebris.mod fix
	- add unified pitch slide/portamento memory (Storlek test #3)
	- no Amiga limits for multichannel mods (fixes Bending CD61)

2.6.0 (20090625):
	- cleanup: remove rarely used Unix IPC code that difficults porting
	- cleanup: remove per-module configuration that nobody uses
	- cleanup: moved Prowizard depacking to loader section
	- don't abort loading if IT sample magic not found (fixes loading
	  of use-brdg.it and use-funk.it, reported by Mirko Buffoni)
	- multichannel mods written with Scream Tracker don't use Amiga note
	  limits (fixes Earth Mountains, reported by Samuli Sorvakko)
	- fix start option in DeusEx's .umx files (by erlk ozlr)
	- add OpenBSD sndio driver (by Thomas Pfaff)
	- fix memory leak: free extra pattern allocated by the XM loader
	- fix memory leak: free temporary pointer arrays in the IT loader
	- fix memory leak: free temporary pointer arrays in the S3M loader
	- fix memory leak: free header and filename when file is invalid
	- fix memory leak: free temporary buffer in MDL loader
	- fix memory leak: move UNIC check to test section of mod loader
	- fix memory leak: free Digital Symphony extra empty track
	- fix memory leak: free Music Module Compressor buffers
	- fix memory access violation freeing list nodes using list_for_each
	- fix memory access violation in MDL track allocation
	- fix memory access violation in MDL sample decompression
	- fix memory access violation in LIQ pattern loading
	- fix memory access violation in P18A format test
	- fix free of unallocated block in IT sample-only mode
	- fix buffer overflow in OXM/DTT loaders (reported by Luigi Auriemma)
	- rename oss_mix driver to oss and alsa_mix to alsa
	- restrict MMD0/MMD1 non-synth instrument note range to 3 octaves
	  (reported by Daniel Åkerud and Mirko Buffoni)
	- assume wav driver if output filename ends in .wav
	- fix volume slides with 00 parameter (by Mirko Buffoni)
	- fix crash when S3M C2spd is zero (by Mirko Buffoni)
	- merged Mirko Buffoni's Windows Visual C++ port
	- don't process tone portamento in first frame of each row, fixes
	  Space Debris.mod (by Mirko Buffoni)
	- add amplification factor option (by Mirko Buffoni)
	- improved Winamp plugin (by Mirko Buffoni)
	- don't unlink open files (for Windows port, by Mirko Buffoni)
	- add experimental DxF/DFx handling with volume slides in all frames
	- add better Archimedes .arc compressed file test
	- reverted to older YM3812 emulator for license compliance
	- fix byte swap error in HSC to SBI Adlib OPL2 instrument conversion
	- fix Reality Adlib tracker loader
	- implement Adlib OPL2 synth volume setting
	- improve tempo, tuning and envelope of HSC modules
	- fix scanning of patterns containing short tracks
	- don't play notes outside the valid 8 octave note range
	- enable The Player 5.0A loader (tested with Full Moon mods)
	- enable ProPacker 2.1 loader (tested with Cool World mods)
	- fix endianism issues in The Player 5.0 and 6.0 loaders
	- fix AMF track remapping error
	- enable instrument retriggering quirk in IT loader
	- configuration file moved back to /etc
	- fix estimated tempo for S3M/IT modules with BPM changes

2.5.1 (20071207): 11 years after xmp 0.09a, the first public release!
	- fix Winamp plugin default sampling rate (reported by Mirko Buffoni)
	- Winamp plugin number of channels fixed by Mirko Buffoni
	- recognize TakeTracker TDZ4 modules (reported by Lorence Lombardo)
	- fix crash in anticlick when pan amplitude is set to 100% (reported
	  by Mirko Buffoni)
	- extend playable octave range (fixes replay of octave 9 notes in
	  beek-my_eleventh_year.it, reported by Mirko Buffoni)
	- Protracker-style sample loops only valid with loop start 0 (fixes
	  M.K. Amegas conversion and others, reported by Mirko Buffoni)
	- reset fadeout on new instrument fetch (fixes echo in "pain of lace"
	  pat 0 ch 2-3, reported by Mirko Buffoni)
	- add quirk for simultaneous volume slide up and down (M.K. allows it
	  but S3M doesn't, fixes Red Dream.mod reported by Ralf Hoffmann)
	- Impulse Tracker in sample mode has instrument priority quirk
	- fix IT far right (64) stereo channel panning
	- merge Amiga port improvements by Johan Samuelsson
	- merge Amiga xfdmaster.library support by Chris Young 
	- Amiga port also buildable for AROS (AHI driver not tested)
	- fix global track parsing in DMF loader (fixes mok-trea.dmf, reported
	  by Lorence Lombardo)
	- fix Winamp plugin to use the equalizer (reported by Mirko Buffoni)
	- skip 0xfe and 0xff S3M/IT control patterns at load time
	- fix scan of pattern break in the last pattern of the module
	- add BPM quirk for XMs converted with MED2XM (fixes Fascinated.xm,
	  reported by Lorence Lombardo)
	- merge Windows patch for decompression by Mirko Buffoni

2.5.0 (20071127):
	- remove DMP-specific effect from MOD loader
	- extend Protracker sample loops to Noisetracker and Startrekker
	- FLT loader recognizes Startrekker FLTM modules (only PCM channels)
	- implement support for Startrekker/ADSC AM synth instruments
	- fixed cast to signed type in finetune display
	- fixed Protracker 3 IFFMODL loader (process VERS chunk manually)
	- added support to Protracker sample loops in the Protracker 3 loader
	- added PulseAudio driver (using the simple API)
	- remove restrictive tests for Soundtracker modules (fixes
	  99redballoons.mod and atmosfer4.mod, reported by Adric Riedel)
	- fixed infinite loop control (allows full replay time of 11:04 for
	  Gryzor's extended Global Trash 3.mod, reported by Adric Riedel)
	- use floating point period generation for the software mixer
	- fix S3M tempo/bpm setting effect (fixes seaside_hotel.s3m)
	- MinGW32 build fixes and new Windows driver (based on MikMod)
	- merged Amiga AHI driver written by Lorence Lombardo
	- don't read commands from terminal in Windows and Amiga
	- reset parameter in case of MDL "no effect" (saa.mdl pos 13 ch 9
	  plays correctly, reported by Gürkan Sengün)
	- fixed wav and file drivers binary file creation for win32
	- add support for Octamed V6 16bit samples (fixes instruments in
	  LaEsperanza.mmd3, reported by Lorence Lombardo)
	- enforce minimum allowed BPM to prevent large frames (fix crash with
	  MED2XM modules such as Fascinated.xm, reported by Lorence Lombardo)
	- fixed conversion of big-endian 16-bit samples in big-endian machines
	- fixed decompression of 16-bit IT samples in big-endian machines
	- added experimental Winamp plugin
	- added handler for Ultra Tracker sample type 20 (fixes seasons.ult,
	  reported by Lorence Lombardo)
	- fixed instrument parameter handling in MED4 loader
	- added Generic Digital Music (GDM) loader
	- plugin code cleanup, remove mode button and hold buffer
	- merged AmigaOS4 patches by Chris Young

2.4.1 (20071029):
	- fixed portamento after keyoff problem in metamorph_part_ii.xm
	  where new note is not recognized (reported by Adric Riedel)
	- implement Protracker-style sample loops: first play entire sample,
	  then play the loop (needed to play MeNoWantMiseria.mod correctly,
	  reported by Adric Riedel)
	- fixed finetune test in UNIC Tracker detection to prevent false
	  positive with all that she wants.mod (reported by Adric Riedel)
	- fixed test for ?CHN and ??CH TakeTracker/FastTracker2 modules
	- fixed data type in the XM loader to work in 64-bit systems
	- don't ignore effect on event with invalid instrument (fixes tempo
	  in 39.mod pos 11, reported by Adric Riedel)
	- removed restrictive tests for Ultimate Soundtracker (false negative
	  in Karsten Obarski's sleepwalk and others, reported by Adric Riedel)
	- minimum sample size changed from 5 to 4 bytes, childhood.it actually
	  has 4 byte samples (reported by Adric Riedel)
	- cut effect doesn't retrigger sample (fixes Comic Bakery Remix pos 1
	  ch 3, reported by Adric Riedel)
	- allow period 162 in ST mods (for blueberry.mod UST, reported by AR)
	- fixed period interpolation using real log function instead of table
	  
2.4.0 (20071025):
	- added Oktalyzer note slide and fine note slide effects
	- added Oktalyzer arpeggio 3, arpeggio 4 and arpeggio 5 effects
	- added MED synth programmable arpeggio commands ARP and ARE
	- added MED synth vibrato commands VBS, VBD and VWF
	- added module probe method without loading (Audacious plugin can
	  test for files while a module is playing)
	- added persistent effects for 669, FNK and FAR
	- fixed MED synth volume slide commands CHD and CHU
	- fixed detuning in short samples with bidirectional loop by adjusting
	  the loop size to match forward loop size
	- fixed sound cut bug when changing samples in the MED synth (don't
	  reset channel on attempt to set invalid sample position)
	- fixed identification of IIgs MegaTracker modules
	- fixed 669 persistent vibrato and portamento effects
	- fixed FAR persistent vibrato/portamento and pattern break effects
	- fixed sample loading in FAR modules
	- fixed multi-retrig effect processing (see cyberculosis.xm ch 7)
	- fixed segfault when output file is specified but driver isn't
	- fixed XM sample loop size in XMs made with Digitrakker
	- revert CoreAudio driver pause patch (fix memory management problem)
	- reset MED synth program at each new note event
	- removed filesize-based module format detection
	- replaced XANN loader with Prowizard XANN depacker
	- reorganized internal data to remove lots of global variables
	- changed all loaders to load module from relative offset
	- changed UMX depacker to be a real loader (using relative offsets)
	- ported Audacious plugin to the Audacious 1.4.0 API
	- fixed sample offset on portamento after keyoff (Decibeter - Cosmic
	  'Wegian Mamas.xm plays correctly now)
	- fixed length of XM loops (jt_xmas.xm no longer out of tune)
	- fixed Audacious plugin to display duration when adding to playlist
	- fixed memory access violations reported by Valgrind
	- split XMMS/BMP/Audacious plugin source
	- invalid patterns in sequence ignored instead of aborting replay
	- fixed load of DBM 16-bit samples (reported by Ralf Hoffmann)
	- fixed DBM envelope offset error (reported by Ralf Hoffmann)
	- disabled AMF volslide effect (problems with CannonFodder2-Done.AMF)
	- fixed MMD1/MMD3 loaders to skip invalid synth instruments (reported
	  by Ralf Hoffmann, Misanthropy.MED loads correctly)
	- fixed number of patterns in Funktracker modules
	- added Funktracker persistent portamento and volume slide effects
	- fixed offset effect with parameter 00 (reported by Adric Riedel)
	- changed volume dynamic range to fix steps in volume ramps (tested
	  with departure soundtrack.xm, reported by Adric Riedel)
	- set priority to slide down when volume slide up and down is used,
	  fixes Skaven's 2nd Reality blast (reported by Douglas Carmichael)

2.3.2 (20071009):
	- added ModPlug Tracker IT quirk: ignore sample global volume (fixes
	  speech in "Deep In Her Eyes Remake", reported by Douglas Carmichael)
	- added PTM/IMF note slide effects and PTM note slide + retrig effect
	- added partial support to MED synth sounds (ported from xmp 2.1.0)
	- added experimental BeOS driver based on the CoreAudio driver
	- fixed copy of overlapping memory areas in IT loader
	- fixed initialization of channel flags before loading module
	- fixed PTM sample loop size (tested with abnormality.ptm)
	- fixed PTM effects translation (PTM-specific effects were ignored)
	- fixed effects settings in AIX and OSX CoreAudio drivers (reported
	  by Douglas Carmichael and Chris Cox)
	- fixed pause in OSX CoreAudio driver
	- fixed Fuchs Tracker prowizard loader format detection
	- fixed --time option time counter for MED files
	- decoupled PT3 PTDT and MOD loader

2.3.1 (20071005):
	- added PTM global volume effect
	- fixed output filename setting in wav output
	- fixed size field setting in wav driver
	- fixed configure option --sysconfdir (reported by Douglas Carmichael)
	- fixed major bug in anticlick routine generating clicks in the
	  right audio channel (reported by Douglas Carmichael)
	- changed rampdown time in Hipolito's anticlick algorithm (removes
	  clicks from PM's 2nd Reality, reported by Douglas Carmichael)
	- changed default file name when writing to WAV to <modname>.wav

2.3.0 (20071002):
	- added runtime endianism detection
	- added extractor for Epic Games' Unreal UMX files
	- added workaround for S3M "Return of Litmus" 0x87 quirk (reported
	  by Ralf Hoffmann)
	- added DigiBooster Pro module loader
	- added Fmod OXM depacker (depends on oggdec)
	- enabled Tracker Packer 3 prowizard loader
	- enabled The Player 4.x prowizard loader
	- removed reverse-endian sample reading options and XMP_CTL_BIGEND
	- fixed semantics of big/little endian options, moved to file driver
	- fixed memory corruption in Quadra Composer module loader
	- fixed Quadra Composer vibrato, offset and jump effects
	- fixed endianism problem in KSM and Zen Packer loaders
	- fixed transposition of Digital Tracker module notes
	- fixed build for QNX Neutrino 6.3.2
	- fixed OSS sequencer driver timing (reported by Reynir Stefansson)
	- fixed BMP/Audacious plugin to build also as XMMS plugin
	- fixed Impulse Tracker identification in S3M loader
	- fixed Module Protector test to recognize mods from "Made In Croatia"
	- fixed crash when scanning modules with length zero (bug #1800766)
	- fixed driver detection in NetBSD (don't try to build OSS driver)
	- fixed crash when restart value is invalid (reported by Ralf Hoffmann)
	- fixed handling of S3M pattern 0xfe (reported by Ralf Hoffmann)
	- fixed data size in MMD3 pattern sequence loading
	- fixed MMD1/MMD3 invalid/unhandled effect translation
	- fixed MMD1/MMD3 mixing buffer size setting (for PrivInv.med)
	- fixed Soundtracker 15-instrument module tracker fingerprinting
	- format management code cleanup
	- prowizard code cleanup

2.2.1 (20070917):
	- added IT tracker fingerprinting
	- enabled track volumes (fixes znm-believe.it, reported by Jon Rafkind)
	- fixed DESTDIR and config file location (by Adam Sampson)
	- fixed volume overdrive in the Megatracker loader
	- fixed probing order of PW-packed and Arc
	- raised sample number limit from 255 to 1024 (fixes megaman.xm
	  tempo and missing instruments reported by Jon Rafkind)
	- build plugin files as PIC

2.2.0 (20070915):
	- added more module format specs
	- added CD61 Octalyser module support
	- added Flextrax FLX module detection
	- added TCB Tracker module loader
	- added Digital Tracker DTM module loader
	- added Digital Tracker FA04/6/8 module support
	- added Real Tracker module loader
	- added X-Tracker module loader
	- added portable, 64bit-safe MMD0/1/2/3 MED loader
	- added Graoumf Tracker GTK module loader
	- added old Liquid Tracker "NO" module loader
	- added OSX CoreAudio driver
	- added S3M/PTM/IMF/LIQ/IT fine vibrato effect
	- added Archimedes Tracker loader
	- added Arc/!Spark depacker
	- added ArcFS depacker
	- added Archimedes VIDC sample converter
	- added Digital Symphony module loader
	- added Megatracker module loader
	- added Desktop Tracker module loader
	- added Zoo depacker
	- added MED3 module loader
	- added MED4 module loader
	- added IIgs ASIF sample converter
	- added IIgs SoundSmith/MegaTracker loader
	- added Audacious plugin
	- enabled WAV writer
	- enabled IMF filter effects
	- enabled Game Music Creator prowizard converter
	- removed broken shared lib generation
	- removed packed structures
	- replaced non-free PowerPack depacker with Kyzer's PD version
	- replaced list management in IFF loader with kernel list helpers
	- replaced XMMS plugin with Beep Media Player plugin
	- fixed long-standing bug in S3M BPM handling, "Panic" plays correctly
	- fixed MDL effects translation
	- fixed MDL pattern order loading missing first pattern
	- fixed MDL memory corruption in envelope initialization
	- fixed MDL 16-bit sample depacking (reported by Paul Wise)
	- fixed MDL multisampled instrument mapping
	- fixed MDL note event keyoff (gothlord.mdl plays better)
	- fixed XM and MDL sample loop size
	- fixed XM BPM setting (speedup.xm plays correctly)
	- fixed LIQ effects and 16-bit sample loading
	- fixed S3M pan settings
	- fixed IT old instrument volume mode setting
	- fixed IT 16-bit sample loading (reported by Henrik Pauli)
	- fixed IT effect S00 and delta sample loading (fixes O4UFRDMX.IT)
	- fixed multi-retrig effect (reported by Henrik Pauli)
	- fixed infinite loop scan (reported by Zbigniew Luszpinski)
	- fixed Sinaria sample size and finetune
	- fixed issues with OpenBSD
	- fixed issues with 64-bit machines
	- fixed loading of big-endian 16-bit samples
	- using Asle's Prowizard to handle packed MODs

2.1.1 (unreleased):
	- added more module format specs
	- added MO3 unpacking support
	- added file detection to the XMMS plugin
	- added Beep Media Player support to the XMMS plugin
	- added Epic Megagames PSM module support
	- added Epic Megagames old PSM (Silverball) module support
	- added DSMI/DMP Advanced Module Format support
	- added support to Ultimate Soundtracker modules
	- added ALSA 0.9/1.0 sound output support
	- fixed recursive decrunching of module files
	- fixed QNX6 portability issues (by Mike Gorchak)
	- fixed heavy memory leak in the XMMS plugin
	- fixed --time command-line parameter
	- fixed portamento-after-keyoff bug (Jeronen Tel's "Nine One One"
	  now plays correctly)
	- fixed IFF file loading to avoid data alignment errors
	- fixed endianism issues in MDL loader
	- updated OPL emulation (by Mike Gorchak)
	- default verbosity level changed to 1
	- default sound mode set to stereo
	- disabled MED loader (nonportable, didn't work well)

2.1.0 (unreleased):
	- Added Takuya Ooura's FFT code
	- Added scope/spectrum analyser modes to xxmp
	- Fixed dynamic driver loading to honour the configuration prefix
	- Added --with-esd option to the configuration script for esd in
	  FreeBSD (reported by Nate Dannenberg <natedac@kscable.com>)
	- Added xxmp panel and module info to XMMS info box
	- Fixed YM3812 emulator output in mono and stereo modes
	- Reordered extra libraries in Makefile.rules to build correctly in
	  IRIX 6.5.10/gcc 2.95.2 (reported by Johan Hattne <hattne@ibg.uu.se>)
	- Added aRts driver
	- Added NAS driver (based on Martin Denn's mpg123 NAS driver)
	- Added experimental QNX4 driver based on Mike Gorchak's nspmod port
	- Added experimental win32 driver based on Tony Million's mpg123 driver
	- Added NEO Software/Electronic Rats HSC module loader
	- Added Liquid Tracker module 0.0 and 1.0 support
	- Added callback driver for plugins
	- XMMS plugin changed to use the callback driver
	- Added Images Music System support

2.0.4 (20010119):
	- Added driver for synthesized sounds
	- Added Tatsuyuki Satoh's YM3812 emulator
	- Added support to The Player 6.0a modules (using Sylvain "Asle"
	  Chipaux's P60A loader)
	- Added seek capability to XMMS plugin
	- Added (very) experimental AIX driver
	- Added envelope point sanity checks (fixed "Beautiful Ones" IT
	  envelope bug reported by Chris Cox)
	- Added support to dynamic linked drivers (for better packaging)
	- Added option to package only DFSG-compliant code
	- Fixed audioio.h detection in OpenBSD 2.8 (by Chris Cox
	  <cox.family@sk.sympatico.ca>)
	- Max. filter cutoff value changed from 254 to 253 to avoid problems
	  in "Beautiful Ones")
	- Fixed external drivers problem with the XMMS plugin (reported by
	  greg <gjones@computelnet.com>)
	- Fixed xmp_ord_set() bug (was calling XMP_ORD_PREV)
	- Fixed period calculation algorithm (that was an OLD bug!)
	- Started adding support to MED 1.11, 1.12, 2.00 and 3.22
	- Replaced RPM spec with Dominik Mierzejewski's version

2.0.3 (20001229):
	- Fixes for enabling/disabling features in configure.in
	- gcc 2.96/glibc 2.2 related fixes by Dominik Mierzejewski
	  <dmierzej@elka.pw.edu.pl>
	- Support for RAR packed files by Michael Doering <mldoering@gmx.net>
	- Improved powerpacker decrunching by Michael Doering
	- IT lowpass filters for the software mixer
	- Fixed "yes/no" switch in xmp-modules.conf
	- XMMS plugin in big-endian machines fixed by Griff Miller II
	  <griff.miller@positron.com>
	- Updated RPM specfile

2.0.2 (20000506):
	- Fixes in the NetBSD driver (by Michael <skumle@grin.dk>)
	- Fixed sample size for MED synth instruments
	- Fixed the set offset effect for (offset > sample length) bug
	  reported by Igor Krpanic <krpa@renata.irb.hr>
	- Fixed configuration file loading in OS/2 (by Kevin Langman
	  <langman@earthling.net>)
	- Fixed S3M tone portamento bug introduced in 2.0.1
	- Fixed option --fix-sample-loops
	- Improved Noisetracker and Octalyser module detection
	- Fixed UNIC tracker and Mod's Grave module detection
	- Fixed Protracker song detection
	- Event loading in S3M fixed by Rudolf Cejka
	  <cejkar@dcse.fee.vutbr.cz>
	- ALSA 0.5 driver fixed by Rob Adamson <R.Adamson@fitz.cam.ac.uk>
	- Added experimental XMMS plugin
	- Removed calls to tempnam(3)
	- Big-endian sound output finally fixed?

2.0.1 (20000223):
	- Endianism problems in Linux/PPC (Amiga) fixed by Rune Elvemo
	  <relvemo@grm.hia.no>
	- Added enhanced NetBSD/OpenBSD drivers written by Michael
	  <skumle@grin.dk>
	- Fixed sample loop detection bug in the MOD loader
	- ALSA 0.5 support fixes by Tijs van Bakel <smoke@casema.net>
	- Moved the YM3128 emulator sources to the 2.1 branch (shouldn't
	  be in the 2.0.0 package)
	- Added extra sanity tests for 15 instrument MODs (based on sample
	  size/loop info), relaxed file size test, added check for NT mods
	- Fixed pathname for Protracker song sample loading
	- Fixed XM loader for nonstandard mods sent by Cyke O'Path
	  <cyker@heatwave.co.uk>
	- Added workaround for IT fine global volume slides
	- Added support for EXO4/EXO8 Startrekker/Audio Sculpture modules
	- Added support for Soundtracker 2.6/Ice Tracker modules
	- MED synth instruments MUCH better now (but still far from perfection)
	- Fixed S3M instrument retriggering on portamento bug reported by
	  Igor Krpanic <krpa@renata.irb.hr>

2.0.0 (20000202):
	- Allocations checked with Electric Fence
	- Fixed powerpack decruncher counter initialization
	- Number of tracks fixed in the XM loader
	- 0 byte allocation fixed in the XM loader
	- Vibrato depth fixed (>>1)
	- Independent effect memory for XM volume slide effect and volume
	  column effect
	- Disable sample loop when loop end < loop start
	- Continue S3M fine effects (e.g. x00 after xF5)
	- Loader for Startrekker FLT8 modules
	- Pattern loop fixed
	- Set offset effect bug fixed (reported by Martin Willers
	  <M.Willers@tu-bs.de>)
	- Sample length in the software mixer
	- 669 effects fixed by Miod Vallat <miod@mikmod.darkorb.net>
	- Fixed S3M/IT continue arpeggio effect
	- Fixed S3M/IT set tempo effect
	- Fixed set finetune effect (<<4)
	- Fixed S3M and XM global volume settings
	- Fixed STX memory leaks
	- Added support for XM 1.03 modules in the XM loader
	- Speed 0x20 correctly recognized
	- STM loader accepts BMOD2STM stms (reported by Bernhard März)
	- Fixed wrong number of patterns in FAR loader (reported by Bernhard
	  März <maerz@rklnw1.ngate.uni-regensburg.de>)
	- Fixed IFF chunk buffer allocation for MDL samples
	- Fixed sample buffer size for MDL 16 bit samples
	- SMIX_C4NOTE changed to from 6947 to 6864 in mixer.h (reported by
	  Christoph Groth -- fixes Cannon Fodder replaying)
	- Ignore garbage in the order list (reported by Spirilis
	  <hannibal@bitsmart.com> -- fixes dragnet.mod)
	- Event fetch now emulates ST3, FT2 and Protracker
	- Added virtual channel system (for IT NNAs etc)
	- Added loaders for Protracker 3.59 IFFMODL, STMIK 0.2, Promizer 0.1/
	  2.0/4.0, SoundFX 1.3/2.0, Slamtilt, MED/OctaMED, DIGIBooster, Quadra
	  Composer, Digital Illusions, Module Protector, Zen Packer, Kefrens
	  Sound Machine, Heatseeker, Imago Orpheus and Impulse Tracker modules
	- Added support for MED synth sounds (incomplete)
	- Added support for MED BPM tempos (incomplete)
	- S3M loader recognizes Imago Orpheus
	- xmprc renamed to xmp.conf
	- Configuration for specific mods using xmp-modules.conf
	- User configuration stored in $HOME/.xmp
	- Protracker effect 9 bug emulation
	- Support for Protracker song files
	- AWE support for IT filter envelopes
	- Filename in the xxmp window title (added by Geoff Reedy
	  <vader21@imsa.edu>)
	- Sample crunching for soundcards with limited memory
	  (requested by janne <sniff@utanet.fi>)
	- Bidirectional loop expansion and 16-bit conversion for AWE
	- Added anti-click routines in the mixer (requested by Teemu Kiviniemi
	  <teemuki@kolumbus.fi>)
	- Zirconia's MMCMP decrunching support
	- Old volume mode set for awedrv 0.4.3
	- Added option --loadonly
	- Changed finalvol formula
	- MOD loader split in M.K./xCHN, FLT and ST loaders
	- xmp_options changed to xmp_control
	- Removed redundant code from loaders
	- Dropped options -p (period mode), --disable-envelopes, --modrange
	  and --ntsc
	- UNIC and LAX collapsed in a single loader
	- Added test for AWE_MD_NEW_VOLUME_CALC definition in oss_seq.c
	- Fixed buffer write() after EINTR on SIGSTOP (reported by Ruda Moura
	  <ruda@helllabs.org>)
	- Title line in xxmp fixed by Geoff Reedy <vader21@imsa.edu>
	- Tweak configure.in to honour predefined CPPFLAGS in environment
	  since awe_voice.h moves around in FreeBSD. At the time it is in
	  /usr/src/sys/gnu/i386/isa/sound/ (by Bjoern Fisher
	  <bfischer@Techfak.Uni-Bielefeld.DE>)
	- Added missing #include "config.h" in main.c (by Bjoern Fisher
	  <bfischer@Techfak.Uni-Bielefeld.DE>)
	- Default mixing rate raised to 44.1 kHz
	- Fixed OSS sequencer timing in Linux/Alpha (by Nils Faerber
	  <nils@unix-ag.org>, reported by Andrew Hobgood <chaos@strange.net>
	  -- improved using Miodrag Vallat's HZ checking)
	- Added native ALSA PCM driver
	- Fixed xxmp title wrap
	- Fixed 4-bit ADPCM sample decompression
	- Solaris driver fixed by Keith Hargrove <Keith.Hargrove@Eng.Sun.COM>
	- IRIX driver fixed by Brian Downing <bdowning@wolfram.com>
	- Merged OS/2 DART port by Kevin Langman <langman@earthling.net>
	- Added BMOD2STM support in STX mods (reported by Miod Vallat)

1.2.0 (Unreleased):
	- Added support for 16-bit samples in S3M (reported by Geoff
	  Reedy <vader21@imsa.edu> and Chris Jantzen <chris@maybe.net>)
	- Status display in main.c changed from curr_row/num_rows
	  to curr_row/max_rows.
	- esd driver fixed by Terry Glass <tglass@bigfoot.com>
	- (Yet another scanner bugfix) scanner ignores tempo 0
	- (Yet another scanner bugfix) estimated time limit extended
	  from 15 min. to approx. 4 hours (should be sufficient)
	- (Yet another scanner bugfix) scanner sets global volume
	- (Yet another scanner bugfix) S3M_END test fixed
	- Skip to previous module fixed
	- Loop start set in bytes in 15 instrument MOD files
	- Added return status for failure in decompression
	- Temporary file unlink after failed decompression
	- Fixed S_ISDIR using wrong argument
	- Fixed clear chunk ID buffer in the IFF loader
	- Fixed chunk ID test fixed in the IFF loader
	- Release the IFF loader linked list after loading
	- Init default options in load.c
	- Volume echo event normalized to 0x40
	- Fixed sample loop in UNIC/LAX modules
	- Fixed FAR number of patterns
	- Fixed FAR tempo effect
	- Fixed FAR effect parameter setting
	- STM loader now rejects STX files
	- Fixed XM note fadeout value
	- Option --fix-sample-loop sets sample loop start in bytes
	- Added support for NoisePacker 1/2/3, Digitrakker 0.0/1.0/1.1
	  and Promizer 1.0/1.8 module formats
	- SIGUSR1 and SIGUSR2 handlers for skipping to next/previous
	  module (requested by Geoff Reedy <vader21@imsa.edu>)
	- Recursive module unpacking
	- drv_solaris renamed to drv_bsd_sparc
	- Other cosmetic changes

1.1.6 (19981019):
	- xxmp compilation in FreeBSD fixed by Adam Hodson
	  <A.Hodson-CSSE96@cs.bham.ac.uk>
	- Makefile fixed for bash 2 
	- S3M global volume setting removed (reported by John v/d Kamp
	  <blade_@dds.nl>)
	- S3M tempo/BPM effect fixed (reported by Joel Jordan
	  <scriber@usa.net>)
	- XM loader checks module version
	- XM loader fixed for DEC UNIX by Andrew Leahy
	  <alf@cit.nepean.uws.edu.au>
	- finalvol shifted right one bit to prevent volume overflow with
	  dh-pofot.xm (Party On Funk-o-tron)
	- File uncompression based on magic instead of file suffix
	- Loop detection and time estimation improved; --noback
	  option removed (reported by Scott Scriven <toykeeper@cheerful.com>)
	- Invalid values for module restart are ignored (reported by
	  John v/d Kamp <blade_@dds.nl>)
	- Don't play invalid samples and instruments
	- Fine effect processing changed to the Protracker standard
	  instead of FT2 (i.e. effects EB1-EE5 play fine vol slide five times)
	- OSS audio driver fragment setting fixed
	- Added test for file type before loading
	- MOD/XM tempo/BPM setting fixed (reported by Gabor Lenart
	  <lgb@hal2000.hal.vein.hu>)
	- XM loader limits number of samples (needed to play Jeronen Tel's
	  "Pools of Poison")
	- Invalid sample number in instrument map is set to 0xff and ignored
	  by the player (needed to play Jeronen Tel's "Pools of Poison")
	- Jump to previous order in order zero ignored.
	- Channel 1 to 10 mute/unmute keys changed
	- cfg.mode -1 bias removed
	- --ignoreff option removed
	- Reserved & unused fields removed from structures
	- S3M tremor effect implemented
	- XM keyoff effect implemented
	- Experimental (untested) SGI driver
	- Experimental (untested) OpenBSD driver
	- --nocmd option added by Mark R. Boyns <boyns@sdsu.edu>
	- Added support for XM 1.02, Ultra Tracker, ProRunner, Propacker,
	  Tracker, Unic Tracker, Laxity, FC-M, XANN and AC1D modules
	- Added built-in uncompressors for Powerpacker and XPK-SQSH
	- Option for realtime priority in FreeBSD added by Douglas
	  Carmichael <dcarmich@mcs.com>
	- Support for 15 bpp in xxmp added by John v/d Kamp <blade_@dds.nl>

1.1.5 (19980321):
	- Bidirectional sample loop fixed (reported by Andy Eltsov)
	- Set pan effect bug fixed by Frederic Bujon
	- Solaris/Sparclinux driver for the AMD 7930 audio chip (tested in
	  Solaris 2.5.1 and Linux 2.0.33)
	- Support for the Enlightened Sound Daemon
	- Better SIGSTOP/SIGCONT handling

1.1.4.1 (19980330):
	- New URL updated in docs

1.1.4 (19980204):
	- Added missing error check in Solaris and HP-UX drivers
	- Fixed includes for FreeBSD
	- Fixed X setup in the configure script
	- Fixed X include path in Makefile.rules and src/main/Makefile
	- scan.c replaced by a new version from 1.2.0 development tree
	- HP-UX driver works (tested in a 9000/710 with HP-UX 9.05)
	- Misc doc updates

1.1.3 (19980128):
	- xxmp color #000000 changed to #020202 (needed in Solaris)
	- `cmd' type changed to char
	- Interactive commands to unmute channels 6, 7 and 8
	- MTM loader works in big-endian machines
	- Experimental HP-UX support added (not tested)
	- Panel background colors changed
	- New INSTALL file
	- Misc doc updates

1.1.2 (19980105):
	- Fixed xxmp palette corruption
	- Fixed xxmp error messages
	- Misc doc updates

1.1.1 (19980103):
	- Fixed coredump in Oktalyzer loader (resetting pattern and
	  sample counters)
	- Fixed coredump with Adlib instruments
	- Fixed xxmp window update (added missing XSync, xxmp shows
	  current pattern and row)
	- Fixed color palette in 16 bpp True Color
	- Fixed command line arguments -S and -M

1.1.0 (19971224): "The Nightmare Before Christmas" release
	- Package license changed to GPL
	- Configuration made by GNU autoconf
	- Software mixer and /dev/dsp support
	- Compiles on FreeBSD 2.2 and Solaris 2.4
	- Command line options changed, long options added
	- Random play mode added
	- AWE reverb and chorus options added
	- Support for OPL2 FM synthesizer
	- New formats supported: Elyssis Adlib Tracker (AMD), Reality Adlib
	  Tracker (RAD), Aley's Modules (ALM)
	- Support for multiple output devices
	- Support for Scream Tracker 3.00 modules (volslides in every frame)
	- Support for S3M Adlib instruments
	- Support for S3M (very old) signed samples
	- Support for S3M pan ("The Crossing" plays correctly)
	- Support for S3M global volume
	- Support for Oktalyzer 7 bit samples
	- Support for IFF modules and variations
	- S3M arpeggio kludge removed
	- S3M module length adjusted discarding 0xff patterns
	- S3M set tempo/BPM effect adjusted
	- XM envelope loop bug fixed ("Shooting Star" plays correctly)
	- XM 16 bit sample conversion bug fixed ("Hyperdrive" plays correctly)
	- Support for XM instruments with 29 byte headers (for "Braintomb") 
	- AWE32 pan setting fixed
	- Glissando in linear period mod bug fixed
	- Volume overflow bug fixed (again)
	- Tone portamento update bug fixed
	- Period setting workaround for panic.s3m
	- Pattern jump effect bug fixed
	- Oktalyzer loader bugs fixed
	- period_to_bend precision loss bug fixed
	- Option -s fixed to play with correct tempo/BPM/volume
	- Added support for bzip, compress, zip and lha compressed modules
	- Added Protracker and Soundtracker wrappers to the MOD loader
	- Support for MDZ modules with ADPCM samples
	- IPC stuff removed, player engine built as a library
	- Fixed memory leak in MOD loader
	- Fixed memory leak in oss_seq
	- X11 version (xxmp)
	- Interactive commands
	- xmprc file

1.0.1 (19970419):
	- IPC global volume setting bug fixed
	- FAR number of patterns bug fixed
	- S3M volume setting effect correctly handled (fixes Skaven's
	  2nd Reality)
	- Option to disable dynamic panning to prevent AWE-32 clicking

1.0.0 (19970330): First non-experimental release
	- Added option -t (maximum playing time)
	- Added option -K to enable IPC
	- Test module removed from package


Experimental versions
---------------------

0.99c (19970320): Fixed more bugs reported by Michael Janson
	- S3M loader changed to recognize fine and extra fine volume slides
	  only when the slide nibble is not zero (fixes PM's 2nd Reality)
	- XM patterns with 0 (==0xff) rows are being correctly handled
	  (Wave's Home Vist should play better)
	- Tone portamento effect does not reset envelopes (fixes Wave's
	  Home Visit pattern 0, channels 0 to 5)
	- Loop click removal fixed & improved - chipsamples sound smoother
	  using gmod's method to prevent clicking
	- Continue vibrato effect bug fixed

0.99b (19970318): Fixed bugs reported by Antti Huovilainen and Michael Janson
	- Extra fine portamento bug fixed (ascent.s3m should play better)
	- Volume column tone portamento in XM shifted left 4 bits (fixes
	  guitar in Zodiak's Status Mooh order 7, channel 7)
	- Note delay bug fixed (fixes bass in Jogeir Liljedahl's Guitar
	  Slinger) - delay was working as note retrig
	- Sample offset effect bug fixed (fixes snare drum in Zodiak's
	  Status Mooh order 0D channel 5) - offset 00 uses previous offset
	- New instrument event with same instrument does not retrig the
	  sample (fixes pad in Romeo Knight's Wir Happy Hippos)
	- Global volume limited to 0x40 (fixes fadeout in Zodiak's Reflecter)
	- Sample loop adjusted for click removal
	- 669 loader changed to use secondary effects for tempo/break
	- S3M loader changed to use generic pattern loops (S3M-specific
	  pattern loop kluge removed from xm_play.c)
	- MOD loader fixed - the module may have unused patterns stored
	  and this situation was confusing the loader
	- Effect F changed to recognize 32 frames per row

0.99a (19970313):
	- General code review
	- Internal module format changed to XXM
	- Added endianism correction
	- Volume overdrive bug fixed
	- Verbosity levels adjusted
	- Vibrato implementation bug fixed
	- Instrument vibrato sweep implemented
	- New module formats supported: STM, 669, WOW, MTM, PTM, OKT, FAR
	- Added mute/solo channel command line options
	- Tempo 0 ignored
	- Lots of cosmetic changes
	- Option to reduce sample resolution to 8 bits
	- Envelope sustain bug ("Zodiak bug") fixed (reported by Beta)
	- Infinite loop in pattern jump bug fixed

0.09e (19970105): Improved S3M support and general bugfixes
	- Yet another pattern loop bug fixed
	- S3M J00 (arpeggio) effect workaround
	- S3M stereo enable/disable implemented
	- S3M sample pan bug fixed
	- Added warning for S3M Adlib channels
	- Improved S3M channel pan handling
	- Incremental verbosity option
	- Tone portamento behaviour fixed (for "Elimination Part I")
	- Added parameter -i to ignore S3M end of module markers
	- S3M FFx/F00 (continue fine period slide) effect bug fixed
	  (bug was audible in the Second Reality opening theme)
	- Global volume slide bug fixed
	- installbin target fixed in the Makefile
	- Volume reset with no instrument for new note bug fixed
	  (bug was audible in "Knulla Kuk" by Moby)

0.09d (19970101):
	- Pattern jump bug fixed
	- Added support for ??CH mods - thanks to Toru Egashira
	  <toru@jms.jeton.or.jp>
	- Fine pitchbending effect bug fixed
	- Signal handling fixed (again)
	- USR1 and USR2 signals changed to ABRT and HUP
	- Command line parameter to force MOD octave range
	- NTSC timing for MOD files
	- Glissando effect implemented
	- Retrig and multi-retrig effects bug fixed
	- S3M fine volume slide effect translation bug fixed
	- S3M C2SPD translation to relnote/finetune bug fixed
	- S3M pattern loop fixed
	- S3M module loop bug fixed
	- Pattern loop (for restart order>=0x7f) bug fixed
	- version.o dependencies fixed in the Makefile

0.09c (19970101): broken version (unreleased)

0.09b (19961210):
	- Note release and fadeout bug fixed
	- Module restart (SIGUSR2) bug fixed
	- Octave shift bug fixed ("Move to da beat" plays OK)
	- "Squeak" bug fixed (the bug was caused by a tone portamento
	  with no destination note)
	- Pitchbending effect bug fixed ("Crystal Dragon" plays OK)

0.09a (19961207): First public release.
	- Panel signal handling fixed
	- base_note set with C4 frequency of 130.812 Hz (actually C3)
	- GUS_VOICE_POS enabled for AWE_DEVICE (Iwai's patch)
	- Envelope fadeout (release) fixed
	- Note skip bug corrected after some shotgun debugging
	- GUS panning fixed (bypassing sequencer.h)
	- Added panning amplitude command line option
	- Added a channel pan parameter
	- Changed the XM loader to always unpack the patterns
	- S3M pan positions fixed
	- Timing variables changed to floating point - I really don't like
	  FP, maybe I've been hacking in assembly language too much
	- Added 15-instrument MOD loader
	- Added XM finetune interpolation
	- Arpeggio bug fixed: pitchbend increments between semitones is 100
	  and not 128 (why don't they use ROUND numbers?)
	- Changed period2bend to prevent lossage in higher octaves
	- Pattern loop effect implemented (running_lamer.mod plays OK)
	- Auto-detector (?) for 15-instrument MODs (option -f removed)
	- Added linear period support
	- All source files checked into RCS


Development (unreleased) versions
---------------------------------

0.08 (19961031):
	- Increased code mess
	- Included Iwai's AWE support
	- devices.c created to wrap output devices
	- sequencer.c, awe.c and gus.c included in devices.c
	- Portability macros set in the Makefile (but not used)
	- Manpage draft included in the package
	- Added command-line device selector
	- Finally got rid of those ridiculous fread()s in xm_load.c
	- xm_instrument_header split into xm_instrument_header and
	  xm_instrument
	- Removed OSS macros from xm_play.c
	- Volume overflow bug fixed ("Thematic Hymn" plays OK)
	- Scream Tracker S3M loader
	- Fixed the song length bug
	- XM relnotes are working again!
	- Added a garbage character filter to the MOD loader
	- Floating point stuff removed
	- Sequencer sync message support added
	- Multiple file entry point bug fixed
	- Song loop bug fixed, added a loop-enable option
	- Tremolo and extra fine portamento effects fixed
	- Player doesn't try to play invalid instruments (and dump core)
	- SIGUSR1 and SIGUSR2 handlers added (abort/restart module)
	- MOD effects with parameter 0 filtered in the loader (nasty bug)
	- Finetunes partially fixed ("Ooo-uh-uh-uh" does not work)
	- Started X11 panel (VERY experimental)
	- Volume column effect fxp bug fixed
	- Envelope retrig on tone portamento bug fixed
	- MOD sample loop length fixed
	- Finetune in tone portamento bug fixed
	
0.07 (19961011): We've screwed up XM relnotes in this version. Yuck!
	- Sample loop bug fixed
	- Extra fine portamento effect implemented
	- Global volume set/slide effects implemented
	- Pan slide effect implemented
	- Delay pattern effect implemented
	- Retriggered tremolo/vibrato implemented
	- Added tremolo/vibrato waveforms 4, 5 and 6 (no retrigger)
	- Stereo reverse/mono command line options are now functional
	- Pan slide effect implemented (but does it work?)
	- Arpeggio effect implemented
	- "Official" Amiga (exponential) periods implemented
	- Multi-retrig and delay effects implemented
	- Retrig and cut implemented as special cases of multi retrig
	- Fixed vibrato/tremolo waveforms
	- Added some macros to reduce the code mess
	- Finetunes/relnotes processed by the player (and not by the loader)
	
0.06 (19960924): This version can play most MODs
	- Changed a lot of variable names
	- Fixed envelope processing
	- Fixed pitchbending (SEQ_BENDER vs SEQ_PITCHBEND) bug
	- Fixed panning (SEQ_CONTROL vs SEQ_PANNING) bug
	- Fixed multisample struct definition bug
	- Fixed note number "obi-wan" bug ("Neverending Story" plays OK)
	- Fixed tone portamento behavior ("Art of Chrome" plays OK)
	- Added MOD finetune support ("Elimination Part I" plays OK)
	- Added offset, cut, delay and retrig effects

0.05 and before:
	- Lots of changes.
