[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.3 Contextes et graveurs

@translationof Contexts and engravers

Nous avons évoqué rapidement les contextes et graveurs dans les chapitres précédents ; examinons en détail ces concepts essentiels à la maîtrise de LilyPond.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.3.1 Tout savoir sur les contextes

@translationof Contexts explained

Imprimer de la musique impose d’ajouter un certain nombre d’éléments de notation. Par exemple, voici un fragment de partition, précédé du code qui l’engendre :

 
\relative { cis''4 cis2. | a4 a2. | }

[image of music]

Si le code est assez austère, dans la partition ont été ajoutés un chiffre de mesure, des barres de mesure, des altérations et une clef. Pour une bonne raison : LilyPond interprète le code. Il le compulse dans l’ordre chronologique, de même qu’on lit une partition de gauche à droite ; et pendant ce traitement, le logiciel garde en mémoire les limites des mesures, ou encore quelles hauteurs de note demandent des altérations accidentelles. Ces informations se présentent à plusieurs niveaux : ainsi, une altération n’a d’effet que sur une seule portée, tandis qu’une barre de mesure doit être synchronisée sur toute l’étendue verticale de la partition.

LilyPond regroupe ces règles et ces fragments d’information dans des Contextes. Certains contextes sont les voix (contexte Voice), les portées (contexte Staff), ou la partition dans son ensemble (contexte Score). Ils sont ordonnés hiérarchiquement : ainsi un contexte Staff peut contenir plusieurs contextes Voice, et un contexte Score peut contenir plusieurs contextes Staff.

pictures/context-example

Chaque contexte est chargé de faire appliquer certaines règles de gravure, de créer certains objets, et de prendre en compte les propriétés qui leur sont associées. Ainsi, le contexte Voice peut faire intervenir une altération accidentelle, puis le contexte Staff devra déterminer s’il faudra imprimer ou non cette dernière dans la suite de la mesure.

Les barres de mesure, quant à elles, sont alignées verticalement grâce au contexte Score par défaut. En revanche, dans une musique polymétrique, par exemple mêlant une portée à 3/4 et une autre à 4/4, les barres de mesures n’ont plus à être alignées : il faut alors modifier les comportement par défaut des contextes Score et Staff.

Dans une partition très simple, les contextes sont créés implicitement et peuvent être ignorés. Mais lorsqu’il s’agit de morceaux plus amples – entendons par là tout ce qui s’écrit sur plus d’une portée – il faut les créer explicitement pour être sûr d’obtenir toutes les portées nécessaires, et dans le bon ordre. Enfin, pour des morceaux impliquant une notation spéciale, modifier les contextes ou en créer de nouveaux devient extrêmement utile.

En plus des contextes Score, Staff et Voice sont disponibles d’autres contextes intermédiaires entre les niveaux partition et portée, chargés de gérer certains regroupement, tels que PianoStaff ou ChoirStaff. Vous disposez aussi d’autres contextes de portée ou de voix alternatifs, ainsi que des contextes spécifiques pour les paroles, les percussions, les diagrammes pour instruments frettés, la basse chiffrée, etc.

Le nom de chacun des contextes est formé d’un ou plusieurs mots aux initiales en capitale et directement accolés les uns aux autres sans ponctuation, comme par exemple GregorianTranscriptionStaff.

Voir aussi

Manuel de notation : (notation)Tout savoir sur les contextes section ‘Tout savoir sur les contextes’ dans Manuel de notation.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.3.2 Création d’un contexte

@translationof Creating contexts

Il en va des contextes comme de toute hiérarchie : il faut un sommet – le contexte Score en l’occurrence. La commande \score est chargée de le créer, mais pour des partitions simples, il le sera automatiquement. Le bloc \score contient donc une expression musicale unique ainsi que, éventuellement, la définition des supports à produire – \layout pour du visuel, \midi pour de l’acoustique, ou bien les deux.

Lorsqu’une partition ne comporte qu’une voix et une seule portée, vous pouvez laisser LilyPond créer automatiquement les contextes Voice et Staff ; mais leur présence explicite devient indispensable dès que la situation se complique. Le moyen le plus simple est d’utiliser la commande \new. Elle doit intervenir avant une expression musicale, ainsi :

 
\new type expression-musicale

où type correspond au nom du contexte (tels Staff ou Voice). Cette commande crée un nouveau contexte, puis interprète l’expression-musicale contenue dans ledit contexte.

Note : La commande \new Score ne devrait jamais servir en début de partition, puisque le contexte premier que constitue Score est créé automatiquement par l’interprétation de l’expression-musicale contenue dans le bloc score. Les adaptations affectant les propriétés des différents contextes et qui s’appliqueront à l’ensemble de la partition trouvent leur place au sein d’un bloc \layout, en suivant les préceptes énoncés au chapitre Modification des propriétés d’un contexte.

Nous avons déjà vu au cours des chapitres précédents de nombreux exemples où des contextes Staff ou Voice étaient créés au besoin. Dans un but didactique, voici maintenant une application complète et abondamment commentée :

 
\score {  % start of single compound music expression
  <<  % start of simultaneous staves section
    \time 2/4
    \new Staff {  % create RH staff
      \key g \minor
      \clef "treble"
      \new Voice {  % create voice for RH notes
        \relative {  % start of RH notes
          d''4 ees16 c8. |
          d4 ees16 c8. |
        }  % end of RH notes
      }  % end of RH voice
    }  % end of RH staff
    \new Staff <<  % create LH staff; needs two simultaneous voices
      \key g \minor
      \clef "bass"
      \new Voice {  % create LH voice one
        \voiceOne
        \relative {  % start of LH voice one notes
          g8 <bes d> ees, <g c> |
          g8 <bes d> ees, <g c> |
        }  % end of LH voice one notes
      }  % end of LH voice one
      \new Voice {  % create LH voice two
        \voiceTwo
        \relative {  % start of LH voice two notes
          g4 ees |
          g4 ees |
        }  % end of LH voice two notes
      }  % end of LH voice two
    >>  % end of LH staff
  >>  % end of simultaneous staves section
}  % end of single compound music expression

[image of music]

Notez que toute déclaration qui ouvre un bloc par une accolade, {, ou un double chevron gauche, <<, est indentée de deux espaces supplémentaires, et de deux autres pour sa marque de fermeture. Bien que ceci ne soit pas obligatoire, nous vous invitons à adopter cette pratique qui vous évitera nombre d’erreurs « accolades non appariées ». La structure de la musique apparaît ainsi au premier coup d’œil, et les défauts de parité sont plus facilement repérables. Vous remarquerez que la portée MG est créée à l’aide d’un double chevron gauche – nécessaire pour gérer ses deux voix – alors que la portée MD ne contient qu’une seule expression musicale – il n’y a qu’une voix – bornée par des accolades simples.

La commande \new peut aussi permettre de nommer le contexte créé, et ainsi le distinguer des autres contextes déjà existants :

 
\new type = "UnNom" expression-musicale

Vous noterez la distinction entre le nom du type de contexte, Staff, Voice, etc. et le nom – une simple suite de lettres au bon gré de l’utilisateur – permettant d’identifier une instance particulière du type en question. Vous pouvez utiliser des chiffres et espaces, à la stricte condition d’englober le tout dans des guillemets ; l’identificateur suivant est tout à fait valide : \new Staff = "MaPortee 1" expression-musicale. Comme nous l’avons déjà vu dans le chapitre consacré aux paroles (Voix et paroles), cet identifiant permettra ensuite de se référer à ce contexte particulier.

Voir aussi

Manuel de notation : (notation)Création et référencement d’un contexte section ‘Création et référencement d'un contexte’ dans Manuel de notation.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.3.3 Tout savoir sur les graveurs

@translationof Engravers explained

Tout point qui compose une partition générée par LilyPond est produit par un graveur (engraver en anglais). Ainsi, il y en a un qui imprime les portées, un autre les têtes de note, un autre les hampes, un autre encore pour les ligatures, etc. LilyPond dispose de plus de 120 graveurs ! La plupart des partitions ne requièrent de s’intéresser qu’à quelques-uns seulement, et pour des partitions simples, vous n’aurez même pas à vous en préoccuper.

Les graveurs résident et opèrent au sein des contextes. Les graveurs tels que le Metronome_mark_engraver, dont les effets s’appliquent à la partition dans son intégralité, opèrent au sein du contexte de plus haut niveau – le contexte Score.

Les graveurs Clef_engraver et Key_engraver seront logés dans chacun des contextes Staff ; deux portées peuvent requérir des clefs et des armures différentes.

Les graveurs Note_heads_engraver et Stem_engraver résident dans chacun des contextes Voice, contexte du plus bas niveau.

Chaque graveur confectionne les objets spécifiquement associés à sa fonction et traite les propriétés attachées à cette fonction. Ces propriétés, tout comme celles relatives aux contextes, peuvent être modifiées afin d’influencer le comportement du graveur et par voie de conséquence le rendu des éléments dont il a la charge.

Les graveurs ont tous un nom composé, formé des différents mots décrivant leur fonction. Seule l’initiale du premier mot est en majuscule, et les mots qui le composent sont joints par un caractère souligné. Ainsi, le Staff_symbol_engraver est chargé de créer les lignes de la portée, et le Clef_engraver détermine la hauteur de référence de la portée en dessinant le symbole de la clef.

Voici quelques-uns des graveurs les plus courants, ainsi que leur fonction. Vous noterez qu’il est facile d’en connaître la fonction à partir du nom, et vice versa.

GraveurFonction
Accidental_engraverCrée les altérations, y compris de précaution, accidentelles ou suggérées
Beam_engraverGrave les ligatures (beams)
Clef_engraverGrave les clefs
Completion_heads_engraverDivise les notes qui dépassent de la mesure
Dynamic_engraverCrée les soufflets et textes de nuance
Forbid_line_break_engraverEmpêche un saut de ligne si un élément musical est toujours actif
Key_engraverCrée l’armure
Metronome_mark_engraverGrave les indications métronomiques
Note_heads_engraverGrave les têtes de note
Rest_engraverGrave les silences
Staff_symbol_engraverGrave les cinq lignes (par défaut) de la portée
Stem_engraverCrée les hampes et les trémolos sur une hampe unique
Time_signature_engraverCrée les métriques

Nous verrons plus avant comment le résultat de LilyPond peut changer lorsqu’on modifie l’action des graveurs.

Voir aussi

Référence des propriétés internes : (internals)Engravers and Performers section ‘Engravers and Performers’ dans Référence des propriétés internes.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.3.4 Modification des propriétés d’un contexte

@translationof Modifying context properties

Les contextes gèrent les différentes valeurs des nombreuses propriétés qui leur sont attachées. Beaucoup d’entre elles sont susceptibles d’être modifiées afin d’influer sur l’interprétation de l’input et ainsi changer l’apparence du résultat. On les modifie grâce à la commande \set, qui s’utilise ainsi :

 
\set ContexteNommé.propriétéNommée = #valeur

où ContexteNommé est habituellement Score, Staff ou Voice. S’il n’est pas mentionné, il sera considéré comme étant Voice.

Les noms des propriétés de contexte sont composés de mots accolés sans trait d’union ni caractère souligné, et dont seul le premier n’aura pas d’initiale en majuscule. Voici quelques exemples de celles les plus communément utilisées.

propriétéNomméeTypeFonctionExemple de valeur
extraNaturalBooléenSi vrai, ajoute un bécarre avant une altération accidentelle#t, #f
currentBarNumberEntierDétermine le numéro de la mesure en cours50
doubleSlursBooléenSi vrai, imprime les liaisons au-dessous et au-dessus des notes#t, #f
instrumentNameTexteDétermine le nom à afficher en début de portée"Cello I"
fontSizeRéelAugmente ou diminue la taille de la fonte2.4
stanzaTexteDétermine le texte à imprimer avant le début d’un couplet"2"

où un booléen correspond soit à vrai (#t pour True en anglais) ou faux (#f pour False en anglais), un entier est un nombre entier positif, un réel est un nombre décimal positif ou négatif, et texte correspond à une suite de caractères encadrée par des apostrophes doubles. Attention à la présence des signes dièse (#) dans deux cas particuliers : ils sont partie intégrante des valeurs booléennes et précèdent les t ou f, mais doivent aussi précéder valeur dans le libellé de la commande \set. Il faudra donc, dans le cas d’une valeur booléenne, ne pas oublier de saisir deux signes dièse – par exemple ##t.

Avant de déterminer l’une de ces propriétés, nous devons savoir dans quel contexte elle intervient. Si cela est bien souvent évident, il peut arriver que cela tourne au cauchemar. Lorsque vous ne spécifiez pas le bon contexte, aucun message d’erreur ne s’affiche et l’effet attendu n’est pas au rendez-vous. Par exemple, le clefGlyph est de manière incontestable membre du contexte Staff, puisque c’est bien le glyphe de clef de la portée qui doit être changé. Dans l’exemple suivant, la première portée affiche effectivement la bonne clef, alors que ce n’est pas le cas pour la deuxième – qui porte la clef de sol par défaut au lieu d’une clef de basse (clef de fa) – dans la mesure où le contexte n’a pas été spécifié.

 
<<
  \new Staff \relative {
    \set Staff.clefGlyph = "clefs.C"
    c''4 c
 }
  \new Staff \relative {
    \set clefGlyph = "clefs.F"  % Wrong!
  d'4 d
 }
>>

[image of music]

Dans la mesure où le nom de contexte par défaut est Voice, la deuxième commande \set a défini la propriété clefGlyph dans le contexte de voix. Puisque LilyPond n’ira pas chercher une telle propriété dans le contexte Voice, celle-ci ne sera pas interprétée. Il ne s’agit pas d’une erreur, aucun message d’erreur ne sera ni émis ni enregistré.

De la même manière, une faute d’orthographe dans le nom de la propriété ne générera aucun message d’erreur et l’action escomptée ne se produira pas. Vous pourriez déterminer par la commande \set n’importe quelle « propriété », même fictive, à partir de n’importe quel nom et dans n’importe lequel des contextes disponibles. Mais tant que ce nom est inconnu de LilyPond, rien ne se passera. Certains éditeurs de texte disposent d’une prise en charge spécifique aux fichiers source LilyPond, à l’instar de LilyPondTool couplé à JEdit et qui documente les noms des propriétés dans une infobulle lorsque vous les survolez à la souris, ou les souligne différemment s’ils sont inconnus, comme ConTEXT. Dans le cas où votre éditeur ne dispose pas de ces fonctionnalités, nous vous recommandons de vérifier le nom des propriétés que vous manipulez dans la Référence des propriétés internes – voir (internals)Tunable context properties section ‘Tunable context properties’ dans Référence des propriétés internes, ou (internals)Contexts section ‘Contexts’ dans Référence des propriétés internes.

La propriété clefGlyph ne sera prise en compte que si elle est définie dans un contexte Staff ; d’autres propriétés peuvent par contre être définies dans plusieurs contextes différents. C’est le cas de la propriété extraNatural qui est définie par défaut à ##t (vrai) pour toutes les portées. Si vous lui attribuez la valeur ##f (faux) dans un contexte Staff particulier, elle ne s’appliquera qu’aux altérations de la portée en question ; si vous lui attribuez la valeur « faux » au niveau du contexte Score, cela s’appliquera alors à toutes les portées.

Voici comment supprimer les bécarres supplémentaires pour une portée :

 
<<
  \new Staff \relative {
    aeses'2 aes
  }
  \new Staff \relative {
    \set Staff.extraNatural = ##f
    aeses'2 aes
  }
>>

[image of music]

et pour toutes les portées :

 
<<
  \new Staff \relative {
    aeses'2 aes
  }
  \new Staff \relative {
    \set Score.extraNatural = ##f
    aeses'2 aes
  }
>>

[image of music]

Autre exemple, si la propriété clefTransposition est déterminée au niveau du contexte Score, elle modifiera la valeur de la transposition en cours pour toutes les portées actives ; cette valeur sera considérée comme étant la nouvelle valeur par défaut pour toutes les portées à venir.

La commande opposée, \unset, efface la propriété du contexte ; la plupart des propriétés reviennent de ce fait à leur valeur par défaut. En règle générale, la commande \unset n’est pas nécessaire dès lors que vous faites appel à une nouvelle commande \set pour modifier le réglage.

Les commandes \set et \unset peuvent intervenir n’importe où dans votre fichier source. Elles seront effectives dès leur apparition et jusqu’à la fin de la partition, à moins d’être affectées par un \unset ou un nouveau \set. À titre d’exemple, nous allons jouer avec la taille des fontes, ce qui affecte entre autres la grosseur des têtes de note. Les modifications s’appliquent toujours par rapport à la valeur par défaut, non par rapport à la dernière valeur définie.

 
\relative {
  c'4 d
  % make note heads smaller
  \set fontSize = #-4
  e4 f |
  % make note heads larger
  \set fontSize = #2.5
  g4 a
  % return to default size
  \unset fontSize
  b4 c |
}

[image of music]

Nous venons de voir comment déterminer la valeur de différents types de propriété. N’oubliez pas que les nombres, entiers ou réels, doivent être précédés d’un signe dièse (#) et les valeurs vrai ou faux de deux signes dièse – respectivement ##t et ##f –. Une valeur textuelle doit être encadrée de guillemets anglais, "…", bien que, comme nous le constaterons plus tard, la commande \markup permet aussi de spécifier du texte.

Définition des propriétés de contexte avec \with

@translationof Setting context properties with \with

Les propriétés d’un contexte peuvent aussi être réglées lors de la création de ce contexte. Ceci constitue parfois une façon plus claire de spécifier les valeurs d’une propriété pour la durée de vie du contexte. Lorsque vous créez un contexte à l’aide de la commande \new, vous pouvez la faire suivre immédiatement d’un bloc \with { … } qui contiendra les réglages des différentes propriétés. Ainsi, si nous voulions par exemple annuler l’impression des bécarres supplémentaires sur la durée d’une portée, nous écririons :

 
\new Staff \with { extraNatural = ##f }

ce qui donnerait :

 
<<
  \new Staff
    \relative {
      gisis'4 gis aeses aes
    }
  \new Staff \with { extraNatural = ##f } {
    \relative {
      gisis'4 gis aeses aes
    }
  }
>>

[image of music]

Les propriétés réglées de cette manière peuvent néanmoins être modifiées de façon dynamique grâce à \set ; un \unset les ramènera à leur valeur initialisée par \with.

La propriété fontSize constitue une exception : lorsqu’elle est déterminée au sein d’un bloc \with, cela redéfinit la valeur par défaut de la taille de fonte. Une modification est possible par la commande \set, mais la commande \unset fontSize fera revenir à la nouvelle valeur par défaut.

Définition des propriétés de contexte avec \context

@translationof Setting context properties with \context

Vous pouvez régler les valeurs des propriétés de contexte en une seule fois pour tous les contextes d’un même type, par exemple tous les contextes Staff. Le type du contexte doit être donné explicitement d’après son nom, par exemple Staff, précédé d’une oblique inverse, donc nous saisirons \Staff. La manière de régler la valeur des propriétés est la même que ce que nous avons vu avec la commande \with, puisqu’on se place dans un bloc \context inclus dans un bloc \layout. Chaque bloc \context affectera tous les contextes concernés par le bloc \score ou \book au sein duquel apparaît ce bloc \layout. Voici comment le mettre en place :

 
\score {
  \new Staff {
    \relative {
      cisis''4 e d cis
    }
  }
  \layout {
    \context {
      \Staff
      extraNatural = ##t
    }
  }
}

[image of music]

Dans le cas où ces ajustements de propriété doivent affecter toutes les portées de la partition, nous utiliserons alors :

 
\score {
  <<
    \new Staff {
      \relative {
        gisis'4 gis aeses aes
      }
    }
    \new Staff {
      \relative {
        gisis'4 gis aeses aes
      }
    }
  >>
  \layout {
    \context {
      \Score extraNatural = ##f
    }
  }
}

[image of music]

Les propriétés de contexte ainsi définies peuvent être adaptées pour chacun des contextes en particulier grâce à un bloc \with ou bien une commande \set au fil des notes.

Voir aussi

Manuel de notation : (notation)Modification des réglages par défaut d’un contexte section ‘Modification des réglages par défaut d'un contexte’ dans Manuel de notation, (notation)La commande de fixation (set) section ‘La commande de fixation (set)’ dans Manuel de notation.

Référence des propriétés internes : (internals)Contexts section ‘Contexts’ dans Référence des propriétés internes, (internals)Tunable context properties section ‘Tunable context properties’ dans Référence des propriétés internes.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]         [Racine] [Table des matières] [Index] [ ? ]

3.3.5 Ajout et suppression de graveurs

@translationof Adding and removing engravers

Nous avons vu que chaque contexte met en œuvre plusieurs graveurs et que chacun de ces graveurs est chargé de générer une composante particulière du fichier de sortie, qui les barres de mesure, qui la portée, qui les têtes de note, les hampes, etc. Le fait de supprimer un graveur d’un contexte éliminera sa contribution au fichier de sortie. Bien que ce soit là un moyen radical de modifier le résultat, cette pratique est dans quelques cas fort utile.

Modification d’un seul contexte

@translationof Changing a single context

Nous utilisons, pour supprimer un graveur d’un contexte, la commande \with dès la création du-dit contexte, comme nous l’avons vu dans la section précédente.

Illustrons notre propos en reprenant un exemple du chapitre précédent, duquel nous supprimerons les lignes de la portée. Pour mémoire, les lignes d’une portée sont générées par le Staff_symbol_engraver.

 
\new Staff \with {
  \remove "Staff_symbol_engraver"
}
\relative {
  c'4 d
  \set fontSize = #-4  % make note heads smaller
  e4 f |
  \set fontSize = #2.5  % make note heads larger
  g4 a
  \unset fontSize  % return to default size
  b4 c |
}

[image of music]

Vous pouvez aussi ajouter individuellement un graveur à un contexte. La commande se formule ainsi :

\consists Nom_du_graveur

et se place dans un bloc \with. Certaines partitions vocales font apparaître un (music-glossary)ambitus section ‘ambitus’ dans Glossaire au début de la portée, afin d’indiquer ses notes extrêmes. L’ambitus est généré par l’Ambitus_engraver, que l’on peut adjoindre à n’importe quel contexte. Si nous l’ajoutons au contexte Voice, seule la tessiture de cette voix sera calculée :

 
\new Staff <<
  \new Voice \with {
    \consists "Ambitus_engraver"
  } {
    \relative {
      \voiceOne
      c''4 a b g
    }
  }
  \new Voice {
    \relative {
      \voiceTwo
      c'4 e d f
    }
  }
>>

[image of music]

alors que si nous l’ajoutons au contexte Staff, l’Ambitus_engraver calculera l’écart maximal à partir de toutes les notes de toutes les voix de la portée :

 
\new Staff \with {
  \consists "Ambitus_engraver"
}
<<
  \new Voice {
    \relative {
      \voiceOne
      c''4 a b g
    }
  }
  \new Voice {
    \relative {
      \voiceTwo
      c'4 e d f
    }
  }
>>

[image of music]

Modification de tous les contextes d’un même type

@translationof Changing all contexts of the same type

Les exemples ci-dessus nous ont montré comment ajouter ou retirer des graveurs à des contextes individuels. Nous pourrions aussi ajouter ou supprimer des graveurs à tous les contextes d’un même type en insérant les commandes pour le contexte approprié au sein d’un bloc \layout. Si nous voulions afficher un ambitus pour chacune des portées d’un système à quatre portées, il nous suffirait d’écrire :

 
\score {
  <<
    \new Staff {
      \relative {
        c''4 a b g
      }
    }
    \new Staff {
      \relative {
        c'4 a b g
      }
    }
    \new Staff {
      \clef "G_8"
      \relative {
        c'4 a b g
      }
    }
    \new Staff {
      \clef "bass"
      \relative {
        c4 a b g
      }
    }
  >>
  \layout {
    \context {
      \Staff
      \consists "Ambitus_engraver"
    }
  }
}

[image of music]

Vous réglerez de la même manière les propriétés de tous les contextes d’un type particulier si vous insérez les commandes \set dans un bloc \context.

Voir aussi

Manuel de notation : (notation)Modification des greffons de contexte section ‘Modification des greffons de contexte’ dans Manuel de notation, (notation)Modification des réglages par défaut d’un contexte section ‘Modification des réglages par défaut d'un contexte’ dans Manuel de notation.

Problèmes connus et avertissements

Dans la mesure où les Stem_engraver et Beam_engraver rattachent à des têtes de note les objets qu’ils créent, désactiver le Note_heads_engraver entraîne l’absence de hampe et de ligature.


[ < ] [ > ]   [ << ] [Plus haut] [ >> ]

Ce document a été généré le le 13 juillet 2020 par gub en utilisant texi2html 1.82.

Autres langues : English, català, česky, deutsch, español, magyar, italiano, 日本語, nederlands.
À propos de la sélection automatique de la langue.