|
From: | David Nalesnik |
Subject: | Re: Creating new articulation (adding to an internal alist) |
Date: | Fri, 6 Mar 2015 08:03:46 -0600 |
Am 06.03.2015 14:35, schrieb David Nalesnik:
There is not even the need for the set! in the original definition. That is:
On Fri, Mar 6, 2015 at 7:24 AM, David Nalesnik <address@hidden> 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 {\ScorescriptDefinitions = #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.
#(append! default-script-alist (list `("weakbeat" . ((script-stencil . (feta . ("weakbeat" . "weakbeat"))) ; any other properties (toward-stem-shift-in-column . 0.0)
[Prev in Thread] | Current Thread | [Next in Thread] |