2000-11-12  Matt Hiller  <mhiller@pacbell.net>

	* Makefile.am: Rewrote flex and bison rules for configuring
	from arbitrary directories. Changed it to look for data files
	and others in pkgdatadir (i.e., /usr/local/share/denemo/).

	* file.c (filesel_save): Saves according to the file type selected
	in the combobox rather than by filename.

2000-11-11  Matt Hiller  <mhiller@pacbell.net>

	* various: got vertical scrollbar working.

2000-11-05  Matt Hiller  <mhiller@pacbell.net>

	* various: added scrollbars, got the horizontal scrollbar working.

2000-10-19  Matt Hiller  <mhiller@pacbell.net>

	* kbd-custom.c (load_keymap_file): Fixed handling of
	tokens to include / as an identifier character.

2000-10-12  Matt Hiller  <mhiller@pacbell.net>

	* kbd-custom.c (NO_MAP_DIALOG_TEXT): Fixed this to reflect
	removal of keybinding stuff from the file menu.

	* kbd-interface.c (jump): Added a gtk_clist_moveto to move
	to the newly selected command.
	
2000-10-10  Matt Hiller  <mhiller@pacbell.net>
	* kbd-* (various): redid the custom keybindings dialog to make it of
	sane size, redid the control buttons at the bottom of the dialog.

	(lookup_keybindng, add_keybinding): Added a filter to filter out
	bits of keyboard state we don't want to pay attention to, such
	as Caps Lock and Num Lock.
	
2000-09-17  Matthew Hiller  <mhiller@pacbell.net>

	* various: refined custom keybinding implementation; added
	load and save commands, switched back to main Denemo style for
	callbacks and such rather than the too-verbose Glade style.

2000-09-14  Matthew Hiller  <mhiller@pacbell.net>

	* easylyparser.y (chordandassoc): Fixed support for loading slurs.

	* exportmudela.c (exportmudela): Fixed minor bug in saving
	of slurs; removed behavior of interpreting a tie as a slur in
	certain situations.

	* various: Finished improved custom keybinding implementation.

2000-09-10  Matthew Hiller  <mhiller@pacbell.net>

	* various: Summary of changes over the past few weeks: integrated
	patch for customizing keybindings, various other improvements.

2000-08-14  Matthew Hiller  <mhiller@pacbell.net>

	* calculatepositions.c: Got a _vastly_ improved
	algorithm (in terms of both correctness and simplicity) for
	determining x positions working.

2000-08-10  Matthew Hiller  <mhiller@pacbell.net>

	* easylyparser.y: Added support for reloading dynamics; put
	in a stub for reloading peculiar noteheads.

	* various: assorted streamlinings and bugfixes

	* all: released 0.5.4
	
2000-08-08  Matthew Hiller  <mhiller@pacbell.net>

	* measureops.c (settickvalsinmeasure): Refined the method
	for calculating mudelaitem->starttickofnextnote such that
	it handles tuplets more gracefully and no longer assumes
	that tuplets end on a beat.

2000-08-07  Matthew Hiller  <mhiller@pacbell.net>

	* selectops.c (pastefrombuffer): Fixed a bug reported by
	Francois Pinard regarding segfaults shortly after pasting.

2000-08-05  Matthew Hiller  <mhiller@pacbell.net>

	* main.c (main): Fixed command-line loading such that
	it sets the titlebar correctly.

	* easylyparser.y: Added support for loading stem directives,
	and staffs with multiple voices.

2000-08-02  Matthew Hiller  <mhiller@pacbell.net>

	* exportmudela.c (exportmudela): Updated exportmudela such
	that it saves multiple voices on a single staff appropriately.
	Also updated it to save stem directives.

2000-08-02 Adam Tee <eenajt@electeng.leeds.ac.uk>

	* Implemented dynamics

	* Added feature to change the notehead type

2000-07-31  Matthew Hiller  <mhiller@pacbell.net>

	* datastructures.h: Removed barline type, commented other types.

	* lilydirectives.c: gtk_signal_connect()s became
	gtk_signal_connect_object()s where appropriate.

