Re: Using only manual page breaks in a large file with many short scores
David Kastrup wrote > Paul Morris < > paul@ > > writes: > >> The ragged-bottom = ##t line in Collection.ly prevents the three tunes >> from fitting on a page, and causes what should be "forced" manual page >> breaks to be ignored, and automatic page breaks to be used instead >> (even though page-break-permission is set to ##f). If you comment out >> ragged-bottom = ##t you can see that the 3 tunes can and do fit on the >> page. > > <URL:http://code.google.com/p/lilypond/issues/detail?id=3281>; > > and somewhat less relevant > > <URL:http://code.google.com/p/lilypond/issues/detail?id=3341>; Thanks David. That looks like what I'm running into here, basically wanting ragged-bottom to allow pages to compress to fit on one page, while still preventing them from stretching to fill less full pages. -Paul -- View this message in context: http://lilypond.1069038.n5.nabble.com/Re-Using-only-manual-page-breaks-in-a-large-file-with-many-short-scores-tp159781p159820.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using only manual page breaks in a large file with many short scores
Federico Bruni-5 wrote > Ok, so you don't want to change this setup. > Another workaround to avoid the last system in the last page is using > page-count in the \paper block of the collection.ly file. > > Or better: why not using ragged-last-bottom=##f ? This problem is only in > the last page, isn't it? Thanks Federico. I tried the page-count approach before but it didn't help on the full file because LilyPond combined two other pages and still split the same "problem" page into two pages. The problem was actually on a page in the middle of the file. I tried page-breaking = #ly:minimal-breaking and for some reason this solved it. Also with my new approach I'll be using \bookpart like you suggested rather than \pageBreak, so that should work better I think. Thanks again, -Paul -- View this message in context: http://lilypond.1069038.n5.nabble.com/Re-Using-only-manual-page-breaks-in-a-large-file-with-many-short-scores-tp159781p159819.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using only manual page breaks in a large file with many short scores
Ralph Palmer wrote > I'm a former fiddler/violinist who has graduated to viola. I've been > trying > to learn fiddle tunes on the viola, and I've been using Lilypond to > transpose tunes into alto clef. I transcribe the tunes in treble clef > first > so I can proofread them. I use a slightly different setup than you use or > than seems to have been suggested. I'm attaching some files as a minimal > (three pages) example. Hello Ralph, Thanks for your message and for sharing your files and approach to this. It would be great to see a copy of your tune list, and I'd be happy to give you a pointer to this collection when the update is finished. There will be an alto clef version! Although, there may be a lot of overlap since you have 500 tunes. This collection has a little over 200 I think. Your message got me focused on making it easy to transpose the whole collection and/or change clefs. I think I will follow your lead and have files for each tune with just the music and chords in variables, and a score block that is commented out. It can be temporarily un-commented to edit, proofread, or just render a single tune. Then I have my main collection file where I \include each of the tune files (at top level). This collection file has a \paper and \layout block and then a series of \bookpart blocks like Federico suggested. Each \bookpart is a single page and contains 1-3 \score blocks, one for each tune. The clef for each tune will be set in this score block just before the melody variable (and not inside the melody variable). That will make it easy to find/replace within this one main file to change the clef for every tune, and/or to enter a \transpose command before each of the melody and chord variables -- to create different PDF versions like an alto clef version for viola, or a version for Bb clarinet. (Hmmm... it would probably be better to use variables and/or script these things instead of using find/replace... ) Using \bookpart will let me have a custom header for each \bookpart (page) that contains a custom header field called "manual-page-number." It will be used in the global \paper block to print a page number at the bottom of the page. (There are different sections, some that have page numbers like "J1" or "R1" hence the need for manually setting this.) Another option is printing a separate PDF for each page. I can do this with a find/replace and make each \bookpart into a \book (each \book produces a separate PDF). Then using \bookOutputName in each \book (normally commented out when they are \bookparts) will let me assign each of those single-page PDFs its own name. (The files are currently a collection of one-page PDFs, so this is a way to recreate that without having to have separate .ly files for each page.) Ok I think that covers it. Maybe some of this will be helpful for anyone else doing this kind of collection? One thing I noticed looking at your main Tunebook.ly file... it looks like you have the same \layout block in each \score block: \layout { indent = #0 \context { %prevent tunes from printing on two pages \override NonMusicalPaperColumn.page-break-permission = ##f } } so I think you could just have one top-level \layout block for the file with these settings, and just not have one in each \score ? Thanks again and all the best, -Paul -- View this message in context: http://lilypond.1069038.n5.nabble.com/Re-Using-only-manual-page-breaks-in-a-large-file-with-many-short-scores-tp159781p159818.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using only manual page breaks in a large file with many short scores
Paul Morris writes: > The ragged-bottom = ##t line in Collection.ly prevents the three tunes > from fitting on a page, and causes what should be "forced" manual page > breaks to be ignored, and automatic page breaks to be used instead > (even though page-break-permission is set to ##f). If you comment out > ragged-bottom = ##t you can see that the 3 tunes can and do fit on the > page. http://code.google.com/p/lilypond/issues/detail?id=3281> and somewhat less relevant http://code.google.com/p/lilypond/issues/detail?id=3341> -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using only manual page breaks in a large file with many short scores
2014-02-24 3:58 GMT+01:00 Paul Morris : > Federico Bruni wrote: > > It's hard to understand exactly your situation without looking an > example. > > Anyway, what I meant is in the minimal example attached. > > Thanks for that. It's a nice illustration of how \bookpart works. I need > to look into \table-of-contents which looks very useful. > > I've attached a similar example to show how things are currently set up > with what I'm working with. Basically each tune (\score) is in its own > file and 2-3 of them should fit on each page. > > If I used \bookpart like in your example, I would have one \bookpart per > page and one file per \bookpart (page), rather than one file per tune > (\score). And then I'd lose the flexibility of having a separate file for > each tune that can stand on its own or be easily re-combined with other > tunes in different groupings. > > Ok, so you don't want to change this setup. Another workaround to avoid the last system in the last page is using page-count in the \paper block of the collection.ly file. Or better: why not using ragged-last-bottom=##f ? This problem is only in the last page, isn't it? \version "2.18.0" \pointAndClickOff \layout { %\override NonMusicalPaperColumn.page-break-permission = ##f } \paper { top-margin = 10 \mm bottom-margin = 6 \mm % two options: ragged-last-bottom = ##f %page-count = #3 % to keep the last system of tune three in the third page } % 1 \include "Tune1.ly" \include "Tune2.ly" \include "Tune3.ly" \pageBreak % 2 (except with different tunes) \include "Tune1.ly" \include "Tune2.ly" \include "Tune3.ly" %\pageBreak > The ragged-bottom = ##t line in Collection.ly prevents the three tunes > from fitting on a page, and causes what should be "forced" manual page > breaks to be ignored, and automatic page breaks to be used instead (even > though page-break-permission is set to ##f). If you comment out > ragged-bottom = ##t you can see that the 3 tunes can and do fit on the page. > > Thinking out loud... what if there were a way to allow LilyPond to > compress things vertically (say to fit the manual page breaks), but also > disallow stretching to fill the page if there is more than enough room? > Basically, what if ragged-bottom were two separate commands? Something > like "allow-vertical-compression" and "allow-vertical-stretching" (or > "disable-vertical-compression" and "disable-vertical-stretching")? > > This is handled by the options in the \paper block (see flexible vertical spacing in the variables). ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using only manual page breaks in a large file with many short scores
Phil Holmes-2 wrote > \override NonMusicalPaperColumn #'page-break-permission = ##f I'm actually already using that but it's not working when combined with ragged-bottom = ##t. See the minimal example at the bottom of my (rather long) first message. Thanks, -Paul -- View this message in context: http://lilypond.1069038.n5.nabble.com/Using-only-manual-page-breaks-in-a-large-file-with-many-short-scores-tp159749p159758.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using only manual page breaks in a large file with many short scores
- Original Message - From: "Paul Morris" To: Sent: Sunday, February 23, 2014 5:00 PM Subject: Using only manual page breaks in a large file with many short scores Greetings all, I have a question about preventing automatic page breaks and only using manual page breaks. I'm working on a large file (72 pages) that has 1-3 separate fiddle tunes per page. Each tune is in a separate file that I include in the main file like this: % page 1 \include "TuneA.ly" \include "TuneB.ly" \pageBreak % page 2 \include "TuneC.ly" \include "TuneD.ly" \include "TuneE.ly" \pageBreak Each tune file has its own \score block that contains the music (stored in variables) and the header info for each tune. I only want page breaks where I manually put them in the main file, but LilyPond occasionally puts them in the middle of a tune when the vertical spacing gets tight on a given page. \override NonMusicalPaperColumn #'page-break-permission = ##f -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using only manual page breaks in a large file with many short scores
Federico Bruni-5 wrote >> \bookpart { >> melodyA = { a b c d } >> \score { \new Staff \melodyA } >> \score { \new Staff { e f g } } >> } >> > > IMO \bookpart is the best choice for your use case. > What prevents you from moving melodyA out of the \bookpart block? Currently each \score block is in a separate file that I \include, and each file also contains the variables for melody and chords for its \score. (Over 200 files. It's an existing collection that I'm updating to LilyPond 2.18 from 2.8 (!)). Since each of these files is compilable as a stand-alone file, it makes it easy to edit, print, and share them individually. It's easy to create files that contain any given combination of them, as needed. Each \bookpart would contain includes for 2-3 of these files, so it would require a major re-organization to get the variables outside of each \bookpart. And I think you would either lose the modularity of having compilable individual files, or introduce a good bit of complexity trying to preserve it... I suppose one possibility would be to move the music and chords out of variables and put them directly into the \score block in each individual file. Then using \bookpart would work because there would be no variables. (My cut and paste fingers would get a lot of exercise...) Going back to ragged-bottom... it seems that what would be ideal here is a way to allow LilyPond to _compress_ vertical spacing to fit on a page, but prevent her from _expanding_ vertical spacing to fill up extra space on a page. Like a ragged-bottom that only went in one direction but not both. -Paul -- View this message in context: http://lilypond.1069038.n5.nabble.com/Using-only-manual-page-breaks-in-a-large-file-with-many-short-scores-tp159749p159754.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Using only manual page breaks in a large file with many short scores
2014-02-23 18:00 GMT+01:00 Paul Morris : > I have a question about preventing automatic page breaks and only using > manual page breaks. I'm working on a large file (72 pages) that has 1-3 > separate fiddle tunes per page. Each tune is in a separate file that I > include in the main file like this: > > % page 1 > \include "TuneA.ly" > \include "TuneB.ly" > \pageBreak > > % page 2 > \include "TuneC.ly" > \include "TuneD.ly" > \include "TuneE.ly" > \pageBreak > > Each tune file has its own \score block that contains the music (stored in > variables) and the header info for each tune. > > I only want page breaks where I manually put them in the main file, but > LilyPond occasionally puts them in the middle of a tune when the vertical > spacing gets tight on a given page. > > I tried putting each page in a \bookpart[1] or \book block, but this > doesn't work because of the variables in each tune file which apparently > can't appear inside of these blocks. For example, this won't work: > > \bookpart { > melodyA = { a b c d } > \score { \new Staff \melodyA } > \score { \new Staff { e f g } } > } > IMO \bookpart is the best choice for your use case. What prevents you from moving melodyA out of the \bookpart block? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Using only manual page breaks in a large file with many short scores
Greetings all, I have a question about preventing automatic page breaks and only using manual page breaks. I'm working on a large file (72 pages) that has 1-3 separate fiddle tunes per page. Each tune is in a separate file that I include in the main file like this: % page 1 \include "TuneA.ly" \include "TuneB.ly" \pageBreak % page 2 \include "TuneC.ly" \include "TuneD.ly" \include "TuneE.ly" \pageBreak Each tune file has its own \score block that contains the music (stored in variables) and the header info for each tune. I only want page breaks where I manually put them in the main file, but LilyPond occasionally puts them in the middle of a tune when the vertical spacing gets tight on a given page. I tried putting each page in a \bookpart[1] or \book block, but this doesn't work because of the variables in each tune file which apparently can't appear inside of these blocks. For example, this won't work: \bookpart { melodyA = { a b c d } \score { \new Staff \melodyA } \score { \new Staff { e f g } } } [1] http://lilypond.org/doc/v2.18/Documentation/notation/page-breaking I tried to force only manual page breaks by overriding page-break-permission in the top-level layout block in the main file: http://lilypond.org/doc/v2.18/Documentation/notation/explicit-breaks But that didn't solve the problem. I think it's because of interference with ragged-bottom = ##t Here is a minimal example: \version "2.18.0" \paper { % ragged-bottom = ##t } \layout { \override NonMusicalPaperColumn.page-break-permission = ##f } music = \relative f' { c1 c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c } \score { \music } \score { \music } \score { \music } \score { \music } \pageBreak \score { \music } \score { \music } \score { \music } \score { \music } \pageBreak \score { \music } \score { \music } \score { \music } \score { \music } \pageBreak If ragged-bottom = ##t is commented out the manual page breaks work as expected. Well, except for the last one, where the 3rd page runs over onto a fourth (so that's an issue in itself). With ragged-bottom = ##t there are only two scores per page until the last two pages where there are 3.5 scores and 0.5 scores. I'm using ragged-bottom for pages that are not that full where I don't want the scores stretched vertically to fill the page, leaving too much space between each staff. However, it seems you can't have ragged-bottom and force only manual page breaks at the same time? Any advice or suggestions appreciated. This is my first time working on this kind of thing. -Paul ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Manual page breaks
Hi Xavier, Thanks for the help! I just tested 2.15.12 and now it works as expected! I posted another issue for using a pagebreak at top-level to the bug-list. http://comments.gmane.org/gmane.comp.gnu.lilypond.bugs/28250 But thanks for this one! Greetings, Ed Op 14-09-11 22:44, Xavier Scheuer schreef: Looks like a valid bug report. Fwd to bug- (it was originally sent to -user). On 12 September 2011 22:08, Ed Gordijn wrote: Hi List, I am working on a piece with three movements. I organized my score in different files, for the tiny-example let's say two. The fist file is instrument.ly and the second part.lyi. I have different instruments and therefore multiple instrument.ly files but I want to use just a single part.lyi. So far nothing special. But I can't find a way to insert pagebreaks between the movements in my instrument.ly. I don't want fixed page breaks in part.lyi because of the differences in length of the instrument scores. In the tiny example I tried to get Movement I on the first page and Movement II and III together on a second page. But the \pageBreak is ignored. How does this work? Greetings, Ed %%% Tiny example %%% \version "2.15.10" % instrument.ly mvtI = { c'4 c' c' c' \pageBreak } mvtII = { d'4 d' d' d' } mvtIII = { e'4 e' e' e' } % part.lyi (identical for all instruments) \score { \new Staff { \mvtI } \header { piece = "Movement I"} } \score { \new Staff { \mvtII } \header { piece = "Movement II"} } \score { \new Staff { \mvtIII } \header { piece = "Movement III"} } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user Cheers, Xavier ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Manual page breaks
Hi Xavier, Ok, this could be a bug but I was looking for an alternative. Maybe I would better call it a work arround. I was trying to use a top-level page break. Is there any reason why this doen't work? \version "2.15.10" % instrument.ly mvtI = { c'4 c' c' c' } mvtII = { d'4 d' d' d' } mvtIII = { e'4 e' e' e' } pageBreakBeforeII = \pageBreak % part.lyi (identical for all instruments) \score { \new Staff { \mvtI } \header { piece = "Movement I"} } % \pageBreak % top level page break does what it should do but not when used % as a user defined variable \pageBreakBeforeII \score { \new Staff { \mvtII } \header { piece = "Movement II"} } \score { \new Staff { \mvtIII } \header { piece = "Movement III"} } Greetings, Ed Op 14-09-11 22:44, Xavier Scheuer schreef: Looks like a valid bug report. Fwd to bug- (it was originally sent to -user). On 12 September 2011 22:08, Ed Gordijn wrote: Hi List, I am working on a piece with three movements. I organized my score in different files, for the tiny-example let's say two. The fist file is instrument.ly and the second part.lyi. I have different instruments and therefore multiple instrument.ly files but I want to use just a single part.lyi. So far nothing special. But I can't find a way to insert pagebreaks between the movements in my instrument.ly. I don't want fixed page breaks in part.lyi because of the differences in length of the instrument scores. In the tiny example I tried to get Movement I on the first page and Movement II and III together on a second page. But the \pageBreak is ignored. How does this work? Greetings, Ed %%% Tiny example %%% \version "2.15.10" % instrument.ly mvtI = { c'4 c' c' c' \pageBreak } mvtII = { d'4 d' d' d' } mvtIII = { e'4 e' e' e' } % part.lyi (identical for all instruments) \score { \new Staff { \mvtI } \header { piece = "Movement I"} } \score { \new Staff { \mvtII } \header { piece = "Movement II"} } \score { \new Staff { \mvtIII } \header { piece = "Movement III"} } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user Cheers, Xavier ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Manual page breaks
Looks like a valid bug report. Fwd to bug- (it was originally sent to -user). On 12 September 2011 22:08, Ed Gordijn wrote: > > Hi List, > > I am working on a piece with three movements. I organized my score in > different files, for the tiny-example let's say two. The fist file is > instrument.ly and the second part.lyi. I have different instruments and > therefore multiple instrument.ly files but I want to use just a single > part.lyi. So far nothing special. But I can't find a way to insert > pagebreaks between the movements in my instrument.ly. I don't want fixed > page breaks in part.lyi because of the differences in length of the > instrument scores. > > In the tiny example I tried to get Movement I on the first page and Movement > II and III together on a second page. But the \pageBreak is ignored. > > How does this work? > > Greetings, Ed > > > %%% Tiny example %%% > > \version "2.15.10" > > % instrument.ly > mvtI = { c'4 c' c' c' \pageBreak } > mvtII = { d'4 d' d' d' } > mvtIII = { e'4 e' e' e' } > > > % part.lyi (identical for all instruments) > \score { >\new Staff { \mvtI } >\header { piece = "Movement I"} > } > > \score { >\new Staff { \mvtII } >\header { piece = "Movement II"} > } > > \score { >\new Staff { \mvtIII } >\header { piece = "Movement III"} > } > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user > Cheers, Xavier -- Xavier Scheuer ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Manual page breaks
On Mon, Sep 12, 2011 at 3:08 PM, Ed Gordijn wrote: > Hi List, > > I am working on a piece with three movements. I organized my score in > different files, for the tiny-example let's say two. The fist file is > instrument.ly and the second part.lyi. I have different instruments and > therefore multiple instrument.ly files but I want to use just a single > part.lyi. So far nothing special. But I can't find a way to insert > pagebreaks between the movements in my instrument.ly. I don't want fixed > page breaks in part.lyi because of the differences in length of the > instrument scores. > > In the tiny example I tried to get Movement I on the first page and Movement > II and III together on a second page. But the \pageBreak is ignored. > > How does this work? > > Greetings, Ed > > > %%% Tiny example %%% > > \version "2.15.10" > > % instrument.ly > mvtI = { c'4 c' c' c' \pageBreak } > mvtII = { d'4 d' d' d' } > mvtIII = { e'4 e' e' e' } > > > % part.lyi (identical for all instruments) > \score { > \new Staff { \mvtI } > \header { piece = "Movement I"} > } > > \score { > \new Staff { \mvtII } > \header { piece = "Movement II"} > } > > \score { > \new Staff { \mvtIII } > \header { piece = "Movement III"} > } Your code worked like your desired outcome: mvt. I on one page, mvt. II & III on the second page. I compiled it with 2.14.2. Maybe it broke in 2.15, but I can't test that one. You could try moving the \pageBreak out of the movement definition and put it after the first \score block. That is allowed and should also work. James Worlton ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Manual page breaks
Hi List, I am working on a piece with three movements. I organized my score in different files, for the tiny-example let's say two. The fist file is instrument.ly and the second part.lyi. I have different instruments and therefore multiple instrument.ly files but I want to use just a single part.lyi. So far nothing special. But I can't find a way to insert pagebreaks between the movements in my instrument.ly. I don't want fixed page breaks in part.lyi because of the differences in length of the instrument scores. In the tiny example I tried to get Movement I on the first page and Movement II and III together on a second page. But the \pageBreak is ignored. How does this work? Greetings, Ed %%% Tiny example %%% \version "2.15.10" % instrument.ly mvtI = { c'4 c' c' c' \pageBreak } mvtII = { d'4 d' d' d' } mvtIII = { e'4 e' e' e' } % part.lyi (identical for all instruments) \score { \new Staff { \mvtI } \header { piece = "Movement I"} } \score { \new Staff { \mvtII } \header { piece = "Movement II"} } \score { \new Staff { \mvtIII } \header { piece = "Movement III"} } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user