• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Akkordbezeichnungen in Klammern

Begonnen von Lebostein, Donnerstag, 28. Februar 2008, 14:00

Vorheriges Thema - Nächstes Thema

Lebostein

Hi (ich hoffe ich nerve nicht),

angenommen, man hat einen Block mit Akkorden:

akkorde = \chordmode
{
d2.:m d2.:m f2. \break
c2. d2.:m d2:m c4 d2:m a4:m d2.:m
}


...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 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



und es scheint zu funktionieren!!!

etilli33

hm, damit werden dann alle Akkorde in Klammern gesetzt? Das wolltest du also... :-)

Lebostein

#4
nee, das passt schon mit der neu generierten Funktion
\set chordNameFunction = #parenthesis-ignatzek-chord-names
schaltet man die Klammerung ein und mit der Lilypond-Funktion
\set chordNameFunction = #ignatzek-chord-names
wieder aus.

Hab bei mir das ganze in eine Funktion gepackt:

% ------------------------------------------------------------
% 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
#})

% ------------------------------------------------------------


so kann man das einfacher verwenden:

akkorde = \chordmode
{
d2.:m d2.:m f2. \break
c2. d2.:m d2:m \klamm {c4} d2:m a4:m d2.:m
}