2000-07-28  Matthew Hiller  <mhiller@pacbell.net>

	* various: wrote stem_directive_insert and added various
	forms of support for displaying and manipulating stemming
	directive indicators.
	
	* commandfuncs.c (deleteobject): Cleaned this function up,
	reorganized what had been copy-and-paste code into helper
	functions.

2000-07-25  Matthew Hiller  <mhiller@pacbell.net>

	* measureops.c (setsdir): Shortened stems

	* various: Removed stem direction field from staff structure
	and everything associated with it.
	
	* commandfuncs.c: Reorganized code for inserting objects
	into the score in preparation for writing stem_directive_insert.

2000-07-23  Matthew Hiller  <mhiller@pacbell.net>

	* easylyparser.y: Reformatted for greater GNU coding standards
	compliance

	* measureops.c (calculatebeamsandstemdirs): Fixed the
	bug that I'd added when tripletifying Denemo.

2000-07-17  Matthew Hiller  <mhiller@pacbell.net>

	* Makefile.am, denemo.spec.in: Integrated Sourav Mandel's patch
	for RPMifying Denemo

	* easylyparser.y, exportmudela.c: Integrated Mark Burton's patch
	for explicitly stating that keys are major.

2000-06-28  Matthew Hiller  <matthew.hiller@yale.edu>

	* README: various updates. In particular, the section
	describing information for potential contributors was
	greatly expanded.

	* all: ran every source file through GNU indent so that
	the indentation and spacing follows the manner recommended
	in the GNU coding standards.

2000-06-09    <eenajt@electeng.leeds.ac.uk>
	* Fixed various JTF format bugs in frogio.c

	* Added JTF format loading code for tuplets
	
2000-06-09    <matthew.hiller@yale.edu>
	* various: brought together the various threads of tuplet-work
	that people'd been putting together and integrated it all.

2000-06-04    <matthew.hiller@yale.edu>

	* various: finished work on a very preliminary "single-staff"
	polyphony feature. It still has some usability issues, but
	only one major technical problem.

2000-05-23    <eenajt@electeng.leeds.ac.uk>
	* Fixed Soprano clef

	* Fixed easylyparser  chords rule was not required
	
2000-05-01    <matt@ozymandias.sy.yale.edu>
	* various: integrated code in the fashion of Laurent Martelli's
	pixmap->bitmap changeover, and cleaned up draw.c

2000-04-25    <matt@ozymandias.sy.yale.edu>

	* file.c (confirmbox): sanified the code that popped up
	the "really destroy score" confirmation dialog by passing
	confirmbox () a GtkSignalFunc.

	* tomeasuredialog.c (tomeasurenum): re-modalized the dialog.

	* playbackprops.c (playback_properties_change): re-modalized
	the dialog.

2000-04-23    <matt@ozymandias.sy.yale.edu>

	* headerdialog.c: added Laurent Martelli's patch for header information

	* main.c, file.c: added plain Save function, added information
	in window title concerning current filename.

2000-04-22    <matt@ozymandias.sy.yale.edu>

	* README: described select, cut, copy, and paste; described
	immediate playback mode and the mechanism behind it.

	* selectops.c (cuttobuffer): got the cut function working. It's
	presently very ugly, though.

	* all: released 0.5.3
	
2000-04-21    <matt@ozymandias.sy.yale.edu>

	* midi.c: Refined the behavior of midi.c, etc.

	* selectops.c: refined behavior of paste so that new measures
	are added when existing music would be trampled, etc.

	* selectops.c: started coding a cut function. Began process of
	debugging it into existence
	
2000-04-20    <matt@ozymandias.sy.yale.edu>

	* midi.c, midi.h, various: Added and provided hooks for using
	Brian Delaney's immediate MIDI output code.

