Notations tambour - y a-t-il un schemeur dans la salle

Bonjour à tous,

Depuis mes dernières déceptions avec les éditeurs de partitions, j'ai mis le
pied dans lilypond depuis qq jours.

Ma problématique écrire des partitions de CC/tambour avec toutes les
notations adéquates.
En surfant sur les snippets j'ai trouvé des fonctions Scheme pour noter les
fla et les drags mais pas pour les ras (roulements courts).

Après qq recherches je suis tout de même arrivé au résultat suivant mais pas
encore satisfaisant : en rouge : pas bien, en vert, bien

http://lilypond-french-users.1298960.n2.nabble.com/file/n7578189/ras.jpg

En résumé de l'image, les problèmes qui subsistent :
=> les barres de trémolo sont trop écartées et mal placées sur la hampe,
mais je n'ai pas l'impression que ce soit adaptable
=> le nombre de coups du ras reste "attaché" à la note globale donc souvent
en collision avec les notes suivantes ou les barres de notes. Idéalement il
devrait être centré horizontalement entre le ras et la note suivante (ou la
fin de mesure) et verticalement au centre de la hampe restant "libre" entre
la tête de la note et les premières barres de liaison...

Quelqu'un aurait-il une solution, une idée ?

Merci d'avance,
Max.

PS : Pour information, voilà a peu près la partie à ressortir et le source
Scheme du rendu actuel.
\ra #4 sn16-> (sn->) \ra #6 sn8-> (sn4->)

#(define (tremolo-speed dur music)
   (let* ((elements (ly:music-property music 'elements))
          (music-dur (ly:music-property (car elements) 'duration))
          (length (ly:duration-log music-dur))
          (beats (expt 2 length)))
     (* beats 4)))

#(define (make-tremolo dur music)
  (let ()
    (make-sequential-music
            (list
          (context-spec-music
          (make-grob-property-set 'StemTremolo 'beam-thickness 0.3)
          'Bottom)
          (context-spec-music
          (make-grob-property-set 'StemTremolo 'slope .5)
          'Bottom)
        (context-spec-music
          (make-grob-property-set 'TextScript 'font-size +1)
          'Bottom)
        (context-spec-music
          (make-grob-property-set 'TextScript 'extra-offset '(1 . 3))
          'Bottom)
        (make-music 'TextScriptEvent
           'direction DOWN
           'text (markup #:bold (ly:number->string dur)))
        (make-music 'TremoloRepeatedMusic
           'repeat-count 1
           'tremolo-type (tremolo-speed dur music)
           'element music)
        (context-spec-music
          (make-grob-property-revert 'StemTremolo 'beam-thickness)
          'Bottom)
        (context-spec-music
          (make-grob-property-revert 'StemTremolo 'slope)
          'Bottom)
        (context-spec-music
          (make-grob-property-revert 'TextScript 'font-size)
          'Bottom)
        (context-spec-music
          (make-grob-property-revert 'TextScript 'extra-offset)
          'Bottom)
      )
    )
  )
)
#(define (tremoloize dur music)
   (if (eq? (ly:music-property music 'name) 'EventChord)
       (make-tremolo dur music)
       music))

%\tremolos <base duration> <music>
%Makes each note in music a tremolo repeat.
%dur is 8, 16, 32, etc.
ra =
#(define-music-function (parser location dur mus) (integer? ly:music?)
   (music-map (lambda (x) (tremoloize dur x)) mus))

···

--
View this message in context: http://lilypond-french-users.1298960.n2.nabble.com/Notations-tambour-y-a-t-il-un-schemeur-dans-la-salle-tp7578189.html
Sent from the LilyPond French Users mailing list archive at Nabble.com.