[gsharp-devel] Re: [gsharp-cvs] CVS update: gsharp/drawing.lisp gsharp/measure.lisp gsharp/packages.lisp

Christophe Rhodes csr21 at cam.ac.uk
Tue Nov 22 11:01:50 UTC 2005

rstrandh at common-lisp.net (Robert Strandh) writes:

> moved the computation of the final accidental (determine whether
> one should be displayed or not according to the key signature) from
> drawing.lisp to measure.lisp.
> [...]
>  (defun compute-staff-group-parameters (staff-group stem-direction)
> -  (compute-final-relative-note-xoffsets staff-group stem-direction))
> +  (compute-final-relative-note-xoffsets staff-group stem-direction)
> +  (compute-final-accidentals staff-group))


This change causes a problem: compute-staff-group-parameters is only
called if the element containing the staff group is modified; however,
the final accidentals need to be recomputed if the staff's key
signature changes (and also, in my working copy, if a key signature
has been inserted earlier on the staff...)

To reproduce the problem, start gsharp and type
  c M-# M-#
the key signature will acquire a c-sharp, and yet the c-natural will
remain without an accidental; typing 
  # @
will cause it to acquire one.



More information about the gsharp-devel mailing list