Adam Good skrev:
and here's what I use in Lilypond to show that key signature:
%%%%%%%%
\override Accidental #'glyph-name-alist = \makamGlyphs
\override Staff.KeySignature #'glyph-name-alist = \makamGlyphs
\set Staff.keySignature = #'(
(1 . 4/9)(-3 . 4/9)(3 . 1/9))
%%%%%%%%
You do not specify which version you use.
In latest devel it does not work - the makamGlyphs is undefined.
Well, the procedure that typesets the glyphcs is
key-signature-interface::alteration-position.
P.t. you have to type in the entire thing again to edit it. The
following gives the key signature you are looking for.
This should imo be done in a better way - but for now you can use it:
\version "2.11.25"
#(set! key-signature-interface::alteration-position
(lambda (step alter c0-position)
;; TODO: memoize - this is mostly constant.
;; fes, ges, as and bes typeset in lower octave
(define FLAT_TOP_PITCH 2)
;; ais and bis typeset in lower octave
(define SHARP_TOP_PITCH 3)
(if (pair? step)
(+ (cdr step) (* (car step) 7) c0-position)
(let*
((from-bottom-pos (modulo (+ 4 49 c0-position) 7))
(p step)
(c0 (- from-bottom-pos 4)))
(if
(or (and (< alter 0) (or (> p FLAT_TOP_PITCH) (> (+ p c0) 4)) (> (+ p
c0) 1))
(and (> alter 0) (or (> p SHARP_TOP_PITCH) (> (+ p c0) 5)) (> (+ p
c0) 2))
)
;; Typeset below c_position
(set! p (- p 7)))
;; Provide for the four cases in which there's a glitch
;; it's a hack, but probably not worth
;; the effort of finding a nicer solution.
;; --dl.
(cond
((and (= c0 2) (= p 3) (> alter 0))
(set! p (- p 7)))
((and (= c0 -3) (= p -1) (> alter 0))
(set! p (+ p 7)))
((and (= c0 -4) (= p -1) (< alter 0))
(set! p (+ p 7)))
((and (= c0 -2) (= p -3) (< alter 0))
(set! p (+ p 7))))
(+ c0 p)))))
\score{ {
\set Staff.keySignature = #'(
(1 . 1/2)(4 . 1/2)(3 . 1/4))
g'
} }
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user