lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [2.20] Issue 4943 Manual page breaking causing assertion failure usi


From: Thomas Morley
Subject: Re: [2.20] Issue 4943 Manual page breaking causing assertion failure using Windows
Date: Tue, 3 Jan 2017 23:58:17 +0100

2017-01-03 18:04 GMT+01:00 Chris Yate <address@hidden>:
> On Tue, 3 Jan 2017 at 16:23 Thomas Morley <address@hidden> wrote:

>>
>> Do you have the same problems, while putting it in \layout and using
>> manual breaks? Like:
>>
>> \layout {
>>   \autoBreaksOff
>> }
>>
>> { \repeat unfold 22 b2
>>   \repeat unfold 320 b2
>>   \break
>>   R1
>>   \repeat unfold 320 b2 }
>>
> That example is OK, but I don't think the Layout makes any differece.
>
> It seems it's the "autoPageBreaksOff" in particular that is a problem. A few
> examples (not comprehensive):
[...]

Well, I have no windows at hand so I can't test all the examples.
But this one gives wrong output on Linux as well.
Only second system is printed at all !!

> This looks OK (though there's no breaks) but causes "Programming Error:
> bounds of spanner are invalid"
>
> {
>   \autoBreaksOff
>   \repeat unfold 22 b2
>   \repeat unfold 320 b2
> \break
>   R1
>   \repeat unfold 320 b2
> }

I've wrote some test-code, for testing with all stable versions since
2.12.3 and the new devel-versions.

%% snippet start

#(define testMusic
  (if (string-ci>? (cadr (string-split (lilypond-version) #\.)) "16")
;; 2.18. and higher
#{
   \overrideProperty Score.NonMusicalPaperColumn.line-break-permission ##f
   \override Score.NonMusicalPaperColumn.line-break-permission = ##f
   \overrideProperty Score.NonMusicalPaperColumn.page-break-permission ##f
   \override Score.NonMusicalPaperColumn.page-break-permission = ##f

   \repeat unfold 320 b2
   \break
   R1
   \repeat unfold 320 b2

#}
#{
   \overrideProperty "Score.NonMusicalPaperColumn" #'line-break-permission ##f
   \override Score.NonMusicalPaperColumn #'line-break-permission = ##f
   \overrideProperty "Score.NonMusicalPaperColumn" #'page-break-permission ##f
   \override Score.NonMusicalPaperColumn #'page-break-permission = ##f

   \repeat unfold 320 b2
   \break
   R1
   \repeat unfold 320 b2
#}))

\new Staff \testMusic

%% snippet end

%%%%%%%%%%%%%%%

For all tested versions (2.12.3, 2.14.2, 2.16.2, 2.18.2, 2.19.52) I get
(1)
several instances of
programming error: bounds of spanner are invalid
continuing, cross fingers
(2)
first system is _never_ printed in pdf

%%%%%%%%%%%%%%%

If all instances of
\overrideProperty ...
in the snippet above are commented everything is always fine!!

%%%%%%%%%%%%%%%

That let me think something fundamental is broken with
overrideProperty for a very long time.
And as another shot in the dark: maybe the bug could be avoided by
deleting all overrideProperty-settings, i.e.

%% new defs start

autoLineBreaksOff =
  \override Score.NonMusicalPaperColumn.line-break-permission = ##f

autoLineBreaksOn =
  \override Score.NonMusicalPaperColumn.line-break-permission = #'allow

autoPageBreaksOff =
  \override Score.NonMusicalPaperColumn.page-break-permission = ##f

autoPageBreaksOn =
  \override Score.NonMusicalPaperColumn.page-break-permission = #'allow

autoBreaksOff = { \autoLineBreaksOff \autoPageBreaksOff }

autoBreaksOn = { \autoLineBreaksOn \autoPageBreaksOn }

%% new defs end

This will ofcourse limit the possible use-cases:
As of the discussion on Rietveld it was intended to use
autoBreaksOff/On prepended with \once in mid-music. This will likely
not work in all cases anymore.

Anyway,
Chris, may I ask you to test with definitions above?

Cheers,
  Harm



reply via email to

[Prev in Thread] Current Thread [Next in Thread]