warning: compressing over-full page by 12.4 staff-spaces

2014-11-14 Thread David Kastrup

What's up with

warning: compressing over-full page by 12.4 staff-spaces

here?  There is more than enough space to put one system more to the
next page, and 12 staff spaces?

Page breaks are supposed to be done with full skylines, aren't they?
Sorry for the entirely non-minimal example here.  I have no idea how to
boil this down to fit, but this is not a bug report (yet?).  I just want
input on whether something like this can reasonably be expected to
happen, and if so why, or whether this is indeed bug report country.

Not including the PDF because of 800kB size.  Ugh.

\version "2.19.13"

#(define (number-or-pitch? a) (or (integer? a) (ly:pitch? a)))

%{
bass-staff = "lo"
bass-clef = "bass"
bv-one = { \voiceOne \harmonicsOn }
bv-two = { \voiceTwo \harmonicsOn }
tv-one = { \voiceOne \harmonicsOn }
tv-two = \voiceTwo
sv-one = { \voiceOne \harmonicsOn }
sv-two = \voiceTwo
%}
bass-staff = "hi"
bass-clef = "treble"
bv-one = { \voiceFour \harmonicsOn }
bv-two = { \voiceTwo \harmonicsOn }
tv-one = { \voiceOne \harmonicsOn }
tv-two = \voiceThree
sv-one = { \voiceOne \harmonicsOn }
sv-two = \voiceTwo


