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

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

Re: Création d'une fonction simple


From: Gilles Thibault
Subject: Re: Création d'une fonction simple
Date: Fri, 20 Nov 2020 03:03:11 +0100
User-agent: Webmail Free/1.3.3

Le 2020-11-18 22:28, Seventies a écrit :

\fUpBow {a4(}
qui remplacerait la séquence suivante :

\tag #'partScore {
  a4( \upbow
}
\elseTag #'partScore {
  a4(
}


Bonjour.
Je ne sais pas si c'est ça que vous voulez :

        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\version "2.20.0"

%%%%%%%%%%%%%% sans la fonction

music = {
\tag #'score {
  a4( \upbow a)
}
\tag #'part {
  a4( a)
}
}

{ \music }

{ \keepWithTag #'score \music  }

{ \keepWithTag #'part \music  }

%%%%%%%%%%%%%% avec une fonction

fUpBow = #(define-music-function (note) (ly:music?)
  #{
  \tag #'score { $note \upbow }
  \tag #'part { $note } #})

music = { \fUpBow a4( a) }

{ \music }

{ \keepWithTag #'score \music }

{ \keepWithTag #'part \music }


        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


2 petites remarques :

1) la fonction \elseTag n'existe pas mais ça fait peut-être référence à ça :

   http://lsr.di.unimi.it/LSR/Item?id=381

J'avais fait cette fonction il y a des années, mais je ne l'utilise plus car avec arranger.ly on n'a plus besoin des \tag
[simplement (if (part? 'score) music1 music2))]
Sur des gros projets, la gestion des \tag peut devenir un gros casse-tête

2) Pour 2.18, la déclaration de la fonction fUpBow devra effectivement rajouter les paramètres parser et location

fUpBow = #(define-music-function (parser location note) (ly:music?)
  ...

3) (ok j'avais dis 2 )

j'ai bien aimé le lien espace-midi à la fin du message. Bravo. Énorme travail.



--
Gilles



reply via email to

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