Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: rJazz am Donnerstag, 24. September 2015, 23:27
-
Hallo!
Kann ich für ein musikalisches Ereignis,
z.B.:
phrase = {c' e' g'}
einen expliziten Startpunkt angeben?
Also in der Art:
phrase soll in der Klarinette in Takt 16, erster Schlag
gespielt werden?
Das natürlich nicht so:
staffX = \new Staff {
\repeat unfold 16 {r1} \phrase
}
sondern unabhängig von
den anderen Ereignissen des staffs,
also eine Art Befehl wie diesen ("put"):
\other = {c1 d e f g c d e f g c d e f g c d e f g }
staffX = \new Staff {
<<\other
\put 16.1 \phrase
>>
}
-
Hallo rJazz,
das gleiche Problem hatte ich in diesem Thread (https://liarchiv.joonet.de/index.php?topic=2033.0), ich habe eine Lösung gefunden. Die dortige Lösung ist fast die aktuelle Version; die aktuelle hab ich hier mal angehängt (sie richtet nur die „anchors“ anders aus).
Im Prinzip läuft die Verwendung folgendermaßen ab: Du hast eine Stimme, die Ankerpunkte enthält, z. B.
\include "alignTo.ily"
global = { s1*4 \anchor "Thema 1" \time 3/4 s2.*5 \anchor "Coda" s2. }
Eine Stimme kann nun zu diesen Punkten hinspringen (allerdings nicht rückwärts in der Zeit, schon da sein ist aber ok) und diesen Sprung wahlweise mit einer unsichtbaren Pause (s), einer Mehrtaktpause (R) oder einem Zitat einer anderen Stimme auffüllen.
foo = { R \until "Thema 1" c'2. d' e' f' g' R }
\addQuote "foo" \alignTo \global \foo
baz = { c'1 d' s \until "Thema 1" c''2. g' \quoteUntil "foo" "Coda" c'2. }
<<
\new Staff \useAndAlignTo \global \foo
\new Staff \useAndAlignTo \global \baz
>>
In deinem Fall müsstest du also in der Stimme „global“ (darf auch anders heißen) nach 16 Takten nen Ankerpunkt setzen und die Klarinette dann danach ausrichten (Ankerpunkte dürfen auch mitten im Takt stehen). Hilft dir diese Lösung?
Viele Grüße,
Malte
-
Ja, hilft absolut.
Ist sogar viel besser, als ich für mögich gehalten hatte, weil ich
damit ja wirklich musikalische Relationen definieren kann,
also die Umsetzung der Relation: "beginne Thema2 am Ende von Thema1",
um danach die Länge von Thema1 zu verändern, und Lilypond
rückt den Beginn automatisch an die richtige Stelle.
Das ist echt gut!
Danke!