espaces entre tablatures

Bonjour à toute la liste.

Aujourd'hui, double peine : VerticalAxisGroup :-[ + TabStaff :frowning: . Autant vous dire que je suis au désespoir :cry:

Je m'explique : voici l'allure de mon score :

\score{
<<
\new Staff {\hampesprelude} %une ligne de notes sans portée, pour indiquer au-dessus de la tablature les rythmes
\new TabStaff {
\set TabStaff.stringTunings = #jenkinsI %le tuning de la viole
\prelude} % la tablature proprement dite rentrée dans un fichier à part

\midi{}
\layout{}
}

J'ai réussi à régler l'espace entre les indications de rythme et la TabStaff par un :

\context {
\Staff
(...)
\override VerticalAxisGroup #'next-staff-spacing = #'((minimum-distance . 10))
}

Ca marche parce que VerticalAxisGroup agit justement sur mon Group (ligne de rythme + tablature). Et c'est pourquoi je ne peux pas l'utiliser pour régler l'espacement des sauts de ligne (c'est vrai ce que je dis ?).

Je ne parviens donc pas à régler la hauteur entre deux systèmes consécutifs... j'ai testé à toutes les sauces (sauf une sans doute...) les between-system-machintruc, sans succès... et j'ai l'impression d'aborder un sujet 1000 fois remis sur le tapis et 1000 fois résolu...

Any help ?

Merci d'avance !

JMarc

Je vous donne ci-dessous l'exemple complet :

tablatures.ly (notes + hampes) :
\version "2.13"
hampesprelude =\relative c' {\stemUp d16 s8. s2. s1*6 s4. s d8 s4. d2}

prelude = \relative c {\time 2/2
bes16 f' g a bes c d ees f d f bes, a bes f d'
c d bes f bes, f' g f ees f d ees' g f d f bes, d, ees g a bes
c ees, d ees f\4 a bes c d f, g a bes d f a, g ees' d f, ees g
c d, c bes' f a bes, f' g a bes f\4 e d c f\4 e f\4 g\4 bes,
a f'\4 g, f'\4 e bes'\3 f, bes'\3 a\3 f g a bes c a bes c d bes c
d ees c d bes c d ees f g ees f \cadenzaOn d ees c d <c f,> ees, \bar "|"
c (bes) <bes' f\3 f\4 c f,> a (g) \bar "|" \cadenzaOff a8 bes ees a, 2 \bar "|."
}
%%%%%
hampesallemandeI =\relative c' {%que des ré, comme ça la ligne de rythme au-dessus de la tablature est bien droite
\stemUp \autoBeamOff
d2 d8 d16 s s4 d4 d8 s d4 d8 s d8 s d4 d8 s d4 d4. d8 d4 s d4 s2. d2. s4 d4. d8 d4 d8 s
d4 s2. d4 d8 s s2 d8 s s4 d16 s d8 s4 d2 d4 d8 s d4 s2. d4 d8 s d4 s d4 d8 s d4 d8 s
d4 d8 s d4 s d4 d8 s d4 d8 s d4 d8 s s2 d2. s4
}
allemandeI = \relative c' {\time 2/2
2 s8 c16 d\2 ees\2 d\2 c bes\3 f'4 a,8 g f4 ees'8 d c8 d 4 d8 f, <c' g ees>4
4. c8 d4\2 ees, <c' f,>4 d e <f c f,>2. r4^\erreur \bar ":|:"
<c f,>4. bes8 a4 8 a 4 a d c4 ees'8 d c (bes) a (g) 8 c, bes c' d16\2 ees\2 d8\2 c bes\3
<c f,>2 f4 c8 d ees4 g, a <c f,>4 c,8 d 4 g, 4 f8\4 ees 4 a8 g
<f'\4 c f,>4 ees8 d <ees c fis,>4 f\4 4 d,8 c <bes' f d>4 c,8 (bes) <bes' f f\4 c f,>4 a8 g a bes ees a,
2. r4 \bar ":|"
}

