   FIXED AND REMOVED BUGS (04/18/88)

A *** to the left of the bug # means it has been fixed.
A XXX to the left of the bug # means it has been removed from the bug list.

***1.
    Allow symbols between note and its accidental.  Creates overlapping
    domains.  re-drawing routines, especially do_space, should be smart
    enough to handle overlapping domains.  This is especially important
    for certain stem-up/stem-down chords.  For example, if you have
    an f/f octave half note stem-down and a c quarter note stem up.  If
    there's an accidental on the C it would go before the f/f octave.
    This bug also causes problems when a chord symbol has been placed
    above the note before putting an accidental on the note.

***2.
    Delete rehearsal mark at left edge of screen:  bad redraw.  Same thing
    happens when rehr mark is on left edge and you locate to somewhere else.

XXX5.
    Since add_symb and add/del_space work differently, sometimes you can add
    a symb at a place where add/del_space could never put it.

	 Who cares?

XXX6.
    Deleting a bar line can result in time sig or key sig in the middle of a 
    measure.  This would be taken care of in Midi-Score's re-bar and re-notate
    options.

XXX7.
    Can't line up 2 kinds of stemless notes, regardless of autostemming.
	 
	 Who cares?

XXX9.
    Apply rules to stems-facing-in chords?  prevent note splitting another
    note from its accidental.  Equivalent to #1.

10.
    Do_space() bugs:  
    
XXX -- put an accidental on a note, far before it; then insert another symbol 
       between the accidental and the note, then insert space before the note:
       incorrect redraw.
XXX -- There are many situations (see SOMEWHER.SCO) where do_space() simply 
       doesn't work.  Related to slurs?
*** -- can't do_space between clef and following key sig.  Greg Whelchel says 
       also sometimes between key sig and following time sig.
*** -- after deleting a key sig, you can't close up the space before the 
       following time sig.
11.
	Midi step entry bugs:
***-- accidentals too far from their respective note heads
***   -- someway of handling enharmonics? (set some options?)

XXX12.
    You can stick a menu title:  click on a menu cmd but don't let up on
    mouse button.  While button down, slide mouse into another menu title.
	 This is a GEM bug, not really treatable within my code.

13. Ties:  
***   -- long ties are too high?  Use a single height for all slurs regardless
         of their length?
***	-- excessive redraw after untieing if region cut a tie
***	-- right end of tie tends to be higher or lower than left end.
***	-- cut by screen:  continuation at start of line should be twice as
			far back, so that tie gets clipped at its high/low point rather than
			at its start point.

***15.
   Insert commands:

   -- Clefs basically work correctly now, but there are problems at the
      start of the score:  For example, in 3-staff format insert clefs
      on staves 1 and 2.  Then go back and try to insert a clef on staff 3.
   -- Insert key sig, meter, or bpm:  Starting at (b_curs,p_curs), search
      forward until you find a note, rest, or bar line.  Note (b,p) of
      any key sig, meter, or bpm you find along the way.
      bpm:         if (bpm was found)
                     replace it
                  else
                     insert after cursor
      key sig:      if (key sig was found)
                     replace it
                  else
                     if (bpm was found)
                        insert after bpm
                     else
                        insert after cursor
      time sig:   if (time sig was found)
                     replace it
                  else
                     if (key sig was found)
                        insert after key sig
                     else
                        if (bpm was found)
                           insert after bpm
                        else
                           insert after cursor
   -- Insert blank measures or paste clipboard:  Starting at cursor, search
      forward for a note, rest, or bar line:  insert before it.  If none
      found, insert after cursor.  (Does insert-blank-measures always go
      through paste()?  If so, this change is only in one place.)

***16.
    You should not be able to delete a bar line by clicking above or below
    the top or bottom staff on the screen.  In other words, you should have
    to click on the visible portion of the bar line.  Also for key sigs.

***17.
    In a beamed group with not much space between notes, it is hard to
    add a note to one of the chords in the beam.  Often, the insert occurs
    on a different chord from the intended one.  Don't include flags in 
    flagged note w_symbs if the notes are beamed.  Also, don't include flags
    in flagged note w_symbs if the note is stem down.  You cannot create a 2nd
    between two voices if the two notes are flagged --
    the flagged notes' w_symb are too wide, causing excessive snapping -
    also happens frequently when inserting 16ths against 8ths, etc.  In
    general, snapping rules on notes should be much simpler.

