2.6b
  - bugfix load/save hb/rrg
  - bugfix closing the rrg window
2.6a
  - version number added to hb/rrg files
  - mswin makefile updates
2.5g
  - win95 makefile updates and minor bugfix
  - moved doc/examples to song/
2.5f
  - version update :-)
  - all configuration files are build from jazz.cfg in Makefile
2.5e
  - pianowin is closeable
2.5d-ps
  - Changes to "save settings" menu
  - Current window geometry can be saved to .jazz (jazz.cfg) file
2.5d
  - harmony browser and rhythm generator can save their settings
  - new example in doc/example and documentation in jazz.tex
  - new file handling in trackwin
2.5c
  - size of parts dialogs can be configured in .jazz file
  - harmonies can be displayed in pianowin
  - added load/save pattern
2.5b
  - updated documentation for harmony browser and random rhythm generator
  - Toolbar added to Harmony Browser
  - Harmony Browser can analyze harmonies 
  - new win95 makefiles
2.5a
  - ???
2.4c-ps2
  - Text files update

2.4c-ps
  - Minor trackwin playbar bugfix
 
2.4b-ps
  - Support for set-tempo events added to pianowin (dialog etc)
  - Set-tempo events are played real time
  - Timebase is automatically adjusted to acceptable values at file read

2.4b
  - search replace controllers dialog
  - (re)start / stop play via space bar

2.4a-ps-2
  - Added dialog for music copyright notice (meta event 0x02)
  - Fixed SMPTE Offset midi file bug (now meta event 0x54)
  - Fixed file i/o bug triggered by program change with non-zero clock

2.4a-ps
  - Minor MTC sync winplay bugfix

2.3d-av
  - random rhythm generator can generate controllers
  - Toolbar for mswin and xview. notice: icons _must_ have >= 2
    colors for xview!
  - port to Xt-Version of wxwin
  - Makefile rules for distributions
  - port to Windows 95
  - changes for wx166 (xview+linux is buggy!)
2.3c-ps
  - MIDI sync (songpointer) for Unix (jazz-native)
    (includes changes in jazz-native driver and midinetd)
  - MIDI sync (songpointer) for MS-Windows
  - MTC sync for MS-Windows
  - added "midi realtime out" for MS-Windows
  - added dialog for midi thru control
  - config file entries for soft/hard midi thru, clock source,
    effect macro modes and midi realtime out
  - added menu entry for "save settings"
  - config file entry for "bank select" controller number
2.3c
  - entries in config file can be written by jazz now
  - separate menuitem to select device in mswin

2.3b-ps
  - New dialog for cleanup of short accidental notes
  - makedisk makefile for bcc

2.3b
  - minor changes for msvc
  - install.exe and toplevel makefile added for mswin

2.3a
  - changed copyright notices again

2.2i-ps-3
  - Removed the name 'Roland' everywhere ('GS' remains)
  - Added/updated copyright notices
  - Misc cosmetic updates

2.2i-ps-2
  - Removed "Update" and "Revert" buttons from all dialogs
  - Added "Help" button to all (relevant) dialogs and some menus
  - Added context sensitive help invocation from (nearly) all dialogs
  - Some cleanups and bugfixes of GS dialogs
  - Some documentation updates

2.2i-ps
  - Invoking of wxHelpInstance from the JAZZ Help-menus
  - Drum instrument parameter editing
  - Sub-menus in Parts-menu (got too long...)
  - Misc documentation updates
  - Misc bugfixes

2.2i
  - midinet.c and player.cc cleanup
  - misc bugfixes

2.2h
  - GS-Dialogs improved
  - new midinetd running over RPC, should be more reliable and could
    be extended to do midi thru for voxware
  - makefiles for borland c++
  - 2 or 3 button mouse selectable in .jazz file
  - program change, volume, panpot in middle of song
2.2g
  - loop play with middle mouse button in trackwin (shift+left still works)
  - rewrote harmony browser, still missing some features (and docs!!)
      - paste chords to pianowin
      - analyze chords in pianowin's cut/paste buffer
      - show chords at the guitar (through pianowin cut/paste buffer)
      - can generate chords through random rhythm generator
      - can transpose tracks to match selected chords. If track contains
        simple material (e.g 4 tune chords), transpose will work correct.
        If there are many different notes, you will get 'interesting'
        results.
  - bugfix in mswin driver (could not play longer than approx 70 Bars).
  - nicer Quantize dialog
  - added Shift dialog in trackwin
  - added guitar bord, features:
      - shows notes in pianowin cut/paste buffer on guitar
      - actual mouse position (pitch) is shown on guitar <--> piano
      - click adds notes to pianowin cut/paste buffer
      - show with/without octaves
  - random rhythm went to trackwin, drum instruments can be selected,
    can generate events from pianowin cut/paste buffer
2.2f
  - cleanup/rewrite GS dialogs
2.2e
  - added pitch/controller/velocity edit in pianowin:
      left mouse button: paint
      right mouse button: clear to zero
        + shift : all
        + ctrl  : exactly one
  - cleanup motif/mswin versions
2.2d
  - Port & driver for M$-Windows
2.2c
  - timing improvements in Seq2Player::StartPlay
  - extern sync, doesnt work (voxware bug?)
2.2a
  - startplay with voxware+mpu was not in time
  - added voxware patches to install.txt for sending bank select
    and recording pitch/controllers
2.1f
  - support for voxware/mpu401, added .softthru in .jazz file

