current versions :
abc2midi 1.7.3
midi2abc 2.0.6
abc2abc 1.6.5

Improvements made to abcMIDI package
------------------------------------
1. abc2midi was found not to handle comments at end of lines properly. 
This was fixed in the source code with release 1.2.1 of abc2midi. 

2. midi2abc was generating %MIDI  intead of %%MIDI for a program change.
This was fixed in release 1.6.1

3. Release 1.2.2 of abc2midi introduced the -c checking only option and
   some new error checking, as well as code to deduce repeats.

4. abc2abc 1.0 was released on 25th July 1996

5. Release 1.2.3 of abc2midi allowed more flexible use of ::, :| and |:,
   improved handling of tuples and other minor improvements.

6. Added #ifdefs for Mac port.

7. Added -xm and -xl options to midi2abc plus a straight quantization
   algorithm for better handling of MIDI output by another package.

8. Added -Q option to midi2abc.

9. Removed the default heuristic algorithm and use a straight quantization 
  algorithm by default, with code to find a good note length by brute-force 
  trial - Original algorithm sometimes made mistakes in quantizing.

10. Added V: field to allow multi-track output from abc2midi in version 1.3

11. Changed Error messages to Warning messages for some error conditions in
   abc2midi.

12. Improved bar length checking to prevent errors being generated by the
   anacrusis in abc2midi.

13. Added checking for equal track lengths in abc2midi.

14. Made midi2abc fail cleanly when it runs out of memory for notes.

15. Fixed part-handling bug in abc2midi.

16. Improved handling of bar placement in midi2abc.

17. Fixed various type inconsistencies in midifile.c to improve portability.

18. abc2midi was not handling propogation of accidentals within a bar e.g.
|^cdc|. This was fixed.

19. Added handling for the 7 key signature modes and re-wrote parsekey in
the process.

20. Fixed bug in hornpipe handling routine (tomidi.c).

21. Fixed bug in default unit calculation (toabc.c).

22. Changed midi2abc to look at last note to decide between equally likely
    key signatures and suggest a mode for the tune if it does not appear
    to be major mode.

23. Changed strchr to index in mftext.c to aid portability.

24. Changed handling of grace notes to report more error conditions.

25. Changed midi2abc to generate voice fields for format 1 files and also
    to assume the same length anacrusis in each voice.

26. -xa option added to midi2abc to deduce anacrusis by looking for a strong
    beat.

27. Release 1.4 of abc2midi allows [ and ] for chords, ( ) for slurs and also 
    introduced a queue mechanism for allowing general polyphony.

28. Release 1.4 of abc2midi appears to a fix a problem with chord generation.

29. Release 1.4 of abc2midi recognizes J, H, L and R as note decorations.

30. Fixed bug in hornpipe routine.

31. Fixed bug in note decoration recognition.

32. Added support for multiple fields in " " and ! ! separated by ; .

33. Fixed problem with grace notes before chords.

34. Added support for new K: field standard

35. Fixed bug that caused spurious ties from notes at the end of a slur
field.

36. Release 1.4.2 of abc2midi made on 15th January 1997.

36. Correction to midi2abc quantization algorithm

37. abc2midi changed to allow TAB character instead of space.

38. -n option added to abc2midi (not the PC version, which already uses 
almost the maximum possible memory).

39. Support added for augmented and diminished chords.

40. Support added for repeats in part notation e.g. P:A(AB)6.

41. Added transpose option to abc2abc.

42. Release 1.4.3 of abc2midi made on 28th April 1997.

43. Added support for w: field in abc2midi

44. Fixed problem in chord handling in abc2abc

45. %%MIDI gchord allowed in mid-tune

46. added %%MIDI chordprog, bassprog, chordvol, bassvol

47. length specifiers allowed in %%MIDI gchord string

48. fixed bar-length checking in abc2abc to do chords and grace notes

49. Made the linebreaking option more intelligent in abc2abc.

50. Made abc2abc linebreak at P:

51. added -u option to abc2abc

52. added %%MIDI control command to abc2midi

53. added support for karaoke MIDI to abc2midi.

54. changed karaoke support to act line by line.

