Dear Andrea,
right now I have to develop heavliy on something else ... so this is just a
short intermission and might not be the help you are asking for ...
this is just, what I did, typesetting a polymetric song of my beloved uncle,
where I also got into trouble with page/line breaking:
------------------------------------------------------------------------------snip--
% I declared a function for declaring 'count' measures of 'nom'/'den' timing
#(define-public taktdef (define-music-function (parser location nom den
count)(integer? integer? integer?)
(make-music
'SequentialMusic
'elements
(list
(make-music
'ContextSpeccedMusic
'context-type
'Timing
'element
(make-music
'SequentialMusic
'elements
(list
(make-music
'PropertySet
'value
(cons nom den)
'symbol
'timeSignatureFraction)
(make-music
'PropertySet
'value
(ly:make-moment 1 den 0 1)
'symbol
'beatLength)
(make-music
'PropertySet
'value
(ly:make-moment nom den 0 1)
'symbol
'measureLength))
))
(make-music
'SkipEvent
'duration
(ly:make-duration (inexact->exact (/ (log den)(log 2))) 0 (* nom count)
1))))))
% then I declared a music-function to build one staff with one voice and one
lyrice line (it is a choral piece)
dostaff = #(define-music-function (parser location name short global meta noten
vers)
(string? string? ly:music? ly:music? ly:music? ly:music?)
#{
<<
\new Staff \with {
instrumentName = $name
shortInstrumentName = $short
} <<
\new Voice { $meta }
\new Voice = $name { $global $noten } >>
\new Lyrics \lyricsto $name { $vers } >>
#})
% then I defined a meta, a notes and a lyrics var like this ... this doesn't
fit!
global = {
% choral music!
\autoBeamOff
\dynamicUp
}
sopmeta = {
% ...
\taktdef #7 #4 #1
<< \taktdef #11 #8 #1 { s4 \mark \default s \tempo "etwas bewegter" \bar "" }
>>
\taktdef #4 #4 #1
% ...
}
sopN = \relative c'' {
% ...
e | r4 r b4. b8 c! d! | b1. r4 |
% ...
}
sopT = \lyricmode {
a a a a
}
% ... alt,ten,bas
% and then I combined my parts like this
\score {
\new ChoirStaff <<
\dostaff #"Sopran" #"S" { \global } \sopmeta \sopN \sopT
\dostaff #"Alt" #"A" { \global } \altmeta \altN \altT
\dostaff #"Tenor" #"T" { \clef "G_8" \global } \tenmeta \tenN \tenT
\dostaff #"Bass" #"B" { \clef "bass" \global } \basmeta \basN \basT >>
}
------------------------------------------------------------------------------snip--
And this is a short test only with full measure rests:
It won't break, if you omit the empty bar lines.
------------------------------------------------------------------------------snip--
\version "2.12.3"
\layout {
#(layout-set-staff-size 12)
ragged-right = ##t
ragged-left = ##f
\context {
\Score
\remove "Timing_translator"
\remove "Default_bar_line_engraver"
\override NoteColumn #'ignore-collision = ##t
}
\context {
\Staff
\consists "Timing_translator"
\consists "Default_bar_line_engraver"
}
\context {
\Voice
\remove "Forbid_line_break_engraver"
\override Beam #'breakable = ##t
}
%end of layout
}
\score {
<<
\new Staff <<
{ \time 11/8 }
\repeat unfold 4 {
R8*11 \break
} >>
\new Staff <<
\time 13/8
\repeat unfold 3 {
R8*13
}
% if you omit this, no breaking will occur!
\repeat unfold 4 {
s8*11 \bar ""
} >> >>
}
------------------------------------------------------------------------------snip--
As you can see in the first example, I used << \taktdef { s \bar "" s } >> for
withinthemeasure breaks.
Regards,
Jan-Peter
_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user