lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Lilypond and Jazz chords


From: Robert Schmaus
Subject: Re: Lilypond and Jazz chords
Date: Tue, 19 Jan 2016 20:23:50 +0100
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.5.0



Hi Kieren and Ponders,

I’m very detail-oriented, so things that others might consider “little” often 
drive me quite crazy.  =)

Well, "little" is the wrong expression - "not painful enough to invest the time" is closer to the truth.


Quite possibly that is easy to fix though

Should be.

Turns out, it isn't that easy to fix, for me anyway. Maybe anyone can point me in the right direction ...

I checked the code of my jazz-include files, and this is where the chords are being defined:

chJazzMusic = {
  < c ees ges > -\markup \super #"o"
  < c d g >  -\markup \super #"sus2"
  < c f g >  -\markup \super #"sus4"

  % etc
}

chJazz = #(append (sequential-music-to-chord-exceptions chJazzMusic #t))

\layout {
  \context {
    \Score
    chordNameExceptions = #chJazz
    \override ChordName.font-size = #4
    \override ChordName.font-name = #"LilyJAZZText"
  }
}

Now, I assumed that I had to do something about the accidentals in that \context block, but apparently it's not that easy.

I checked this example from the LSR
http://lsr.di.unimi.it/LSR/Snippet?id=750
and I think, what I need to do is to set the chordRootNamer in that \context block. There even is a chord namer routine in my include file which looks like this:

#(define (chordNamer pitch)
        (let* ((alt (ly:pitch-alteration pitch)))
                (make-line-markup
                 (list
                  (make-simple-markup
                   (vector-ref #("C" "D" "E" "F" "G" "A" "B")
                        (ly:pitch-notename pitch)))
                  (if (= alt 0) ; alteration?
                      (markup "") ; ... nope
                      (if (= alt FLAT) ; ... otherwise
                          (markup #:smaller #:flat ) ; flat
                          (markup #:smaller #:sharp ) ; ... or sharp
                          )
                      )
                  )
                 )
                )
        )

That's what I need to change and use but right now, that code is not even called.
I think I need to add something like

chordRootNamer = #chordNamer

to the \context block but that doesn't work, it throws this error:

Interpreting music...[8][16]/Applications/Lilypond/v19/LilyPond 2.19.18.app/Contents/Resources/share/lilypond/current/scm/chord-ignatzek-names.scm:212:9: In procedure chordNamer in expression (name-root root lowercase-root?): /Applications/Lilypond/v19/LilyPond 2.19.18.app/Contents/Resources/share/lilypond/current/scm/chord-ignatzek-names.scm:212:9: Wrong number of arguments to #<procedure chordNamer (pitch)>
Exited with return code 1.

I don't really know what to change here ... can anyone give me directions?

Thanks,
Robert




LilyJazz […] does provide output that is superbly readable even in shady, dim 
conditions.

Agreed.

Cheers,
Kieren.
________________________________

Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: address@hidden




reply via email to

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