55. Minor bug fix to karaoke support in version 1.5.1

56. Fixed bug in part handling pointed out by Steve Allen.

58. Complete re-write of midi2abc to use dynamic data structures.
version 2.0 (beta) released on 8th June 1998.

59. Added -k (specify key) and -ga (guess anacrusis) options to midi2abc.
Fixed bug in printing rests.

60. version 2.0 of midi2abc released on 12th June 1998.

61. non-portable error diagnosis removed from mftext and midi2abc.

62. midi2abc fixed to always produce legimite length notes.

63. Parser changed to allow arbitrarily long lines.

64. midi2abc changed to recognize rests before each track.

65. midi2abc changed to used c = 72 (and undo abc2midi pitches).

66. Parser changed to allow decorations to be applied to chords.

67. abc2midi changed to allow broken rhythm between chords.

68. abc2midi changed to improve accuracy of reported line numbers.

69. abc2midi mallocs more space for notes or text when needed.

70. support for staccato notes in chord.

71. improved tie handling code.

72. fix to allow all channels to be used (suggested by De Clark).

73. Static limit on number of syllables in w: fields removed.

74. Allowed . in part specifier (P: field in header).

75. Used %%MIDI beat to implement !ppp! to !fff!.

76. Added -o option to abc2midi to specify filename.

77. Corrected problem with Voice/Part conflict reported by Brendan Macmillan.

78. Removed bug in line number generation for error reports.

79. Version 1.5.8 of abc2midi released on 21st Sept 1998.

80. Further bug fixing for Voice/Part problem.

81. Trap buffer overflow in NOFTELL version - problem reported by Richard
Robinson

82. Clean up NOFTELL modifications to remove linker problems (pcc version).

83. New NOFTELL mechanism introduced - do a dummy write track to determine
track length in abc2midi.

84. P:X in the header allowed to be a part marker in abc2midi.

85. Changed save_note() so that chord generation takes account of transpose
- problem report and bug fix by Seymour Shlien

86. Tidied up note off queue handling in abc2midi. Fixes problem with PCC 
version NOFTELL fix.

87. Changed min to long in midi2abc guesslengths(). Fixes PCC divide by 
zero error.

88. Added rtranspose to abc2midi.

89. Cleaned up midi2abc and midifilelib code (no implicit declarations of 
parameter types).

90. Voices inherit global transpose, tempo and meter instead of values from 
previous track.

91. Removed spaces from after tie signs in midi2abc : abc spec. does not 
allow spaces in chords.

92. voicecontext structure introduced to make K: and L: fields local to
their own voice in file parsing stage.

93. printf() fix: DJGPP seems to require %ld and not %Ld in printf to print 
longs.

94. exit value for all codes made 1 on error and 0 on normal termination.

95. re-write of karaoke code to integrate it into main mywritetrack() code.
Also allows multiple verses and has better error-checking.

96. Added %%MIDI chordname and library of named chords to abc2midi

97. Fixed bug in | handling in abc2midi w: field.

98. Better checking for M: field in abc2midi

99. chord handling and broken rhythm handling moved to first pass of
abc2midi.

100. Further bug fixes for abc2midi w: field.

101. %%MIDI nobarlines and %%MIDI barlines options added to abc2midi - 
based on changes suggested by Laura Conrad.

102. Added support for M:none.

103. Voice numbers changed from absolute voice numbers to numerical labels.

104. Accompaniment written to separate track by abc2midi.

105. Support put in the parser for abc2ps's [X: ] inline field notation.

106. Fix to stop bogus Q: fields crashing abc2midi.

107. Support for "_Ignored words" in abc2midi.

108. abc2midi allows voices after voice 1 to be missing in some parts.

109. Changed mf_sec2ticks() in midifile.c to get rid of rounding errors
that were affecting the PCC version of midi2abc.

110. Fixed problem with tracks not starting at time=0 in abc2midi.

111. Fixed overflow problem with long H: fields in abc2midi.

112. [1 allowed to go mid-bar and [2 allowed to be separated from :|
in abc2midi. More robust repeat-fixing algorithm to take account of |1 and 
:|2.
