regression examples

2007-02-07 Thread Han-Wen Nienhuys

Hi Joe, 

good to have a x-staff tuplet example. Can you also add a docstring to
the example, ie 

  \header { texidoc = ... }

-- 

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

Hi,

Hopefully this won't be rocking the boat too much, but I'd like to
open a small discussion about  reorganizing the contents of the \paper
block.

Section 11.1.2 Page formatting lists 27 \paper settings:

first-page-number
print-first-page-number
print-page-number
paper-width
paper-height
top-margin
bottom-margin
left-margin
line-width
head-separation
foot-separation
page-top-space
ragged-bottom
ragged-last-bottom
system-count
between-system-space
between-system-padding
horizontal-shift
after-title-space
before-title-space
between-title-space
printallheaders
systemSeparatorMarkup
blank-page-force
blank-last-page-force
page-spacing-weight
auto-first-page-number


Seems to me that in most programs, stuff like paper dimensions and
margins are included in a page setup dialog somewhere, but that stuff
having to do with headers and footers and titles and other types of
text usually lives somewhere else. So, when I look at these 27 \paper
settings, I see them organizing into something like the following
categories:


Two settings for the physical paper itself:

paper-width
paper-height


Four settings for margins (closely related to the physical paper):

top-margin
bottom-margin
left-margin
line-width (instead of right-margin)


Seven settings for headers and footers:

first-page-number
print-first-page-number
print-page-number
auto-first-page-number
head-separation
foot-separation
printallheaders


Three for titles (which are text and probably a type of one-time header):

after-title-space
before-title-space
between-title-space


Six for the (mostly vertical, but one horizontal) layout of systems:

ragged-bottom
ragged-last-bottom
system-count
between-system-space
between-system-padding
horizontal-shift


And three page-layout settings that probably influence decisions about
pageBreaks:

blank-page-force
blank-last-page-force
page-spacing-weight


These settings are all important and are certainly possible to lay out
score with sucessfully.

Maybe the settings would be easier to find and make more conceptual
sense like this?

Strip \paper down to settings pertaining to paper:

\paper {
  paper-width
  paper-height
  top-margin
  bottom-margin
  left-margin
  right-margin (new; line-width moves elsewhere?)
}


Move over the settings having to do with page layout into the \layout block:

\layout {
  ragged-bottom
  ragged-last-bottom
  system-count
  between-system-space
  between-system-padding
  horizontal-shift
  blank-page-force
  blank-last-page-force
  page-spacing-weight
}


And create a new block for headers and footers:

\headers-and-footers {
  first-page-number
  print-first-page-number
  print-page-number
  auto-first-page-number
  head-separation
  foot-separation
  print-all-headers (iso printallheaders)
  after-title-space
  before-title-space
  between-title-space
}


Does this add value? Or just create a huge mess?

I wouldn't ask except for the fact that I've now been laying out score
very successfully with lily for going on two years and I still have to
stop and ask myself Hmm ... I'm wanting to pad systems on the page so
that they lay out more loosely. So that concerns layout and I'll look
for settings over here in the \layout block. Oh wait. Settings for
system layout live in the \paper block ...


--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Han-Wen Nienhuys
Trevor Bača escreveu:

 
 I wouldn't ask except for the fact that I've now been laying out score
 very successfully with lily for going on two years and I still have to
 stop and ask myself Hmm ... I'm wanting to pad systems on the page so
 that they lay out more loosely. So that concerns layout and I'll look
 for settings over here in the \layout block. Oh wait. Settings for
 system layout live in the \paper block ...

the \layout block only affects what's in a score. Page layout (margins,
titles, etc) fall outside that and therefore are in the \paper block.
Perhaps better names can be found for paper/layout; suggestions
appreciated.

-- 

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

On 2/7/07, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:

Trevor Bača escreveu:


 I wouldn't ask except for the fact that I've now been laying out score
 very successfully with lily for going on two years and I still have to
 stop and ask myself Hmm ... I'm wanting to pad systems on the page so
 that they lay out more loosely. So that concerns layout and I'll look
 for settings over here in the \layout block. Oh wait. Settings for
 system layout live in the \paper block ...

