Dear Klaus, Stan,

the following code moves the transposition into the
#note-name->international-markup routine, thereby eliminating MIDI
playback problems. Downside: we still cannot pass the tonic to the
routine directly, but have to state it there anew.

And, of course, the rhythmic elements of Nashville notation aren't
implemented yet.

Greetings,

Amy


\version "2.18.2"
% Chords
#(define (note-name->international-markup pitch lowercase?)
   (let* (
       (root (ly:make-pitch 0 1 0)) ; this defines d' as the root
                                    ; (octave 0, degree 1, alteration 0)
       (diff (ly:pitch-diff pitch root))
       (name (ly:pitch-notename diff))
       (alt (ly:pitch-alteration diff))
       (hspace (vector-ref #(0.15 0.15 0.05 0.05 0.15) (+ (* alt 2) 2)))
       (raise (vector-ref #(0.6 0.6 0.65 0.8 0.7) (+ (* alt 2) 2)))
     )
     (make-line-markup
       (list
         (if (= alt 0)
           ;; If it's natural and not b, do nothing
           (make-line-markup (list empty-markup))
           ;; Else add alteration
           (make-line-markup
             (list
               (make-smaller-markup
                 (make-raise-markup raise
                    (make-musicglyph-markup (assoc-get alt
standard-alteration-glyph-name-alist ""))))
               (make-hspace-markup hspace)
         )))
         (make-simple-markup
           (vector-ref #("1" "2" "3" "4" "5" "6" "7") name)
         )
 ))))



nashvilleChords = {
  \set chordRootNamer = #note-name->international-markup
  \unset chordNoteNamer
}
\score {
  \chords {
    d1 e:m f g:maj7 gis:sus4 a:7 d
    \nashvilleChords
    d1 e:m f g:maj7 gis:sus4 a:7 d
  }
  \midi {
    \tempo 4 = 180
  }
  \layout {
  }
}

-- 
Dr. Amelie Zapf (a...@ameliezapf.com)
Pianist, Bassist, Guitarist, Composer, Friedrich-Ebert-Str. 25, 14548
Caputh, Germany
http://www.ameliezapf.com/
PGP public key ID: 4E0A7F00
"When the power of love overcomes the love of power, the world will know
peace." - Jimi Hendrix

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to