Keith OHara | 20 Jan 09:09 2015

midi and \key\default

There is variant \key\default that re-prints the current key-signature, but using it with midi causes an
error and early exit from the Scheme interpreter.

\score {
   {\key g\major g' b' d'' b' \key\default g'1 }
Urs Liska | 19 Jan 15:33 2015

wish: ly:cheapest-breaking (or whatever name)

Hi list,

following up on a thread that I started some time ago 
I'd like to draw the conclusions from that and ask for an additional 
breaking "algorithm".

It would be nice to have a compilation mode that doesn't care about 
optimizing page layout through calculating "good" line and page breaks 
(or page turns) but that rather fills a line until it's full and then 
inserts a break at the latest allowed moment. The line can then be 
spread out to fill the line width or not, depending on the "ragged" setting.

The idea behind it is: While working on the *content* of a score one 
doesn't necessarily have to care about the beauty of the page layout at 
all, and so it would make sense to speed up compilation by not having 
LilyPond to care about it either.

There is another idea behind it which is related to another wish I'll 
post separately. Such a compilation mode would make it less likely that 
small changes in the input cause changes in the line (and page) 
breaking. These would only occur when the current system actually 
becomes longer or shorter by half a measure (in a simplified view).

I can't imagine that this should be too hard to implement, but I don't 
have a clue where this would have to start, presumably in the C++ part?

Pierre Perol-Schneider | 19 Jan 08:03 2015

magnifyStaff does not affect bar numbers

> I'm not top posting.

Hi Bug Squad,

See :

\version "2.19.15"

myMusic = \relative c' { c d e f \break g a b c }

{ \myMusic }

{ \magnifyStaff #3 \myMusic }


Urs Liska | 16 Jan 13:01 2015

Problem with enharmonic tie in partcombine (can let LilyPond crash)


I encountered a strange crash that is related to enharmonic ties.

I'm using an engraver that is passed a grob.

One particular snippet of input code lets now crash LilyPond.
I can't easily produce a compiling (i.e. crashing) example because it's 
quite intertwined with project specific libraries.
So I can't fully rule out some dependencies with the project code but I 
still have the feeling that it's more related to a recent LilyPond patch.

The relevant output from the log is

In /home/uliska/git/lilypond/lilypond-builds/current/out/share/lilypond/current/scm/lily.scm:
1040: 10* [ly:parse-file "/home/uliska/git/bfsc/fried/das-trunkne-lied/score/"]
In /home/uliska/git/lilypond/lilypond-builds/current/out/share/lilypond/current/ly/
   56: 11* (let* ((book-handler #)) (cond (# #) (# #)))
   59: 12  (cond (# #) (# #))
In /home/uliska/git/lilypond/lilypond-builds/current/out/share/lilypond/current/scm/lily-library.scm:
  259: 13  [ly:book-process #<Book> #< Output_def> #< Output_def> "fullscore"]
In unknown file:
    ?: 14* [#<procedure #f (trans)> #<Translator Scheme_engraver >]
In /home/uliska/git/bfsc/fried/das-trunkne-lied/library/ly/functions/annotate.ily:
  247: 15* (begin (for-each # #) (for-each # annotations) (if log-annotations #))
  250: 16* [for-each #<procedure #f (g)> ((# # # ...) (# # # ...) (# # # ...) ...)]
In unknown file:
    ?: 17* [#<procedure #f (g)> (#<Grob Tie > (12 . 8) #<Mom 3/2> ...)]
(Continue reading)

Dan Eble | 15 Jan 05:21 2015

arpeggioBracket abuse

NR section 2.1.5:

> Divided voices
> Using arpeggioBracket to make divisi more visible
> The arpeggioBracket can be used to indicate the division of voices where there are no stems to provide the
information. This is often seen in choral music. 

This deserves an enhancement ticket.  Specifying \arpeggio on a chord that is not intended to be performed
as an arpeggio stinks.  Lilypond should automatically add brackets where the allocation of notes to
voices is unclear, when enabled by a context property.

bug-lilypond mailing list
bug-lilypond <at>
Javier Ruiz-Alma | 15 Jan 02:11 2015

Documentation fix

There's an outdated/broken link to LSR pointing to

I can load LSR at this other URL:
Thomas Morley | 13 Jan 22:53 2015

bug with combination of \glissando, \bar "", dotted whole note and \time 4/4


the following code returns weird output (png attached) and an error is printed:
"programming error: Loose column does not have right side to attach to".

\version "2.19.15"

\layout {
  \context {
    defaultBarType = #""

  %% first Staff is not needed to trigger the error
  %% The result is more spectacular, though
  \new Staff { f'1\glissando f' }
  \new Staff { f'1.\glissando f' }

It was introduced somewhere between 2.12.3 (no error, pdf ok) and 2.14.2

At first I thought it's because the stencil for \bar "" has '(0 . 0)
as extent in X-direction. Though, redefining an empty barline, using
another glyph, but keeping the original procedure works (obviously a

\version "2.19.15"

(Continue reading)

Urs Liska | 12 Jan 10:01 2015

Output break positions (question or feature request)


as asked on the -user list I am looking for a way to collect the 
positions of all breaks in a LilyPond score. 
suggests that at the time engravers are doing their work the line and 
page breaking hasn't been performed so engravers can't help with that. 
But I'm quite sure LilyPond *has* a way to produce this information somehow.

The goal is to find a way to recompile just a certain page or system 
using the skipTypesetting property, which works well for entering or 
editing music as long as the changes don't require changed breakings 
(which would then require a complete recompilation, resulting in a new 
list of breaks.

So I have
a) the question if there already *is* a way to retrieve the moments 
(barnumber plus measure-position) of all explicit and implicit breaks in 
a score and write them to a log file?
b) if it's confirmed that currently there is no way to do so please add 
this as a feature request to the tracker.

I hope to make this an editing option (in Frescobaldi, but it could be 
adapted to other editing environments as well) that can dramatically 
reduce waiting times while editing the *content* of a LilyPond score, 
making the overall user experience significantly smoother. I hope that 
this may significantly increase acceptance of LilyPond with potential users.

(Continue reading)

Urs Liska | 7 Jan 10:50 2015

Typo in NR example (vocal music)

Hi all,


there's a typo in the example about special characters (with the text 
"Schad' um das schöne grüne Band").
The sixth note should read es' instead of e'.

I'd fix that myself but I have problems accessing the Git repository 
right now. Therefore I write this email so it won't be forgotten.


bug-lilypond mailing list
bug-lilypond <at>
Dan Eble | 4 Jan 20:38 2015

Re: Rest-dot spacing

Aha!  Overriding Rest.stencil and changing the style there was insufficient because ly::rest::width and
other callbacks *bypass* the stencil property, so my change of style had not yet been applied when the
X-extent was evaluated.  Lilypond used the X-extent of the default quarter rest instead of the classical
quarter rest.

So this is a bug, right?  Rest.X-extent etc. should yield the dimensions of whatever Rest.stencil will return.

\version "2.19.15"

classicalQuarter = #(lambda (grob)
  (if (= (ly:grob-property grob 'duration-log 999) 2)
      (ly:grob-set-property! grob 'style 'classical))
  (ly:rest::print grob))

  \new Staff \with { \override Rest #'stencil = \classicalQuarter } { r4. }

***Console output with some ad-hoc warnings I added to Rest::brew_internal_stencil***
Interpreting music...
/home/dan/ warning: {durlog=2,style=default,ledgered=0} -> X-extent=[-0.000000,0.949996]
  \new Staff \with { \override Rest #'stencil = \classicalQuarter } { 
                                                                      r4. }
Preprocessing graphical objects...
/home/dan/ warning: {durlog=2,style=default,ledgered=0} -> X-extent=[-0.000000,0.949996]
  \new Staff \with { \override Rest #'stencil = \classicalQuarter } { 
                                                                      r4. }
(Continue reading)

Dan Eble | 1 Jan 21:14 2015

Multi_measure_rest::get_rods (): I am not spanned!

*** Unexpected Output ***
programming error: Object is not a markup.
This object should be a markup: ()
programming error: Multi_measure_rest::get_rods (): I am not spanned!

These are the same messages as in (Oct 4,
2010).  I don’t know whether this is a new problem or just a new way to reproduce that same old problem.

*** Input ***
\version "2.19.15"

chordNames = \chordmode {
  f1 | %{nothing in final measure%}

leadNotes = \relative {
  f'1 | R1

words = \lyricmode {

  \new ChordNames {

  \new ChoirStaff
(Continue reading)