On Fri, Mar 6, 2015 at 7:40 AM, Urs Liska <u...@openlilylib.org> wrote:

>  Am 06.03.2015 14:35, schrieb David Nalesnik:
>
>
>
> On Fri, Mar 6, 2015 at 7:24 AM, David Nalesnik <david.nales...@gmail.com>
> wrote:
>
>>
>>
>>   \version "2.19.16"
>>
>>  #(set! default-script-alist
>>        (append default-script-alist
>>          (list
>>           `("weakbeat"
>>              . (
>>                  (script-stencil . (feta . ("weakbeat" . "weakbeat")))
>>                  ; any other properties
>>                  (toward-stem-shift-in-column . 0.0)
>>                  (padding . 0.20)
>>                  (avoid-slur . around)
>>                  (direction . ,UP))))))
>>
>>  weakbeat = #(make-articulation "weakbeat")
>>
>>  { c\weakbeat }
>>
>>  \layout {
>>   \context {
>>     \Score
>>     scriptDefinitions = #default-script-alist
>>   }
>> }
>>
>>  %%%
>>
>>
>  Here's my conclusion:
>
>  When using append, we are setting default-script-alist to a list which
> doesn't necessarily share structure with the original default-script-alist.
>  scriptDefinitions is bound to the original default-script-alist unless you
> reassign it to the concatenated list.  append! destructively modifies the
> list that scriptDefinitions is bound to, so there is no need for the set in
> the context block.
>
>
> There is not even the need for the set! in the original definition. That
> is:
>
> #(append! default-script-alist
>    (list
>     `("weakbeat"
>        . ((script-stencil . (feta . ("weakbeat" . "weakbeat")))
>           ; any other properties
>           (toward-stem-shift-in-column . 0.0)
>
> And you can do:

 \layout {
  \context {
    \Score
    scriptDefinitions = #(append default-script-alist
                           (list
                            `("weakbeat"
                               . (
                                   (script-stencil . (feta . ("weakbeat" .
"weakbeat")))
                                   ; any other properties
                                   (toward-stem-shift-in-column . 0.0)
                                   (padding . 0.20)
                                   (avoid-slur . around)
                                   (direction . ,UP)))))
  }
}

%%%
(Just for completeness...)
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to