Subject: Deplacer des portees

From: Yoann LE BARS <[email-masked]>
Date: Thu, 2 Jan 2020 02:35:54 +0100

Salut à tous !

	Tout d’abord, je vous souhaite à tous le meilleur pour cette nouvelle
année.

	Je tente de changer le positionnement de portées dans la page. J’ai
réalisé à la main un exemple de ce que je cherche à faire, qui est
visible à cette adresse :

https://cloud.le-bars.net/index.php/s/E4azDOHp5WaEedq

	J’ai  pu obtenir avec Lilypond une partie de l’objectif, mais les
portées ne sont pas placées au bon niveau. Mon code est disponible sur
Lilybin, à l’adresse suivante :

http://lilybin.com/47nohf/1

	Je recopie ce code en fin de ce message.

	Il y a un petit problème de barres de mesures, mais surtout certaines
portées ne sont pas placées au bon endroit. J’ai cherché dans la
documentation un moyen de déplacer ces portées, mais je n’ai rien trouvé
qui m’aide. Quelqu’un a-t-il une proposition pour régler ce problème ?

	À bientôt.

\version "2.18.2"

{
  % initial shared music
  c'1 e |

  % the two alternatives
  \override Staff.StaffSymbol.line-count = 0
  \stopStaff \startStaff
  \hide Staff.BarLine
  <<
    \new Staff {
      \hide Staff.KeySignature
      \hide Staff.TimeSignature
      d' a' d'' |
    }
    \new Staff {
      \hide Staff.KeySignature
      \hide Staff.TimeSignature
      g' b' e'' |
    }
  \override Staff.StaffSymbol.line-count = 5
  \stopStaff \startStaff
  \undo\hide Staff.BarLine

  % next shared music
  ais' bes' |
}

-- 
Yoann LE BARS
http://le-bars.net/yoann/
Diaspora* : [email-masked]

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 2 Jan 2020 09:37:29 +0100

Bonjour Yoann,
Une solution :

\version "2.18.2"

\paper {
  top-margin = 20
}

ossia = \markup \with-dimensions #'(0 . 0) #'(0 . 0) {
  \score {
    \new StaffGroup <<
      \new Staff { d'1 a' d'' }
      \new Staff { g'1 b' e'' }
    \layout {
      \context {
      \Score
        \remove System_start_delimiter_engraver
      }
      \context {
        \StaffGroup
        \remove System_start_delimiter_engraver
      }
      \context {
        \Staff
        \omit TimeSignature
      }
    }
  }
}

\score {
  \new Staff {
    c'1 e
    \stopStaff
    s1*6-\tweak extra-offset #'(-8 . -2) -\markup\ossia
    \startStaff
    ais'1 bes'
  }
  \layout {}
}

Bonne année à toi,
Pierre

---

From: Yoann LE BARS <[email-masked]>
Date: Thu, 2 Jan 2020 10:20:17 +0100

Bonjour.

> Une solution :

	Merci, ça correspond exactement. Problème résolu et je vais explorer ce
que ça me permet pour le reste de ce que je dois faire.

	À bientôt.

---

From: "[email-masked]" <[email-masked]>
Date: Thu, 2 Jan 2020 10:39:06 +0100

> \version "2.18.2"
[......]
Il n'y a rien de superflu, rien que du bon et utile ! Quelle élégance !
Et réponse rapide, en plus. Bravo Pierre.

--

JJG

---

From: "[email-masked]" <[email-masked]>
Date: Thu, 2 Jan 2020 11:42:57 +0100

> Bonjour Yoann,
Bonjour à tous (mais surtout à Pierre)

\version "2.18.2"

