[Top][All Lists]

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

Re: GOP2-3 - GLISS or not

From: Keith OHara
Subject: Re: GOP2-3 - GLISS or not
Date: Wed, 25 Jul 2012 04:58:57 +0000 (UTC)
User-agent: Loom/3.14 (

Graham Percival <graham <at>> writes:

> This is a
> problem for projects such as mutopia – a large fraction of their
> .ly files don’t compile with current lilypond. That means that
> they can’t benefit from recent bugfixes; users wanting the sheet
> music in a different size (say, printing a choral score as an A5
> booklet) must delve into the ly code and make manual changes.
I recently updated a fairly complex piece from 2004 on mutopiaproject.
Convert-ly turned it into valid input for current LilyPond, but none
of the \overrides did what was intended.  Nearly all of them were no
longer necessary due to bug-fixes in the past six years.

> 2. Define a subset of input as being stable for the 3.x branch.
>      We add regression tests for that subset of notation and
>      forbid running convert-ly on those files. 

Why forbid convert-ly?  Is the idea to freeze the syntax that many 
users have already committed to memory ?

>      At the moment, I
>      imagine that the subset would consist of at most Notation
>      sections 1.1 Pitches, 1.2 Rhythms, and the overall file
>      organization; nothing else.  Changes to input other than that
>      subset are fine. 
If you mean the portions of these sections that users have likely 
committed to memory, that should work.   

These sections also cover recently-added features like auto-beaming 
overrides, and modal transformations, which might someday be improved 
with a syntax change that convert-ly could handle.

> In greater detail: I’m suggesting that we have a round of syntax
> stabilization (GLISS).  At the end of it (3 months? 6 months?), we
> add a few regression tests that might look something like this:

Having the currently-frozen syntax be un-frozen and then re-frozen
six months later might lead to changes that we regret.  But if it is 
the core notation in a set of regression tests that is to be frozen,
that should work.

There are some GLISS topics that would take longer to get right, such as:
+ whether we should implement {c4 d e f}*4 to repeat a sequence
+ whether to disallow some unusual syntax that Lilypond currently
allows, but which prevents LilyPond from recognizing numbers in variable 

Such changes would affect what is allowed in the notation covered by
Pitches and Rhythms, but would not affect the "forseeable usage" core 
notation as preserved in those regression tests.

reply via email to

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