Subject: Problème de Coda

From: Christophe Pochon <[email-masked]>
Date: Sun, 27 Jun 2010 12:20:10 +0200

Bonjour tout le monde !

Encore un problème que je n'arrive pas à résoudre. Je viens de passer deux
heures à chercher sur le net, sans succès.

Je souhaiterais que la CODA d'une partition soit décalée vers le bas et vers
la droite.
Dans l'exemple ci-dessous, j'ai utilisé  \set Staff.instrumentName = #"CODA
" pour bien l'identifier. Mais le nom sort dans la marge et même du papier !
Donc je voudrais aligner ce nom avec les autres portées. Et puis si je
pouvais ajouter le signe CODA en-dessus du nom, ça serait parfait.
Et même encore descendre toute la CODA de quelques millimètres....

Une idée ? J'imagine qu'on doit pouvoir faire ça avec un "OFFSET", mais je
ne trouve pas comment.

Merci de votre aide, voici le code ci-dessous.

Christophe Pochon
http://www.christophe-pochon.com

\version "2.12.3"
#(set-global-staff-size 15.6)
\header {
  title = "Aux sombres héros de l‘amer"
  subtitle = "Noir désir"

  tagline = ##f
}

\paper {
  #(set-paper-size "a4")
}

global = {
  \key a \minor
  \time 12/8
}

chordNames = \chordmode {
  \global

  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b

   a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b

  a2.:m c
  d:m9 f
  a:m c
  d:m9 f
  d:m9 f
  a:m c
  d:m9 f
  a:m c
  d:m9 c:/f

  a:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b

     a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b

   a2.:m c
  d:m9 f
  a:m

}

