Subject: Isoler la 1ere note d'un bloc dans une fonction scheme

From: Simon Froger <[email-masked]>
Date: Mon, 02 Mar 2015 17:44:10 +0100

Bonjour.

Encore une question de novice en programmation schème : dans une fonction s'appliquant à un groupe de notes, je souhaite isoler la première et la dernière note afin de leur appliquer une articulation. Je ne trouve pas la fonction idoine dans la doc...

Si des spécialistes de schème peuvent m'éclairer, merci d'avance !

Simon

---

From: Gilles THIBAULT <[email-masked]>
Date: Tue, 10 Mar 2015 13:54:51 +0100

Le lundi 2 mars 2015, 17:44:10 Simon Froger a écrit :
> Bonjour.
> 
> Encore une question de novice en programmation schème : dans une fonction
> s'appliquant à un groupe de notes, je souhaite isoler la première et la
> dernière note afin de leur appliquer une articulation. Je ne trouve pas la
> fonction idoine dans la doc...
> 
Oups pardon, je ne lis ce mail que maintenant. Il date de + de 15 jours :-(

%%%%%%%%%%
\version "2.18.2"

music = \relative c' { c4 d e f g a b c}

maFonction = #(define-music-function (parser location music)(ly:music?)
(let* ((notes (extract-named-music music '(NoteEvent)))
       (first-note (first notes))
       (last-note (last notes)))
  (ly:music-set-property! first-note 'articulations
      (cons (make-music 'SlurEvent 'span-direction -1)
            (ly:music-property first-note 'articulations)))
  (ly:music-set-property! last-note 'articulations
	  (cons (make-music 'SlurEvent 'span-direction 1)
            (ly:music-property last-note 'articulations))) 
  music))

\new Staff \maFonction \music

%%%%%%%%%%%%
-- 
Gilles