Skip to content

Functions to enhance and simplify working with page layout in LilyPond

License

Notifications You must be signed in to change notification settings

openlilylib/page-layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

page-layout

This openLilyLib package provides functionality to work with page layout in the Lilypond notation program.

Conditional Breaks

The conditional-breaks module allows the application of alternative sets of line/page breaks, e.g. to reflect different musical sources or to match the layout of the engraver's copy while entering the music. This works unintrusively as the breaks are not mixed with the content in any way.

\version "2.19.36"

\include "oll-core/package.ily"

\loadPackage \with {
  modules = conditional-breaks
}
page-layout


% Register two alternative break sets.
\registerBreakSet original-edition
\setBreaks original-edition line-breaks #'(3 (4 2/4) 6 13)
\setBreaks original-edition page-breaks #'(8)
\setBreaks original-edition page-turns #'(15)

\registerBreakSet manuscript
\setBreaks manuscript line-breaks #'(5 10 17 24)
\setBreaks manuscript page-breaks #'(13)

% Configure which breaks to respect
%\setOption page-layout.conditional-breaks.use #'(line-breaks page-breaks)
%\setOption page-layout.conditional-breaks.use page-breaks
%\setOption page-layout.conditional-breaks.use line-breaks
%\setOption page-layout.conditional-breaks.use all

% Apply a break set. (Applying multiple sets will use *all*)
\applyConditionalBreaks original-edition
%\applyConditionalBreaks manuscript

{
  \repeat unfold 40 c''2
}

About

Functions to enhance and simplify working with page layout in LilyPond

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published