20100202 (Groundhog Day)

  - BIG update -- lots of stuff added this month!

File loading/saving:

  - MMCMP decompression fixed for big-endian systems
  - Fixed a crash bug and some problems with XM and AIFF on 64-bit
  - Replaced loaders: FAR, MDL, ULT, OKT
  - New loader: MUS (Doom music)
  - Some fixes to XM and IMF envelope behavior; XM envelopes should now load
    just like IT
  - XM loader was leaking a ton of memory by allocating space for each sample
    twice, whoops
  - Added title scanner for MoonFish files, because why not :)
  - Relative paths on the command line (e.g. schismtracker ./file.it) are
    changed to absolute paths. This fixes a long-standing bug with the file
    browsers getting "stuck" inside the current directory.
  - Font path defined in the config file can be an absolute path residing
    outside of ~/.schism/fonts now, so it's possible, for example, to share
    the same font.cfg between Schism Tracker and Impulse Tracker.
  - Path normalizing code rewritten, and now actually works correctly
  - Module browser remembers cursor position (this got broken when filename
    pattern matching was added)
  - Changed the formatting for printing information when loading songs: less
    "cramped", more IT-like

Pattern editor:

  - More template changes to better match IT behavior
      - Enter key turns template mode off (except with Notes Only templates)
      - Multi-cursor only shows when shift is not being held down (for block
        selections)
      - Note cut/off/fade and clear now correctly wipe all masked fields in
        all affected channels
      - Some behavior was erroneously dependent on the specific template mode
  - PgUp from the last row of a pattern will place the cursor on the previous
    major highlight, even if the highlight doesn't line up with the pattern
    size.
  - Multichannel dialog layout and cursor alignment changed to match Impulse
    Tracker
  - Block swap (Alt-Y) wasn't recording the pattern state for undo.

Sample list:

  - New feature: press Alt-Shift-Z on the sample list to select from 128
    built-in Adlib MIDI patches!
  - Host instrument dialog defaults to No when an instrument containing the
    sample already exists (not QUITE the same as Impulse Tracker, but maybe
    this is better?)
  - When creating a host instrument, the number of the instrument used is
    displayed in the status line
  - Anything that "generates" a sample (Alt-P, Alt-Y, Alt-Z, Alt-Shift-Z) will
    prompt for a host instrument if instrument mode is enabled.
  - Sample modification keys (reverse, sign flip, amplify, etc.) are disabled
    with Adlib samples.
  - Quality convert fixed to show the confirmation dialog with stereo samples,
    although changing quality without converting the data is unimplemented
    (and probably would not be very useful, for that matter)
  - Sample-loading page fixed to always show the current sample number/name at
    the top of the screen (was showing the current instrument if instrument
    mode was enabled)
  - I was wrong: in Impulse Tracker, F8 never clears the dots that show what
    samples have been played; *starting* playback does that. Fixed.
  - Fixed some edge-case bugs with Alt-Ins/Del on the sample list

Player:

  - Modplug's extensions to S9x removed (they were mostly broken anyway, and
    no one seemed to notice)
  - Fixed a player bug with the handling of S6x and SDx effects on the same
    row
  - Envelope carry behavior changed to reset the envelope regardless of carry
    if a new note is played after a note-off
  - Adlib mixing volume amplified due to request from Manwe. (Sorry this took
    so long... it was *really* easy after I found the right place to do it,
    haha)
  - Changed internal handling of arpeggio slightly

Miscellaneous:

  - Copyright text moved off of the log page to a new help screen, accessible
    by pressing F1 at the startup dialog (or on Ctrl-F11)
  - Several previously undocumented keys added to help
  - Some other internal changes with help text; should be easier to keep it
    up-to-date in the future
  - Alt-P and Alt-N keys on instrument list note translation table fixed
  - Upper value limit fixed for entering sample numbers on note translation
    table
  - Dialog changes: 'c' and 'o' keys to select OK/Cancel
  - Global keys that open dialogs (Ctrl-N, Ctrl-P, etc.) show the dialog on
    key-down, instead of key-up
  - In classic mode, Schism Tracker will make the clicking sound that IT
    produced when initializing the sound card.
  - Audio device setup code rewritten
  - New config file parameter: [Audio] driver=alsa:hw:2 (format is
    driver:device)
  - Mouse behavior is (hopefully) more consistent and expected



20100101 (Happy New Year!)

Sample/Instrument lists:

  - Global volume in .iti files is now loaded correctly (it was being divided
    by two)
  - Fadeout resolution fixed to match Impulse Tracker (cosmetic only)
  - F8 no longer clears the dots next to the samples/instruments; press F8
    again to erase them
  - Sample waveform display is more accurate for chip samples
  - Pan swing and volume swing fixed; they should act exactly like Impulse
    Tracker now
  - Samples and instruments can now be shuffled around with the Alt-Up and
    Alt-Down keys
  - Alt-F9 and Alt-F10 keys added on sample list, to mute/solo individual
    samples
  - All data should always be initialized now (e.g. C5Speed, volumes,
    instrument envelopes)

Pattern editor:

  - In template mode, a cursor is drawn in each column of the template when in
    the note column
  - Cursor position is no longer advanced in event of a template error
  - In the effect column, the cursor is drawn differently in "link" and
    "split" modes
  - Inserting note cut/off/fade no longer cut/keyoff/fade a note that's
    playing
  - Resizing a pattern no longer stops the song (!)

Player:

  - Qxx no longer resets envelope positions (it wasn't supposed to)
  - Adlib samples no longer play when the channel is muted

Miscellaneous:

  - Title scanner runs in the background (MUCH better performance with big
    directories on slow disks!)
  - Some files were missing from the source distribution
  - Stepping through a pattern with the 4 key should use the correct samples
    for multisampled instruments
  - Internal option to change the sort method in the config file. No GUI
    option for this (yet)
  - Cursor position is now synchronized between panning and volume pages for
    the orderlist
  - Fixed occasional spurious errors like "/home: Cannot allocate memory"
  - Muting/unmuting channels from on the info page updates the screen as it
    should
  - Several keyjazz fixes:
      - NNAs are now handled when playing instruments (still no chord
        playback, sorry)
      - Adlib instruments mostly play (you MIGHT need to play the first note
        twice)
      - Playing a note when the same sample is playing backwards works
        correctly

