4.3.4 Optimisation des tournes

Aboutir à une configuration des sauts de page de telle sorte que les pages de droite se terminent toujours par un silence devient souvent une nécessité. En effet, l’exécutant pourra alors tourner la page sans risquer de manquer des notes. La fonction ly:page-turn-breaking tend à trouver une rupture qui évite d’obtenir à la fois une page trop dense ou exagérément aérée, tout en tenant compte du fait qu’une tourne ne saurait intervenir qu’à certains endroits.

L’utilisation de cette fonction se fait en deux étapes. Il vous faut tout d’abord l’activer au sein du bloc \paper comme indiqué à la rubrique Sauts de page. Vous devrez, dans un deuxième temps, informer la fonction des endroits où les sauts de page sont permis.

Cette deuxième étape se réalise de deux manières différentes. Vous pouvez spécifier manuellement chaque tourne potentielle en insérant un \allowPageTurn à l’endroit approprié de votre fichier source.

Toutefois, cette option peut vite se révéler fastidieuse selon l’ampleur de l’œuvre. Vous pouvez alors recourir au Page_turn_engraver que vous mentionnerez dans un contexte de voix ou de portée. Ce graveur de tournes recherchera dans le contexte en question les passages sans note. Notez bien qu’il ne recherche pas des silences, mais l’absence de notes ; autrement dit, il ne restera pas inactif dans le cadre d’une portée polyphonique dont l’une des parties contiendrait des silences. Lorsqu’il rencontre un fragment suffisamment long ne contenant aucune note, il insère un \allowPageTurn à la barre terminant ce fragment, à moins qu’il ne rencontre en chemin une « barre spéciale » – telle une double barre – auquel cas il y déposera le \allowPageTurn.

Le Page_turn_engraver examine la propriété de contexte minimumPageTurnLength pour déterminer quelle doit être la longueur d’un fragment sans note avant une tourne. La valeur par défaut de minimumPageTurnLength est (ly:make-moment 1 1), soit une ronde, et s’ajuste de la manière suivante :

\new Staff \with { \consists "Page_turn_engraver" }
{
  a4 b c d |
  R1 | % une tourne peut se placer ici
  a4 b c d |
  \set Staff.minimumPageTurnLength = #(ly:make-moment 5 2)
  R1 | % il ne peut pas y avoir de tourne ici
  a4 b r2 |
  R1*2 | % une tourne peut se placer ici
  a1
}

Le Page_turn_engraver tient compte des reprises. C’est pourquoi il ne permettra une tourne que dans le cas où il y aura suffisamment de temps au début et à la fin de la reprise pour que l’exécutant ait le temps de revenir à la page précédente. Le Page_turn_engraver est même capable d’interdire un tourne dans le cas d’une reprise de courte durée, ajustable au travers de la propriété de contexte minimumRepeatLengthForPageTurn.

Les commandes de tourne – \pageTurn, \noPageTurn et \allowPageTurn – peuvent s’utiliser à des niveaux supérieurs, entre des blocs \score ou des markups de haut niveau.

Commandes prédéfinies

\pageTurn, \noPageTurn, \allowPageTurn.

Voir aussi

Morceaux choisis : Espacements.

Problèmes connus et avertissements

Une partition ne devrait contenir qu’une seule instance du Page_turn_engraver, au risque de les voir se contredire.


Autres langues : English, deutsch, español, italiano, 日本語.
About automatic language selection.

LilyPond — Manuel de notation