lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Scheme pattern for retrieving data in objects


From: Jean Abou Samra
Subject: Re: Scheme pattern for retrieving data in objects
Date: Fri, 1 Apr 2022 18:44:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0



Le 01/04/2022 à 18:43, Jean Abou Samra a écrit :

\version "2.23.8"

#(define-syntax-rule (fetch obj getter (sym ...) body body* ...)
   (let ((evald-obj obj)
         (evald-getter getter))
     (let ((sym (getter obj 'sym))
           ...)
       body body* ...)))
{
  c'1
  \tweak after-line-breaking
    #(lambda (grob)
       (fetch grob ly:grob-property (left-bound-info)
         (fetch left-bound-info assoc-ref (common-Y X padding attach-dir)
           (ly:message "common-Y=~a X=~a padding=~a attach-dir=~a" common-Y X padding attach-dir))))
  \startTextSpan
  c'1\stopTextSpan
}

Sorry, should have been:

\version "2.23.8"

#(define-syntax-rule (fetch obj getter (sym ...) body body* ...)
   (let ((evald-obj obj)
         (evald-getter getter))
     (let ((sym (evald-getter evald-obj 'sym))
           ...)
       body body* ...)))
{
  c'1
  \tweak after-line-breaking
    #(lambda (grob)
       (fetch grob ly:grob-property (left-bound-info)
         (fetch left-bound-info assoc-ref (common-Y X padding attach-dir)
           (ly:message "common-Y=~a X=~a padding=~a attach-dir=~a" common-Y X padding attach-dir))))
  \startTextSpan
  c'1\stopTextSpan
}





reply via email to

[Prev in Thread] Current Thread [Next in Thread]