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

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

Re: En rouge et noir, à quand la trêve de douceur ?


From: Editions IN NOMINE
Subject: Re: En rouge et noir, à quand la trêve de douceur ?
Date: Fri, 6 May 2022 12:02:33 +0200
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0

Mmmm, je creuse sans tout comprendre, et je tombe sur une bizarre anomalie avec le snippet en pied de message. Vraiment désolé de vous embêter encore avec ça...

Tout fonctionne comme voulu si \up est en \relative c', mais ça plante si c'est en \relative c, avec le message : Dessin des systèmes...<unnamed port>: In procedure scm-error in _expression_ (scm-error (quote misc-error) #f ...): <unnamed port>: no matching clause for ()

J'avoue humblement sécher au beau soleil de Bretagne... et fais appel, du fin fond des terres morbihannaises, aux cadors schemiesques !

PS : pour celles et ceux qui se diraient "Mais que diable nous fait-il transpirer gras avec un exemple pareil, il a qu'à tout mettre sur une seule voix !", petite explication. Il s'agit d'écrire pour pédalier d'orgue, la tongue droite en rouge et stemUp, la tongue gauche en noir et stemDown.

PS' : j'ai essayé de mettre tout sur la même voix en faisant \stemUp et \stemDown, ça plante itou, mais peut-être avec un message plus explicite. L'anomalie concerne la dernière noire de la mesure 2. Ça sent le plantage de calcul en dessous d'une certaine note dans le layout, non ? Lily ne parvient pas récupérer expr (ly:stencil-expr original) ?

Dessin des systèmes...C:/(...)/test.ly:12:22: In procedure ly:stencil-expr in _expression_ (ly:stencil-expr original): C:(...)test.ly:12:22: Wrong type argument in position 1 (expecting Stencil): ()


JMarc

\version "2.22.2"

lay = \layout {
  #(use-modules (ice-9 match))
  \context {
    \Staff
    \override LedgerLineSpanner.stencil =
      #(grob-transformer 'stencil
        (lambda (grob original)
          (match-let*
              ((expr (ly:stencil-expr original))
               (X-ext (ly:stencil-extent original X))
               (Y-ext (ly:stencil-extent original Y))

               (('translate-stencil global-off ('combine-stencil . ledgers)) expr)

               (new-ledgers
                (map
                 (lambda (ledger)
                   (match-let

                       ((('translate-stencil (0.0 . ledger-Y-off) ledger-expr) ledger))

                     (if (positive? ledger-Y-off)
                         `(color ,(css-color "red")
                                 ,ledger)
                         ledger)))
                 ledgers))
               (new-expr

                `(translate-stencil ,global-off (combine-stencil . ,new-ledgers))))

            (ly:make-stencil new-expr X-ext Y-ext))))

      }
    }

up = \relative c'{\clef bass \voiceOne \time 3/4 \key e \minor
  s4 fis4 g s2 b,4 s fis s s2 fis4
  }

down = \relative c{ \voiceTwo
    e4 s2 c2 s4 ais s a g2 s4
}

\score {
  \new Staff <<
    \new Voice{\up}
    \new Voice{\down}
  >>
  \lay
  }

Librairie les hirondelles
1 rue de Rennes 56660 St Jean Brévelay
Tél : 02 97 54 53 86 / 06 48 96 29 19
Siret : 89353322400018
TVA : FR28893533224
RCS : Vannes B 893 533 224
APE : 4761Z
Le 26/04/2022 à 18:27, Librairie Les hirondelles a écrit :
Gloire à Jean, on peut le dire !

Mille merci pour ce condenser de trucs que j'ai bien du mal à comprendre.

En guise de remerciements, je vais m'attacher à comprendre tout cela.

Encore merci !

JMarc



reply via email to

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