lilypond-user
[Top][All Lists]
Advanced

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

Re: programming error: when \break used before \grace or after \afterGra


From: V!ctor Adán
Subject: Re: programming error: when \break used before \grace or after \afterGrace in combination with proportional notation
Date: Thu, 20 Nov 2008 12:04:21 -0500

Update,

I'm pretty sure now that the problem is in these two overrides:
\override SpacingSpanner #'strict-note-spacing = ##t
\override SpacingSpanner #'strict-grace-spacing = ##t

It turns out that grace notes coinciding with line/page breaks *can* compile without errors while setting
proportionalNotationDuration = #(ly:make-moment )
as long as the strict-note-spacing and/or strict-grace-spacing are NOT set to True.

Setting only
\override SpacingSpanner #'uniform-stretching = ##t
gives no errors.

So at this point we have a compromise between being able to have grace (or afterGrace) notes on line breaks and having strict-note-spacing in proportional notation.

So the following compiles correctly:

%%%%%%%%%% START %%%%%%%%%%%%%%%%
\version "2.11.64"
\include "english.ly"

\layout{
   \context{ \Score
      proportionalNotationDuration = #(ly:make-moment 1 32)
      \override SpacingSpanner #'uniform-stretching = ##t
   }
}

{
\new Voice{
     \time 1/4
     c'4
     \break
     \afterGrace c'4 {g'64}
     \break
     c'4
     \break
     c'4
     \break
     }

  \new Voice{
     \time 1/4
     c'4
     \break
     \grace{ g'64 }
     c'4
     \break
     c'4
     \break
     c'4
     \break
     }
}
%%%%%%%%%%%%%%%%%%% END %%%%%%%%%%%%%%%


Victor.


2008/11/19 V!ctor Adán <address@hidden>
Hello Trevor,

Thanks for your reply and for testing the examples.
I've been trying to find an alternative to using grace notes, but unfortunately, I have not found one. I cannot simply strip-out graces in line breaks in my case because they play a very important role in the score and I have literally hundreds of grace notes in the piece. I've tried making "fake" grace notes using normal notes with modified attributes (size, duration multiplier) but the problem with this is that, as real notes that they are now, their attributes "interfere" (interact) with those of the the actually real notes (I hope that makes sense);  specifically, duration calculations, spacing, and beaming of real notes and "fake" grace notes now get mixed up. The nice thing about grace notes is that they have an independent logic: their durations do not interfere with durations of real notes, their beaming does not interfere with that of real notes, etc.    

Anyway, hope this can be fixed! If anyone else has other ideas please let me know.

Victor.



On Wed, Nov 19, 2008 at 3:47 PM, Trevor Bača <address@hidden> wrote:


On Fri, Nov 14, 2008 at 4:35 PM, V!ctor Adán <address@hidden> wrote:
Hello All,

After trying for hours to figure out why my LilyPond score was generating programming error messages on compilation, I finally found the culprit and was able to come up with a pair of minimal examples generating the errors. I searched the mailing lists for solutions to this, but I found no posts of this specific problem, so I guess this is new.
 
The problem seems to be occur when combining three things:
1. proportional notation:
      proportionalNotationDuration = #(ly:make-moment 1 34)
      \override SpacingSpanner #'strict-note-spacing =##t
2. \grace or \afterGrace notes
3. \break or \pageBreak immediately before \grace or immediately after \afterGrace notes.

The two errors I get are:
"programming error: bounds of spanner are invalid"
and
"programming error: No spring between column 1 and next one
continuing, cross fingers"

If I remove the strict-note-spacing = ##t assignment, everything works fine.
Minimal code examples are included here, together with the LilyPond output.

Any ideas how this can be fixed or how to go around it? Is this a bug?


Many thanks,

V!ctor Adan.

PS Since this seems like a bug, I'm sending to the bug-lilypond mailing list too, just in case.


%%%%%%%%%% CODE BEGINS %%%%%%%%%

\version "2.11.64"
\include "english.ly"

\layout{
   \context{ \Score
      proportionalNotationDuration = #(ly:make-moment 1 34)
      \override SpacingSpanner #'strict-note-spacing =##t
      %\override SpacingSpanner #'strict-grace-spacing = ##t
      %\override SpacingSpanner #'uniform-stretching = ##t
   }
}

%%%%%%%%%%%%%%%%%%%%%% EXAMPLE 1 (afterGrace) %%%%%%%%%%%%%%%%%%%%%%%%
 {
     \new Voice{
     \time 1/4
     c'4
     \break
     \afterGrace c'4 {g'64}
     \break
     c'4
     \break
     c'4
     }
 }

% %% LILYPOND OUTOUT:
% GNU LilyPond 2.11.64
% Processing `test.ly'
% Parsing...
% Interpreting music...
% Preprocessing graphical objects...
% Finding the ideal number of pages...
% Fitting music on 1 page...
% Drawing systems...
% programming error: bounds of spanner are invalid
% programming error: bounds of spanner are invalid
% programming error: bounds of spanner are invalid
% programming error: bounds of spanner are invalid
% programming error: bounds of spanner are invalid
% programming error: bounds of spanner are invalid
% Layout output to `test.ps'...
% Converting to `./test.pdf'...


%%%%%%%%%%%%%%%%%%%%%%%%% EXAMPLE 2 (grace) %%%%%%%%%%%%%%%%%%%%%%%%%%%
 {
     \new Voice{
     \time 1/4
     c'4
     \break
     \grace{ g'64 }
     c'4
     \break
     c'4
     \break
     c'4
     }
 }
% %% LILYPOND OUTOUT:
% GNU LilyPond 2.11.64
% Processing `test.ly'
% Parsing...
% Interpreting music...
% Preprocessing graphical objects...
% programming error: No spring between column 1 and next one
% continuing, cross fingers
% programming error: No spring between column 2 and next one
% continuing, cross fingers
% programming error: No spring between column 2 and next one
% continuing, cross fingers
% programming error: No spring between column 2 and next one
% continuing, cross fingers
% programming error: No spring between column 1 and next one
% continuing, cross fingers
% Finding the ideal number of pages...
% Fitting music on 1 page...
% Drawing systems...
% programming error: No spring between column 2 and next one
% continuing, cross fingers
% programming error: No spring between column 1 and next one
% continuing, cross fingers
% Layout output to `test.ps'...
% Converting to `./test.pdf'...

%%%%%%%%%%%%%%%% CODE ENDS %%%%%%%%%%%%%%%%%%


Hi Víctor,

Wow: insane. That is absolutely a bug. Breaks on my end (2.11.57), too.

I fear, however, that this particular bug has probably been around since inception. And it doesn't completely surprise me, either: up through February (when I was finishing up the trio) 'weird things' would happen if I had graces come at the beginning of a line; proportional notation was, of course, turned on. I actually had to go back and strip out beginning-of-line graces in the piece. The grace stripping wasn't too much of a loss for me ... but I'd be willing to be that you're going to be using graces next to line breaks all over, aren't you?


Trevor.




--
Trevor Bača
address@hidden



reply via email to

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