Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: LaLuneNoir am Mittwoch, 18. Februar 2009, 20:08
-
Hallo,
ich hab folgendes Problem: Ich möchte ein crescendo durch Text und Linie folgendermaßen darstellen
cre - - - scen - - - do
Welche Möglichkeit gibt es da? Ich hab schon einiges versucht, unter anderem einen TextSpanner von "cre" bis "scen" und dann einen weiteren bis zum do, aber das hat nicht geklappt. Hat da wer eine Idee.
Außerdem würde ich noch gerne wissen, wie ein TextSpanner einen Zeilenumbruch mitmachen kann, ohne dass der Text in beiden Zeilen erscheint.
Vielen Dank schon mal
Jonas
-
cre - - - scen - - - do
meines wissens gibts das nicht
wie ein TextSpanner einen Zeilenumbruch mitmachen kann
dazu gibts viele optionen zu \override TextSpanner #'bound-details #'left-broken, #'right-broken, #'left, #'right u.a. mit verschiedensten möglichen werten…
das funktioniert aber leider - noch! - nicht optimal in allen kombinationen und kann unter http://code.google.com/p/lilypond/issues/detail?can=1&q=576&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&sort=-id&id=576 (http://code.google.com/p/lilypond/issues/detail?can=1&q=576&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary&sort=-id&id=576)
-
Vielen Dank schon mal.
Unten ist ein Link, wo man sieht, was ich mit dem crescendo meine. Direkt auf der ersten Notenseite im letzten System findet sich ein Beispiel. Oder meinst du, dass das mit Lilypond nicht möglich ist.
http://imslp.info/files/imglnks/usimg/4/45/IMSLP13683-Reger-op089n4-Sonatine-4.pdf
Jonas
-
irgendwie geht es schon!
zb: mit folgendem code
\version "2.12"
\score {
\context PianoStaff {
<<
\context Staff ="up" {
\key c \major
\clef "G"
es'' 2 cis''
\textSpannerDown
\override TextSpanner #'bound-details #'left = #'((Y . 1) (padding . 0) (direction . LEFT))
\override TextSpanner #'bound-details #'right = #'((Y . 1) (padding . 2) (direction . RIGHT))
\override TextSpanner #'bound-details #'left #'text = "cre "
\override TextSpanner #'bound-details #'right #'text = " "
d''8 \startTextSpan f' a' d''
e'' g' cis'' e'' \stopTextSpan
\override TextSpanner #'bound-details #'left = #'((Y . 2) (padding . 0) (direction . RIGHT))
\override TextSpanner #'bound-details #'right = #'((Y . 2) (padding . 2) (direction . RIGHT))
\override TextSpanner #'bound-details #'left #'text = "scen "
\override TextSpanner #'bound-details #'right #'text = " do "
f'' \startTextSpan gis' a' f''
fis'' a' c'' fis''
g'' ais' b'' d''
gis'' b' d'' gis'' \stopTextSpan
}
\context Staff ="down" {
\key c \major
\clef "bass"
\time 4/4
r 1
d'2 c' 4 b
d'2 es'4 b
f' e' g' f'_"ok?"
}
>>
}
}
aber ob wirklich jemand mit all diesen parmetern herumjonglieren mag?!
-
Ganz schön seltsame Sache. Ich habe das Gefühl, dass das gar nicht besonders gut lesbar ist: das Wort wird über mehrere Zeilen verteilt, da muss man ganz schön die Teile suchen. So direkt wird das in LilyPond nicht möglich sein. Aber es ist möglich, sich eigene Texte für etwa Crescendo zu definieren. Da könnte man dann verschiedene Arten haben, jede mit einer Silbe und die dann nach und nach setzen. Kann sein, dass man zuerst \cresceins ... \! und dann \cresczwei ... \! schreiben muss, also das erste zuerst beenden, bevor das nächste begonnen wird. Also im Prinzip machbar, aber etwas kompliziert.
Gruss
Till
-
Ok, ich glaube, dass es nicht so sinnvoll ist, das mit Lilypond zu erzielen. Ich fänd's praktisch, gerade wenn man alte Noten (z.b. Manuskripte) möglichst genau abtippen möchte. Die einfachste Methode wäre wahrscheinlich eine Möglichkeit einem TextSpanner auch in der Mitte einen Text zu geben, aber das müsste dann wohl auf Programmebene passieren.
Naja, dann nehm ich halt die normale cresc. - - - - Variante.
Trotzdem vielen Dank
-
wäre noch zu überlegen, ob man dies nicht in eine \lyric stimme legen sollte/könnte - damit würde mindestens das justieren der höhe des textes und der dashes wegfallen!