Deutsches Lilypond Forum (Archiv)
Allgemein => Hilfe beim Einstieg in Lilypond => Thema gestartet von: Sterndeuter am Mittwoch, 11. März 2009, 19:56
-
Hallo, ich habe ja neulich das Problem mit den Arpeggio-Klammern gehabt. Die Klammer an sich einzufügen ist auch kein Problem, aber das Aussehen lässt sich nicht verändern. Hier mal der Quelltext:
\version "2.10.33"
\new PianoStaff <<
\set PianoStaff.connectArpeggios = ##t
\new Staff {
\clef treble
\key c \major
\time 4/4
<<
\relative c' {
\arpeggioBracket
s1.
}
\\
\relative c' {
\arpeggioBracket
c1\arpeggio
}
>>
}
\new Staff {
\clef bass
\key c \major
\time 4/4
<<
\relative c' {
\arpeggioBracket
g1\arpeggio
}
\\
\relative c, {
\arpeggioBracket
c1
}
>>
}
>>
Kann mir jemand helfen? Die Arpeggio-Klammern werden nur als Schlangenlinie angezeigt...
Und ist es normal, dass am Ende dieses Beispiels in der oberen Zeile die Notenzeile weitergeführt wird (siehe Anhang)?
-
Na, die weiterführen ist wegen dem s1
-
stimmt, hätte ich auch selbst drauf kommen können *schäm*
-
Dieser \arpeggioBracket-Befehl macht nicht viel mehr als
\override Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
Lilypond einigermassen Eingeweihte wissen (aus leidigen Erfahrungen), dass aus
einem solchen contextlosen \override Lilypond reimt sich normalerweise
\override Voice.Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
Beim Bracket-Snippet zu NR 1.2.3 (http://lilypond.org/doc/v2.12/Documentation/user/lilypond/Lines#Arpeggio) passt das bestens.
Aber das andere Beispiel, wo der Klammer überbruckt, ist relevanter, und auch anders gemacht.
Das (unübersetzte) Schnipsel spricht zweimal von PianoStaff-Context, und macht dann (zuoberst)
\override PianoStaff.Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
Dann gehts.
Schweres Geschütz!
Die normale Arpeggios (für gebrochen) sind jetzt ziemlich weg vom Fenster.
Leichtfüssiger gehts so:
chordBracket = {
\once \override PianoStaff.Arpeggio #'stencil = #ly:arpeggio::brew-chord-bracket
\once \set PianoStaff.connectArpeggios = ##t
}
und dann \chordBracket jeweils vor dem Arpeggio-Zeitpunkt einsetzen.
In nur einer Voice reicht!
Gruss
-
Gut, das hab ich jetzt schon mal verstanden.
Gibt es auch eine Möglichkeit, die Klammern um bestimmte Stimmen zu legen? Es geht mir hierbei um Spielanweisungen für eine vierstimmige Fuge und ich will die Tenorstimme mal der linken und mal der rechten Hand zuweisen... Die Klammer müsste also mal vom Tenor aus nach oben zeigen und den Alt und Sopran mit umschließen und mal nach unten zeigen und den Bass mit umschließen.
Gibt es dafür eine Möglichkeit?
Edit: Hab's schon: Einfach \chordBracket in einer Stimme vor der gewünschten Klammer einfügen und an die zu klammernden Noten ein \arpeggio anhängen! :D Ich als absoluter Programmiersprachen-Neuling freu mich jetzt einfach mal über meinen Erfolg und wünsch euch noch nen schönen Abend!
-
Jetzt ist doch wieder ein Problem aufgetaucht: Eine der Arpeggio-Klammern befindet sich so dicht neben einem Taktstrich, dass sie mit ihm verschmilzt. Auf dem Ausdruck sind nur noch die beiden horizontalen Enden zu sehen.
Wie kann ich also die Klammer nach rechts verschieben?
-
Versuchs mal mit
\once \override Score.Arpeggio #'extra-offset = #'(1 . 0)wobei die Zahlen in den Klammer für die x und y-Werte um die das Objekt verschoben wird stehen.
Um das Arpeggio nach rechts zu verschieben musst du also auf jeden fall eine positive Zahl einsetzen, jedoch wirst du ein wenig ausprobieren müssen, bis du den richtigen Wert gefunden hast.
-
Oder mit einem anderen Arpeggio override:
#'X-extent = #'(-0.5 . 0.7)
-0.5 stösst links (genug?) ab
0.7 lässt den rechten Abstand etwa gleich.
Gruss
-
Was genau ist denn der Unterschied zwischen den beiden overrides?
-
das erste definiert zusätzlichen Rand, während das zweite zur Breite des Objektse selber was hinzufügt
-
Beim X-extent an Ellenbogen denken. All diese Dinger drängeln sich gegenseitig.
In diesem Fall halten wir den linken Ellenbogen weiter links (mehr minus).
Aber das grosse Problem beim X-extent ist, zu wissen was schon gilt.
Insiderwissen: beim normalen Arpeggio ist das (0 . 0.8).
Ich habe also links 0.5 mehr beansprucht als die normale Wellenlinie braucht.
(Und der eckige Klammer braucht eigentlich nur 0.7 in der Breite.)
Beim extra-offset an Matrix-Kämpfen oder z.B. cashback (http://www.youtube.com/watch?v=QCEr_QsiD-A) denken.
Alles andere ist erstarrt zur einer fixen Kulisse (das Drängeln hat stattgefunden).
Darauf kann man in X und Y beliebig rücken. Und braucht kein Insiderwissen.
ABER - gerät man zu weit weg vom Taktstrich, gibt's eine Kollision mit der Note.
Der Abstand zwischen Taktstrich und Note bleibt gleich (kein zusätzlicher Rand).
Gruss