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
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to