***18.
    Starting with a triplet, stems non-automatically up, beam it while
    auto-stemming is on:  stems flip, but tuplet doesn't.  Presumably, the
    vice versa situation is true also (start with a beamed group and
    tuplet it)

***19.
    Shouldn't be able to flip or auto-stem when the "other voice" is all
    rests.  This should be easy to fix now that rests have a stem bit.

***20.
    In color, drawchord() doesn't always completely write over a previous
    chord.  This causes a mess in CHORDIAL and in ECHRDIAL.

***21.
    In color, the cursor's y-coord should be up one.

***22.
    Tuplet y coord not right for unflagged notes on ledger lines.  See
    TUPLETS.SCX.

***24.
    There are cases (see SOMEWHER.SCO) where accidentals won't go onto notes;
    they get treated as free symbols.

XXX26.
    When there are lots of ledger lines above the top staff, nth endings
    look funny.  Each ending should include a ledger line offset from the
    top of the staff (use the reserved bytes).  This has been transferred to
    IDEAS file.

XXX28.
    Delete a time/key/etc. sig -- screen redraws from x_left to delete point.
    Not true. (Maybe this used to happen, but if so then it's been fixed.)

XXX29.
    Does format disk work???  Yes.

***30.
    During mouse auto-repeat (e.g. changing metronome note value), the
    mouse rapidly toggles between arrow and big mouse.

***31.
    In situations where one dialog box follows another very quickly (the
    new sequence, chordial into echrdial, guitdial into egtrdial, etc.)
    if you click out of the first dialog box and then very quickly click
    again before the second dialog box appears, the program hangs.

***32.
    Rehearsal marks and endings collide:  Draw rehearsal marks IN FRONT
    of all other symbols.  That is, for each screen draw them last and in
    replace-mode.  Similarly, rehearsal mark / slur collisions when rehr mark 
    at screen left edge

***33.
    When inserting notes, ignore rehearsal mark domains (allow note very
    close to a bar line that has a rehearsal mark)

XXX34.
    Add_accide() redraw too elaborate?

***35.
    Init all editable text fields to reasonable #s in RCS

***39.
    Tuplet bracket should cut numbers, not go around them.  Currently, due
    to the new font, tuplet strings can overlap the staves.

***40.
    Insert an ending starting at bar 0 -> hangs.

***42.
    Locate:  if new cursor bar # = old one, don't redraw screen.
    Expand/compress:  if mult/div by 1 and add/sub 0, don't do anything.

***44.
    Bad bug:  delete() can't call reorgdata(), because it will trash the
    packets that delete() is trying to preserve.  Reorgdata() must be
    called from places at higher levels -- wherever we don't care about
    preserving specific packets (reorgdata() DOES preserve barn table
    and rehr table)  Doug Rider says take the BACH.SCO, and do repeated
    region deleting:  Delete all notes on staff 2 / screen 1, then delete
    all notes on staff 3 / screen 1, then scroll forward to the next
    screen, and repeat it, and so on.  Eventually the program will crash.

***45.
    Findgroup() is MUCH too slow.  Test speed by inserting space at start of 
	 PIANO.SCO.  Or is it findsymbs() that is too slow?  Grouping functions
	 too slow, presumably for same reason.

***48.
    Range dialog:  rehrmark not init'd correctly.  Order of teds:

    1         3
    2         4
    
    and it can all be flattened now that parts aren't selectively hideable.

***49.
    Throughout all code I've used a.w instructions without realizing that
    the source operand gets sign-extended.  There may be a few cases where
    this will cause problems.

***50.
    If you put a chord or guitar chord onto a non-existent ledger line, it
    gets inserted.

***51.
    Diagonal slurs don't work in color.

***53.
   "Mouse repeat rate" in MISCDIAL is displayed as 0-9, which is meaningless.

***54.
    Sometimes overlap prevents copy, even when there is no overlap.  A beamed
    8th note triplet with a bar near left of it.  Depends on whether that bar
    is the left edge bar line.

***55.
    Shift left/right scroll:  if attempting to scroll beyond start or end,
    simply scroll to start or end (clamp it).

***56.
    Get rid of all multi-dimensional arrays throughout the entire program.
    In other words, a[i][j] should be coded as a[n*i+j]

XXX57.
    New dialog boxes:  should not reset.  This is in the IDEAS file.

***61.
    Very curvy slur may have domain starting before the start of slur symbol,
    and vice versa.  This causes redraw bugs.  Enforce a limitation:  slurs
    can't be more than half circles.

***62.
    Ex_ending() shouldn't allow an ending with no #.

***63.
    Bad redraw:  replace a bar that is the end of an ending

***64.
    Cursor at bar 0 gets trashed.  (Robert Feinman reports this.)

***66.
    Tuplet dialog:  the D should default to 2 at start of program, but never
    again after that.

***68.
    In miscellaneous dialog box, wording is bad:  "Cursor" should be "Mouse".

***69.
    Loosen up symbol-finding in delete mode for stretchies.

***70.
    Playback:  nth ending won't play correctly if longer than 1 measure.

71.
XXX -- Tie command should tie all tie-able notes within the selected region;
       not just the first pair of them.
*** -- You should be able to tie an untied note into a tied set (allows
       creating ties wider than screen)
*** -- You should be able to untie part of a tied set (allows deleting ties
       wider than screen)

XXX72.
    Carlyle Hume reports that CLEFDIAL looks awful in color.

73.
     Playback bugs:
*** -- Type <control><P> repeatedly: sometimes only 1 voice plays.  Easy
       to do:  Play a score containing only one chord; hold down <Control><P>
       and allow it to auto-repeat.
*** -- Sometimes the program locks up. See HANG.SCO.
*** -- Play does not correctly interpret a whole rest centered in the measure.


***74.
    You can hang the system by entering a dialog box with the mouse button
    down:  Click on guitar frame in special symb menu.  Without letting the
    button up, slide the mouse into the dialog box and pass over the exit
    button.  This doesn't always hang; only sometimes. (You really have to
    be trying to make it happen.)  It might be a good idea to turn off
    vex_butv() throughout the entire program (like Stefan does), except
    in form_alert(), fsel_input(), while interacting with the menu bar, and
    whenever the system might put an alert box on the screen (i.e. during
    disk operations, and during acc_loop.)

