Textspanner verschachteln

Begonnen von Hilflos-im-Code, Mittwoch, 11. April 2018, 11:36

« vorheriges - nächstes »

Hilflos-im-Code

Kann man Textspanner verschachteln?

Also  z.B: \startTextspannA  \startTextspannB \startTextspannC \stopTextspannB  \stopTextspannC  \stopTextspannA

Malte

Ja, indem man sie in verschiedene Voices packt. Man braucht dafür nicht unbedingt mehrstimmige Musik, diese zusätzlichen Stimmen müssen ja nichts weiter enthalten:\version "2.19.81"

\new Staff {
  <<
    { 1 1 1 1 1 1 }
    \new Voice {
      \override TextSpanner.bound-details.left.text = "A"
      s1*5\startTextSpan s1\stopTextSpan
    }
    \new Voice {
      \override TextSpanner.bound-details.left.text = "B"
      s1 s1*2\startTextSpan s1*3\stopTextSpan
    }
    \new Voice {
      \override TextSpanner.bound-details.left.text = "C"
      s1*2 s\startTextSpan s\stopTextSpan
    }
  >>
}

harm6

Hallo,

LilyPond akzeptiert nur einen TextSpanner pro Voice.

Also gibt es nur zwei Möglichkeiten:

(1)
Verschiedene Voices. Hat Malte ja schon demonstriert.

(2)
Verschiedene TextSpanner.
Das würde bedeuten verschiedene Grobs mit TextSpanner-Eigenschaften.
Jeweils neue Namen, Aufrufbefehle, class, type, engraver.

Das ist schon im alten Forum gemacht worden, der neueste code ist wahrscheinlich hier.
https://archiv.lilypondforum.de/index.php/topic,2503.msg14199.html#msg14199
Man könnte allerdings nicht ganz unberechtigt von over-kill sprechen ...
Aber die ganze (lange) Diskussion ist sehr lehrreich.

Gruß,
  Harm

Hilflos-im-Code

Danke. Ich konnte den Code für mich umbauen.

Verstehen tue ich von dem Thread kein Wort. Bei Lilypond muss man im Gegensatz zu anderen mir vertrauten Computersprachen sehr früh mit den Konzepten hinter der Maschinerie vertraut sein, um etwas zu verstehen oder selber stemmen zu können.