Valentin Petzel <valen...@petzel.at> writes:

> Hello Vlad,
>
> in addition to Jean’s answer it might be helpful to understand what
>
> Staff.property
>
> actually means. This get’s parsed to a list of the symbols 'Staff and 
> 'property. So you can in fact simply remain with scheme, and directly enter 
> #(list scope 'property) like this
>
> %%%%%
> \version "2.24.1"
>
> momentBeat =
> #(define-music-function (scope moment beat) ((symbol? 'Staff) fraction? list?)
>    #{
>      \set #(list scope 'beamExceptions) = #'()
>      \set #(list scope 'baseMoment) = #(ly:make-moment (/ (car moment) (cdr 
> moment)))
>      \set #(list scope 'beatStructure) = #beat
>    #})
>
> {
>   \momentBeat Voice 1/8 3,3,2
>   c'8 8 8 8 8 8 8 8
> }
> %%%%%
>
> or if you enjoy abusing (quasi)quoting by doing #`(,scope property) like this

[...]

The funny thing is that I suspect Han-Wen might still be surprised to
hear what Staff.property "actually means".

It's been around for quite longer than its "actual meaning".  But of
course I should be the last person to complain about my retconning
making headcanon.

-- 
David Kastrup

Reply via email to