2000-04-19    <matt@ozymandias.sy.yale.edu>

	* measureops.c (calculatebeamsandstemdirs): fixed a bug
	that caused notes to be aligned as though they were on the
	wrong clef if a clef interrupted a beaming group.

	* various: coded up configuration file support and got it working

2000-04-18    <matt@ozymandias.sy.yale.edu>

	* various: got preferences dialog working. Started working on
	configuration file support.

2000-04-17    <matt@ozymandias.sy.yale.edu>

	* playbackprops.c: Got rid of "path to Lilypond" and "midi player"
	things in playback properties dialog -- these will go into
	a preferences dialog instead.

2000-04-15    <matt@ozymandias.sy.yale.edu>

	* various: fixed dialog boxes such that they all have titles
	and the various text entries react appropriately if you give
	them an "activate" signal by hitting enter inside them.

2000-04-14    <matt@ozymandias.sy.yale.edu>

	* tomeasuredialog.c, main.c: created a navigate-to-measure
	dialog.
	
	* main.c, keyresponses.c: made Home and End keys into
	accelerators; they're no longer interpreted by
	scorearea_keypress_event
	
	* various: Actually got this bounding box thing working

	* commandfuncs.c (calcmarkboundaries): fixed some bugs here

	* selectops.c (copytobuffer): fixed some bad bugs that caused the
	wrong notes to get copied to the buffer
	
2000-04-12    <matt@ozymandias.sy.yale.edu>

	* various: started writing code to give indication of bounding
	box's location

2000-04-10    <matt@ozymandias.sy.yale.edu>

	* file.c (updatescoreinfo): added call to
	find_leftmost_allcontexts()
	
	* selectops.c (pastefrombuffer): fixed outstanding bugs;
	it works now
	
2000-04-09    <matt@ozymandias.sy.yale.edu>
	* various: wrote object-cloning functions for use
	  by the cut-and-paste mechanism.

2000-04-08    <matt@ozymandias.sy.yale.edu>

	* selectops.c: wrote the beginnings for a cut-and-paste
	  mechanism.

2000-04-06    <eenajt@electeng.leeds.ac.uk>
	* fixed frogio and frogparser for new change of keysig etc.
	* altered drawkey so that it correctly draws keysig for G_8
	  and Tenor clefs
	* Documented Home and End Keys
	* applied Roy Rankin's patches
	
2000-04-04    <matt@ozymandias.sy.yale.edu>

	* various: released version 0.5.2
	
	* various: made it impossible to insert a mudela object before
	a time signature change, including another time signature change.

	* commandfuncs.c (deleteobject): Put a switch statement into the
	function such that it does the right thing when deleting a chord,
	clef, or key signature change.

2000-04-03    <matt@ozymandias.sy.yale.edu>

	* contexts.c, draw.c (draw_measures): Denemo now allocates an
	appropriate amount of space for the leftmost keysignature rather
	than a hard-coded amount. This is true of the widest key signature,
	if there are different key signatures in different staves.

	* calculatepositions.c (find_xes_in_measure): now handles
	consecutive mudelaobjects where ->durinticks == 0. This was
	far from trivial, but man, does it ever work.

2000-04-02    <matt@ozymandias.sy.yale.edu>

	* drawkey.c (draw_keysig): Fixed this such that it takes the
	preceding key signature as an argument and draws "cancelling
	naturals" where appropriate. Also now returns the width required
	for drawing the key signature.

2000-04-01    <matt@ozymandias.sy.yale.edu>

	* objops.c, objops.h, timedialog.c, keysigdialog.c, clefdialog.c:
	Created "new" function returning new non-chord mudelaobject *s
	and used them.
	
	* easylyparser.y: mudela parser now correctly interprets the clef,
	key, and time signature changes upon reload.

	* lyparserfuncs.c, lyparserfuncs.h (setclef, cleftypefromname):
	split off functionality formerly in setclef into two separate
	functions, allowing cleftypefromname to be invoked distinctly.

	* draw.c (draw_measures): adjusted determination of whether
	the cursor was off the end of the measure to account for
	objects for which durinticks == 0 at the end of the measure.

