The current accidental-implementation is not flexible enough.
The webern accidental requires an ugly hack, and Valentins suggestion
for distinguishing neighboring notes is currently not possible.
I therefore suggest:
- Extend localKeySignature to for each local accidental also to
contain information about the measure-position at which the note ends.
- move check_pitch_against_signature (from accidental_engraver.cc) to
scheme.
In the list of accidental-rules, the type-laziness-pairs will be
replaced with scheme functions. - so that instead of
\set Staff.autoAccidentals = '(Staff (same-octave . 0))
one would say
\set Staff.autoAccidentals = `(Staff ,(make-default-accidental-rule
'same-octave 0))
where make-default-accidental-rule makes a four argument
scheme-function - taking a localKeySignature, a pitch, a bar_number
and a measure_position - and returning what check_pitch_against_signature
currently returns.
I think I should be able to do these changes as soon as I get the
green light.
-Rune
_______________________________________________
lilypond-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/lilypond-devel