\paper {
  top-margin = 20
}

    \layout {
      \context {
      \Score

\score {
  \new Staff {
    c'1 e
    \stopStaff

Ce code est très succinct mais très complet. J'ai voulu le mettre dans
mon aide-mémoire et l'utiliser avec OOOlilypond.

la réponse a été "no png output is found"

Il semble que le terme \paper ne soit pas reconnu, ni celui de ossia

J'ai cherché un peu mais je n'ai pas trouvé de remède...

J'ai enlevé le cache de OOolilypond dans mon /home en supposant qu'il y
avait quelque commande parasite mais non. Le répertoire s'est reformé à
la nouvelle relance mais pas plus de résultat.

Je demande donc humblement comment faire apparaître le résultat de ce
code en image dans mon fichier LibreOffice.

Merci d'avance.

Ah ! j'oubliais... bonne année à tous !

--

JJG

---

From: Yoann LE BARS <[email-masked]>
Date: Thu, 2 Jan 2020 17:43:11 +0100

Bonjour.

	Bon, j’ai encore besoin d’un peu d‘aide pour comprendre cette solution.
Sur la partition que je dois écrire, les alternatives (on ne peut pas
vraiment parler d’/ossia/ dans la mesure où les différentes alternatives
sont longues et ne sont pas des versions plus ou moins simples d’une
même phrase) nécessitent que les portées passent à la ligne.

	J’ai donc fait une petite modification des mesures en remplaçant les
rondes par des croches. Cette modification est visible sur Lilybin à
cette adresse :

http://lilybin.com/26fz8z/1

	Cette fois encore, je copie mon code en fin de mon message.

	Je n’ai pas encore changé le nombre de mesures, mais déjà je ne
parviens déjà pas à faire en sorte de passer à la ligne. J’ai tenté
d’ajouter un « \break » dans les portées de la variable « ossia », mais
le résultat n’était pas celui attendu. J’ai également tenté de modifier
les valeurs dans la ligne suivante :

	Cependant, je n’ai pas été capable de trouver un réglage qui corrige
les problèmes. Je ne donne pas les différents essais que j’ai faits, ça
rendrait les choses peu lisibles. Ma question est : à partir de la
version que je propose, est-ce qu’il serait possible de m’expliquer
comment régler les différents paramètres afin que je puisse réaliser ce
que je cherche à faire ?

	À bientôt.

\version "2.18.2"

\paper {
  top-margin = 20
}

ossia = \markup \with-dimensions #'(0 . 0) #'(0 . 0) {
  \score {
    \new StaffGroup <<
      \new Staff { \repeat unfold 6 { e'8 f' g' a' } }
      \new Staff { \repeat unfold 6 { a'8 g' f' e' } }
    \layout {
      \context {
      \Score

\score {
  \new Staff {
    \repeat unfold 4 { c'8 d' e' f' }
    \stopStaff
    s1*6-\tweak extra-offset #'(-8 . -2) -\markup\ossia
    \startStaff
    \repeat unfold 4 { f'8 e' d' c' }
  }
  \layout {}
}

---

From: Pierre Perol-Schneider <[email-masked]>
Date: Thu, 2 Jan 2020 21:03:23 +0100

Je comprends à peu près ce que tu souhaites ; pas évident...
On peu bidouiller quelque chose comme (avec qq explications en
commentaires) :

\version "2.18.2"

\paper {
  top-margin = 20
}

%% je créé un markup de dimension nulle :
alter = \markup \with-dimensions #'(0 . 0) #'(0 . 0) {
  \score {
    \new StaffGroup <<
      \new Staff {
        \repeat unfold 4 { e'8 f' g' a' }
        \set Score.currentBarNumber = 5
        \break
        \repeat unfold 8 { e'8 f' g' a' }
      }
      \new Staff { \repeat unfold 12 { a'8 g' f' e' } }
    \layout {
      indent = 100
      system-count = 2
      \context {
      \Score

%% Je démarre mon 1er système :
\score {
  \new Staff {
    \repeat unfold 4 { c'8 d' e' f' }
    \stopStaff
    s1*5
    %% à décommenter !!!
    %-\tweak extra-offset #'(-57 . -2) -\markup\alter % <= je colle mon
markup au bon endroit

  }
  \layout {
    indent = 9
    system-count = 1
  }
}

\markup\vspace #9 %% <= j'ajoute un peu d'espace...
%%... et la suite :
\score {
  \new Staff {
    \set Score.currentBarNumber = 9
    \bar ""
    \repeat unfold 16 { f'8 e' d' c' }
  }
  \layout {
    indent = 0
  }
}

... Mais peut-être existe-t-il une meilleure solution.
En farfouillant dans la LSR, il y a par ex.
http://lsr.di.unimi.it/LSR/Item?id=650

Cordialement,
Pierre

---

From: Valentin Villenave <[email-masked]>
Date: Sat, 4 Jan 2020 08:54:33 +0000

> mon aide-mémoire et l'utiliser avec OOOlilypond.

OLy est livré avec plusieurs modèles pré-définis, mais le code de
Pierre se suffit à lui-même. Donc dans OLy il faut commencer par
sélectionner "Modèle -> Direct vers LilyPond".

Ensuite dans le modèle qui s’ouvre, il faut tout supprimer sauf la ligne
\include "lilypond-book-preamble.ly"
puis coller le code de Pierre en-dessous.

Et là (en principe) ça devrait marcher.

Cordialement,
V.

---

From: Yoann LE BARS <[email-masked]>
Date: Mon, 6 Jan 2020 03:27:14 +0100

Salut à tous !

> Je comprends à peu près ce que tu souhaites ; pas évident...

	En tout cas merci : ça me fait déjà bien avancer. Il ne me reste plus
qu’une question : éventuellement, je peux arriver à la fin des
alternatives avant la fin de la ligne et dans ce cas je dois retourner à
une portée unique sur cette ligne – c’est en fait le cas inverse de
celui présenté.

	Pour expliciter ce que je dois faire : je travaille sur une partition
dans laquelle l’interprète, en cours d’interprétation, doit sélectionner
entre plusieurs alternatives et ceci plusieurs fois de suite. D’où le
besoin de diviser la portée en deux par moment, puis de revenir à une
seule portée à d’autre moment.

	À bientôt.