2000-03-31    <matt@ozymandias.sy.yale.edu>

	* ChangeLog: started using M-x add-change-log-entry to do this
	ChangeLog
	
	* exportmudela.c (exportmudela): export mudela now copies
	information concerning clef, key, and time signature changes
	to the mudela it exports.

31 Mar 2000:
	Changed gtk_file_selection_complete()s to
	  gtk_file_selection_set_filename()s
	Integrated all of Roy Rankin's patch.
	
30 Mar 2000:
	Finished key signature changes.
	Fixed Adam's toend and tohome functions.

29 Mar 2000:
	Started enabling key signature changes.

28 Mar 2000:
	Added ability to insert clef changes.

27 Mar 2000:
	Continued with time signature changes and got them right.

26 Mar 2000: (post 0.5.1)
	Fixed a bug in calculatepositions.c listcomparefunc.
	Put in a first shot at time signature changes.

26 Mar 2000: 0.5.1
	Wrote Help->Show Keybindings and Help->About callbacks.
	Fixed reversealigns bug.
	Updated README.
	Packaged release.

25 Mar 2000:
	mh: A popup window now appears confirming any actions that will
	  destroy the current score if it hasn't been saved off yet.

24 Mar 2000:
	ajt: incorporated Brian Delaney's MIDI instrument patch, and
	  fixed bugs in it.
	mh: Added stuff to easylyparser.y to account for the MIDI instrument.
	Fixed clefdialog.c bug
	Split off much of the code in keyresponses.c into commandfuncs.c;
	  the resulting cleanups knocked a bunch of stuff off the
	  urgent section of the TODO list. :)
	Added a "haschanged" flag to struct scoreinfo, to be checked
	  before File->New, File->Open, and File->Quit are invoked.
	Added ability to change the duration of an existing note with
	  shift - duration-indicator.

23 Mar 2000:
	mh: Added tearoffs to the menus.
	Added a signal handler to listen and handle SIGCHLD signals - no
	  more zombie processes after playback.

21 Mar 2000: 0.5.0
	mh: Made useful actions for everything in easylyparser.y - import
	  mudela now completely works!
	Reworked file menu functionality and got rid of lots of duplicate
	  code in file_selection.
	Adjusted playback controls.
	Packaged release.
	
20 Mar 2000:
	mh: My mudela lexer and parser work now! The next trick is
	  to make useful actions for everything that gets parsed.
	Added soprano staff support to mudela import/export (when did
	  that get added, btw?)
	Fixed File->New stuff.

19 Mar 2000:
	mh: Streamlined playback function, and started working on the
	  mudela parser again.

14 Mar 2000:
	ajt: More work on playback


10 Mar 2000:
	ajt: Added Playback function for quick playback.  Use fork to create
	two processes, lilypond -m and playmidi.  Also removed one of the 
	score blocks in exportmudela and added a midi block with tempo=60

7 Mar 2000:
	Much more work on mudela parser.

6 Mar 2000:
	Fixed bugs reported by Roy Rankin.
	Some work on mudela parser.

3 Mar 2000:
	Started writing my easyly lexer. It's actually an ad-hoc lexer;
	  the function's in the last section of the parser file I'm
	  going to use for it.

2 Mar 2000:
	Fixed parser.y and lexer.l such that they compile with -p and -P,
	  respectively, and won't interfere w/ my simplified-mudela
	  parser.

1 Mar 2000: 0.3.5
	Fixed a bug in free_score that was causing segfaults.
	Posted release.

29 Feb 2000:
	ajt: fixed parser.y so that Makefile.am looked right.
	Integrated Roy Rankin's G_8 patch.
	Fixed some bugs in parser.y that were preventing loading from
	  working.

27 Feb 2000:
	Finished with ties

26 Feb 2000:
	Rewrote setpixelmin() from the ground up - it now works _very_ well
	  instead of just being a reasonable guess.
	Split off many #define'd constants into separate header files.
	First shot at implementing tied notes. They can be added and removed,
	  and are displayed more-or-less properly. exportmudela.c doesn't
	  yet take ties into account.

