[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: creating chords like F/A(D/F#) with \chordmode { }
From: |
Thomas Morley |
Subject: |
Re: creating chords like F/A(D/F#) with \chordmode { } |
Date: |
Thu, 17 Mar 2016 23:42:59 +0100 |
2016-03-17 19:51 GMT+01:00 Eby Mani <address@hidden>:
> Thanks, works like charm. I think this should be on snippets.
> Also how do i get to print D7 or Dmin7 without the triangle symbol and
> superscript ?.
>
> Eby
We have some context-properties for customizing chords, see:
http://www.lilypond.org/doc/v2.18/Documentation/notation/displaying-chords#customizing-chord-names
There you'll find `majorSevenSymbol' which will likely do what you want.
If you want a single chord-type to be printed different than default
which cannot be achieved with those context-properties use
`chordNameExceptions', to be found under same link.
If you want all chords displayed different, like eliminating
super-markup, you'll have a problem. LilyPond is currently not that
flexible.
You could rewrite `ignatzek-chord-names'.
Not exactly what I'd call an option...
Or try the very brutal method below.
I'm not sure it will always work, so please test thoroughly.
\version "2.18.2"
#(define (lists-map function ls)
"Apply @var{function} to @var{ls} and all of it sublists.
First it recurses over the children, then the function is applied to
@var{ls}."
(if (list? ls)
(set! ls (map (lambda (y) (lists-map function y)) ls))
ls)
(function ls))
#(define ignatzek-chord-names-minus-super
(lambda (a b c d)
(let ((result (ignatzek-chord-names a b c d)))
(make-line-markup
(list
(lists-map
(lambda (e)
(if (equal? (last (last result)) e)
""
e))
result)
(last (last (last result))))))))
\layout {
\context {
\Score
majorSevenSymbol = "+7"
chordNameFunction = #ignatzek-chord-names-minus-super
}
}
mus =
\chordmode {
des
des:m
des:7
des:m7
des:7+
des:m7+
}
<<
\new ChordNames \mus
\new Staff \mus
>>
Cheers,
Harm