Hi Harm,

thank you very much!


Am 18.01.2017 um 21:18 schrieb Thomas Morley:
> 2017-01-18 11:15 GMT+01:00 Urs Liska <u...@openlilylib.org>:
>>
>> Am 18.01.2017 um 11:13 schrieb Urs Liska:
>>> See attached file which is derived from
>>> http://lsr.di.unimi.it/LSR/Snippet?id=623.
>>>
>> Sorry, please *ignore* the attachment of the previous post, here's the
>> correct one.
>>
> In
>
> customClefStencil =
>   #(ly:make-stencil
>     `(path 0.2
>       `(rmoveto 0 0
>      ...
>
> the second ` is unneeded ' would work as well.

OK, I had realized that already (the ` came from the LSR snippet), but
that didn't help me further because ...
>
>
> To insert a function, unquote the function-call, and quote the result:
>
> func =
> #(define-scheme-function (val)(number?)
>   (list
>     'rmoveto 0 0
>     'rcurveto 0 (+ 0.75 val) 1 (+ 0.75 val) 1 0
>     'rcurveto 0 (- -0.75 val) -1 (- -0.75 val) -1 0))
>
>
> customClefStencilOne =
>   #(ly:make-stencil `(path 0.2 ',(func 1))

... I wouldn't have ever thought of that ', combination.

I had yet another complication because in my actual case "func" would
return an arbitrary number of path segments (i.e. lists) that had to be
flattened with

(apply append (map l-arc (make-list l-count dir)))

with l-arc being the function and l-count being an argument how often
this arc has to be generated.

Thanks a lot, *this* topic is solved now (more to come ;-) )

Best
Urs

>      (cons -0.5 1)
>      (cons -3 5))
>
> customClefOne = \override Staff.Clef.stencil = \customClefStencilOne
>
> \relative c' {
>   \customClefOne
>   \clef "alto"
>   c1
> }
>
>
> HTH,
>   Harm

-- 
u...@openlilylib.org
https://openlilylib.org
http://lilypondblog.org


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

Reply via email to