lilypond-user
[Top][All Lists]

## Problems with "DC al Fine" template

 From: Yann Subject: Problems with "DC al Fine" template Date: Fri, 16 May 2014 12:59:47 +0200

Hi all ! :)

I have several problems with a "DC al Fine" template (I use variants
of it both for lead sheet and SATB, and the problem appears on both).
I tried to reduce my code to a minimal example (had to fill it with
random music), and simplified it (no lyrics, no chords). I noticed it
recently, but it was present I think in 2.16 (so I presume my code is
at fault).

I put the code at end of mail (I hope it will pass correctly through).

The problems are :
1-measure numbers appear at left of staves/systems, ad not above left
as usual (so for choir scores, it collides with the choir bracket) -
this one, I have absolutely no idea where it comes from (but I don't
have this problem with other templates).

2-the other one is with the "Fine" marking (comes probably from my
definition, but I feel it might need more code to fix it, don't know
exactly how to approach it) :
2.1-if the "Fine" double bar comes at the end of a line and end of
measure, then it should be ok.
2.2-if it comes in the middle of a line, then "Fine" does not always
print (in the code example, it is possible to move it easily by
changing the durations in "choirDuration" and "verseDuration"
variables e.g. choirDuration = {s1*10} and verseDuration = {s1*6} ).
2.3-if it comes in the end of a line, but not at a measure's end, then
the measure get cut, and of course the measure number is not printed
at the beginning of next line (looks a bit weird, though maybe nicer
for lyrics).

It is a bit fuzzy for me, but I think I would like this behaviour :
2.1 is ok ;
2.2 -> always print - it does so if I comment out the "\once \override
Score.RehearsalMark.break-visibility = #end-of-line-visible" but then
in case 2.1, the mark prints at the beginning of next line ;
2.3 -> prevent from cutting on the double bar if not at a measure's end ?

I hope my mail is not too messy. Does anyone has some clues/tracks ?

Yann
-----

\version "2.18.0"

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

choirDuration = {
s1*10
s2
}

verseDuration = {
s2
s1*5
}

melody = \relative c' {
c'4 c c b |
c8 b a g f g a f |
b a g f e f g e |
a g f e d e f fis |
g2 g |
c'4 c c b |
c8 b a g f g a f |
b a g f e f g e |
a g f e d e f fis |
g2 g |

e8 f e d c2 |
r4 e8 f g e f g |
f e d f e d c e |
d4 g g a8 g |
f e d e c4 e8 f |
g f e d c2 |
}

nVerses = 4

% Applying marks
\choirDuration \once \override Score.RehearsalMark.break-visibility
= #end-of-line-visible
\once \override Score.RehearsalMark.self-alignment-X = #RIGHT \mark
\markup { \tiny \italic "Fine" } \bar "||"
\verseDuration \once \override Score.RehearsalMark.break-visibility
= #end-of-line-visible
\once \override Score.RehearsalMark.self-alignment-X = #RIGHT \mark
\markup { \tiny \italic "D.C. al Fine" }
}

melody = {
\repeat volta \nVerses {
}
}

% Staves
basePart = <<
\new Staff \with {
\consists "Mark_engraver"
\consists "Staff_collecting_engraver"
} <<
\new Voice = "melody" { \melody }
>>
>>

\book {
\score {
\basePart
\layout {
\context {
\Score
\remove "Mark_engraver"
\remove "Staff_collecting_engraver"
}
}
}
}