$Id: Changes,v 1.4 1997/03/20 13:19:09 claudio Exp $


EXPERIMENTAL VERSIONS:

0.99c (970320): 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 bugfixed

0.99b (970318): 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 (970313):
	- 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 (970105): 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" [1])
	- 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 [2])
	- 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" [3] by Moby)

0.09d (970101):
	- 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 lossage: fine volume slide effect translation bug fixed
	- S3M lossage: C2SPD translation to relnote/finetune bug fixed
	- S3M lossage: pattern loop fixed
	- S3M lossage: module loop bug fixed
	- Pattern loop (for restart order>=0x7f) bug fixed
	- version.o dependencies fixed in the Makefile

0.09c (970101): broken version (unreleased)

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

0.09a (961207): 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 [1] 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 (961031):
	- 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" [1]  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" [1]  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 (961011): 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 (960924): 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" [1] plays OK)
	- Fixed tone portamento behavior ("Art of Chrome" [1] plays OK)
	- Added MOD finetune support ("Elimination Part I" [1] plays OK)
	- Added offset, cut, delay and retrig effects

0.05 and before:
	- Lots of changes.

---

[1] Modules by Lizardking from Felix Brandt's collection
[2] Modules by Skaven and Purple Motion from the FC home page
[3] Modules from the Mod Archive at watson.org