chordmap =
#(define-music-function (parser location start width music)
   (number-or-pitch? index? ly:music?)
   (if (ly:pitch? start) (set! start (ly:pitch-semitones start)))
   (map-some-music
(lambda (m)
  (and
   (music-is-of-type? m 'event-chord)
   (begin
	 (set! (ly:music-property m 'elements)
	   (append-map
		(lambda (x)
		  (let ((p (ly:music-property x 'pitch)))
		(if (ly:pitch? p)
			(let loop ((n (ly:make-pitch
   (- (ly:pitch-octave p)
	  (floor (/ (- (ly:pitch-semitones p) start)
		12)))
   (ly:pitch-notename p)
   (ly:pitch-alteration p)))
   (l '()))
			  (if (< (ly:pitch-semitones n)
 (+ start width))
			  (loop (ly:pitch-transpose (ly:make-pitch 1 0 0) n)
(cons (music-clone x 'pitch n) l))
			  l))
			(list x
		(ly:music-property m 'elements)))
	 m)))
music))

#(define (conflate keys vals)
   (define (folder k v res)
 (if (or (null? res)
	 (not (equal? v (cdar res
	 (cons (cons (list k) v) res)
	 (cons (cons (cons k (caar res)) (cdar res)) (cdr res
   (fold-right folder '() keys vals))

#(define (one-set start count music)
   (map (lambda (kv)
	  (let ((keys (car kv)) (m (cdr kv)))
	(cons (if (null? (cdr keys))
		  (format "~d" (car keys))
		  (format "~d–~d" (car keys) (last keys)))
		  m)))
	(conflate (iota count 1)
		  (map
		   (lambda (i) #{ \chordmap #i #12 $music #})
		   (iota count (ly:pitch-semitones start))

#(define (bass-format-set pitch name)
   (let ((bass #{ \chordmap e,, 12 < $pitch >4 #})
	 (accf #{ \chordmap a, 41 < $pitch >4 #})
	 (accp (one-set #{ a, #} 20 #{ < $pitch >4 #})))
 #{ << \context Staff = "hi"
   << \new Voice \with \tv-one
  { \tempo \markup \caps #name \transpose c c' $accf }
  \new Voice \with \tv-two { <>_"*" $accf } >>
   \context Staff = \bass-staff
   { \clef \bass-clef
 << \new Voice \with \bv-one \transpose c c' $bass
	\new Voice \with \bv-two { $bass } >>
	   }
>>
	$@(map (lambda (p)
		 (let ((idx (car p)) (m (cdr p)))
		   #{ << \context Staff = "hi"
 << \new Voice \with \tv-one \transpose c c' $m
\new Voice \with \tv-two { <>_\markup #idx $m } >>
		 \context Staff = \bass-staff
			 << \new Voice \with \bv-one \transpose c c' $bass
		\new Voice \with \bv-two { $bass }
		  >>
		  >> #}))
	   accp)
	#}))

#(define (chord-format-set chord name)
   (let ((accf #{ \chordmap a, 41 $chord #})
	 (accp (one-set #{ a, #} 20 chord)))
 #{ << \new Voice \with \sv-one { \tempo \markup #name \transpose c c' $accf }
	   \new Voice \with \sv-two { <>_"*" $accf }
	>>
	$@(map (lambda (p)
		 (let ((idx (car p)) (m (cdr p)))
		   #{ << \new Voice \with \sv-one \transpose c c' $m
			 \new Voice \with \sv-two { <>_\markup #idx $m }
		  >>
		  #}))
	   accp)
	#}))

#(define (score-format-set pitch name)
   #{ \score { \new Staff = "hi"
	   { \key $pitch \major \cadenzaOn
		 $(bass-format-set pitch name) \bar "|"
		 $@(map
		(lambda (c t)
			#{  \once \accidentalStyle forget
			  $(chord-format-set c
	#{ \markup \concat { #name #t } #})
			  \bar "|"
			  #})
		(ly:music-property
		 (ly:music-property
		  (ly:music-property
		   #{ \transpose c $pitch
			  \chordmode { c4 c:m c:7^5 c:dim7^5 } #}
		   'element)
		  'element)
		 'elements)
		'("" "m" "7" "v"))
	   }
   \layout {
 indent = 0
 \context {
   \Staff
   \remove "Time_signature_engraver"
   \override TextScript.self-alignment-X = #CENTER
   \override VerticalAxisGroup.outside-staff-placement-directive
 = #'right-to-left-greedy

Re: warning: compressing over-full page by 12.4 staff-spaces

2014-11-14 Thread Urs Liska


Am 14.11.2014 17:20, schrieb David Kastrup:

What's up with

 warning: compressing over-full page by 12.4 staff-spaces

here?  There is more than enough space to put one system more to the
next page, and 12 staff spaces?

Page breaks are supposed to be done with full skylines, aren't they?
Sorry for the entirely non-minimal example here.  I have no idea how to
boil this down to fit, but this is not a bug report (yet?).  I just want
input on whether something like this can reasonably be expected to
happen, and if so why, or whether this is indeed bug report country.

Not including the PDF because of 800kB size.  Ugh.


Using

max-systems-per-page = 6


gives no warning and a much better output.
I think LilyPond should be able to decide that herself, without needing 
manual help.


I'm not completely sure but I *think* I had similar behaviour recently 
when I felt that I had to do overly manual stuff with 
max-systems-per-page or system-count or even manual breaks.


Urs


___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: warning: compressing over-full page by 12.4 staff-spaces

2014-11-14 Thread David Kastrup
Urs Liska  writes:

> Am 14.11.2014 17:20, schrieb David Kastrup:
>> What's up with
>>
>>  warning: compressing over-full page by 12.4 staff-spaces
>>
>> here?  There is more than enough space to put one system more to the
>> next page, and 12 staff spaces?
>>
>> Page breaks are supposed to be done with full skylines, aren't they?
>> Sorry for the entirely non-minimal example here.  I have no idea how to
>> boil this down to fit, but this is not a bug report (yet?).  I just want
>> input on whether something like this can reasonably be expected to
>> happen, and if so why, or whether this is indeed bug report country.
>>
>> Not including the PDF because of 800kB size.  Ugh.
>
> Using
>
> max-systems-per-page = 6
>
>
> gives no warning and a much better output.

I find that

\paper {
  ragged-last-bottom = ##f
}

works rather well here, making both pages look good.  But the question
remains: why does LilyPond create a seriously overfull page in the
unmodified case?

-- 
David Kastrup

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


PATCHES: Countdown for November 17th 2014

2014-11-14 Thread James Lowe
Hello,

Here is the current patch countdown list. The next countdown will be on
November 17th.

You can always view the most current countdown list here:
http://code.google.com/p/lilypond/issues/list?q=Patch%3Apush%2Ccountdown%2Creview%2Cnew%2Cwaiting&colspec=Patch%20Owner%20ID%20Summary&sort=patch




PUSH:

Keith OHara: staccato moves to avoid ledge on opposite side of staff
http://code.google.com/p/lilypond/issues/detail?id=4184




REVIEW:

David Kastrup: Enhancement: the ability to change staff line spacing
inside a \layout{} block
http://code.google.com/p/lilypond/issues/detail?id=216




WAITING:

Urs Liska: Patch: Add original-breaks.ly commands
http://code.google.com/p/lilypond/issues/detail?id=4155

Keith OHara: allow bn for B-natural in English
http://code.google.com/p/lilypond/issues/detail?id=4076

Urs Liska: Patch: Issue 3916: Add \alternatingTimeSignatures
http://code.google.com/p/lilypond/issues/detail?id=3918

Mike Solomon: Patch: Prevents vertical axis groups with empty skylines
http://code.google.com/p/lilypond/issues/detail?id=3156

Mike Solomon: Patch: Removes the translate_axis call from
axis-group-interface outside-staff positioning.
http://code.google.com/p/lilypond/issues/detail?id=3134

David Kastrup: Patch: Implement music functions in Scheme rather than C++
http://code.google.com/p/lilypond/issues/detail?id=2716




Thank you,
James

___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel