Meine Klusters habe ich mit einem \markup gelöst.... Wenn, zB, d und dis direkt nebeneinander sind, kann ich so machen:
naturalplusflat = \markup { \natural \flat }
naturalplussharp = \markup { \natural \sharp }
\relative c' {
\once \override Accidental
#'stencil = #ly:text-interface::print
\once \override Accidental #'text = #naturalplussharp
\once \override Score.AccidentalPlacement #'right-padding = #1.5
<d dis>4
}
Aber wenn das Akkord komplizierter ist, sowie < d dis bes' es >, werden alle Vorzeichen mit meiner Lösung nach "naturalplussharp" geändert. Also das d/dis ist richtig, aber statt bes und es hat man b und e mit auflösezeichen und kreuz davor. \override scheint nicht innerhalb ein Akkord auf einzelne Töne zu gehen, nur auf das ganze Akkord. Vorschläge?
Genau was zu tun ist kann ich nicht sagen, aber tweak kann benutzt werden innerhalb eines Akkordes. Siehe 5.3.4 in den Notationsreferenz.
Hoffentlich hilfts
Und unten im NR 5.3.4 (http://lilypond.org/doc/v2.13/Documentation/user/lilypond/The-tweak-command.de.html) steht
ZitatDer \tweak-Befehl kann nicht eingesetzt werden, um Hälse, Balken oder Versetzungszeichen zu verändern,
Geht also nicht.
Aber kürzlich (http://lists.gnu.org/archive/html/lilypond-devel/2009-07/msg00342.html)hat ein angehende Entwickler diese einleuchtende Regel doch umgestossen.
Und ich habe eine nette Accidental-Eigenschaft entdeckt:
restore-first - für Missbrauch gerade prädestiniert.
Aus dieser Kombination resultiert, praktisch verpackt, folgende Definition:
naturalplus =
#(define-music-function (parser location mus) (ly:music?)
(set! (ly:music-property mus 'tweaks)
(acons 'before-line-breaking (lambda (grob)
(let ((accidental (ly:grob-object grob 'accidental-grob)))
(if (not (null? accidental))
(ly:grob-set-property! accidental 'restore-first #t))))
(ly:music-property mus 'tweaks))) mus)
Diese dann unmittelbar vor dem versetzten Akkord-Ton einsetzen:
{ <d' \naturalplus dis' bes' es''> }
Gruss