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

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

Re: Ecriture rythmique : note unique à ne pas transposer


From: Jean Abou Samra
Subject: Re: Ecriture rythmique : note unique à ne pas transposer
Date: Wed, 8 Dec 2021 09:25:38 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.1

Le 08/12/2021 à 02:59, Gilles Thibault a écrit :
xNote = \withMusicProperty untransposable ##t \xNote \etc

Ah bravo, c'est à ce genre de concision que je voulais arriver... J'avais oublié cette commande \withMusicProperty ! Bon, j'avoue que c'est assez facile d'être perdu dans toutes ces commandes de changements de
propriétés :
  \override,
  \tweak,
  \overrideProperty,
  \propertyOverride (ben oui...),
  \propertyTweak
  \withMusicProperty
  (Bon j'en passe...)

Je vais résumer ce que j'ai compris pour l'instant, en me référant aux 3 catégories d'objets décrites ici :

http://lilypond.org/doc/v2.22/Documentation/internals-big-page.html#top

Pour modifier une propriété d'un objet, il faut utiliser :
   1- music expression         : \withMusicProperty
   2- contexts                 : \set
   3- objets graphiques (grob) : \override ou \tweak ou même \overrideProperty pour certain objets comme NonMusicalPaperColumn (je n'ai pas trouvé la liste des autres grobs comme NonMusicalPaperColumn)



Essentiellement NonMusicalPaperColumn et PaperColumn. La raison
en est technique. En général, les développeurs aujourd'hui
essaient de se débrouiller pour que \override fonctionne,
si bien que \overrideProperty n'est plus utile souvent à
part pour ces deux objets.




Dans l'exemple ci-dessous, untransposable fait partie des propriétés des objets de la 1ère catégorie, et la modification de propriété empêche bien le do d'être transposé car c'4 est un NoteEvent, objet appartenant à la 1ère catégorie. :

  \transpose c d {
    \withMusicProperty untransposable ##t
    c'4   }


Pour \propertyOverride et \propertyTweak, je n'ai pas trouvé d'exemple d'utilisation dans la doc. Probablement très peu utilisés.


\propertyOverride fait exactement la même chose que
\override, il n'y a juste pas de signe « égale »
entre la propriété et la valeur. Cette fonction
est surtout utile en Scheme, appelée comme une
fonction Scheme ordinaire (par exemple :
« $(propertyOverride '(NoteHead color) "red") »).
En effet, \override ne peut pas être appelée de
cette manière car elle est implémentée comme un mot
réservé dans l'analyseur syntaxique et pas comme
une fonction musicale (justement à cause du signe
« = »). Il existe de même \propertyRevert, \propertySet
et \propertyUnset.

Enfin, \propertyTweak est souvent utilisée, mais
plutôt en interne : c'est la commande qui se cache
derrière un certain nombre d'autres commandes qui
prennent deux formes, par exemple \shape. On peut
écrire un \shape comme un \override :

  \shape #'(...) Tie
  c'1~

ou bien comme un \tweak :

  c'1\shape #'(...) ~

\propertyTweak fonctionne donc selon les deux syntaxes

  \propertyTweak propriété valeur [NomDuContext.NomDuGrob]

et

  \propertyTweak propriété valeur [expression musicale]

Elle se comporte comme un \override ou comme un
\tweak, selon la syntaxe.

J'espère que ceci clarifie les choses.

Cordialement,
Jean




reply via email to

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