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 } } } #}) #(set-global-staff-size 18) $@(map (lambda (p n) (score-format-set p n)) (event-chord-pitches #{ <des as es bes f c g d a e b fis> #}) #{ \markuplist { d♭ a♭ e♭ b f c g d a e h f♯ } #})
-- David Kastrup
_______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel