--- Feb 15, 1994
Problem:
  vo- -vo does not work properly across a {{ }} because the volume is changed
  IN EVERY BRANCH .
  Listen to Rechter-Tie.

Fix: 
  save/restore the time variables of UTILITYi and :pre :post-velocity of the
  current channel AND of the percussion channel.

Status: fixed, but percussion velocities not yet preserved (done: March 20th).

--- March 3, 1994
Changed all VO words to VOL

--- Feb 26, 1994
^_ doesn't work properly (and decreases instead increasing!)
Fixed.

--- Feb 26, 1994
After an error condition is provoked at the keyboard, the volume may be set 
to 0 and we have no sound!
Fixed.

--- Feb 26, 1994
Arpeggio is wrong: should run from lowest to highest note (no note sorting 
allowed!)
Fixed (at the expense of simple equipment with few voices)

--- Feb 26, 1994
x y tempo   at.  (like  x y vo-  -vo) to accelerate .. decelerate
Fixed, but names: ( x y -- ) tempo- ( x y -- ) -tempo- ( -- ) -tempo

--- Feb 26, 1994
<< >> can cause slight timing errors between channels. 
Fix: checks at every SYNC point (only active during BUILD-MIDI).

--- Feb 26, 1994
^_ Better name : sf


			VOLUME			ARTICULATION	TEMPO
------------------------------------------------------------------------------
absolute, global	Forte  VOL ...		L2 Legato	MM
absolute, once		\Forte			\L2		7 \8 ...  
absolute, range		\vol vol /vol		\art L4 /art	\temp 80 /4 MM /temp
relative, global	+vol			+art		+TEMPO
relative, once		sf or ^< or ^_		^. ^,		\short \long
relative, range		\vol +vol /vol		\art +art /art	\temp +TEMPO /temp

Fix:	3 stacks
	\Forte \L4 
	+art 

DOC Intervals
(*
First column is size of interval, measured in 12ths.

   0              d-d    r1    reine priem
   1              d-es   k2    kleine sekunde
   2              d-e    g2    grote sekunde
   3              d-f    k3    kleine terts
   4              d-fis  g3    grote terts
   5              d-g    r4    reine kwart

   7              d-a    r5    reine kwint
   8              d-bes  k6    kleine sext
   9              d-b    g6    grote sext
   10             d-c    k7    kleine septiem
   11             d-cis  g7    grote septiem
   12             d-d    r8    rein oktaaf
   13             d-es   k9    kleine noon
   14             d-e    g9    grote noon
   15             d-f    k10   kleine deciem
   16             d-fis  g10   grote deciem

De vergroting met 1 stap (d.m.v. mollen of kruisen) van een rein of groot
interval heet overmatig, de verkleining heet verminderd:

   1              d-dis  o1    overmatige priem
   2              d-fes  v3    verminderde terts
   3              d-eis  o2    overmatige sekunde
   4              d-ges  v4    verminderde kwart
   6              d-gis  o4    overmatige kwart
   6              d-as   v5    verminderde kwint
   8              d-ais  o6    overmatige kwint
   9              d-ces  v7    verminderde septiem
   10             d-bis  o6    overmatige sext
   11             d-des  v8    verminderd oktaaf   enz.

-- Most names already exist, and they're Dutch ...

: INTERVAL	CREATE	@LATEST ,  , 			\ <step> --- <>
		DOES>	2@ .NOTE  ;P

		0 INTERVAL r1 	\ reine priem
		1 INTERVAL k2	\ kleine sekunde
		2 INTERVAL g2	\ grote sekunde
		3 INTERVAL k3	\ kleine terts
		4 INTERVAL g3	\ grote terts
		5 INTERVAL r4	\ reine kwart

		7 INTERVAL r5	\ reine kwint
		8 INTERVAL k6	\ kleine sext
		9 INTERVAL g6	\ grote sext
	      #10 INTERVAL k7	\ kleine septiem
	      #11 INTERVAL g7	\ grote septiem
	      #12 INTERVAL r8	\ rein oktaaf
	      #13 INTERVAL k9	\ kleine noon
	      #14 INTERVAL g9	\ grote noon
	      #15 INTERVAL k10 	\ kleine deciem
	      #16 INTERVAL g10	\ grote deciem

		1 INTERVAL o1	\ overmatige priem
		2 INTERVAL v3	\ verminderde terts
		3 INTERVAL o2	\ overmatige sekunde
		4 INTERVAL v4	\ verminderde kwart
		6 INTERVAL o4	\ overmatige kwart
		6 INTERVAL v5	\ verminderde kwint
		8 INTERVAL o6 	\ overmatige kwint
		9 INTERVAL v7	\ verminderde septiem
	      #10 INTERVAL o6	\ overmatige sext
	      #11 INTERVAL v8	\ verminderd oktaaf
*)
ENDDOC

