lilypond-user
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]