Allgemein > Hilfe beim Einstieg in Lilypond
Akkordbezeichnungen in Klammern
(1/1)
Lebostein:
Hi (ich hoffe ich nerve nicht),
angenommen, man hat einen Block mit Akkorden:
--- Code: ---akkorde = \chordmode
{
d2.:m d2.:m f2. \break
c2. d2.:m d2:m c4 d2:m a4:m d2.:m
}
--- Ende Code ---
...und möchte das c4 in der zweiten Zeile mit Klammern (C) versehen. Geht das?
Einfach ein paar Klammern drum hab ich schon probiert, scheinbar wird normaler Text im \chordmode nicht akzeptiert...
etilli33:
Schau mal nach dem Stichwort parentheses im NR, vielleicht hilft das? Ansonsten kannst du ja mit \markup bzw. \mark arbeiten, oder hast du das schon versucht? Dazu sollte es einige Schnipsel geben...
Gruß
Till
Lebostein:
Hab ziemlich lange gesucht. In einem anderen Forum hab ich das hier gefunden:
--- Code: ---%%% CODE SNIPPET BEGINS
\version "2.9.10"
#(define (parenthesis-ignatzek-chord-names in-pitches bass inversion context)
(markup #:line ("(" (ignatzek-chord-names in-pitches bass inversion context) ")")))
chordset = \chordmode
{
\set chordNameFunction = #parenthesis-ignatzek-chord-names
c1:7 g1:7
\set chordNameFunction = #ignatzek-chord-names
c1:7 g1:7
}
\score
{
\new ChordNames \chordset
}
%%% CODE SNIPPET ENDS
--- Ende Code ---
und es scheint zu funktionieren!!!
etilli33:
hm, damit werden dann alle Akkorde in Klammern gesetzt? Das wolltest du also... :-)
Lebostein:
nee, das passt schon mit der neu generierten Funktion
--- Code: ---\set chordNameFunction = #parenthesis-ignatzek-chord-names
--- Ende Code ---
schaltet man die Klammerung ein und mit der Lilypond-Funktion
--- Code: ---\set chordNameFunction = #ignatzek-chord-names
--- Ende Code ---
wieder aus.
Hab bei mir das ganze in eine Funktion gepackt:
--- Code: ---% ------------------------------------------------------------
% Funktion, die eine Klammer um ein Akkordsymbol legt
% ------------------------------------------------------------
#(define (parenthesis-ignatzek-chord-names in-pitches bass inversion context)
(markup #:line ( "(" (ignatzek-chord-names in-pitches bass inversion context) ")" )))
klamm = #(define-music-function (parser location griffe) (ly:music?)
#{
\set chordNameFunction = #parenthesis-ignatzek-chord-names
$griffe
\set chordNameFunction = #ignatzek-chord-names
#})
% ------------------------------------------------------------
--- Ende Code ---
so kann man das einfacher verwenden:
--- Code: ---akkorde = \chordmode
{
d2.:m d2.:m f2. \break
c2. d2.:m d2:m \klamm {c4} d2:m a4:m d2.:m
}
--- Ende Code ---
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln