[Gelöst] TrillSpan

Begonnen von Birke, Dienstag, 18. Oktober 2022, 20:53

« vorheriges - nächstes »

Birke

Der Triller soll genau auf dem "A" aufhören:

Du darfst diesen Dateianhang nicht ansehen.

\relative {
  \override Score.SpacingSpanner.common-shortest-duration = #(ly:make-moment 1/16)
  % too short:
  c''2\startTrillSpan c c\stopTrillSpan a
  % too long:
  c\startTrillSpan c c a\stopTrillSpan
  % ok:
  c\startTrillSpan c c2*4/5 s2*1/5\stopTrillSpan a2
}

Die beiden letzten Takte sind okay. Ich frage mich nur, ob es dafür noch eine andere Methode gibt, indem ich etwa Eigenschaften von TrillSpan überschreibe?

harm6

Hallo Birke,

willkommen im Forum.

Wenn ich Deinen Code kompiliere bekomme ich ein leicht anderes Bild.
Mag an der verwendeten Version liegen (bitte gib immer an welche Du hast), ich habe 2.23.14 genutzt. Kann aber auch sein, daß Du noch andere Einstellungen hast...

Aber zum eigentlichen Thema.
\once \override TrillSpanner.bound-details.right.padding = 0
ist wahrscheinlich, was Du suchst. Den numerichen Wert mußt Du natürlich noch nach Belieben einstellen. Allerdings ist zu beachten, daß der TrillSpanner ja aus einer Aneinanderreihung von Trillerelementen besteht. Somit kann der TrillSpanner auch nur verlängert bzw verkürzt werden indem man Trillerelemente weg nimmt oder dazu tut.
Insoweit werden die Werte für right.padding mitunter scheonbar keine Wirkung haben bis auf einmal ein komplettes Trillerelement erreicht ist.

Hmm, nicht sicher, ob das verständlich war. Probiers hat aus...

Gruß,
  Harm

Birke

#2
Vielen Dank Harm!
Meine Version war 2.22.2
padding ist das was ich gesucht hatte. :)
Ich hatte in der Internal Reference unter 3.1.134 TrillSpanner nachgesehen:

bound-details (list):
'((left (text #<procedure musicglyph-markup (layout props glyph-name)>
              "scripts.trill")
        (Y . 0)
        (stencil-offset -0.5 . -1)
        (padding . 0.5)
        (attach-dir . 0))
  (left-broken (end-on-note . #t))
  (right (Y . 0)))

Da sah es für mich so aus, als hätte die Eigenschaft bound-details.right nur eine Eigenschaft Y (Sorry, ich kenne mich mit Scheme nicht aus). Woran kann ich sehen, dass bound-details.right auch padding besitzt?

Malte

In diesem Abschnitt der Internals Reference kann man sehen, welche Elemente diese Liste haben kann. TrillSpanner implementiert das line-spanner-interface, verwendet aber offenbar für right die Default-Werte bis auf für right.Y.

Birke

Danke Malte! Jetzt sehe ich klarer! :)