25 Feb 2000:
	Refined method for alloting space before a note.

24 Feb 2000:
	Wrote a separate, smarter function for determining where to denote
	  accidentals and where not to. This had been done by the drawing
	  code before.
	Came up with a mechanism -- that barely adds any code, mind you! --
	  to allot space before notes for accidentals, etc.
	This broke the proper determination of reversealigns, though,
	  which I also fixed.
	Integrated Adam Tee's load & save patches into mainstream release.
	
23 Feb 2000: 0.3.4
	Got more complex beaming to work. Adjusted code in
	  timedialog.c and packaged release.
	
22 Feb 2000:
	Got basic, eighth-note-style beaming working.

20 Feb 2000:
	Got rid of memory leaks in dialog box functions.
	Fixed a few more colliding keyboard commands/accelerators.
	Put in model groundwork for rudimentary autobeaming.

19 Feb 2000: 0.3.3
	Wrote a functions explicitly for calculating the rightmost measure
	  number rather than doing it as a side effect in the drawing
	  routines.
	Packaged release.

18 Feb 2000:
	Changed Denemo so that it would cache the heights of noteheads
	  as well.

16 Feb 2000:
	Split off a lot of what the drawing function was doing
	  into a separate function.
	Part of this involved putting in facilities for saving
	  the x positions of notes rather than recalculating them
	  for each draw-through. I'll do a similar thing with
	  y's soon.

14 Feb 2000: 0.3.2
	Elaborated on Ron Steinke's patch, thereby completing Denemo
	  support of a distinction between major and minor keys.
	Packaged release.
	
13 Feb 2000:
        Adjusted the rest of Denemo such that it no longer uses all
	  those ugly global variables.
	The part of the score that you're viewing now advances (when
	  necessary) if you implicitly add measures to it.
	If you enter a "red-zone" note, it'll be added to the next
	  measure if there aren't any notes in the next measure --
	  before, Denemo would only do this if you were at the very
	  end of the piece.
	Fixed a bug affecting exportation of rests.
	Incorporated Ron Steinke's key name patch. Also fixed the
	  'control-K' interface bug he'd noticed.

10 Feb 2000:
	Adjusted about half of Denemo such that it no longer uses global
	  variables.
	
7 Feb 2000: (post-0.3.1)
	Fixed the problems that have been causing gtk warnings for a
	  long while now (one instance had to do with the use of
	  uninitialized strings, the other an erroneous attempt to add
	  scorearea to the toplevel window as well as the main vbox
	  it contains.)
	Fixed font loading such that it comes up with a reasonable
	  default font if it can't come up with something else useful.

7 Feb 2000: 0.3.1
	Added support for dotted notes in view and control (everything
	  necessary was already in the model.)
	Packaged release.
	
6 Feb 2000:
	Added staff deletion.
	Finally, added export mudela functionality. Added back in
	  chunks of Adam Tee's file.h and file.c to accomplish this,
	  though nothing that he'd be angry about.
	
5 Feb 2000:
	Made initial clef, key, and time signature a property of the
	  staff rather than an actual mudela object (making them
	  mudelaobjects was more trouble than it was worth).
	Added delete measure operation.
	Adjusted functionality such that if adding too many notes to the
	  last measure of the piece, a new measure will automatically be
	  tacked onto its end.

4 Feb 2000:
	Added staff properties dialog.
	Fixed the problem of currentmeasure falling off the end of the
	  screen when doing a lot of note entry.
	The name of each staff is now painted.
	Yet-another-bugfix for the new drawing mechanism.
	Changed sorting function a little bit for mudelaobjects
	  zero ticks in duration, allowing me to remove a hack
	  from the drawing code.
	

3 Feb 2000: 0.3.0
	Checked with Adam Tee to ask if his save patch should be integrated
	  with the main release cycle; he said not yet. I removed most of it,
	  but left in the stuff that wasn't directly related to his save
	  function.
	Packaged release.
	