pagetablature.ly (le fichier de mise en page, justement !)
\version "2.13"
%%%%
\layout {
\context {
\Score
\override BarNumber #'stencil = ##f
tempoHideNote = ##t }

\context {%pour la ligne de rythme au-dessus de la tablature
\Staff
\remove "Clef_engraver"
\remove "Time_signature_engraver"
\remove "Staff_symbol_engraver"
fontSize = #-3
\override StaffSymbol #'staff-space = #(magstep -3)
\override Stem #'length = #5
%\override VerticalAxisGroup #'next-staff-spacing = #'((minimum-distance . 10))
}

\context {
\TabStaff
\remove "Clef_engraver"
tablatureFormat = #fret-letter-tablature-format %lettres
\override StaffSymbol #'staff-space = #2 %espacement des lignes de tablature
\override TabNoteHead #'extra-offset = #'(0 . .4) %je lève l'ensemble pour que les lettres soient entre 2 lignes et non à cheval
}


\context {
\TabVoice
\override Stem #'transparent = ##t %pas de hampe au sein de la tablature
\override Beam #'transparent = ##t %pas de ligature
\override Dots #'transparent = ##t %pas de point
\override TabNoteHead #'font-name = #'"Times New Roman Italic"
\override TabNoteHead #'font-size = #3 %taille de fonte
\override TabNoteHead #'whiteout = ##f %pas de blanc autour
}
}
%%%%
\paper {
between-system-space = 20 %aucun effet...
bottom-margin = 0\cm
top-margin = 0\cm
indent = 30 \mm
between-system-padding = #0.5 %aucun effet...
}

et la partie principale :

jenkinstablature.ly
\version "2.13"
#(set-global-staff-size 24)
%%%%%%%%%%
\include"pagetablature.ly"
\include "tablatures.ly"

jenkinsI = #'(2 -3 -7 -10 -14 -19) accord F Bes d f a d'

\score{
<<
\new Staff {\hampesprelude}
\new TabStaff { \set TabStaff.stringTunings = #jenkinsI \prelude}
>>
\layout{}
}

\score{
<<
\new Staff {\hampesallemandeI}
\new TabStaff {\set TabStaff.stringTunings = #jenkinsI \allemandeI}
>>
\layout{}
}

2010/7/29 Éditions IN NOMINE <****@****> :

[...]

Je ne parviens donc pas à régler la hauteur entre deux systèmes
consécutifs... j'ai testé à toutes les sauces (sauf une sans doute...)
les between-system-machintruc, sans succès... et j'ai l'impression
d'aborder un sujet 1000 fois remis sur le tapis et 1000 fois résolu...

Salut !

Effectivement le nouveau système d'espacement vertical a fait couler
beaucoup d'encre (virtuelle) sur cette liste ! ;-D
http://lilypond-french-users.1298960.n2.nabble.com/between-scores-system-spacing-tp4228355p4229264.html
http://lilypond-french-users.1298960.n2.nabble.com/comment-changer-la-police-des-notes-tp4219001p4219181.html

Si j'ai bien compris, ce que tu cherches c'est "between-system-spacing"
("spacing" à la fin, et plus "space" comme pour la 2.12).
Et la valeur n'est plus en mm mais du type :

  between-system-spacing = #'((space . 12) (minimum-distance . 8) (padding . 1))

cf. la doc 2.13 (et non 2.12) :
http://lilypond.org/doc/v2.13/Documentation/notation/page-formatting#vertical-dimensions

Et pour l'espacement entre ton prélude et ton allemande, si tu ne mets
pas de titre "piece" sera géré par "between-scores-system-spacing"

Cordialement,
Xavier

···

--
Xavier Scheuer <****@****>

OK merci pour cette première mise sur les rails !

Comme je souhaite fixer l'espace entre 2 groupes [tab + hampes], j'ai fait un strech à 0 et fixé la minimum-distance à 8. Comme ça, rien ne bouge plus !

Ca marche impec (mais vriament impec, hein) avec l'allemande.
Ca foire un peu (mais seulement un peu) avec le prélude. La nette différence entre les deux, c'est que la ligne de rythme est quasi vide pour ce prélude. Il semble que pour les lignes 2 et 3 (aucune indication de rythme), l'espace fait ce qu'il veut (trop grand) alors qu'il est bon entre 3 et 4 (des hampes réapparaissent sur la 4ème ligne en fin de ligne).

En tous les cas, merci pour cette aide qui m'a permis de résoudre une bonne partie du pb : si je n'arrive pas à creuser pour ce prélude, je vais indiquer un rythme en début de ligne, comme cela se faisait, de façon à ce que la ligne de rythme ne soit jamais vide. Ca fonctionne parfaitement comme cela : je vais passer une bonne soirée grâce à toi !

Si tu te sens inspiré pour mes pb de notes, ce serait la cerise sur le beau gâteau ! Il me tarde de vous livrer le fruit définitif de ce travail !

A+

JMarc

Xavier Scheuer a écrit :

2010/7/29 Éditions IN NOMINE <****@****> :

OK merci pour cette première mise sur les rails !

Comme je souhaite fixer l'espace entre 2 groupes [tab + hampes], j'ai
fait un strech à 0 et fixé la minimum-distance à 8. Comme ça, rien
ne bouge plus !

Ca marche impec (mais vriament impec, hein) avec l'allemande.
Ca foire un peu (mais seulement un peu) avec le prélude. La nette
différence entre les deux, c'est que la ligne de rythme est quasi
vide pour ce prélude.
Il semble que pour les lignes 2 et 3 (aucune indication de rythme),
l'espace fait ce qu'il veut (trop grand) alors qu'il est bon entre
3 et 4 (des hampes réapparaissent sur la 4ème ligne en fin de ligne).

Si je comprends bien (pas facile, tu fais une utilisation "arrangée"
avec une notation déjà spécifique et que je ne maîtrise pas)...

Tu veux en fait "simplement" supprimer l'espace pris par tes portées
arrangées (Staff) que tu utilises pour tes hampes lorsque celles-ci
sont "vides", c'est bien ça ?

En me basant sur la définition de \RemoveEmptyStaves (cf. NR 1.6.2
Modification de portées individuelles > Masquage de portées), je
te conseillerais d'ajouter
  \override VerticalAxisGroup #'remove-empty = ##t

dans ton

  \layout {
    \context { % pour la ligne de rythme au-dessus de la tablature
      \Staff
      % ...
      \override VerticalAxisGroup #'remove-empty = ##t
    }
  }

En tous les cas, merci pour cette aide qui m'a permis de résoudre une
bonne partie du pb : si je n'arrive pas à creuser pour ce prélude,
je vais indiquer un rythme en début de ligne, comme cela se faisait,
de façon à ce que la ligne de rythme ne soit jamais vide.
Ca fonctionne parfaitement comme cela : je vais passer une bonne
soirée grâce à toi !

Si tu te sens inspiré pour mes pb de notes, ce serait la cerise sur
le beau gâteau ! Il me tarde de vous livrer le fruit définitif de
ce travail !

Oui j'ai vu tes messages (sur la liste anglophone aussi) mais désolé,
je n'y connais vraiment rien : je n'ai même jamais utilisé TabStaff !

Cordialement,
Xavier

···

--
Xavier Scheuer <****@****>

2010/7/29 Xavier Scheuer <****@****> :

En me basant sur la définition de \RemoveEmptyStaves (cf. NR 1.6.2
Modification de portées individuelles > Masquage de portées), je
te conseillerais d'ajouter
\override VerticalAxisGroup #'remove-empty = ##t

dans ton

\layout {
\context { % pour la ligne de rythme au-dessus de la tablature
\Staff
% ...
\override VerticalAxisGroup #'remove-empty = ##t
}
}

Et peut-être aussi

  \remove "Axis_group_engraver"
  \consists "Hara_kiri_engraver"
  \override Beam #'auto-knee-gap = #'()

même place, ou une combinaison de ceux-ci (à tester).

Cordialement,
Xavier

···

--
Xavier Scheuer <****@****>

Hourra ! (cri du matin)

A force de triturer tes suggestions, j'ai trouvé LA (ze) solution. J'ai fais un tour du côté de Hidding Staves, et inclu "tout bêtement"

\context {
\RemoveEmptyStaffContext
}

dans mon pagetablature.ly, en dehors de tout autre block \context. Ce qui équivaut à \RemoveEmptyStaves, mais qui fonctionne (j'avoue ne pas comprendre pourquoi ta solution dans le \context Staff ne fonctionne pas aussi harmonieusement (ça ne remet pas la dernière ligne de rythme... sans doute parce que cela regarde le début de ligne seulement)).

Encore un bricolage sur les espacements, et je pense que ce sera bon !
Merci encore

JMarc

PS : pour qqu'un qui n'a jamais touché les Tab... tu t'en sors plutôt bien :wink:

Xavier Scheuer a écrit :