Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: iugin am Donnerstag, 28. März 2013, 11:22
-
Hallo miteinander,
es ist so: ohne euch geht es gar nicht :)
Ich möchte die Akkorde im Notensystem schreiben. Habe lange gesucht und im Forum sind nur Beispiele für ältere Versionen.
Das ist mein Code:
\version "2.16.0"
\include "deutsch.ly"
vone = \relative c' { c1 }
vtwo = { s1 }
akkorde = \new ChordNames {
\chordmode {
\override VerticalAxisGroup #'nonstaff-unrelatedstaff-spacing = #'((padding . -3) (basic-distance . 0))
c1
}
}
\score {
<<
\new Staff \vone
\new Staff \vtwo
\akkorde
>>
}
Ich schaffe es irgendwie nicht, den Akkord genau in der Mitte des 2. Systems zu positionieren (Resultat als Attachement).
Wisst ihr, wie es geht?
Vielen Dank für eure Hilfe
Liebe Grüsse
Eugenio
-
Hallo Eugenio,
Du könntest es mit dem Code unten versuchen.
Zwei Probleme:
a)
Sobald Du anfängst die Größe des Staffs mit den ChordNames zu ändern bzw die Größe der ChordNames selbst muß der 'Y-offset angepaßt werden.
b)
Das ganze funktioniert nicht mit den neueren devel-Versionen. Da kenne ich die Ursache noch nicht.
\version "2.16.0"
vone =
\new Voice \relative c' { c4 d e f }
akkorde =
\new ChordNames {
\chordmode {
\override ChordNames.ChordName #'Y-offset = #-1
c1:5- g:11 f/g
}
}
\score {
<<
\new Staff { \vone\vone\vone\vone\vone }
\new Staff \with { \accepts "ChordNames" }
{ \vone \akkorde \vone }
>>
}
Gruß,
Harm
-
Lieber Harm,
danke vielmals, es klappt wunderbar! :)
Liebe Grüsse
Eugenio
-
Hallo Eugenio,
b)
Das ganze funktioniert nicht mit den neueren devel-Versionen. Da kenne ich die Ursache noch nicht.
In den neueren devel-Versionen ist der Hara_kiri_engraver entfernt worden. Offensichtlich werden die Aufgaben die er übernahm jetzt vom Axis_group_engraver übernommen. Es will mir aber so vorkommen, daß es da Nebeneffekte gibt, hoffentlich nicht noch stärkere als hier zu beobachten.
Um den Code auch für neuere devel-Versionen gangbar zu machen kann man den Axis_group_engraver einfach entfernen.
(In 2.16. stört das nicht und es fixt 2.17.12)
Ansonsten habe ich noch das Entfernen leerer Zeilen getestet. Falls Du das nicht möchtest, mußt Du die entsprechenden Zeilen auskommentieren, wie im Code vermerkt.
Für
a)
Sobald Du anfängst die Größe des Staffs mit den ChordNames zu ändern bzw die Größe der ChordNames selbst muß der 'Y-offset angepaßt werden.
habe ich allerdings keine automatisierte Lösung.
\version "2.17.12"
\layout {
\context {
% Comment the following lines, if you don't want to remove empty Staffs.
\Staff
\override VerticalAxisGroup #'remove-first = ##t
\override VerticalAxisGroup #'remove-empty = ##t
\RemoveEmptyStaves
}
\context {
\ChordNames
\remove "Axis_group_engraver"
}
}
mus =
\new Voice
\relative c' {
c1
d \break
e
f \break
s \break
c
d
e
f
}
musII =
\new Voice
\relative c' {
s1*2
c1
d
}
akkorde =
\new ChordNames
\chordmode {
\override ChordNames.ChordName #'Y-offset = #-1
s1*2
\break
c1:5-
g:11
f/g
}
<<
\new Staff { \mus }
\new Staff \with { \accepts "ChordNames" }
{ \akkorde \musII }
>>
Gruß,
Harm
-
Hallo nochmal,
eine weitere Möglichkeit (hängt davon ab, was Du letztlich haben willst):
\version "2.16.2"
\layout {
\context {
\ChordNames
\consists "Bar_engraver"
\consists "Staff_symbol_engraver"
\consists "Clef_engraver"
\consists "Key_engraver"
\consists "Time_signature_engraver"
}
}
<<
\new Staff { c''1 }
\new ChordNames
\chordmode { \override ChordNames.ChordName #'Y-offset = #-1 c }
>>
Gruß,
Harm
EDIT:
P.S.: Siehe auch die Diskussion hier. (http://lilypond.1069038.n5.nabble.com/programming-error-while-inserting-quot-ChordNames-quot-in-quot-Staff-quot-td143559.html)
-
Hey Harm,
nochmals ganz herzlichen Dank für die grosse Mühe! Es reicht, denke ich ;)
Ich wünsche dir (und dem Forum) einen schönen Tag!.. und frohe Ostern.
Ciao
Eugenio