****************************************************************************
-- March 6, 1994
Had to introduce "|" , the meta bar marker (compare to | ).
Reason: The word | compiles SYNC , which it shouldn't for bars containing
DUPLICATE DUPLICATES BIS ENCORE or REDO . Because of syntax in place, this
is difficult to make transparent.

It is NOT necessary to use "|" . When you don't, two things happen:
 - Conducting a network of metallophones probably fails (unequal number
   of syncs executed by participants when BIS etc. is used)
 - There are too many bar markers in the MIDI file (not really a big 
   problem, but untidy)
****************************************************************************

-- March 6, 1994
Added AS-PERCUSSION and AS-VOICED for .TRACK-SCORE

-- March 10, 1994
Added embedded comments and bar markers. Toggle with MCOMMENTS-ON MCOMMENTS-OFF

-- March 12, 1994
Added ACCEL RITARD CRESC DIMIN per Albert's specs. 
Removed VOL- -VOL- -VOL and TEMP- -TEMP- -TEMP .
Debugged the timing corrector some more.

-- March 14, 1994
Files of type 0 (a single track) needed a VERY LONG time to QSORT 
(unnecessary!).

Bug: when Mdiv = 48 xx yy TO replay-speed has no effect?

--- March 17th, 1994
Added American note names
Added [.] stac [..] [>] sf [>>] [-] ten [--]
Added >chord >arp (allows building chord generators)

-- March 20th, 1994
Improved memory management. 2 MBytes will suffice to play 150k+ MIDI files.
Saved all velocities in {{ }}
Experimental tape-like user interface for playing MIDI files: faster, slower
backwards, single-step and quit (+ - B 1 Q keys). Needs mark, cut and paste.
The ESC key test gets in the way. Maybe check is superfluous for short notes?
[fixed this sometime in April -mhx]

-- March 22nd, 1994
Found & corrected bug: incorrectly saved velocities in {{ }} 

-- April 17th, 1994
Added MANIPULATE-ATTACK (vector) STRAIGHT HUMAN-FEEL feeling SWING ALL-SWING .
This allows to manipulate the start of notes or chords (delay it). The SWING
words are not perfect as we do not have a BEAT counter in MANX (yet).


-- May 15, '94
60 RITARD followed by 70 ACCEL seems to come out slow although it should have
sped up. 
[problem: not enough events in conductor track. With /16 instead of /4 
 it worked -mhx]

Conductor must be able to set CRESC and DIMIN for _all_ parts simultaneously!


BUG (??) Dec 18, 1994
---------------------
Note that HIT's have the velocity of the _current_ percussion track.
If you use HIT's in PART's physically located in the .SCO file _before_ 
the Percussion PART they'll have undefined velocities that can't be changed! 
(see POPPY.SCO).
 
Also please note that Fortissimo etc. doesn't affect HIT's.

Fix: Put the percussion part FIRST in a .SCO .

July 18th, 1995
---------------
With the new hardware timer we get high-quality sound but the multi-tasker
doesn't work anymore! Don't try to load and run PICK1 after loading MANX.

August 25th, 1995
-----------------
Obviously, there is a limit to the longest event that can be timed with
microsecond accuracy. With the presently used algorithms this is around 
35 minutes (2^31 / 60000000).
The following works:

  MANX> 1 /1 MM   rewind 35 \1 rest

But this fails with a division by zero exception:

  MANX> 1 /1 MM   rewind 36 \1 rest