the \layout block only affects what's in a score. Page layout (margins,
titles, etc) fall outside that and therefore are in the \paper block.
Perhaps better names can be found for paper/layout; suggestions
appreciated.


Hmmm.

Just thinking out loud here ... so there's an inside-of-score /
outside-of-score dichotomy going on here. I don't think I had ever
realized that ...

So that means that ragged-right (which currently lives in \layout) is
perceived as inside-of-score, whereas ragged-bottom (which currently
lives in \paper) is outside-of-score?


--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Han-Wen Nienhuys
Trevor Bača escreveu:
 On 2/7/07, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:
 Trevor Bača escreveu:

 
  I wouldn't ask except for the fact that I've now been laying out score
  very successfully with lily for going on two years and I still have to
  stop and ask myself Hmm ... I'm wanting to pad systems on the page so
  that they lay out more loosely. So that concerns layout and I'll look
  for settings over here in the \layout block. Oh wait. Settings for
  system layout live in the \paper block ...

 the \layout block only affects what's in a score. Page layout (margins,
 titles, etc) fall outside that and therefore are in the \paper block.
 Perhaps better names can be found for paper/layout; suggestions
 appreciated.
 
 Hmmm.
 
 Just thinking out loud here ... so there's an inside-of-score /
 outside-of-score dichotomy going on here. I don't think I had ever
 realized that ...
 
 So that means that ragged-right (which currently lives in \layout) is
 perceived as inside-of-score, whereas ragged-bottom (which currently
 lives in \paper) is outside-of-score?

yes. However, \layout settings default to what is in the \paper block,
so ragged-right may also be defined in the \paper{} block.


-- 

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

On 2/7/07, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:

Trevor Bača escreveu:
 On 2/7/07, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:
 Trevor Bača escreveu:

 
  I wouldn't ask except for the fact that I've now been laying out score
  very successfully with lily for going on two years and I still have to
  stop and ask myself Hmm ... I'm wanting to pad systems on the page so
  that they lay out more loosely. So that concerns layout and I'll look
  for settings over here in the \layout block. Oh wait. Settings for
  system layout live in the \paper block ...

 the \layout block only affects what's in a score. Page layout (margins,
 titles, etc) fall outside that and therefore are in the \paper block.
 Perhaps better names can be found for paper/layout; suggestions
 appreciated.

 Hmmm.

 Just thinking out loud here ... so there's an inside-of-score /
 outside-of-score dichotomy going on here. I don't think I had ever
 realized that ...

 So that means that ragged-right (which currently lives in \layout) is
 perceived as inside-of-score, whereas ragged-bottom (which currently
 lives in \paper) is outside-of-score?

yes. However, \layout settings default to what is in the \paper block,
so ragged-right may also be defined in the \paper{} block.


OK.

Hm. So ragged-right can live in the *\layout* block (and have
score-level scope). Or ragged-right can live in the *\paper* block
(and have file-level scope).

Would it make more sense to have the idea that ragged-right only ever
live in a \layout block, together with the companion idea that there
can be both score-level \layout blocks and also one file-level \layout
block?


--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

On 2/7/07, Kress, Stephen [EMAIL PROTECTED] wrote:





