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

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

Re: doigté d'extension


From: Valentin Villenave
Subject: Re: doigté d'extension
Date: Wed, 17 Jun 2020 21:15:49 +0200

On 6/17/20, david <david427@quetzalia.fr> wrote:
> Je viens de me rendre compte qu'avec ce nouveau code, le problème d'une
> croche suivie d'une noire est effectivement résolu, mais ça fait
> apparaître un nouveau problème : quand il y a deux croches de suite,
> elles perdent leur ligature traditionnelle

On peut y remédier… (Là ça commence à devenir du gros bidouillage, à
partir d’un certain stade il deviendra carrément plus propre de
reprendre le code de Harm et de faire un Scheme engraver.)

%%%%

extend =
#(define-music-function (parser location m) (ly:music?)
   (let* ((x-markup (markup #:normal-text #:fontsize 5 #:bold "�"))
          (x-fingering (make-music 'FingeringEvent 'text x-markup))
          (m-note (car (get-tweakable-music m)))
          (n (make-music 'NoteEvent
                         'duration (ly:music-property m-note 'duration)
                         'pitch (ly:music-property m-note 'pitch)
                         'articulations (list x-fingering)))
          (x-id (format "\"~a\"" (+ 100 (random 899)))))
     (or (eq? m m-note)
         (set! n (make-event-chord (list n))))
     #{
       \applyContext #(lambda (ctx)
                        (ly:context-set-property!
                         (ly:context-parent ctx) 'fingeringOrientations
                         (ly:context-property ctx 'fingeringOrientations)))
       \context Voice <<
         $m \new Voice = $x-id \scaleDurations 1/2 {
           \hideNotes \textLengthOn \omit Flag \omit Dots
           \applyContext #(lambda (ctx)
                            (ly:context-set-property!
                             ctx 'fingeringOrientations
                             (ly:context-property
                              (ly:context-parent ctx)
                              'fingeringOrientations)))
           s $n } >> #}))

%%%%

V.



reply via email to

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