***75.
    Expand/compress should not include the bar line at the start of the
    section.

***76.
    Ledger lines above the staff:  If there's a 2nd on 1 ledger line above
    the staff, and there's a note on 4 ledger lines above the staff, the
    ledger lines between the 2nd and the single note shouldn't be extra
    wide.  Analogously for ledger lines below the staff.

***77.
    Chord editor:  b5, #5, (anything 5), Add E, /3.  Also, don't lock out
    badly ordered parts:  I saw a C7b13b9.

78.
    Printer output:  
*** -- in color, printout uses the wrong system font for chord 
       symbols.  This problem may extend to text in general.
*** -- slurs and ties don't come out
*** -- large 3-staff score formats: symbols on staves 2 and
        3 get clipped.  Acts as though something in GR
       is overflowing signed int.
*** -- slurs cause:  crash, hang, infinite paging, etc.
*** -- PNO/VOCL.SCO:  notes below staff 3 get partially clipped, no ledger lns
*** -- According to Dave Oleniacz, text doesn't work from a color monitor
*** -- QUESTION.SCO:  left-edge bar line y1 is a little off.
*** -- Draft mode won't work on my printer; re-test after /216 fix.
XXX -- change wording of "measure # offset" and "page # offset"

***79. 
    Beam this: dotted 8th + 16th + dotted 8th + 16th.  The first broken beam   
    points in the wrong direction.

***80.
    In the note-drawing routine, don't use whole notes and q-notes as the
    source of all note heads.  Instead, use half notes and quarter notes
    as the source for all stemmed notes, and whole notes and q-notes as
    the source for all un-stemmed notes.  That way, we can make the whole
    note and half note heads slant oppositely.

    Also, note-drawing should be done in fewer steps.  Currently, (1) draw
    stem, (2) extend stem, (3) note head.  This might be too slow, especially
    with clipping on.

***83.
    Wording in tuplet dialog box:  "__ tuplet notes, to be played in the time
    of __ non-tuplet notes."

84.
   Auto-scoring:
*** -- In infinity/4 time, minimize-rests creates garbage at end, crashes
       on following new command?
*** -- auto-score SHOULD end in a bar line
*** -- Pictures, track 1, in F:  wrong accidentals at bar 40
*** -- In dialog box, move "skip it" button to the right of the staff # button.
*** -- XMASSNGS crashes when auto-scored into 2 voices.
*** -- People are taking this very seriously:  beaming and note durations
       should not cross downbeats.  In 4/4 I really should try to beam groups
       of 4 8th notes. JEFFBUG.SNG:  When minimizing rests, beams are wrong.
       I guess all this boils down to needing to completely re-do the beaming.