I think Han-Wen said it himself (though he didn't realize it).

 I like the idea if \paper being as you described (with just the six
properties).


Me too. I think that greatly clears up what belongs in the \paper
block -- just stuff that has to do with the physical dimensions and
printable area of actual paper.



 Put all the other stuff (the outside-the-score layout stuff) in a new block
called \page-layout

 Maybe, if folks get too confused between \page-layout and \layout, the
\layout block can be moved inside the \score block since that's what it
applies to the most.  It might also be that a \layout block that is outside
a \score block (for the purposes of a global style) could be renamed to
\score-layout.


So what do think about dividing the outside-of-score stuff into two
categories? Because it seems like maybe these two lists of settings do
different things:

list 1:
 ragged-bottom
 ragged-last-bottom
 system-count
 between-system-space
 between-system-padding
 horizontal-shift
 blank-page-force
 blank-last-page-force
 page-spacing-weight


list 2:
 first-page-number
 print-first-page-number
 print-page-number
 auto-first-page-number
 head-separation
 foot-separation
 print-all-headers (iso printallheaders)
 after-title-space
 before-title-space
 between-title-space

Right now both list 1 and list 2 will just be put together into the
outside-of-score (\paper) bucket.

But it seems that may list 1 is really concerned with the *the layout
of music on the page* whereas list 2 is concerned with *adding headers
and footers outside the music*.

So does it make sense to divide list 1 and list 2? And if so, with what names?





 Just some qd thoughts...

 Stephen

 -Original Message-
 From:
[EMAIL PROTECTED]
on behalf of Trevor Baca
 Sent: Wed 2/7/2007 12:47 PM
 To: Han-Wen Nienhuys
 Cc: lilypond-devel; lilypond-user
 Subject: Re: Reorganizing the contents of the \paper block

 On 2/7/07, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:
  Trevor Baca escreveu:
   On 2/7/07, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:
   Trevor Baca escreveu:

  
   
I wouldn't ask except for the fact that I've now been laying out
score
very successfully with lily for going on two years and I still have
to
stop and ask myself Hmm ... I'm wanting to pad systems on the page
so
that they lay out more loosely. So that concerns layout and I'll
look
for settings over here in the \layout block. Oh wait. Settings for
system layout live in the \paper block ...
  
   the \layout block only affects what's in a score. Page layout
(margins,
   titles, etc) fall outside that and therefore are in the \paper block.
   Perhaps better names can be found for paper/layout; suggestions
   appreciated.
  
   Hmmm.
  
   Just thinking out loud here ... so there's an inside-of-score /
   outside-of-score dichotomy going on here. I don't think I had ever
   realized that ...
  
   So that means that ragged-right (which currently lives in \layout) is
   perceived as inside-of-score, whereas ragged-bottom (which currently
   lives in \paper) is outside-of-score?
 
  yes. However, \layout settings default to what is in the \paper block,
  so ragged-right may also be defined in the \paper{} block.

 OK.

 Hm. So ragged-right can live in the *\layout* block (and have
 score-level scope). Or ragged-right can live in the *\paper* block
 (and have file-level scope).

 Would it make more sense to have the idea that ragged-right only ever
 live in a \layout block, together with the companion idea that there
 can be both score-level \layout blocks and also one file-level \layout
 block?


 --
 Trevor Baca
 [EMAIL PROTECTED]

 2007-02-07, 13:02:32
 The information contained in this e-mail message and any attachments may be
privileged and confidential.  If the reader of this message is not the
intended recipient or an agent responsible for delivering it to the intended
recipient, you are hereby notified that any review, dissemination,
distribution or copying of this communication is strictly prohibited.  If
you have received this communication in error, please notify the sender
immediately by replying to this e-mail and delete the message and any
attachments from your computer.




2007-02-07, 13:33:40
 The information contained in this e-mail message and any attachments may be
privileged and confidential. If the reader of this message is not the
intended recipient or an agent responsible for delivering it to the intended
recipient, you are hereby notified that any review, dissemination,
distribution or copying of this communication is strictly prohibited. If you
have received this communication in error, please notify the sender
immediately by replying to this e-mail and delete the message and any
attachments from your computer.




--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-devel mailing list
lilypond-devel@gnu.org

Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

On 2/7/07, Trevor Bača [EMAIL PROTECTED] wrote:

On 2/7/07, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:
 Trevor Bača escreveu:
  On 2/7/07, Han-Wen Nienhuys [EMAIL PROTECTED] wrote:
  Trevor Bača escreveu:
 
  
   I wouldn't ask except for the fact that I've now been laying out score
   very successfully with lily for going on two years and I still have to
   stop and ask myself Hmm ... I'm wanting to pad systems on the page so
   that they lay out more loosely. So that concerns layout and I'll look
   for settings over here in the \layout block. Oh wait. Settings for
   system layout live in the \paper block ...
 
  the \layout block only affects what's in a score. Page layout (margins,
  titles, etc) fall outside that and therefore are in the \paper block.
  Perhaps better names can be found for paper/layout; suggestions
  appreciated.
 
  Hmmm.
 
  Just thinking out loud here ... so there's an inside-of-score /
  outside-of-score dichotomy going on here. I don't think I had ever
  realized that ...
 
  So that means that ragged-right (which currently lives in \layout) is
  perceived as inside-of-score, whereas ragged-bottom (which currently
  lives in \paper) is outside-of-score?

 yes. However, \layout settings default to what is in the \paper block,
 so ragged-right may also be defined in the \paper{} block.

