Autor Thema: Komplizierte Vorzeichen  (Gelesen 2680 mal)

kilgore

  • Member
Komplizierte Vorzeichen
« am: Mittwoch, 5. August 2009, 13:48 »
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

  • Member
Re: Komplizierte Vorzeichen
« Antwort #1 am: Mittwoch, 5. August 2009, 19:04 »
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

  • Member
Re: Komplizierte Vorzeichen
« Antwort #2 am: Donnerstag, 6. August 2009, 01:04 »
Und unten im NR 5.3.4 steht 
Zitat
Der \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

  • Member
Re: Komplizierte Vorzeichen
« Antwort #3 am: Freitag, 7. August 2009, 10:13 »
Super comper!  Sehr elegante Lösung!  Danke!