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 lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user