2 Feb 2000:
	Fixed individual note allocation. The scheme it uses is also
	  now much simplified.

1 Feb 2000:
	Got individual note allocation working.
	Its behavior is still not quite what I'm aiming for when
	  rhythms are syncopated, but where they aren't, it works
	  just about perfectly.
	Fixed things such that multiple measures are now displayed again
	  when they can be.
	
31 Jan 2000:
	Continued working on individual note allocation stuff -- it's
	  almost working.
	Changed things so that currentobject points to NULL at the beginning
	  of an initial measure (regardless of the initial timesig, etc.)

30 Jan 2000:
	Added some groundwork that allows Denemo to give explicit note
	  allocations.
	
24 Jan 2000: 0.1.2
	Got rid of lots of gratuitous NOTE_MARGIN + 's
	Added red exclamation point indicator when a measure has
	  too many beats (not yet perfect)
	Added display of measure numbers
	Added ability to display different parts of the score (just
	  left-to-right so far)
	Adjusted display such that a double-bar-line is shown at the
	  end of the piece
	Replaced every constant-length gchar * I could find with
	  a dynamically-resizing GString * instead.
	
23 Jan 2000:
	Fixed the display of adjacent notes in a chord so that chord tones
	  are displayed where you'd expect them.
	Added cursor colors other than gray! Green for ability to add music
	  at the cursor, red if it'd extend past the end of the measure.

17 Jan 2000:
	Added Control-arrow shortcuts for moving around measure-by-measure.
	Denemo now calculates the number of measures in width it can
	  display and displays only those measures.
	Added keyboard shortcuts and a dialog for setting the space between
	  staves.
	Added commands to insert a first and last staff; moved operations
	  that add a staff to their own menu type.
	Got rid of all that ugly TOP_MARGIN and STAFF_START stuff, as it's
	  now taken care of by the adjusted scheme for providing space
	  between staffs.
	Fixed dialogs such that they open at the position of the mouse.
	
16 Jan 2000: 0.1.1
        Final packaging of release.
	
15 Jan 2000:
	Got time signature dialog working. Multiple simultaneous time
	  signatures seem to work too, though I don't think Lily supports
	  them. :)
	Added a dialog for setting the measure width.
	Added keyboard shortcuts for setting the measure width.
	Updated DESIGN, TODO, etc.

13 Jan 2000:
	Started time signature dialog.
	Adjusted the add measure code such that adding a staff will give it
	  the same clef, key, and time signatures as the current staff. Can
	  be added before or after the current staff.
	Put in groundwork for adjusting the width of measures, which I can
	  now do with the help of gdb.
	(This is also important for adjusting the time signature such that
	  much space isn't wasted.)

12 Jan 2000: 0.1.0
	Final packaging of release 0.1.0
	
11 Jan 2000:
        Finished model, control, and view coding for block-chords - they now
	  work
	Added function for drawing ledger lines
	
10 Jan 2000:
        Began coding in model support for block-chords

6 Jan 2000: 0.0.7
	Wrote code for actually displaying the key signature (it had to be
	  deduced from the appearance of the music beforehand)

5 Jan 2000:
	Added support for changing the key signature
	Added display of accidentals where the context demands it but not
	  elsewhere

4 Jan 2000:
	Got clef-change dialog entirely working.
	Added preliminary support for accidentals.
	
3 Jan 2000:
	Removed S key as shortcut to 'new staff'.
	Added '2000' to all copyright lines.
	First stab at the change-clef dialog.
	
1 Jan 2000:

	Finally got New Staff off of the Edit menu working; I ran into lots of
	  stupid problems doing so and as a result it took a lot longer than
	  it should've.

31 Dec 1999:

	Debugged stuff such that adding new staffs actually works.
	Fixed pixmaps such that the background was pure-white, not
	  off-white.
	Reworked height-calculating code.

30 Dec 1999:

	Added S command to add a new staff.
	Started working on the scaffolding for it.