OK.

Hm. So ragged-right can live in the *\layout* block (and have
score-level scope). Or ragged-right can live in the *\paper* block
(and have file-level scope).

Would it make more sense to have the idea that ragged-right only ever
live in a \layout block, together with the companion idea that there
can be both score-level \layout blocks and also one file-level \layout
block?


Question for anyone who can answer: are there *any* settings that
*can* go in a score-level \layout block but *can not* go in the
top-level \paper block?


--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

On 2/7/07, Trevor Bača [EMAIL PROTECTED] wrote:

Question for anyone who can answer: are there *any* settings that
*can* go in a score-level \layout block but *can not* go in the
top-level \paper block?


Second question: why do the top-level

 \layout { ragged-right = ##t }

and

 \paper { ragged-right = ##t }

have exactly the same effect on the output in the following file?


%%% BEGIN %%%

\version 2.11.16

% these have exactly the same effect, no matter which one is commented out

%\layout { ragged-right = ##t }
\paper { ragged-right = ##t }

\score {
  \new Staff {
 c'1 \break c'1
  }
}

\score {
  \new Staff {
 d'1 \break d'1
  }
  \layout { ragged-right = ##f }
}

%%% END %%%


I'm used to thinking of ragged-right as a layout setting. But,
apparently, ragged-right can go in either the (top-level) \paper or
(top-level) \layout block equally. Why is this allowed? Is there some
benefit?


--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Han-Wen Nienhuys
Trevor Bača escreveu:

 Right now both list 1 and list 2 will just be put together into the
 outside-of-score (\paper) bucket.
 
 But it seems that may list 1 is really concerned with the *the layout
 of music on the page* whereas list 2 is concerned with *adding headers
 and footers outside the music*.
 
 So does it make sense to divide list 1 and list 2? And if so, with what
 names?

I think this doesn't make sense. There are two output-def objects with nested
scope. Variables that by their nature have \book-wide effect, go into the outer
scope, variables that are score-wide may be put in the inner scope.
  
If that confuses you, it might be a better idea to rename \layout  and \paper to
better reflect this.

-- 

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Han-Wen Nienhuys
Trevor Bača escreveu:

 Question for anyone who can answer: are there *any* settings that
 *can* go in a score-level \layout block but *can not* go in the
 top-level \paper block?

No, not that I know.

-- 

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Han-Wen Nienhuys
Trevor Bača escreveu:

 I'm used to thinking of ragged-right as a layout setting. But,
 apparently, ragged-right can go in either the (top-level) \paper or
 (top-level) \layout block equally. Why is this allowed? Is there some
 benefit?

As I said, the scoping is nested at runtime: if a lookup in \layout of a
\score fails, it is looked up in the \paper{} of the enclosing \book block.

(in a lot of cases, the \book block is implicit, and supplied by lilypond)

-- 

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


RE: Reorganizing the contents of the \paper block

2007-02-07 Thread Carl D. Sorensen
 



My suggestion:

\paper {}
  paper-width
  paper-height
  top-margin
  bottom-margin
  left-margin

\page-layout{}
   first-page-number
   print-first-page-number
   print-page-number
   auto-first-page-number
   head-separation
   foot-separation
   printallheaders
   after-title-space
   before-title-space
   between-title-space
   blank-page-force
   blank-last-page-force

\music-layout{} or \system-layout{}
   indent
   line-width
   ragged-bottom
   ragged-last-bottom
   system-count
   between-system-space
   between-system-padding
   horizontal-shift
   page-spacing-weight
   ragged-right
   ragged-last
   systemSeparatorMarkup (should be changed to system-separator-markup?)


Carl Sorensen


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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Juergen Reuter

Hi, all!

What about unifying \paper and \layout into a single \layout 
directive, such that in the input language there is no syntactical 
difference any more between \paper and \layout block?  (Of course, in the 
implementation, the different scopes still could be kept.)  Then the place 
where the \layout occurs in the .ly file determines which properties can 
be changed (that is exactly what scopes are about).


Obviously, if someone operates in the wrong scope, i.e. if someone tries 
to change things on score level \layout block which only should be changed 
globally (such as paper margin), lily should emit a warning.


Greetings,
Juergen


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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Bryan Stanbridge

David Rogers wrote:


The correct answer is (I believe) exactly as you proposed earlier. Talking 
about Lilypond's internal logic is IMHO counterproductive. In fact, internally, 
I suspect Lilypond should stay the same - it just needs to allow the user to 
use it effectively by making (or even just *allowing*) the logical separation 
between paper, headers, and music, which you already outlined.


It would be great if we could also leave the current mechanism in place 
if we do such a change. The system made sense to me from the beginning 
and I'd prefer to think in terms of scope (I have a strong programming 
background). I don't oppose a division on its merits, but it would be 
nice if the format would stay the same.


Cheers,

Bryan...


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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

On 2/7/07, David Rogers [EMAIL PROTECTED] wrote:

On Wed, 7 Feb 2007 16:45:26 -0600, Trevor Bača wrote:
 And now I see why Han-Wen keeps inviting a name change of the \paper
 and \layout buckets (while implicitly discouraging the moving around
 of settings between those two buckets): the buckets show the *scope*
 of the different settings, which isn't really an attribute that can be
 easily changed.

 OK. I get it. Now I see why the task is a renaming task rather than a
 moving-around task.

 Hm ... more thinking ...


The way this is typed in an input file has to make sense to the user. The user 
should not be required to think like a computer. It has taken you, an obvious 
expert, months and months to get his head around this. I never got it at all 
until you explained it.

The correct answer is (I believe) exactly as you proposed earlier. Talking 
about Lilypond's internal logic is IMHO counterproductive. In fact, internally, 
I suspect Lilypond should stay the same - it just needs to allow the user to 
use it effectively by making (or even just *allowing*) the logical separation 
between paper, headers, and music, which you already outlined.


Hi David, hi list,

I'm *definitely* in favor of clarifying the daylights out of what's
going on here with the different settings. They're *so* powerful but
very much in need of doc clarification.

However, I really do think we can have our cake (clear delineation of
functionality in a user-centric way that fits the problem domain of
engraving score) and eat it too (preserve the CSS-style overrides of
settings that Han-Wen has been explaining).

(BTW, the reason I've been cluttering up everyone's inbox here with so
much of this is that I've given myself the task of rewriting both the
vertical spacing docs in chapter 11 and also the proportional spacing
stuff, too. And, as it turns out, those things both hinge crucially on
two concepts -- the settings that started this thread, and also line-
and page-breaking. So this is all part of peeling back the onion to
hopefully get a good an even more accurate set of docs for vertical
and horizontal spacing.)

So how to have our cake and eat it too?

What if we start (and hear me out here because I know it sounds weird)
with abolishing the distinction between \paper and \layout altogether.
Just forget they ever existed. And let's instead create a generic
\settings block where we can make any of the 30 or 40 settings that
currently live today in either \paper or \layout. Oh, and we'll allow
ourselves to instantiate a \settings block at any of the three lexical
levels of scope allowed for in an .ly file -- at score-level, at
book-level, and at top-level:

%%% BEGIN GENERIC SETTINGS BLOCK %%%

\settings { } % these are top-level settings

\book {

  \settings {  } % these are book-level settings

  \score {
 \new Staff { c'4 }
 \settings { } % these are score-level settings
  }

}

%%% END %%%


Now with this structure it's at least 100% clear how the three
different possible \settings blocks all interact with each other:

1. lily first checks for a value at score-level; if found, use that
value, otherwise ...
2. check for the value at book-level; if found, use that value, otherwise ...
3. check for the value at top-level; if found, use that value,
otherwise use the system default value.

Pefectly clean, perfectly clear. And the term \settings doesn't
confuse anyone by making us wonder how it is that the different
settings can relate to each other. They're just settings. Big bags of
settings. Some deal with padding between systems, some deal with the
text used to render the composer's name.

But what about the (semantic) grouping that I started this thread
with? Doesn't it still make sense to group, for example, these ...

 ragged-bottom
 ragged-last-bottom
 system-count
 between-system-space
 between-system-padding
 horizontal-shift

... settings together somehow? I mean, these things actually do
pertain to each other at a logical level, right?

Yes, definitely. But maybe this logical, user-centric division can be
handled perfectly cleanly just in the docs? The docs for settings can
then look something like this (and this is obviously just a sketch,
some pseudocode for the actual docs that I'll clean up long before
sending to Graham):

LilyPond supports 47 different different page layout and setup
settings. These settings divide into 5 different functional areas.
These five functional areas are:

* page dimensions
* page margins
* headers and footers
* the layout of systems
* the location of line- and page-breaks

In addition, LilyPond input files support three different places where
these different settings can be made. These three levels where
settings can be made are:

* score level
* book level
* top level

Some settings can be made only at score level and book level. Other
settings can be made at all three levels. In the detailed descriptions
that follow, we note whether a setting can be set at 2 or 3 levels.

 

Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

On 2/7/07, Bryan Stanbridge [EMAIL PROTECTED] wrote:

David Rogers wrote:

 The correct answer is (I believe) exactly as you proposed earlier. Talking 
about Lilypond's internal logic is IMHO counterproductive. In fact, internally, I 
suspect Lilypond should stay the same - it just needs to allow the user to use it 
effectively by making (or even just *allowing*) the logical separation between 
paper, headers, and music, which you already outlined.

It would be great if we could also leave the current mechanism in place
if we do such a change. The system made sense to me from the beginning
and I'd prefer to think in terms of scope (I have a strong programming
background). I don't oppose a division on its merits, but it would be
nice if the format would stay the same.


Right. The scoping mechanism is actually fantastic. So what do you
think about the collapsing of \paper and \layout into \settings which
is then a *pure* representation of the scope at which the variable
sets?

[Side question: had you realized that there were actually *three*
levels of scope (at least in input files) rather than two? I certainly
didn't. But I never use \book explicitly ...]



--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Cameron Horsburgh

 [Sidenote: if this proposal to collapse \paper and \alyout does make
 sense, then we'll have to decide what to do with the fact that there's
 a second, equally important use for \layout blocks, which is the
 overriding of context attributes ... which is a wholly separate thing
 from making the different settings talked about in this thread, as
 described in 9.2.6. This sort of thing:
 
 \layout {
  ...
  \context {
\Staff
 
\set fontSize = #-2
\override Stem #'thickness = #4.0
\remove Time_signature_engraver
  }
 }
 

\layout has another function, although it may be a special case of one
of its other uses. If a \score block contains a \midi block the
\layout block is needed if PDF output is also desired.

-- 

=
Cameron Horsburgh

=



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


Re: Reorganizing the contents of the \paper block

2007-02-07 Thread Trevor Bača

On 2/7/07, Cameron Horsburgh [EMAIL PROTECTED] wrote:


 [Sidenote: if this proposal to collapse \paper and \alyout does make
 sense, then we'll have to decide what to do with the fact that there's
 a second, equally important use for \layout blocks, which is the
 overriding of context attributes ... which is a wholly separate thing
 from making the different settings talked about in this thread, as
 described in 9.2.6. This sort of thing:

 \layout {
  ...
  \context {
\Staff

\set fontSize = #-2
\override Stem #'thickness = #4.0
\remove Time_signature_engraver
  }
 }


\layout has another function, although it may be a special case of one
of its other uses. If a \score block contains a \midi block the
\layout block is needed if PDF output is also desired.


Ah right. I remember that coming up a while back.

OK, duly noted. If there's support for the layout + paper - settings
proposal, then we'll have to find a way to tell lily to produce a PDF
even when there's no \settings block. Sounds like a good candidate for
a commandline switch.



--
Trevor Bača
[EMAIL PROTECTED]
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel