lilypond-user-fr
[Top][All Lists]
Advanced

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

Re: markup en scheme


From: Daniel Cartron
Subject: Re: markup en scheme
Date: Sun, 29 Mar 2015 08:55:14 +0200
User-agent: KMail/4.13.3 (Linux/3.13.0-46-generic; KDE/4.13.3; x86_64; ; )

Bonjour,

Après bien des essais ratés et des recherches, voici où j'en suis.

Tout d'abord en image jointe ce que je veux faire. Rassurez-vous ce n'est 
qu'un exemple de tout ce que je veux avoir, sachant qu'il y aura plein de if 
et de cond pour n'en afficher que le tiers selon le contexte.

Le code qui m'a servi à le faire (j'ai tout super indenté histoire de bien 
voir les transformations successives.

  \markup {
    \with-color #red
      \box
        \line{
          \with-color #blue
            \center-column {
              \raise #-3 \teeny {\line { +3' -2°}}
              \raise #-2 \bold -
              \raise #-1 --
              \line {
                \italic 4'' 
              }
              \raise #+1 --
              \raise #+2 \bold -
              \raise #+3 \tiny {\line { +3' -2°}}
          }
        }
    }

la traduction en scheme

  markup 
    #:with-color (red) (
      #:box (
        #:line (
          #:with-color (blue) (
            #:center-column (
              #:raise -3 #:teeny ("c" "d")
              #:raise -2 #:bold ("-")
              #:raise -1 "--"
              #:line (
                #:italic 4''
              )
              #:raise 1 "--"
              #:raise 2 #:bold ("-")
              #:raise 3 #:teeny ("c" "d")
            )
          )
        )
      )
    )

Mais ce n'est pas ça que je veux puisque je veux rajouter des if...

Donc j'ai utiisé

#(format #t "~%~s~%" (macroexpand '(
        mon code scheme
)))

ce qui m'a renvoyé

 (make-line-markup 
    (list (
      make-with-color-markup (red) 
        (make-box-markup 
          (make-line-markup 
            (list 
              (make-with-color-markup (blue) 
                (make-center-column-markup 
                  (list 
                    (make-raise-markup -3 
                      (make-teeny-markup ("c" "d"))
                    ) 
                    (make-raise-markup -2 (make-bold-markup ("-")))
                    (make-raise-markup -1 "--") 
                    (make-line-markup 
                      (list (make-italic-markup 4''))
                    )
                    (make-raise-markup 1 "--") 
                    (make-raise-markup 2 (make-bold-markup ("-"))) 
                    (make-raise-markup 3 (make-teeny-markup ("c" "d")))
                  )
                )
              )
            )
          )
        )
      )
    )
  )

le make-with-color-markup celui-là j'aurais jamais pu l'inventer tout seul, 
heureusement que j'ai trouvé macroexpand !

Maintenant je pense que je vais pouvoir mettre mes if, mes variables, etc. Et 
trouver comment utiliser ça pour attacher le markup à ma note... Avec cons ça 
le ferait ?

Ce n'est qu'un début, continuons le combat...

-- 
Cordialement, Daniel Cartron
« Redouter l'ironie, c'est craindre la raison. »
Sacha Guitry - L'esprit

Attachment: img12.jpg
Description: JPEG image


reply via email to

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