Hi,

in my infrastructure I have a function that binds

(key-signature
     #{
       \key
       #(get-meta-option base-path 'key-tonic)
       #(get-meta-option base-path 'key-mode)
     #})

but I would like to also change this to Scheme syntax (if it makes any sense after all).

The first call to get-meta-option retrieves a Pitch object, the second a list ((0 . 0) (1 . 0) (2 . 0) (3 . 0) (4 . 0) (5 . 0) (6 . 0)) which had been stored as \major.

Obviously \key expects a pitch and a mode, but \displayMusic { \key d \major } returns


(make-music

'SequentialMusic

'elements

(list (make-music

'KeyChangeEvent

'pitch-alist

(list (cons 1 0)

(cons 2 0)

(cons 3 1/2)

(cons 4 0)

(cons 5 0)

(cons 6 0)

(cons 0 1/2))

'tonic

(ly:make-pitch -1 1))))

where the steps of the scale obviously have already been "transposed" to reflect d major.

Is it possible to write the Scheme function issuing the key change with the pitch and the generic mode as input?

Should I store something else as input instead?

Or should I simply leave it alone and stick to the interspersed LilyPond syntax?

Thanks for any suggestions

Urs

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

Reply via email to