2.1e was uploaded on sunsite
  - bugfix displaying short notes in pianowin
  - bugfix voxware could not record pitch + controller
  - faster midi thru for voxware, but still significant delays
  - small bugfix in the mpu driver
  - added random rhythm generator, should write a doc for this
  - started harmony browser
  - Makefile for motif/xview
  - transpose now analyzes the selection and shows the scale

2.1d was uploaded to sunsite
  - ??
2.1c
  - new dialogs for Roland GS sound editing
  - new driver for Hannu Sovalians /dev/sequencer2
  - changed tMpuPlayer to do mostly blocking IO

2.0k
  - second attemt to fix wx162 bug (tested this time)
  - changed dialogs for Quit and Save Menu (didnt work with wx162 either).
  - increased MAXTRIES in midinetd which might solve error 'did not
    receive START_OF_RECORD_BUFFER' on fast machines. Changed loop
    varaibles to volatile to avoid compiler-optimizations. Included
    usleep in player.cc to make waiting less busy.
  - when Force Channel in Trackdialog is selected, events in pianowin
    are pasted to the midichannel of that track.

2.0i was uploadet to sunsite
  - first attemt to fix wx162 bug (Mixerdialog crashes on dismiss).

2.0h was uploaded to sunsite

(A.V.) bugfixes during half-way M$-Win port
  - added missing 'delete Canvas' in ~tEventWin()
  - fixed uninitialized data in tTrack, tEventWin
  - changed malloc/free to new/delete in tStdChunk and tEventWin
  - added ~tStdChunk (memory leak)
  - fixed infinite loop when copying an empty track (tCmdCopy)

(P.S.)
  - new versions of dos- and sun-i386 drivers

2.0g (A.V.)
  - added cycle play to trackwin: shift click into top line with
    range selected cycles range
  - added set/add/sub modifiers to velocity and length edit dialogs

2.0f (P.S.)
  - Fixed midinetd/driver start-play bug (TCP splitting commands).
  - Fixed minor driver bug.
  - Minor fix in player.cc (MAXTRIES).

2.0e (P.S.)
  - Added switch for clock-source (Internal, FSK and MIDI IN). Activated from
    the trackwin Settings menu.
  - Midi realtime messages from MIDI Out default off. Can be turned on
    with boolean switch in the clock-source dialog.
  - Changed jazz<->midinetd interaction to be more robust and less stateful.
    Now midinetd is not dependent on the "play-array" any more; jazz sends a
    special start-play command byte.
  - Fixed none-block-write bug in player.cc.

2.0d (A.V.)
  - VisibleAllTracks in pianowin default off.
  - Bug fixes.

2.0c (A.V.)
  - Pianowin can show Events from all tracks simultanously.
    active track is black, other tracks grey. Clicking on an
    grey event with right mouse button changes track.
  - cycle play in pianowin. clicking into the topline with
    the left button starts normal play, right button starts
    cycle play. Cycle play repeats 4 Bars unless a selection
    is active in which case the selected range is cycled.
  - clicking (left button) into the leftmost column in trackwindow
    selects the whole track.

2.0a (P.S.)
  - Added multitrack MPU-401 playing (includes driver change).
  - Changed jazz<->midinetd protocol to give better realtime information to
    jazz (clock-to-host).

2.0 (A.V.)
  - Merged 1.0 (A.V.) and 1.3 (P.S) into new version 2.0.
  - Loadable kernel driver for Linux.

README1.3

jazz-1.3 is a beta release of Per Sigmond's <Per.Sigmond@hia.no>
version of jazz. Original made by Andreas Voss <andreas@avix.rhein-neckar.de>
(version 1.0).

The main difference from 1.0 is the introduction of client/server design using
the new "midinetd" network server which allows jazz client to run on any X
workstation. Currently the midinetd server has to run on a Linux with MPU-401
hardware.

The jazz-1.3 client has been compiled with gcc-2.6.3. The libraries wxwin-1.60 
and XView3.2 has been used. I have myself successfully built it on 
Sun386i/SunOS4.0.2 and Sparc/Solaris2.3. It will probably build on any machine 
supporting wxwin, XView3.2 and gcc-2.X. You will have to edit the Makefile 
though (by the way, defining SLOW_MACHINE will help you if you have one ;-).

A number of other changes has also been made:
	- Support for GS sounds (see file src/jazz.cfg; install as .jazz).
	- Extended control of individual tracks (mixer, altering sound, 
	altering envelope, pitch-wheel sensivety and modulation depth).
	- Setting of effects type (reverb type and chorus type).
	- Midi reset now does a "GS Reset" sysex command.
	- Pianowin now follows position while playing.
	- and more...

	(Many of these things will probably only work if your midi module is 
	Roland GS compatible, as the sysex commands are customized for GS).

Notes about the midinetd server:
	- The midinetd needs the supplied version of the linux driver because
	it uses select() instead of non-blocking I/O for reading
	(driver files found in directory "drivers/linux/").
	- Both jazz and midinetd looks for the service "midinet". You have to 
	define this service in /etc/services prior to starting jazz and 
	midinetd (suggested TCP-port number is 40001/tcp).
	- If midinetd runs on another machine (not localhost) you must
	define the server hostname in the environment variable MIDINETHOST
	before you start jazz.
	- If argv[0] is "in.midinetd" the server starts in "inetd" mode (treats
	stdin/stdout as the TCP-socket).
