Commandes non documentées

Bonjour,

En adaptant le modèle de partition pour piano fourni dans la documentation pour en faire un modèle de partition pour clavecin, je m'interroge sur les commandes suivantes se trouvant en début de source:

dump-extents

force-assignment

\sourcefileline

A quoi servent-elles ? Elles ne sont même pas documentées. J'ai fait pourtant une recherche avec l'outil Recherche de Windows.

Yann

···

--
Yann Morin
LilyPond 2.10.20 sous WinXP
Partitions pour clavecin & tutoriels LilyPond sur ymorin.club.fr

Bonjour,

En adaptant le modèle de partition pour piano fourni dans la
documentation pour en faire un modèle de partition pour clavecin, je
m'interroge sur les commandes suivantes se trouvant en début de source:

dump-extents

force-assignment

\sourcefileline

Pour autant que je sache, ces commandes sont générées automatiquement,
et ne font pas à proprement parler partie des exemples LilyPond. Elles
sont relatives à leur intégration dans la documentation (qui est au
format TexInfo), au moyen de l'outil lilypond-book. (je crois qu'il
s'agit ici du "préambule" de lilypond-book).

D'ailleurs, si tu as tenté de les enlever, tu auras pu constater
qu'aucune différence ne se produit, à part éventuellement de petits
détails de mise en forme (que tu pourras compenser en écrivant
toi-même ton propre bloc \paper ou \layout si nécessaire).

Les deux premières sont relatives à la taille et la disposition de
l'image produite par LilyPond; quant à la commande \sourcefileline, ce
n'est pas une commande LilyPond comme les autres, je crois qu'il
s'agit d'un repère pour lilypond-book par rapport aux fichiers source
de la documentation (les fichiers .itely, dont sont extraits tous les
exemples). Il est donc normal que tu n'aies pas trouvé de
documentation spécifique.

En général, la partie véritablement utile du code commence justement
en-dessous de la ligne \sourcefileline. C'est à partir de là qu'il
faut copier et coller.

J'ai fait pourtant une recherche avec l'outil Recherche de Windows.

Quel sens de l'humour :slight_smile:

Cordialement,
Valentin

···

Le 10/05/07, Yann Morin<****@****> a écrit :

Bonjour,

