2016-10-22 14:32 GMT+02:00 David Kastrup <d...@gnu.org>:
> Thomas Morley <thomasmorle...@gmail.com> writes:
>>
>> Which input-syntax do you prefer for entering single bass-notes?
>
> These days I'd suggest <c> rather than c:1 .  A "true" accordion chord
> entry mode would likely provide capitalized pitch names like C, Dis,
> ... for the bass notes.  But for standard \chordmode, this seems
> easiest.

Then how about the below? Should work with both <c> and c:1
Always prints cis and ces not c#/cb, is this ok?
Be aware, it is not tested beyond the given example.

#(define-public (my-note-name->german-markup pitch lowercase?)
  (let* ((name (ly:pitch-notename pitch))
         (alt-semitones (inexact->exact (round (* (ly:pitch-alteration
pitch) 2))))
         (n-a (if (member (cons name alt-semitones) `((6 . -1) (6 . -2)))
                  (cons 7 (+ 1 alt-semitones))
                  (cons name alt-semitones)))
         (basic-list '("c" "d" "e" "f" "g" "a" "h" "b"))
         (list-to-use
           (if lowercase?
               basic-list
               (map string-upcase basic-list))))

    (make-line-markup
     (list
      (string-append
       (list-ref list-to-use (car n-a))
       (if (or (equal? (car n-a) 2) (equal? (car n-a) 5))
           (list-ref '( "ses" "s" "" "is" "isis") (+ 2 (cdr n-a)))
           (list-ref '("eses" "es" "" "is" "isis") (+ 2 (cdr n-a)))))))))

\layout {
  \context {
    \Score
    chordNameFunction =
      #(lambda (in-pitches bass inversion context)
        (if (= (length in-pitches) 1)
            (my-note-name->german-markup (car in-pitches) #f)
            (ignatzek-chord-names
              in-pitches bass inversion context)))
    chordNoteNamer =
      #(lambda (pitch lowercase?)
      (my-note-name->german-markup pitch #f))
    chordRootNamer =
      #(lambda (pitch lowercase?)
      (my-note-name->german-markup pitch #t))
  }
}

\new ChordNames \chordmode { cis:7 cis:m7 c:7/+c c:m7/+c <ces> cis:1 }

Cheers,
  Harm

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

Reply via email to