• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Komplizierte Vorzeichen

Begonnen von kilgore, Mittwoch, 5. August 2009, 13:48

Vorheriges Thema - Nächstes Thema

kilgore

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?

derHindemith

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

comper

Und unten im NR 5.3.4 steht 
ZitatDer \tweak-Befehl kann nicht eingesetzt werden, um Hälse, Balken oder Versetzungszeichen zu verändern,
Geht also nicht. 

Aber kürzlich 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

kilgore

Super comper!  Sehr elegante Lösung!  Danke!