melody = \relative c'' {
  \global

  R1.
  R1.
  R1.
  R1. \break
  \repeat volta 2
  {
    a8 a g a4 g16 g a8. g16 g8 a8. a16 g8
    a16 g g8 g g e a~ a4. r4.
    a8 a g a8. a16 g8 a8. a16 g8 a a g
    a8. g16 g8 g g gis a4. r \break

  a2. c
  g4. g8 e a( g2.)
  a2. c
}
\alternative {
  {   \set Score.repeatCommands = #'((volta "1.") ) g4. g8 e a~ a2. }
  {  \set Score.repeatCommands = #'((volta "2. 3.")end-repeat) <g d'>4. <b
d>8 <e, c'> <a e'>~ <a e'>2. \set Score.repeatCommands = #'((volta #f) ) }
}
 \break
   \mark \markup { \musicglyph #"scripts.segno" }
e'2. d
c4. a8 g a~ a4. r
a2. c
d4. d8 c e~ e4. r \break
\repeat volta 2 {
R1.
R1.
R1.
R1.

}

 \once \override Score.RehearsalMark #'break-visibility =
#end-of-line-visible
  \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \mark \markup  { \raise #-1.0 "2ème fois al Coda   " \fontsize #+3
\musicglyph #"scripts.coda" }   \break
\break
\repeat volta 2 {
    a,8 a g a4 g16 g a8. g16 g8 a8. a16 g8
    a16 g g8 g g e a~ a4. r4.
    a8 a g a8. a16 g8 a8. a16 g8 a a g
    a8. g16 g8 g g gis a4. r

  }
      \once \override Score.RehearsalMark #'break-visibility =
#end-of-line-visible
  \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \mark \markup  {\italic "D.S. al Coda."}  \break
}
  mycoda = \relative c'' {
\set Staff.instrumentName = #"CODA "

    \repeat volta 2 {

    a2. c
  d,4. d8 c f~ f2.
}
\mark \markup {4x}
R1. \bar "|."

  }

verse = \lyricmode {

  \set stanza = #"1. " Aux sombres hé -- ros de l'a -- mer qui ont su tra --
ver --
  ser les o -- cé -- ans du vide __
  A la mé -- moire de nos frères dont les san -- glots si
  longs fai -- saient cou -- ler l'a -- cide
  Al -- ways lost in the sea __
  Al -- ways lost in the sea __
  lost in the sea __
    Al -- ways lost in the sea __
  Al -- ways lost in the sea __
  \set stanza = #"3. " A -- mi qu'on crève d'une ab -- sence ou qu'on crève
un ab -- cès c'est le poi -- son qui coule __
  Cer -- tains na -- geaient sous les lignes de flot -- tai -- son in --
times à l'in -- té -- rieur des foules

   Al -- ways lost in the sea __
  Al -- ways lost in the sea __
}
verseb = \lyricmode {

  \set stanza = #"2. " Tout part tou -- jours dans les flots au fond des
nuits se --
  reines ne vois -- tu rien ve -- nir __
  Les nau -- fra -- gés et leurs peines qui je -- taient l'encre i --
  ci et ar -- rê -- taient d'é -- crire
  _ _ _ _ _ _ _ _ _
  _ _ _ _ _ _ _ _ _
  _ _ _ _ _ _ _ _ _ _
 \set stanza = #"4. " Aux sombres hé -- ros de l'a -- mer qui ont su tra --
ver --
  ser les o -- cé -- ans du vide __
  A la mé -- moire de nos frères dont les san -- glots si
  longs fai -- saient cou -- ler l'a -- cide
}

\score {
  <<
    \new ChordNames \chordNames
    \new Staff { \melody  \mycoda }
    \addlyrics { \verse }  \addlyrics { \verseb }

  \layout { }
}

---

From: Christophe Pochon <[email-masked]>
Date: Sun, 27 Jun 2010 13:24:22 +0200

J'ai fini par trouver une solution plus ou moins acceptable :

\version "2.12.3"

  tagline = ##f
}

\paper {
  #(set-paper-size "a4")
}

global = {
  \key a \minor
  \time 12/8
}

  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b

   a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b

  a2.:m c
  d:m9 f
  a:m c
  d:m9 f
  d:m9 f
  a:m c
  d:m9 f
  a:m c
  d:m9 c:/f

  a:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b

     a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b

}
harmcoda = \chordmode {

   a2.:m c
  d:m9 f
  a:m
}

melody = \relative c'' {
  \global

  R1.
  R1.
  R1.
  R1. \break
  \repeat volta 2
  {

  a2. c
  g4. g8 e a( g2.)
  a2. c
}
\alternative {

}

  }
      \once \override Score.RehearsalMark #'break-visibility =
#end-of-line-visible
  \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \mark \markup  {\italic "D.S. al Coda."}  \break
}
  mycoda = \relative c'' { \global

    \repeat volta 2 {

    a2. c
  d,4. d8 c f~ f2.
}
\mark \markup {4x}
R1. \bar "|."

  }

verse = \lyricmode {

}
verseb = \lyricmode {

tcoda = \lyricmode {

}
\book {

\score {
  <<
    \new Staff { \melody }

  \layout { }
}
\score
  {
  <<
   \new ChordNames  \harmcoda

    \new Staff \with {
    instrumentName = \markup {  \bold  \musicglyph#"scripts.coda"  \bold
CODA }
  } { \mycoda }

  \addlyrics {  \tcoda }
  \layout {}

}
}

A+

Christophe Pochon

---

From: "Gilles THIBAULT" <[email-masked]>
Date: Mon, 28 Jun 2010 17:17:30 +0200

Eh bien je crois que ta solution ( 2 \score, et Staff.instrumentName dans le second score ), est la solution la plus simple car c'est un sacré bazar pour faire tout avec 1 seul \score (Voir ci-dessous).
J'ai essayé de trouver une propriété qui permettrait de faire un indent au début d'une (et une seule) ligne mais j'ai pas trouvé . (short-indent affecte toutes les lignes).

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#(set-global-staff-size 15.6)
\header {
  title = "Aux sombres héros de l‘amer"
  subtitle = "Noir désir"

  tagline = ##f
}

\paper {
  #(set-paper-size "a4")
  ragged-last = ##t
}

global = {
  \key a \minor
  \time 12/8
}

  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b 
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b 
  
   a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b 
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b 
  
  a2.:m c
  d:m9 f
  a:m c
  d:m9 f
  d:m9 f
  a:m c
  d:m9 f
  a:m c
  d:m9 c:/f
  
  a:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b
  
     a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b 
  a2.:m f:/c
  c4.:/e g:/d a:m/c a:m/b 

}
harmcoda = \chordmode {
   
   a2.:m c
  d:m9 f
  a:m 
}

melody = \relative c'' {
  \global

  R1.
  R1.
  R1.
  R1. \break
  \repeat volta 2
  {

  a2. c
  g4. g8 e a( g2.)
  a2. c
}
\alternative {
  {   \set Score.repeatCommands = #'((volta "1.") ) g4. g8 e a~ a2. }
  {  \set Score.repeatCommands = #'((volta "2. 3.")end-repeat) <g d'>4. <b d>8 <e, c'> <a e'>~ <a e'>2. \set Score.repeatCommands = #'((volta #f) ) }
}
 \break
   \mark \markup { \musicglyph #"scripts.segno" }
e'2. d
c4. a8 g a~ a4. r
a2. c
d4. d8 c e~ e4. r \break
\repeat volta 2 {
R1.
R1.
R1.
R1.

}

 \once \override Score.RehearsalMark #'break-visibility = #end-of-line-visible
  \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \mark \markup  { \raise #-1.0 "2ème fois al Coda   " \fontsize #+3 \musicglyph #"scripts.coda" }   \break
\break
\repeat volta 2 {
    a,8 a g a4 g16 g a8. g16 g8 a8. a16 g8
    a16 g g8 g g e a~ a4. r4.
    a8 a g a8. a16 g8 a8. a16 g8 a a g
    a8. g16 g8 g g gis a4. r

  }
      \once \override Score.RehearsalMark #'break-visibility = #end-of-line-visible
  \once \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \mark \markup  {\italic "D.S. al Coda."}  \break
}

mycoda = \relative c'' { %\global %plus necessaire
  \repeat volta 2 {  
    a2. c
    d,4. d8 c f~ f2.
}
\mark \markup {4x}
R1. \bar "|."

  }

verse = \lyricmode {

  \set stanza = #"1. " Aux sombres hé -- ros de l'a -- mer qui ont su tra -- ver -- 
  ser les o -- cé -- ans du vide __
  A la mé -- moire de nos frères dont les san -- glots si 
  longs fai -- saient cou -- ler l'a -- cide 
  Al -- ways lost in the sea __
  Al -- ways lost in the sea __
  lost in the sea __
    Al -- ways lost in the sea __
  Al -- ways lost in the sea __
  \set stanza = #"3. " A -- mi qu'on crève d'une ab -- sence ou qu'on crève un ab -- cès c'est le poi -- son qui coule __
  Cer -- tains na -- geaient sous les lignes de flot -- tai -- son in -- times à l'in -- té -- rieur des foules 

}
verseb = \lyricmode {

  \set stanza = #"2. " Tout part tou -- jours dans les flots au fond des nuits se --
  reines ne vois -- tu rien ve -- nir __
  Les nau -- fra -- gés et leurs peines qui je -- taient l'encre i -- 
  ci et ar -- rê -- taient d'é -- crire
  _ _ _ _ _ _ _ _ _
  _ _ _ _ _ _ _ _ _
  _ _ _ _ _ _ _ _ _ _
 \set stanza = #"4. " Aux sombres hé -- ros de l'a -- mer qui ont su tra -- ver -- 
  ser les o -- cé -- ans du vide __
  A la mé -- moire de nos frères dont les san -- glots si 
  longs fai -- saient cou -- ler l'a -- cide
}
tcoda = \lyricmode {
     Al -- ways lost in the sea __

}

space ={ \repeat unfold 2 {  s8*12 \bar "" }  s8*12  }
codaSettup = { 
  \break
  \once \override Score.BarNumber  #'break-visibility = ##(#f #f #f)
  \stopStaff
    \cadenzaOn 
      \once \override Staff.Clef #'stencil = ##f
      \clef bass
      \space
      \once \override Staff.Clef  #'full-size-change = ##t
      \clef treble
      \once \override Score.RehearsalMark #'extra-offset = #'( -20 . -9.5 )
      \once \override Score.RehearsalMark #'X-extent = #'( -5 . 5 )
      \mark \markup \bold \general-align #Y #CENTER 
                         { \musicglyph #"scripts.coda" \hspace #0.5 CODA }                     
    \cadenzaOff  
  \startStaff
}  

\score { 
  <<
    \new ChordNames {\chordNames  \space \harmcoda}
    \new Staff { \melody \codaSettup \mycoda }
    \addlyrics { \verse   }  
    \addlyrics { \verseb  \tcoda}    

  \layout { }
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Gilles

---

From: Christophe Pochon <[email-masked]>
Date: Tue, 29 Jun 2010 16:36:15 +0200

Merci Gilles pour cette solution ! Elle fonctionne bien, même si comme tu
dis c'est un "sacré bazar". L'avantage peut-être c'est qu'on peut très bien
mettre ta définition de codaSetup dans un fichier à part, qu'on importe en
cas de besoin, et on n'a plus à se soucier de "comment ça fonctionne" !

Merci encore,

Christophe Pochon