*** -- That "intelligent" duration divide-down sometimes flops:  quarter tied
       to first of 4 16ths comes out as dotted 8th tied to 8th plus 3 16ths.
*** -- Beamed groups of more than 2 are coming out looking right, but if you
       flip them you'll see that only the ends are actually beamed.
*** -- Auto-scored time signature delta-x should be 1+previous domain, not 
       just simply 1.
*** -- default default quantize by 32nds.

XXX85.
    Don't allow chord symbols and guitar symbols to overlap a bar line.  
    This causes problems for the printer driver.  Does this have to be 
    extended to ALL symbols?

XXX86.
    After deleting/inserting a clef or a key signature, the following key
    sigs  must redraw.  For example, let's say you have D
    Maj on bar 1 and C Maj (2 naturals) on bar 3.  When you delete D Maj
    the C Maj will also be deleted, because it wouldn't make sense to
    have a 2-naturals key sig change in the key of C (the start of the
    score is assumed to be in C Major).  Another example:  You have
    D Maj on bar 1 and C Maj (2 naturals on bar 3.  You insert G Maj
    on bar 2.  The C Maj on bar 3 will be converted to a single natural.
    This will be taken care of by Midi-Score's re-notate option.

XXX87.
    Insert-metronome mark should let you pick a y-coordinate (a L/R-edit
    string within BPMDIAL, don't let it out of range of existing ledger
    lines for the top staff).  This has been transferred to IDEAS file.

***88.
    Dots on rests are too small.

XXX89.
    "Whole" rest or note = whole measure, not necessarily 4 beats.
	 See 121.

XXX90.
    Copy/Cut section should not include time sig and key sig at the section's
    start.

***91.
    Play mode:  Use <CR> for stop; <TAB> for (un)pause.  Ignore other keys.
    This makes it consistent with MTST and leaves other keys available for
    future uses.

***92.
    Rest symbols need to be re-designed.  See Gardner Read, p.120.

***93.
    Alert and dialog buttons consistent: cancel on right.

XXX94.
    Doug Rider reports: can't cut blank measures.  No, he just doesn't
    understand.

XXX95.
    Midi Step entry and auto-scoring:  altered unisons are impossible.
	 This is an IDEA, not a bug.

XXX97.
    You should be able to set a y-coord for a rehearsal mark.  This has been
    transferred to IDEAS file.

***98.
    Guitar chords:  Put a little "fr." next to fret offset.  Put "fr." in
    gtrstuff, or in minifont.

***99.
    gr_text() horizontal clipping should be bitwise, or at least bytewise.
    Currently it is stringwise.

***100.
    RNGEDIAL: can't type into rehear fields.

***101.
    Ending too short for its #s:  messy.

***102.
    PNO/VOCL.SCO:  First character of text won't come out.

XXX103.
    Thickened ties look bad, especially on printout.  If I get them to look
    good, then also optionally thicken diagonal slurs.  Otherwise, get rid
    of thickening altogether throughout the program.

***104.
    "New" command should default the header, except for certain things,
    such as the score format info.

***105.
    Display left edge bar line before any other symbols.  Currently it looks
    a little weird, because the left edge bar line gets displayed last.

***106.
	Accidental before note can appear partially to the left of x_left.
	See 125.

***109.
    Go into chord or guitar editor from function key:  Mouse flickers
    into/out of symbol mode during editor.

112.
    Lyrics:
*** -- underscore at end of screen:  underscore goes off screen.  Clipping
       should be set during lyric editor.  Also when the first syllable on
       the screen is centered, it can be pushed back farther than x_left.
*** -- redraw bad (e.g. slurs) when insert/delete space
*** -- after horizontal scrolling, x-coords are messed up:  left-arrow back
       to a syllable and then space forward.
*** -- <escape> doesn't wipe out underscore?
*** -- If you delete the last note in a column, all syllables in that column
       should also delete.  This can be tied into the code that does likewise 
       for control symbols.
*** -- scroll causes:  multiple cursors on screen, rehearsal mark at left
       edge trashed.
*** -- two consecutive syllables consisting of only underscores.  Delete the
       second, then delete the first.  Redraw problem due to the overlap
       zone between them; it gets xor'd twice.
*** -- Bow-and-arrow can't delete symbols that are near a lyric syllable.
*** -- Lyric syllable CAN be first in its column (LYRICS.SCO).  Lyric
       editor assumes that 1st in column is always a note.  Wrong.  Escape
       ends up deleting notes.

***113.
    Error messages for file functions should be more specific.  Especially
    "Cannot save to disk.  Disk full."

***114.
    Hot spot of chord/guitar/text should be centered vertically.  In 
    general, symbols should have a vertical component to their hot spots.
    A lot more intelligence can be put into find_del() for ALL symbols,
    not just chord and guitar symbols.  BPM hot y is too low.

XXX116.
    During expand/compress do a pack_insert() for each bar -- i.e., expand/
    compress won't affect clefs/signatures.  This is an IDEA, not a bug.

XXX117.
    Auto-scoring can create a tied group that won't fit on the screen.  There's
    no way you could have created it manually, but more importantly there's
    no way you can un-tie it manually.

***119.
   Mouse in play-mode:  play over midi velocity is too high.

***120.
	Lyrics:
    -- Interferes with do_space().

121.
   Auto-Scoring:
***-- if numerator is divisible by 3 and >4, don't allow full measure
      notes/rests.  Instead do anti_strad()
***-- garbage at end of a staff if it's not as long as the other staves being
      auto-scored at the same time.
XXX-- cat.sng:  bar 32 is missing.
***-- Jeff has a situation where notes are missing.
***-- Case where anti_strad() fails: in 4/4, 16th rest + quarter note tied
      forward to 16th note, followed by 8th note.  Double-length anti_strad
      must start on a beat.
***-- WG43.SNG:  in measure 15 there are half notes duplicated on themselves.
***-- whole rests should be centered in each measure.
***-- whole rests should NOT be centered if in N/1 time
***-- more than 3 accidentals on a cluster:  collision.
***-- Remember track/staff assignments.
***-- When autoscoring quantized to 128th, you can end up with dx>127 (i.e.
		negative dx's).
***-- "skip it"s should all default off.
***-- more intelligent rest minimization.
XXX-- BACH8 autoscored with incorrect accidentals?  No: It's ok.
***-- in certain time sigs, whole rest = entire measure, regardless of how
		many beats that is.
***-- Doug Rider reports:  in 4/4 time, whole note tied to whole note tied
		to half note, the second whole note's measure is too narrow.
***-- in C major:  flat tied over a bar line followed by another flatted
      same note.  Forgets to re-flat the second note.  Bar line must cancel
      all accidentals except those on tied-back notes.
***-- TRIPLET.SNG hangs.
***-- Move "Beams" to above the minimizes.
***-- "2" and "3" quantize unclear.  How about a single button saying "triplet".

XXX122.
   Play does not correctly interpret a whole rest centered in the measure.

***123.
   Printout:
   -- Justification pulls lyric underscores apart.
   -- There are situations (see prt_bug.sco) in which x-coord of first
      symbol on a line is the same as that line's clef.
   -- Measure #s should default to hidden.
   -- Title page: Non-centered lines must somehow be split into two halves, 
      each half left- or right-justified.
   -- On print out, ending at start of line should be shifted to the right.
   -- Title page: Too much space between title and first system
   -- Title page: The non-centered lines (composer/lyrcist credits) are too 
      far away from the first system.
   -- KYSIGBUG.SCX
   -- Increase size of buffer so that show_symbs() is called fewer times.
   -- Bar lines don't print in a "tall" score?
   -- Rough and draft mode no longer work.
   -- When there is a key sig of all naturals, it gets duplicated at the
		start of all subsequent lines.
   -- When print range starts at something other than start of score:  Clef
		y-coords are totally whacko.
   -- If there is a time sig change at where printing starts, both
		the old AND the new time sigs get put at the start of the printout.
		Same with key sigs.
   -- If there is a key sig change at the left edge bar line, you get a garbage
		rehearsal mark printed there.  This garbage rehearsal mark substitutes
		for a rehearsal mark if that bar line had one.
   -- When left edge of system has a rehearsal mark:	If there is a
		time sig change at that bar line the rehearsal mark doesn't get drawn.
   
***124.
    Delete notes:  Bad redraw of lyrics beneath it.  Other symbols also?
    How am I determining the redraw range for this function?  Hopefully I'm
    not simply using the region's range.

***125.
    Lyrics just barely trash the left edge bar line, in PNO/VOCL.SCO when
    bar 1 is on the left edge.  Clipping not set?  See 106.

***126.
    Piano format, two note chord on staff 3, play midi+internal, one of
    the notes sticks on midi.

XXX127.
    Tim Landers reports a situation in which top line of title is centered
    and second line is centered.  Top line is correct, but 2nd line wasn't
    supposed to be centered.

***128.
    Allow rehearsal mark inserted/deleted at left edge bar line.  This should
    redraw correctly now that that rehearsal mark is shifted 9 pixels to
    the right.

XXX129.
    Our scheme of allowing title lines to be centered or left-justified
    will NOT handle the common case of text left- and right- justified on
    the same line.

XXX130.
    I've seen a situation where every time through the main event loop
    EZ-Score would execute a do_menu() of "About EZ-Score...".  It is
    dangerous to assume all messages are menu-selection.  The main
    event loop should filter out other message types.

***131.
   Minor redraw bug:  Delete a dotted note that is tied back.  The dot
   doesn't go away.

***132.
   In a totally bizarre situation a chord symbol can be longer than the
   maximum # of characters allowed for in the dialog box:  Abaug(no 3rd)
   maj13maj13maj13sus2add#13/D#.

XXX133.
    Put an accidental on a note following a flagged stem-up note.  Then 
    compress section so that that accidental overlaps the flag.  Then insert 
    space betwen the two notes.  Compress-section should NOT be able to cause 
    the accidental and the flag to overlap.  Also compress-section can cause
	 a note's accidental to appear to the left of a preceeding bar line.

	 This is no longer a problem, now that bug #1 is fixed.  See 1.

***134.
   The default height for slurs is a little too small.  Use HAIRPINs to
	judge by.

***135.
    Many of the symbols should be redone.  Craig seems good at this.  For
    example, the dynamics symbols should be more floral, and the '>' accent
    should be more elongated horizontally.

***136.
    Redraw after add_orna is too elaborate.  Should act more like a
    free symbol.

XXX137.
    All rests <= 8th rest should be moved up 1 pixel ?

***138.
    Chords should include "no 5th".

***139.
    During chord/guitar mode, when mouse is clamped against window edge,
    clamp its line A pokables.

***140.
    Playback over midi channel other than 1 doesn't work.

***141.
    Find_sig() fails if staves are scrolled off screen.

***142.
    Insert a time signature after a bar line having a rehearsal mark.  There
    is too much space between bar line and time sig.

***145.
    Lyric y-coord doesn't match ledger line y-coord.  Use lyric font's
    baseline distance to make them match.

***147.
    Midi input disabled interferes with autodial's and mididial's midi input.

***148.
    Compress/expand +1 doesn't work.  Test all possibilities.

***149.
    Use '1' for #define W_START.

***150.
    NAMMBUG.SCX:  Play it, then print it -- crash.  When print rngedial
	 comes up it has no title.

***151.
   -- ex_drive() should reset button dis/enables each time.  Very important
      for switcher's ram disk.
   -- in finishup() close all windows. If running ez-score under switcher and
      you quit while a window accessory is behind the ez-score window weird
      things happen.

***153.
	SLURBUG.SCX:  Slur wider than 360 won't display on screen.  Slur 360-x
	is invisible.  Slur wider than x is totally whacko.

***154.
	Time signatures:
	-- 9/16 bad on printout
	-- 1/xx the '1' isn't quite centered.  Adjust font so that all #s get
		centered.

***155.
	-- Lyrics on screen, 'M' right edge gets clipped off.  Presumably equally
		freaky things happen with certain other characters.
	-- Vertical slicing on text fonts looks bad on screen:  Or-together lines
		instead of simply omitting 2 out of 3.

***156.
	Stem too long on sixth.  Other situations?  Check stem lengths rigorously.

XXX157.
	On printout, free offset string is too far right of guitar frame.

	It's ok.

XXX158.Delta-x's too stretched on printer?

	No they're not.

***159.
	New outchar() is too slow.  Check out CHORDIAL.

XXX160.
	Be able to do things with parts of a tuplet: beam, flip, etc.  This is an
	IDEA, not a BUG.

***161.
	In do_death(), don't crash for exception/IPL vectors found pointing to
	RAM; instead just zero out the offending vectors.

***162.
	If you auto-score BACH_INV.SNG, #1, and then print, accidentals too far 
	back from note heads.  Throughout the program, do NOT use <<gr_device
	to adjust screen coordinates, because in display1.c you'll see that
	printer delta-x adjustment isn't that simple anymore.  In general, test
	accidental delta-x's on printout:  various combinations of suspended
	note heads, clusters, etc.

***163.
   Justification messes things up?  Throughout the program, do NOT use 
	delta-x's from thread to determine screen coordinates.

***164.
	John reports (on a mega): program crashed with mouse apparently partly
	off the bottom edge of the screen.  Insert micro-space, while screen
	is redrawing peg the mouse against the bottom of the screen.

***165.
	POSTCARD.SCX:  Thread has a "crease" in it.  Get file from Rik Shannon at
	14523 Dumont Ave., Norwalk, Ca 90650, 213 864-2423. (Bratman Music Co.)

XXX166.
	WITHYOU4.SCX:  Totally screwed up.  Barton Behr at 383-1351, Suite 435.
	To fix it, call make_barn() (in other words, the barn and/or rehr table(s)
	were destroyed somehow):  Insert a blank measure at start of score, then
	delete it.  He'll have to call me back when he knows how to make it happen.

	Same thing as 64.

XXX167.
	John's "Quest" score:   Rehearsal marks 'E' and 'G' get trashed.  Only
	on printout.  Possible reason:  These rehearsal marks were drawn directly
	by Craig; something wrong with how he does it.
	
	Moved to bug 123.

XXX168.
	Somebody reported to Stefan on BBS:  On a 520ST when he ran out of memory
	it crashed (no alert box).

	He later reported back that he had found the problem to be something else.

**170.
	BADPRINT alert box in startup() is positioned incorrectly:  It happens
	every time you return from switcher.


***171.
	In ex_fmtdsk(), abort on error from the i loop.  This should make error
	detection much faster.

***172.
	Beam y-coords sometimes illegal.  My new y_of_stem() is to blame.  On
	screen AND printer.

***173.
	VALENBUG.SCX:  Measure 4 missing ledger lines on printout.

***174.
	BACH_PRE.SCO:  You get "bad section" alert if trying to print 4-6.  But
	you CAN copy 4-6.  prt_or_scr() screws up find_cut().  Craig will have to
	do prt_or_scr() calls inside ezp.  Once he does this, I should remove the
	calls from event.c

***175.
	If you print while screen is scrolled to bar other than 0 on left edge,
	and if that left edge bar on the screen has a rehearsal mark, you'll get
	that rehearsal mark on bar 0 on the printout.

***176.
	Delete a rehearsal mark at left edge of screen:  Bad redraw.  Also key sig
	at that point won't redraw.

***177.
	Un-Beam doesn't always enable after a region has been selected.

***178.
	-- Tie ends sometimes aren't same y-coord.
	-- on printer, one tie end tends to be thicker than other end (same as
		last one?)
	-- Tie height should be a continuous function of width.
	-- Vertical position of ties is bad:  Collides with ledger lines and
		duration dots.

XXX179. See 178.

***180.
	Most of the section commands don't set the global changed flag.

***181.
	-- Character within rehearsal mark box isn't centered vertically.
	-- On printout, rehearsal mark box isn't square.

XXX182.
	Ledger lines on printout are a little too long.  They tend to run together
	when there are ledgered notes side by side.

	No, they're fine.

***183.
	When deleting and do_space()'ing, a rehearsal mark shouldn't add to a
	bar line's domain.

***184.
	Tuplet is too far from ends of note stems.  Should have no vertical space
	between the two.

***185.
	Bad redraw: Two consecutive triplets.  Insert space before last note of
	second triplet.  See 194.

***186.
	Something's wrong with outchar:  Lower case 'm' in lyrics font gets
	compressed horizontally.

***187.
	After HybriSwitching from EZ-Score to EZ-Score or MTST, menubar(1) doesn't
	draw its lower edge line.  I think this would also happen after quitting
	out of EZ-Score if there a key command to do so.

***188.
	Get_range() won't allow "print all" if score ends with an ending.

***190.
	In insert-chord mode, mousex clamping is assuming monospaced font.  Is
	chordtostr() to blame?

***191.
	Rehearsal mark delta-ledger should default to 2, so as to avoid collision
	with clefs on printout.

***192.
	BACH8.SCX:  Cut from rehearsal mark X to end --> hangs, because did not
	detect cutting the slur.

***193.
   Printout:
	-- Craig's code can be improved (for example, use shifts instead of 
		multiplies and divides).
	-- We need to allow -1 negative measure offset.
	-- Bar number and rehearsal marks collide.  Barton Behr claims that bar
		#s should be BELOW the system.  If bar #s are above system, maybe they
		should be right justified against the left margin.
	-- If only one symbol on a line, staff goes to right edge.
	-- JUSTIFY.SCX:  Justification fails.  Same as last one?
	-- Use gr_text() for page number.

***194.
	-- domain of a beamed group must go too far to left (only if there's an
		accidental on the first node in the group?) because I can't insert a
		bar line before the group.  See 185.

***195.
	-- titles font:  lower case 'r' comes out weird.  outchar() got screwed
	up when I fixed that bug about lower case 'm' in lyric font.

***196.
	x_hot for dotted whole note on screen is weird.  Also on printer?

***197.
	On printout, a bar line can come between a note and its accidental, even if
	this isn't how it looked on the screen.

***198.
	Be able to tie/untie all (un)tieable notes within the selected region.

***199.
	Printout:
	-- SMM804 doesn't work.
	-- Conrad Stolze reports that copyright message crashes.  Presumably this
		is the same problem Ron Jeffrey has experienced.
	-- Note head styles don't work on printer -- I need BL3's from Craig.
	-- FX185 (wide carriage printer) problem with titles.
	-- Problem if a symbol (such as text) overhangs the last bar line of score
		at the end of a partial line?
XXX-- When PRINTER.CNF is for a 24-pin printer, the draft and rough buttons
		should be disabled, and the final button should be forced to select
		(in case someone loads in a score set to draft or rough mode).
	-- JUSTIFY.SCX:  printout chops off end of score.
	-- CANTPRNT.SCX crashes at bar 18 during printout.
	-- on printer lyric font, '1' has too much hook.
	-- on printer lyric font, '0' has its top flattened, or at least it does
		when part of a measure number.
	-- key signature too close to clefs on all but first line of printout.
	-- NEC-P6.CNF doesn't work on Epson LQ-500.

200.
	Generic text problems:
***-- Click with mouse in "T" mode, inserts a question mode.
***-- Click generic text outside of ledger line area:  Text inserts.  Problem
		is a combination of 2 things:  (1) Text fonts (especially mini) aren't
		bottom justified, and (2) do_mouse() won't call delete if mouse is
		clicked outside of any staff.

XXX201.
	Disk format is correct on single-sided.  On double-sided:  Should clear
	side 0/track 0 and side 1/track 0.  Ask Stefan about this.

	Does no harm.

***202.
	In trio format:  Auto-score something with midi channels assigned as
	follows -- staff 1 = 1, staff 2 = 2, staff 3 = 3.  Then cut entire
	score and auto-score again.  Channel assignments are wrong.

***203.
	Greg Whelchel reports:  Color, Click on about, click mouse where an
	acc would be, then exit the dialog box.  All menu items
	become disabled.  If you then go into/out of an accessory, screen shifts
	about 19 pixels up.

***207.
	Bad redraw:  Delete a note that is on a ledger line.

***208.
	CANTCOPY.SCX:  Bad section.  Also can't print SOMEWHER.SCO (start to end).

***209.
	During lyric editor, freeze mouse.

***210.
	Vertical S_LINE crashes in color.

***213.
--	Load in SOMEWHER.SCO, set print option to ROUGH, then print it:  You get
	a title and then nothing else.
-- Printout doesn't work at all.

***215.
	Auto-score:  You can inherit unscorable tracks from previous auto-score.

***216.
	Starting with blank score:  From left to right place note, note, note,
	note, bar line.  Then put bar line before first note.  Hangs.

***217.
	Note and rest in same column.  Click note on top of itself (= delete)
	can delete the rest instead of the note.

***219.
	Bryan has a case where expand-section won't work right:  When notes are on
	ledger lines and close together.

***224.
	Config.ttp:  Lower the minimum lines per page so that landscape config is
	possible.

***226.
	Craig:
	-- Key change to C major in middle of line.  Subsequent lines have
		key sig of 1 natural at start of each.

***227.
	-- After a clef change, subsequent start-of-line key signatures are
		positioned for wrong clef.  Problem is that b_start,p_start
		are not valid during printout, so find_sig() fails.  show_symbs()
		should NOT call find_sig() to get what clef to pass to putkeysig().
		Instead search through currscreen up to the key sig.  Only then if
		not found call find_sig().  On printout, a clef WILL be found in
		currscreen, so find_sig() won't get called.

***230.
	Lyric editor:  If cursor is on a chord having no syllable, type insert,
	and the chord rips apart.