j'essaye de faire une partoche avec 2 voix sur la même portée, en gros il y a 2 blanches et en même temps 8 croches.

    <<
    {r8 c'8\3 e'\2 a'\1 b'\1 e'\2 c'\3 b'\1} \\
    {a2\4 gis\4}
    >>

ça marche sauf que chaque note est doublée !
Un autre problème est que la tablature guitare est vide.

Des idées ?

Merci

···

--
Denis

.

<<
{r8 c'8\3 e'\2 a'\1 b'\1 e'\2 c'\3 b'\1} \\
{a2\4 gis\4}

ça marche sauf que chaque note est doublée !
Un autre problème est que la tablature guitare est vide.

La syntaxe pour les doigtés c'est avec - et non avec \
Ce qui donne

<<
{r8 c'8-3 e'-2 a'-1 b'-1 e'-2 c'-3 b'-1} \\
{a2-4 gis-4}

Les doigtés apparaissent.
Ceci dit chez moi , les notes n'apparaissaient pas doublées dans la code initial.
Versions différentes de lilypond ?

Gilles
Version 2.10.20

en fait ce ne sont pas les doigtés mais le numéro de la corde sur la guitare

j'ai la 2.10.16, je vais essayer d'installer la dernière version...

···

.

<<
{r8 c'8\3 e'\2 a'\1 b'\1 e'\2 c'\3 b'\1} \\
{a2\4 gis\4}

ça marche sauf que chaque note est doublée !
Un autre problème est que la tablature guitare est vide.

La syntaxe pour les doigtés c'est avec - et non avec \
Ce qui donne

<<
{r8 c'8-3 e'-2 a'-1 b'-1 e'-2 c'-3 b'-1} \\
{a2-4 gis-4}

Les doigtés apparaissent.
Ceci dit chez moi , les notes n'apparaissaient pas doublées dans la code initial.
Versions différentes de lilypond ?

Gilles
Version 2.10.20

Oui, j'ai déjà eu ce problème de notes doublées (pour chaque note, une
hampe et deux têtes de note), ça vient d'une mauvaise structure de
musique (emboîtement d'expressions musicales << >> {} avec \new
<contextes>, le tout dans le bloc \score). Si la tablature de guitare
est vide, c'est sûrement un problème du même type.

Pour répondre précisément à ta question, il nous faut donc la structure
du fichier .ly, c'est-à-dire le fichier .ly de ta partition dans lequel
tu as enlevé 90% de la musique pour ne garder qu'un exemple minimal,
assez fourni quand même pour nous permettre de le compiler et voir ton
problème.

Bon week-end

···

Le vendredi 18 mai 2007 à 15:16 +0200, denis queffeulou a écrit :

Bonjour,

j'essaye de faire une partoche avec 2 voix sur la même portée, en
gros il y a 2 blanches et en même temps 8 croches.

    <<
    {r8 c'8\3 e'\2 a'\1 b'\1 e'\2 c'\3 b'\1} \\
    {a2\4 gis\4}
    >>

ça marche sauf que chaque note est doublée !
Un autre problème est que la tablature guitare est vide.

Des idées ?

--
John Mandereau <****@****>

j'utilise désormais la 2.10.23 mais ça ne change rien,
voici la structure générale du morceau :

melody = {
  \key a \minor
  \time 4/4
  \repeat volta 2
  {
    <<
    {r8 c'8\3 e'\2 a'\1 b'\1 e'\2 c'\3 b'\1} \\
    {a2\4 gis\4}
    >>
    <<g8\4 c''\1>> e'\2 c'\3 c''\1 <<fis\4 fis'\1>> d'\2 a\3 fis'\1 |
    <<f\4 e'\1>> c'\2 a\3 c'\2~ c'\2 e'\1 c'\2 a\3
  }
  \alternative {
    {<<b,\5 g\3>> <<a,\5 a\3>> <<a,4\5 a4\3>> r8 a,8\5 f\5 e\5 }
    {<<b,\5 g\3>> <<a,\5 a\3>> <<a,4\5 a4\3>> r4 a,8\5 b,\5}
  }
}

\book
{
  \header{
    title = "Stairway to heaven - IV"
    composer = "Led Zeppelin"
  }
  \score
  {
    <<
    \new Voice = "melody"
    {
      \clef "G_8"
      \melody
    }
    \new TabStaff {
      \melody
    }
    >>
  }
}

La tablature n'est vide que sur la première mesure.

···

Le vendredi 18 mai 2007 à 15:16 +0200, denis queffeulou a écrit :

Bonjour,

j'essaye de faire une partoche avec 2 voix sur la même portée, en
gros il y a 2 blanches et en même temps 8 croches.

    <<
    {r8 c'8\3 e'\2 a'\1 b'\1 e'\2 c'\3 b'\1} \\
    {a2\4 gis\4}
    >>

ça marche sauf que chaque note est doublée !
Un autre problème est que la tablature guitare est vide.

Des idées ?

Oui, j'ai déjà eu ce problème de notes doublées (pour chaque note, une
hampe et deux têtes de note), ça vient d'une mauvaise structure de
musique (emboîtement d'expressions musicales << >> {} avec \new
<contextes>, le tout dans le bloc \score). Si la tablature de guitare
est vide, c'est sûrement un problème du même type.

Pour répondre précisément à ta question, il nous faut donc la structure
du fichier .ly, c'est-à-dire le fichier .ly de ta partition dans lequel
tu as enlevé 90% de la musique pour ne garder qu'un exemple minimal,
assez fourni quand même pour nous permettre de le compiler et voir ton
problème.

Bon week-end
--
John Mandereau <****@****>

j'utilise désormais la 2.10.23 mais ça ne change rien,
voici la structure générale du morceau :

melody = {
  \key a \minor
  \time 4/4
  \repeat volta 2
  {
    <<
    {r8 c'8\3 e'\2 a'\1 b'\1 e'\2 c'\3 b'\1} \\
    {a2\4 gis\4}
    >>
    <<g8\4 c''\1>> e'\2 c'\3 c''\1 <<fis\4 fis'\1>> d'\2 a\3 fis'\1 |
    <<f\4 e'\1>> c'\2 a\3 c'\2~ c'\2 e'\1 c'\2 a\3
  }
  \alternative {
    {<<b,\5 g\3>> <<a,\5 a\3>> <<a,4\5 a4\3>> r8 a,8\5 f\5 e\5 }
    {<<b,\5 g\3>> <<a,\5 a\3>> <<a,4\5 a4\3>> r4 a,8\5 b,\5}
  }
}

\book
{
  \header{
    title = "Stairway to heaven - IV"
    composer = "Led Zeppelin"
  }
  \score
  {
    <<
    \new Voice = "melody"
    {
      \clef "G_8"
      \melody
    }
    \new TabStaff {
      \melody
    }
    >>
  }
}

La tablature n'est vide que sur la première mesure.

Le problème est que tu définis le contexte de Voix "mélody", et
qu'ensuite tu veux y mettre deux contextes de Voix simultanés avec << \\

, ce qui n'est pas logique, et donc fait faire des bizarreries à

LilyPond. Entre les contextes de Partition (Score) et de Voix, il y a
un intermédiaire essentiel : la Portée (Staff), qui devrait toujours
être définie explicictement pour plus de clarté.

Concrètement, cela signifie qu'il faut replacer

\new Voice = "melody"

par

\new Staff = "melody"

dans le bloc \score

···

Le samedi 19 mai 2007 à 10:09 +0200, denis queffeulou a écrit :

--
John Mandereau <****@****>

bon ça ne marche pas non plus avec new Staff,
en fait je me demande si la notation à plusieurs voix est supportée par TabStaff parce que à aucun moment je n'ai vu une tablature apparaître pour la première mesure.
Si je met une version différente de notes pour Staff et TabStaff ça marche, mais bon, c'est moyen comme solution...

j'ai essayé aussi sans succès :

  \score
  {
    \new StaffGroup <<
    \new Staff
    {
      \clef "G_8"
      \melody
    }
    \new TabStaff {
      \melody
    }
    >>
  }

merci quand même

···

--
Denis

Le problème est que tu définis le contexte de Voix "mélody", et
qu'ensuite tu veux y mettre deux contextes de Voix simultanés avec << \\

, ce qui n'est pas logique, et donc fait faire des bizarreries à

LilyPond. Entre les contextes de Partition (Score) et de Voix, il y a
un intermédiaire essentiel : la Portée (Staff), qui devrait toujours
être définie explicictement pour plus de clarté.

Concrètement, cela signifie qu'il faut replacer

\new Voice = "melody"

par

\new Staff = "melody"

dans le bloc \score

--
John Mandereau <****@****>

bon ça ne marche pas non plus avec new Staff,
en fait je me demande si la notation à plusieurs voix est supportée
par TabStaff parce que à aucun moment je n'ai vu une tablature
apparaître pour la première mesure.

Oui, le contexte TabStaff peut contenir plusieurs voix, mais ces voix ne
sont pas des contextes Voice mais plutôt des contextes TabVoice (cf.
manuel "7.5.2 Tablatures basic").

La syntaxe << \\ >> sous-entend deux contextes Voice implicites, ce qui
ne convient pas au contextes Tab{Staff,Voice}.

Si je met une version différente de notes pour Staff et TabStaff ça
marche, mais bon, c'est moyen comme solution...

C'est la solution pourtant, avec différentes posssibilités. La pire
étant de copier-coller les notes pour avoir deux versions complètement
indépendantes : lorsqu'on veut faire des modifications, il faut les
répercuter à la main sur l'autre copie, ce qui est barbant et source
d'erreurs.

Voici un code qui fonctionne, avec les mêmes notes pour la portée et la
tablature. La solution envoyée par "leyoy" convient très bien, je
propose celle-ci dans un but pésagogique, pour montrer l'utilisation des
tags:

melodyA = {r8 c'8\3 e'\2 a'\1 b'\1 e'\2 c'\3 b'\1}

melodyB = {a2\4 gis\4}

melody = {
  \key a \minor
  \time 4/4
  \repeat volta 2
  {
    <<
      \tag #'melody << \melodyA \\ \melodyB >>
      \tag #'tab <<
\new TabVoice { \voiceOne \melodyA }
\new TabVoice { \voiceTwo \melodyB }
      >>
    >>
    <g\4 c''\1>8 e'\2 c'\3 c''\1 <fis\4 fis'\1> d'\2 a\3 fis'\1 |
    <f\4 e'\1> c'\2 a\3 c'\2~ c'\2 e'\1 c'\2 a\3
  }
  \alternative {
    {<b,\5 g\3> <a,\5 a\3> <a,\5 a\3>8 r8 a,8\5 f\5 e\5 }
    {<b,\5 g\3> <a,\5 a\3> <a,\5 a\3>8 r4 a,8\5 b,\5}
  }
}

\score
{
  \new StaffGroup <<
    \new Staff
    {
      \clef "G_8"
      \keepWithTag #'melody \melody
    }
    \new TabStaff {
      \keepWithTag #'tab \melody
    }
  >>
}

Bien cordialement

···

Le samedi 19 mai 2007 à 18:23 +0200, denis queffeulou a écrit :
--
John Mandereau <****@****>