X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fpage-breaking-scheme.cc;h=8f66a576771425dad896b88be98a43b38bf738e9;hb=0b544cfb7332615ef809b71b57ab656741311ae1;hp=2bbf81c7b38f01e0692bdc34099194d8db8cea1a;hpb=a6bd229f7fe1dc4a03478e14ccc0c0c66b225061;p=lilypond.git diff --git a/lily/page-breaking-scheme.cc b/lily/page-breaking-scheme.cc index 2bbf81c7b3..8f66a57677 100644 --- a/lily/page-breaking-scheme.cc +++ b/lily/page-breaking-scheme.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2006--2010 Joe Neeman + Copyright (C) 2006--2014 Joe Neeman LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -19,35 +19,46 @@ #include "paper-book.hh" #include "page-turn-page-breaking.hh" +#include "one-line-page-breaking.hh" #include "optimal-page-breaking.hh" #include "minimal-page-breaking.hh" LY_DEFINE (ly_page_turn_breaking, "ly:page-turn-breaking", - 1, 0, 0, (SCM pb), - "Optimally break (pages and lines) the @code{Paper_book} object" - " @var{pb} such that page turns only happen in specified places," - " returning its pages.") + 1, 0, 0, (SCM pb), + "Optimally break (pages and lines) the @code{Paper_book} object" + " @var{pb} such that page turns only happen in specified places," + " returning its pages.") { Page_turn_page_breaking b (unsmob_paper_book (pb)); return b.solve (); } LY_DEFINE (ly_optimal_breaking, "ly:optimal-breaking", - 1, 0, 0, (SCM pb), - "Optimally break (pages and lines) the @code{Paper_book} object" - " @var{pb} to minimize badness in bother vertical and horizontal" - " spacing.") + 1, 0, 0, (SCM pb), + "Optimally break (pages and lines) the @code{Paper_book} object" + " @var{pb} to minimize badness in bother vertical and horizontal" + " spacing.") { Optimal_page_breaking b (unsmob_paper_book (pb)); return b.solve (); } LY_DEFINE (ly_minimal_breaking, "ly:minimal-breaking", - 1, 0, 0, (SCM pb), - "Break (pages and lines) the @code{Paper_book} object @var{pb}" - " without looking for optimal spacing: stack as many lines on" - " a page before moving to the next one.") + 1, 0, 0, (SCM pb), + "Break (pages and lines) the @code{Paper_book} object @var{pb}" + " without looking for optimal spacing: stack as many lines on" + " a page before moving to the next one.") { Minimal_page_breaking b (unsmob_paper_book (pb)); return b.solve (); } + +LY_DEFINE (ly_one_line_breaking, "ly:one-line-breaking", + 1, 0, 0, (SCM pb), + "Put each score on a single line, and put each line on its own" + " page. The paper-width setting will be modified so that" + " every page will be wider than the widest line.") +{ + One_line_page_breaking b (unsmob_paper_book (pb)); + return b.solve (); +}