Re: Reverting Beat Grouping Commands

2009-04-27 Thread Trevor Daniels


Neil Puttock wrote Sunday, April 26, 2009 4:31 PM



2009/4/26 Trevor Daniels :

Just to recap, the advantage of \override over \set is that 
previously

overridden values can be recovered by \revert because they are
pushed onto a stack, whereas \unset simply restores the original
default value. Is that right?


Yes.

The problem with context properties is there's nowhere to store 
the

previous value

My knowledge of the internals is not sufficient to judge whether 
this
is feasible or even possible, but is this [i.e. implementing a 
stack

fo context properties] an alternative approach
worth considering?


I'm sure it's possible, but it's way beyond my capabilities.


That means this is infeasible as a solution.

So we are left with two approaches:

a) Implement a pseudo-grob so we can use \override and \revert.

This would work, as Carl has demonstrated, but it muddies the
distinction between context and layout properties.

b) Implement special functions (as now) to change the auto-beaming
rules, so a pseudo-grob is not required

It would, in any case, be desirable to simplify the syntax of the 
user

interface, so some special functions at least will be provided.

For example, Graham suggested:


so what about
  \makeBeamGroupings #'(3 3 2)


and Carl replied:

So then we could have \makeBeamGroupings #'(3 3 2) translate into 
an
autoBeamSettings rule for the current time signature.  I like that 
idea a

lot!  Thanks!


So maybe we should implement all the user interface with special
functions along these lines, perhaps using

\makeAutoBeamRule  \revertAutoBeamRule

(I'd prefer push and pop rather than make and revert, but maybe
that's going too far)

and later

\makeAutoSubdivideRule  \revertAutoSubdivideRule

Trevor



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Date in the footer and Headers/Footers/Titles

2009-04-27 Thread Ian Hulin

Kieren MacMillan wrote:

Then I suggest
  Titles, Headings, Headers, Footers
or something similar to avoid the nasty `/'.


Headings (Titles) and Margin Text (Headers and Footers)


3.2. Titles Headings and Front-Matter

3.2.1 Titles Headings and Front-Matter
score "book", Score Titles, subtitles etc. etc, also one-off things like 
tag-lines>


3.2.2 Custom Titles and Section Headings
the oddHeaderMarkup, evenHeaderMarkup, oddFooterMarkup, evenFooterMarkup 
and related properties in \page.>





Current definition of \header (in NR 3.1.3 File Structure)
A \header block. This sets the global header block. This is the block 
containing the definitions for book-wide settings, like composer, title, 
etc.


I propose renaming this to \front-matter, since most of the stuff 
mentioned in this quote from the NR describes things that appear at the 
start of a typical score, and the term header implies something this 
block doesn't actually do (header as in headers and footers).
I suppose another possibility for the name might be \headings, if people 
want something similar to existing syntax.


The current \header behaves differently depending on whether it's at top 
level or in a \score, when it only processes the title and opus 
properties.  Maybe it would be a good idea to give it a separate name, 
(\score-headings, \section-headings ?) and add some validation to make 
sure it is used inside a \score block?




Cheers,
Ian



___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Date in the footer and Headers/Footers/Titles

2009-04-27 Thread Ian Hulin

Ian Hulin wrote:

Kieren MacMillan wrote:

Then I suggest
  Titles, Headings, Headers, Footers
or something similar to avoid the nasty `/'.


Headings (Titles) and Margin Text (Headers and Footers)


3.2. Titles Headings and Front-Matter

3.2.1 Titles Headings and Front-Matter
score "book", Score Titles, subtitles etc. etc, also one-off things like 
tag-lines>


3.2.2 Custom Titles and Section Headings
the oddHeaderMarkup, evenHeaderMarkup, oddFooterMarkup, evenFooterMarkup 
and related properties in \page.>

Sorry - hit the send button too soon - this should read

3.2.3 Headers and Footers
the appearance each page in the score>
   




Current definition of \header (in NR 3.1.3 File Structure)
A \header block. This sets the global header block. This is the block 
containing the definitions for book-wide settings, like composer, title, 
etc.


I propose renaming this to \front-matter, since most of the stuff 
mentioned in this quote from the NR describes things that appear at the 
start of a typical score, and the term header implies something this 
block doesn't actually do (header as in headers and footers).
I suppose another possibility for the name might be \headings, if people 
want something similar to existing syntax.


The current \header behaves differently depending on whether it's at top 
level or in a \score, when it only processes the title and opus 
properties.  Maybe it would be a good idea to give it a separate name, 
(\score-headings, \section-headings ?) and add some validation to make 
sure it is used inside a \score block?





Cheers,

Ian Hulin


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: recent beaming change?

2009-04-27 Thread Andrew Hawryluk
Thanks Trevor and Patrick for the explanation! It sounds like the new
system will make a lot more sense, and if it beaming 4 eighth notes /
quavers together is the only exceptional case not covered by the new
system, then that exception is probably best added after they have got
their final version working. In the mean time, I will just finalize
this short project with LP 2.12.

Cheers,
Andrew

On Sun, Apr 26, 2009 at 8:31 AM, Trevor Daniels  wrote:
>
> Patrick McCarty wrote Re: recent beaming change?
>
>
>>> On Sat, Apr 25, 2009 at 8:31 AM, Andrew Hawryluk 
>>> wrote:

 My latest LilyPond build (2.13.1, 24 Apr 2009) produces different
 beaming than my last build.

 e.g. {c''8 c'' c'' c''}
 used to produce |_|_|_|
 and now it gives me |_| |_|

 Was this intentional?
>>>
>>> Yes, this was changed recently. The reasons are listed here:
>>>
>>> http://lists.gnu.org/archive/html/bug-lilypond/2009-03/msg00126.html
>>>
>>> I don't know if the plans to revise the auto-beaming code (being
>>> discussed by Carl, Trevor, and Neil) will address this issue.
>>> Clearly, it would be better to allow for this "special case", since
>>>
>>> |_|_|_|
>>>
>>> is much more common than
>>>
>>> |_| |_|
>>
>> Oops.  I should elaborate a little more about this.
>>
>> The first beaming pattern used to be the default in certain cases
>> (e.g. 4/4 time on beats 1 and 3), and this beaming pattern can still
>> be used by modifying beatLength, as Trevor described.
>>
>> But it is reasonable to expect users to use "\set beatLength =
>> #(ly:make-moment 1 2)" if they want the first beaming pattern, which
>> is more common?
>
> I can only repeat what I said in the thread referenced above, namely
> that the new default permits the correct beaming of
>
> \relative c'' {
> a16 a a8 a a
> a8 a16 a a8 a
> a8 a a16 a a8
> a8 a a a16 a  % beaming is different
> }
>
> Also, it seems easier to set beatLength to go from 2 to 4 beamed
> quavers than to revert auto-beaming rules if you wanted 2 rather
> than 4 beamed quavers.  Lily can't do both by default, and I think
> the new behaviour makes the better compromise.  I tried to reduce
> the number of auto-beaming rules to minimise the need to revert
> them.  But I'm quite happy to change the beaming rules back if a
> majority of users prefer the old default.
>
> That said, Carl is still hoping to unify the behaviour which would
> make overrides to the beaming behaviour far more rational.
>
> Trevor
>
>


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel