Re: GDP: summary and directions, 11 Sep

2007-09-11 Thread Graham Percival

Trevor Bača wrote:

That then leaves the question of what to do with the other stuff. What
about this?

  * Spacing: recast as a separate manual called Page Layout
  * Input and output: move to Program Usage
  * Changing defaults: move to Program Reference
  * Interfaces for programmers: move to Program Reference


Nu-huh, Program Reference is "where angels fear to tread", remember.  :P


That would then leave the following separate books:


(5 books)
I think that's getting too fragmented.


...
My initial reaction was "no way; we want to make tweaking more friendly, 
not less".  But I had forgotten about the Learning Manual -- that 
clearly shows the beginning of tweaks, and (of course) more work is planned.


Hmmm...

*IF* it were easy to move Changing and Interfaces into the program 
reference, I could almost buy that.  That's a pretty big if, though.



If we renamed the Program Usage book, we _might_ be able to fit Spacing 
and Input in there.  I'm not wild about it, though.  But I definitely 
don't agree with making a separate book for Page Layout.



... ok, what about everybody else?  Think about it for a few minutes 
before responding: my initial reaction was "WTF is Trevor smoking", but 
I'm starting to think he wasn't crazy.


Please remember the following:
- HTML links between documents is cheap and easy.
- introductions belong in the Learning manual.  If you haven't skimmed 
through chapter 5, please do so.  I'm planning on a least doubling the 
material in the LM, so users will have a good idea of how things work by 
the time they finish it.  An extensive "how to read the other books" 
section will be included at the end of the LM.

- we officially have no sympathy for users who haven't read the LM.  :-)


For the record, I'm still opposed to this idea, but it's now a "weak 
reject".  I could be convinced otherwise.


Cheers,
- Graham


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


Re: GDP: summary and directions, 11 Sep

2007-09-11 Thread Trevor Bača
On 9/11/07, Graham Percival <[EMAIL PROTECTED]> wrote:
> If you're somewhat interested in GDP, but don't want to follow the
> 50-email monster threads, simply read any email by me that starts a subject.
>
> Not because I think my opinion is the only one that matters :).  Just
> because I'll sum up the important points, and attempt to direct future
> discussions, in emails like this.
>
>
> ALMOST-CERTAIN  (barring massive opposition, this will happen)
> ** split the Learning Manual (chapters 2-5) into a separate manual, just
> like Program Usage.

Strongly agree.


> cons: no shared index with Notation Reference.  Benefits: no shared
> index with Notation Reference.  :)besides, chapters 2-5 have hardly
> any index entries, anyway.
>
> I don't know what to do about chapter 1 (general intro, background).
> The "about this manual" will obviously stay in some form or other.  Omit
> that section from the discussion for now.  Opinions about the rest of
> chapter 1 are desired, though.
>
>
> ** combine multiple subsections into single subsections.  Something like
> an average of 3 subsections -> 1.

Strongly agree.


> Assuming there isn't significant opposition in the next 18 hours, I'll
> take a stab at creating the new merged subsections.
>
>
> ** Abandon basic/advanced/instrument/decorating/cakes division of
> notation reference.  See below as to how we do this, though.

Strongly agree. More comments below.



> NEEDS DISCUSSION
> ** should the "combined index" include entires in the "command index" ?
>   We could easily separate the "concept" index from the "combined
> index".  Would that help or hurt?

I vote for a single index.



> ( assuming that we added many more index entries; don't bother
> commenting that we don't have enough right now )
>
>
> ** combined subsections: print names of old subsections in the manual?
> For example, suppose we make a "printing repeats" section that includes
> Repeat types, Repeat syntax, Repeats and MIDI, and Manual repeat
> commands.  Do you want to only see "Printing repeats" in the table of
> contents, or do you want to see
> x.y  Printing repeats
> Repeat types
> Repeat syntax
> ...
> (without any x.y.z numbers)

I vote for the more verbose form of the TOC.



> ** Abandon decorating/cakes method of dividing the notation reference.
>
> There's sufficient support for this, but I have some remaining concerns:
> Pitch and Rhythm are more connected than Pitch and Spacing or Pitch and
> Changing defaults.
>
> Now, we could indicate this purely by the proximity of chapters -- Pitch
> is chapter 1, Spacing is chapter 27.
>
> Or, we could have a single chapter for all Notation.
> 1.  Notation
> 1.1 Pitches
> 1.2 Rhythms
> ...
> 2.  Text   (arguably as 1.25 inside Notation)
> 3.  Input and output
> 4.  Spacing
> 5.  Changing defaults
> 6.  Interfaces for programmers
>
> (exact order of the chapters to be determined)
>
> I'd rather have this kind of setup.  Yes, chapter 1 will have 25
> sections (or whatever), but IMO something like "Repeats" just shouldn't
> be at the same level as Changing defaults.

Oooh. You know what's emerging as a really nice pattern? The 24 (or
so) sections in "Notation" taken together with Text looks like it
might make an almost perfect Notation Reference. So would it be
insanely crazy to bind (metaphorically speaking) those 25 chapters
together into a single manual, cut everything else out, and call that
our Notation Reference? It sounds like it would be really beautiful.

So:

> Notation Reference
> 1 Pitches
> 2 Rhythms
> 
> 25 Text

That'd be very very cool imo.

That then leaves the question of what to do with the other stuff. What
about this?

  * Spacing: recast as a separate manual called Page Layout
  * Input and output: move to Program Usage
  * Changing defaults: move to Program Reference
  * Interfaces for programmers: move to Program Reference


That would then leave the following separate books:

  * Learning Manual (4 or 5 chapters)
  * Notation Reference (25 chapters)
  * Page Layout (handful of chapters)
  * Program Usage (6 chapters)
  * Program Reference (15 chapters)


Probably the radical idea here is elevating spacing to stauts of its
own manual. But I think it makes sense -- seems to me that I'm either
hunting notation-related grob settings xor figuring out how to move
staves and systems apart, but not both at the same time.

The coolest thing here is the possibility of a solid, 25-chapter NR.
That's slick.



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


Re: regression tests

2007-09-11 Thread Kieren MacMillan

Hi all,

Han-Wen Nienhuys wrote:


listing default values is easy

This is actually pretty hard.


Okay... EOT for me.
If -- as Mats suggested -- we might (easily) print out the settable  
*properties* (without values) on a single page, that would be fantastic.


Cheers,
Kieren.


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


GDP: summary and directions, 11 Sep

2007-09-11 Thread Graham Percival
If you're somewhat interested in GDP, but don't want to follow the 
50-email monster threads, simply read any email by me that starts a subject.


Not because I think my opinion is the only one that matters :).  Just 
because I'll sum up the important points, and attempt to direct future 
discussions, in emails like this.



ALMOST-CERTAIN  (barring massive opposition, this will happen)
** split the Learning Manual (chapters 2-5) into a separate manual, just 
like Program Usage.


cons: no shared index with Notation Reference.  Benefits: no shared 
index with Notation Reference.  :)besides, chapters 2-5 have hardly 
any index entries, anyway.


I don't know what to do about chapter 1 (general intro, background). 
The "about this manual" will obviously stay in some form or other.  Omit 
that section from the discussion for now.  Opinions about the rest of 
chapter 1 are desired, though.



** combine multiple subsections into single subsections.  Something like 
an average of 3 subsections -> 1.


Assuming there isn't significant opposition in the next 18 hours, I'll 
take a stab at creating the new merged subsections.



** Abandon basic/advanced/instrument/decorating/cakes division of 
notation reference.  See below as to how we do this, though.




NEEDS DISCUSSION
** should the "combined index" include entires in the "command index" ? 
 We could easily separate the "concept" index from the "combined 
index".  Would that help or hurt?


( assuming that we added many more index entries; don't bother 
commenting that we don't have enough right now )



** combined subsections: print names of old subsections in the manual?
For example, suppose we make a "printing repeats" section that includes 
Repeat types, Repeat syntax, Repeats and MIDI, and Manual repeat 
commands.  Do you want to only see "Printing repeats" in the table of 
contents, or do you want to see

x.y  Printing repeats
Repeat types
Repeat syntax
...
(without any x.y.z numbers)


** Abandon decorating/cakes method of dividing the notation reference.

There's sufficient support for this, but I have some remaining concerns: 
Pitch and Rhythm are more connected than Pitch and Spacing or Pitch and 
Changing defaults.


Now, we could indicate this purely by the proximity of chapters -- Pitch 
is chapter 1, Spacing is chapter 27.


Or, we could have a single chapter for all Notation.
1.  Notation
1.1 Pitches
1.2 Rhythms
...
2.  Text   (arguably as 1.25 inside Notation)
3.  Input and output
4.  Spacing
5.  Changing defaults
6.  Interfaces for programmers

(exact order of the chapters to be determined)

I'd rather have this kind of setup.  Yes, chapter 1 will have 25 
sections (or whatever), but IMO something like "Repeats" just shouldn't 
be at the same level as Changing defaults.



Cheers,
- Graham


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


Re: regression tests

2007-09-11 Thread Han-Wen Nienhuys
2007/9/11, Rune Zedeler <[EMAIL PROTECTED]>:
> > Possibly... but an *automated* page -- containing a listing exactly as
> > Trevor outlined BUT WITH ONLY THE DEFAULT SETTING/VALUE  -- would keep up
> > *precisely* with development, since it would be scripted into the main
> > compilation process.
>
> Yep listing default values is easy - I agree - this was not what I was

This is actually pretty hard. Lots of defaults are supplied as arguments in

  robust_scm2xxx(grob->get_property("yyy"), DEFAULT)

and there is no mechanism that enforces a uniform default across the
c++ code base.



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


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


Re: GDP: length/page-splitting of subsections

2007-09-11 Thread John Mandereau
Le mardi 11 septembre 2007 à 23:15 +0200, Han-Wen Nienhuys a écrit :
> 2007/9/10, Graham Percival <[EMAIL PROTECTED]>:
> > Let me phrase this question differently:
> > - if you currently use the all-in-one HTML page, how could we organize
> > the non-all-in-one docs such that you use them?
> 
> I haven't followed the discussion in detail, but isn't this something
> that should be handled by makeinfo? It has a --split-size argument,
> but that only works for info and plain text. If we could set size
> limits to html files too, wouldn't that solve the problem?

Of course!  HTML files splitting is determined by @node commands, just
like nodes splitting, so it's just a matter of adding/removing @nodes
associated with (sub)*sections.

Cheers,
John



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


Re: GDP: length/page-splitting of subsections

2007-09-11 Thread Han-Wen Nienhuys
2007/9/10, Graham Percival <[EMAIL PROTECTED]>:
> > At the very least, there are more (and more complex) things you can do
> > with dynamics (in Lilypond), and so that section alone would be long
> > enough to deserve its own HTML page.
>
> I'd certainly say so... but there's a large element of "the customer is
> always right" here.
>
> The all-in-one HTML page is **5 megs**.  I'm astounded that so many
> people (ie more than 0) are choosing to download that monster _every
> time_ they want to look something up in the docs.  That's a terrible
> waste of bandwidth, especially if you consider that the answer they're
> looking for is probably 1k of text and 100k of example picture.  To me,
> that sounds like a terrible indictment of how badly organized the docs are.
>
>
> Let me phrase this question differently:
> - if you currently use the all-in-one HTML page, how could we organize
> the non-all-in-one docs such that you use them?

I haven't followed the discussion in detail, but isn't this something
that should be handled by makeinfo? It has a --split-size argument,
but that only works for info and plain text. If we could set size
limits to html files too, wouldn't that solve the problem?

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


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


Re: regression tests, not GDP

2007-09-11 Thread Graham Percival

John Mandereau wrote:

Le mardi 11 septembre 2007 à 13:15 -0700, Graham Percival a écrit :
  Please make a 
webpage that links to the regression checks and the comparisons.  Link 
to it from... well, wherever you want.  Probably either devel/ or 
devel/participating.


devel/participating/ looks like the right place.  We should also move
there comparison links from documentation.


Great!

Advanced users will be able to find it, the programmers and bug people 
will have it bookmarked, and new users looking at the main doc page 
won't get confused.  Everybody wins.


Besides this, even if we removed the regtests link from the doc index,


... they were removed a month or two ago, you know :P ...


the regtests are still present in the docball, so I second Jan's
suggestion about creating a new page devel.html.in for developer
resources, with a link from index.html.in.


Sure, no complaints.  Go ahead, whenever is convenient for you.


I should also add that the website is outside the scope of GDP.  I fully 
support the idea of a WIP (website improvement project), although to 
avoid having -user and -devel flagged as spammers, I respectfully 
suggest that WIP waits until GDP is done.  :)


Hmm... 6 months, GDP.  3 months, WIP.  Then maybe a Program Reference 
Augmenting trY Extending Readability ?  ;)


Cheers,
- Graham



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


Re: regression tests, not GDP

2007-09-11 Thread John Mandereau
Le mardi 11 septembre 2007 à 13:15 -0700, Graham Percival a écrit :
> As Trevor said, I'm trying to keep discussions about GDP focused.  So 
> I'd like to close off a few branches of discussion:
> 
> 1)  Who has a copy of web/master in git laying around?

As a translator, I always do.

>   Please make a 
> webpage that links to the regression checks and the comparisons.  Link 
> to it from... well, wherever you want.  Probably either devel/ or 
> devel/participating.

devel/participating/ looks like the right place.  We should also move
there comparison links from documentation.


> Advanced users will be able to find it, the programmers and bug people 
> will have it bookmarked, and new users looking at the main doc page 
> won't get confused.  Everybody wins.

Besides this, even if we removed the regtests link from the doc index,
the regtests are still present in the docball, so I second Jan's
suggestion about creating a new page devel.html.in for developer
resources, with a link from index.html.in.

Graham, if you agree with these suggestions, I'll go ahead, not before
Friday though.



> If you _personally_ know how to modify the program reference (it's 
> constructed via scheme and/or python and/or C++ and/or prayers and/or 
> angel dust), and are willing to spend the time to make such changes, 
> please speak up.  Otherwise, be aware that your discussions about the 
> Program Reference will be as fruitful as planning a manned mission to
> Mars.

Good idea, I plan to go to Mars (i.e. learning Scheme) asap, maybe next
Summer :-P

Cheers,
John



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


Re: GDP: flattening the manual to two layers?

2007-09-11 Thread Graham Percival

Valentin Villenave wrote:

I suggested avoiding subsubsections such as in current Vocal music.
Graham is reluctant to make more chapters (still can't forget about
his "four letters" answer in a private mail :)


Ok, come on, it was hilarious!  But we really need to explain this.

John and Valentin were dithering about Vocal music: "should we leave it 
in instrument-specific, or make it a new chapter... but it's too short 
to be a chapter by itself... what to do, what to do...?"


My response:

"hmm, yeah... vocal music is tricky.  If only we had a dedicated chapter 
for putting words on the page... especially if we had a new, dedicated 
chapter, that was much shorter than the other chapters... we could give 
that chapter a nice short name, like "word", or maybe something else 
with four letters..."



Poor Valentin thought I was swearing at him*.  I, of course, was 
referring to the new chapter "Text".



* in English, most swearwords have four letters; the phrase "four-letter 
words" generally** refers to swearwords.
** one of my conductors make jokes about this: "no, no!  You're playing 
loud, and `loud' is a four-letter word.  Think `heroic' or `strong' 
instead!  No four-letter words in this orchestra!"


Cheers,
- Graham


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


GDP: in a perfect world, nothing but RTFM

2007-09-11 Thread Graham Percival
I should clarify one point: in only the past three years, I've seen a 
lot of lilypond's documentation become out of date.  That makes me look 
for long-term solutions for the docs.  I really think of this like 
software engineering: planning and designing a computer program may seem 
like a waste to beginning programmers, but experienced programmers know 
that it really is worth it to spend more than 50% of your time on 
design, instead of programming.


* actual percentage completely made up.  Don't quote some software 
engineering textbook at me.  :P



In a perfect world, the only discussions on -user would be this:
1)  Q: how do I foo?
2)  ???
3)  A: RTFM section x.y.z.
4)  Profit.


(Obviously step 3 would be phased nicer than RTFM.)

The missing step 2 is that we work on the docs.  This isn't quite 
practical -- we only upload the docs every one or two weeks, and we have 
a limited amount of time/effort/interest in maintaining the docs.


But I honestly think that if everybody stopped answering questions on 
-user, after a year we would have *amazing* documentation.  The first 
few months would suck, of course.



LSR makes this ideal much more practical.  Anybody can upload an 
example, and answer a question on -user with a link to that example. 
The doc team can then mark certain examples to be included in our 
"Snippets" section, and every so often we can move really great snippets 
into the actual manual.


At the moment, there might be some useful snippets in the regtests that 
aren't in LSR.  As I've said before, that's considered a bug.  I 
honestly think that there are fewer than half a dozen such snippets -- 
I've looked through the regtests for good snippets, and Valentin has 
done the same.  If you find any, please add them to LSR.
(NB: regtests which can't be shown in LSR because they use new features 
are in input/new/.  This should be resolved soon)



That's why I'm so adamant that the regtests should not be on the main 
doc page.  Short-term pain (for a small number of advanced users, who 
should know bloody well how to add stuff to LSR, anyway) for long-term 
gain (having a single place to look for short examples).


Cheers,
- Graham


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


Re: regression tests

2007-09-11 Thread Trevor Bača
On 9/11/07, Mats Bengtsson <[EMAIL PROTECTED]> wrote:
> Trevor Bača wrote:
>
> >
> >Criterion 1: There's a *complete* enumeration of acceptable values for
> >each property, and
> >
> >Criterion 2: There's a working, one-line example of each value for
> >each property of each grob
> >
> >
> >
> I guess you haven't studied combinatorics. If so, you would
> quickly realize that the resulting number of examples would
> be so huge that it's is completely impossible,
> especially if you want to cover all cases where different
> settings interact with eachother. Also, as has already been
> pointed out, many properties can take an arbitrary Scheme
> function as the value.


You misunderstand. 5 or 6 interfaces on average per grob on average,
times between 2 and 8 user-settable properties per interface
(excepting the grob interface, which 21) times between, say, 2 to 4
acceptable values per property gives around 6 * 8 * 4 or approximately
200 total settings per grob (leaving out the base settings in
grob-interface).

200 is hardly a combinatorial quagmire.

200 is actually quite a nice number for some snarfing function to
aggregate and put in a nice table, one per grob, with an example of
the correct setting syntax for each, cut-and-pasteable.

Anyway, the point that both you and Carl have made about some
properties taking arbitrary Scheme functions is a much more
interesting one. Are we talking about, for example, Stem #'direction?
By default Stem #'direction = #ly:stem::calc-direction ... which is a
very, very cool function that incorporates the correct musical
knowledge about whether a stem should point up or down ... far more
sophisticated than #up and #down (which are also permitted as
acceptable values, of course). So, an observation: quite frequently
very powerful things happen *when you assign a Scheme function* to
some user-settable property (like assigning ly:stem::calc-direction to
Stem #'direction). BUT my intuition -- and maybe this is wrong --  is
that there are other really cool functions like
ly:stem::calc-direction hiding out there that would be available to us
as users ... if only they were documented in the grob reference. Is
this intuition right? Are there cool Scheme functions hiding out there
that aren't documented in the grob reference?

If that is in fact the case, then it's exactly the wrong instinct to
think "hm, well these properties can take arbitrary Scheme functions,
so let's avoid documenting"; quite the opposite. Those are precisely
the cases where documentation will help the most -- it's not hard to
take a guess and assign #up or #down to any ole grob property ... but
you *need* docs to help you come up with an incantation like
#ly:stem::calc-direction.



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


regression tests, not GDP

2007-09-11 Thread Graham Percival
As Trevor said, I'm trying to keep discussions about GDP focused.  So 
I'd like to close off a few branches of discussion:


1)  Who has a copy of web/master in git laying around?  Please make a 
webpage that links to the regression checks and the comparisons.  Link 
to it from... well, wherever you want.  Probably either devel/ or 
devel/participating.


Advanced users will be able to find it, the programmers and bug people 
will have it bookmarked, and new users looking at the main doc page 
won't get confused.  Everybody wins.



2)  the Program Reference is *entirely* outside the scope of GDP.  You 
know the phrase "... where angels fear to tread"?  That's how I feel 
about those docs.


Can we think of a billion ways to improve them?  Yes.  Do I have a clue 
how to implement any of them?  No (other than really simple things).  Is 
it helpful to list pie-in-the-sky features that likely will never be 
implemented?  ... I'd say generally no, but hey, if you enjoy doing 
that, I won't stop you.


If you _personally_ know how to modify the program reference (it's 
constructed via scheme and/or python and/or C++ and/or prayers and/or 
angel dust), and are willing to spend the time to make such changes, 
please speak up.  Otherwise, be aware that your discussions about the 
Program Reference will be as fruitful as planning a manned mission to Mars.



Again, I'm sorry to be a wet blanket.  I'm just doing this to save 
everybody's time and effort, since I honestly don't think this 
discussion will amount to anything.

- Graham


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


Re: regression tests

2007-09-11 Thread Kieren MacMillan

Hi Mats,


This discussion is getting more and more confused.


Sorry... that comes from
(a) not really knowing the internal workings of Lilypond as well  
as I probably should; and,
(b) putting my 2 cents in while simultaneously doing 42 other  
things...

=\


- The list for each grob only includes the properties that
 are set by default. To see an exhaustive list of all available
 properties, you have to browse through all "interfaces".
 This is of course easy to change in the Program reference
 and we used to have the full list a long time ago, but I'm
 not sure if it's desirable. Perhaps the current HTML page
 per grob could include a link to another page that contains
 the full list of properties.


IMO, that would be the perfect solution!

Thanks for the clarification and suggestion.
Kieren.


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


RE: regression tests

2007-09-11 Thread Carl D. Sorensen
 

> -Original Message-
> From: Kieren MacMillan [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, September 11, 2007 11:16 AM
> To: Carl D. Sorensen
> Cc: Graham Percival; lily-devel
> Subject: Re: regression tests
> 
> Hi Carl,
> 
> > If I understand correctly, the program reference already 
> contains the 
> > complete list of user-settable properties for each grob.
> 
> Not in a single page.

This could conceivably be done, because each grob has its full interface
defined (see grob-interfaces.scm), and it would be possible to collect
the descriptions for each of the properties in the interface under the
heading of a grob.  I think it could be done in Scheme, just like the
program reference already is created.

> 
> > you can't say that the default value of property "foo" is "bar".   
> > It might
> > be "bar" when applied to the "grackle" grob, and "baz" when 
> applied to 
> > the "frobozz" grob.
> 
> But that's precisely my point!  =\
> 
> Q.  What is the default X-offset value of a LyricText grob?
> A.  Not easy to find!  ;-)
> 
> Because there is no (easy) way of finding these values, it 
> requires more trial-and-error on the part of the user.
> 
> > Thus, there is only one internal documentation point for 
> "size", not 
> > one point for each grob that uses size.
> 
> Yes, but these values are (i.e., must be) set for each grob
> *somewhere* (in .ly or .scm or .cc files), right?
> And if they're intentionally left "unset", what does that 
> really mean? That (e.g.) an Accidental doesn't have a 
> minimum-X-extent?

The values are not ever really set.  The way the default values get
assigned is when routine needs a value of a property it calls
chain-assoc-get with the name of the property and a default value.  If
the property is not found, the default is assigned.  Speaking for the
example that I know best, which is fret-diagrams, the various properties
of the fret-diagram are called from at least six different Scheme
functions (e.g. draw-dots, draw-strings, draw-frets, etc.).  Although it
would be relatively easy to search through the .scm files looking for
calls to chain-assoc-get with the property size, it would be quite
difficult to determine which grob each call references.  That is, there
is a call from fret-diagrams.scm for the fret-diagram size, but there
are also calls from other .scm functions to set the sizes of other
grobs.  As the code is currently constructed, there's only a property
name, not a grob name associated with the call.

It's very difficult to say that something is impossible.  After all,
lots of the Lilypond team members have accomplished things that I would
have said were impossible.  But from what I know of the code, I don't
think the infrastructure exists to make the page you want automatically.

However, I think that the page you request is a _very_ desirable page to
have.  And I could conceive of changing the chain-assoc-get calls to
include both a grob and a property, expressly for the purpose of
allowing generation of such a page.  There would still be some issues.
For example, in fret-diagrams, there are two different default dot
sizes.  If the finger labels are on the strings or are non-existent, the
default size is small.  OTOH, if the labels are on the dots, the default
size is larger.  And one can only see the difference by reviewing the
structure of the code that contains the chain-assoc-get call, not by
examining the call itself.  So I think it's pretty close to impossible
generate the list of default values.

I don't want to dismiss your idea.  I'd like to see such a thing happen.
I think it would even be OK to list two default values for dot-size in
fret-diagrams.  At least then I'd only have two choices to choose from,
rather than an infinite set

> 
> If feasible (i.e., scriptable, so it's automatically done at 
> make- docs time), we should offer users a single page (for 
> each grob) which includes ALL settable properties and their 
> default values (for that grob).

For me, right now, with the current lilypond architecture, I think the
page is infeasible.  With a change in the chain-assoc-get interface to
include a dummy argument that's just used for creating the
documentation, I think it could be feasible.

Carl



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


Re: regression tests

2007-09-11 Thread Mats Bengtsson

Kieren MacMillan wrote:


Hi Rune,

I don't understand what you mean - we already list the default  
values today:
http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/ 
Clef



Okay then... without looking anywhere except that page, tell me the  
default setting(s) for Clef #'space-alist.


Copy and paste from that page gives

\override Clef #'space-alist = #'((ambitus extra-space . 2.0) (staff-bar 
extra-space . 0.7) (key-cancellation minimum-space . 3.5) (key-signature 
minimum-space . 3.5) (time-signature minimum-space . 4.2) (first-note 
minimum-fixed-space . 5.0) (next-note extra-space . 0.5) (right-edge 
extra-space . 0.5))


What's the problem? In this specific case, there is no easier
representation of that default setting that you can use.

Perhaps, what you have in mind is the very nice trick you showed in
http://lists.gnu.org/archive/html/lilypond-user/2007-07/msg00688.html
which shows how to add a setting to this list. However, this has
nothing to do with how the default value is displayed. Rather, it's
you who very cleverly "misused" how nested properties are
represented internally in LilyPond.


   /Mats



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


Re: regression tests

2007-09-11 Thread Mats Bengtsson

This discussion is getting more and more confused.
The current program reference does indeed list the
default values of all properties that are set by default,
for every separate grob.

As far as I can see, the bottom line is the following issues:
- These default values are printed as basic Scheme values,
 i.e. not using shorthands like #UP, #DOWN, ...

- The list for each grob only includes the properties that
 are set by default. To see an exhaustive list of all available
 properties, you have to browse through all "interfaces".
 This is of course easy to change in the Program reference
 and we used to have the full list a long time ago, but I'm
 not sure if it's desirable. Perhaps the current HTML page
 per grob could include a link to another page that contains
 the full list of properties.

  /Mats

Carl D. Sorensen wrote:




 


-Original Message-
From: Kieren MacMillan [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 11, 2007 8:02 AM

To: Graham Percival
Cc: lily-devel
Subject: Re: regression tests


Is there any (automatic) way to generate a COMPLETE list of 
user- settable properties (and their defaults) for each grob?
I mean, having TeXInfo actually drill down into all of the 
interfaces, etc.?
   



If I understand correctly, the program reference already contains the
complete list of user-settable properties for each grob.

Under the current architecture, defaults will be difficult, if not
impossible, because of the way properties are handled.  Default property
values are not passed to the routines; the absence of a property
indicates that the routine should use the default value.  Also,
properties don't have a certain system-wide default value.  Thus, you
can't say that the default value of property "foo" is "bar".  It might
be "bar" when applied to the "grackle" grob, and "baz" when applied to
the "frobozz" grob.

The automatic documentation of properties is developed from a
grob-independent list.  Thus, there is only one internal documentation
point for "size", not one point for each grob that uses size.

Carl Sorensen


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




--
=
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44  STOCKHOLM
Sweden
Phone: (+46) 8 790 8463 
   Fax:   (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=



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


Re: regression test

2007-09-11 Thread Rune Zedeler

Kieren MacMillan skrev:
Oops... In that last email, I meant #'staff-position (from 
staff-symbol-referencer-interface).  =\


Clefs don't have a default staff-position - staff-position depends on 
which clef you select.


For G clef it is -2, for C clef it is 0, etc. I do not really see how we 
should reflect that in the docs.


-Rune



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


Re: regression tests

2007-09-11 Thread Mats Bengtsson

Trevor Bača wrote:



Criterion 1: There's a *complete* enumeration of acceptable values for
each property, and

Criterion 2: There's a working, one-line example of each value for
each property of each grob

 


I guess you haven't studied combinatorics. If so, you would
quickly realize that the resulting number of examples would
be so huge that it's is completely impossible,
especially if you want to cover all cases where different
settings interact with eachother. Also, as has already been
pointed out, many properties can take an arbitrary Scheme
function as the value.

  /Mats


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


Re: regression tests

2007-09-11 Thread Kieren MacMillan

Hi Rune,

I don't understand what you mean - we already list the default  
values today:
http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/ 
Clef


Okay then... without looking anywhere except that page, tell me the  
default setting(s) for Clef #'space-alist.


we have to do "something" with the scheme representation in order  
to make it more feasible for the docs.


Probably.

Cheers,
Kieren.


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


Re: regression tests

2007-09-11 Thread Rune Zedeler

Kieren MacMillan skrev:


development of lilypond will run faster than any effort to try
and keep up with such extended documentation of properties.


Possibly... but an *automated* page -- containing a listing exactly as 
Trevor outlined BUT WITH ONLY THE DEFAULT SETTING/VALUE  -- would keep up
*precisely* with development, since it would be scripted into the main 
compilation process.


Yep listing default values is easy - I agree - this was not what I was 
commenting. I was commenting the possibility of listing all POSSIBLE values.
I don't understand what you mean - we already list the default values 
today: 
http://lilypond.org/doc/v2.11/Documentation/user/lilypond-internals/Clef


Though, default values are expanded before they are listed.
If some property is set to ,begin-of-line-invisible it will show in the 
docs as #(#t #f #f) - not as ,begin-of-line-invisible - which makes the 
whole thing fairly unusable. So we have to do "something" with the 
scheme representation in order to make it more feasible for the docs.


-Rune


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


Re: regression tests

2007-09-11 Thread Jan Nieuwenhuizen
Graham Percival writes:

> And only about 10% regtests are useful *as documentation*.  60 easily
> fits inside 220.  If we missed a few, we can add them.
> Most of the regtests are easily covered by the manual.

Okay, maybe I underestimated the manual.  I took a look at some
interesting ones (feature-wise) and they were all covered in the
manual.

> What's the documentation value of tie-grace.ly ?  It works exactly
> like you'd expect it to work.

This tells you two things: 1) lilypond has this feature, so *that* you
can expect this feature to work.  There are still quite a number of
music notation constructs that just are not implemented yet.  2) the
version of lilypond that this regtest refers to, is not broken.

I agree that from a documentation pov, the two points above are rather
weak, but they are still needed or at leaste valuable for a potential
bug report/feature request.  Consider for example beam-damp.ly.  This
is something that you do not want to have in the documentation, but
you do want a power user to know about this.  Especially if it breaks
in a development version.

> Power-users know how to read the program reference.  They can see the
> features there.
>
> Look, the regression tests are not _intended_ as documentation, and
> they _should not_ be intended as documentation.  They are regression
> tests!

Ok, these are very good points.  I also agree that the new
documentation page is better for new users.  The regression test is
ugly, but that should be fixed, because it's important for developers.
And I would rather have lilypond developer friendly too.  How about if
I add a small link somewhere at the bottom that says `developers/power
user info' to a new page that lists the regession tests and the
comparisons (and ...?)?

> I wish that more users searched the mailist archives, but they
> don't. Useful tips sent to the mailist are essentially lost knowledge;
> that's why I've really been pushing LSR.

Yes.

> Advertising goes in the Examples or in the new "inspirational
> headword" examples that are planned in GDP.

Ok.

> Users report bugs without reading the *manual*.  They're not going to
> check the regtests.

Yes, you're probably right.  Thanks for the explanation!

Greetings,
Jan.

-- 
Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org


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


Re: regression tests

2007-09-11 Thread Kieren MacMillan

Hi Carl,


If I understand correctly, the program reference already contains
the complete list of user-settable properties for each grob.


Not in a single page.

you can't say that the default value of property "foo" is "bar".   
It might

be "bar" when applied to the "grackle" grob, and "baz" when applied to
the "frobozz" grob.


But that's precisely my point!  =\

Q.  What is the default X-offset value of a LyricText grob?
A.  Not easy to find!  ;-)

Because there is no (easy) way of finding these values, it requires  
more trial-and-error on the part of the user.



Thus, there is only one internal documentation
point for "size", not one point for each grob that uses size.


Yes, but these values are (i.e., must be) set for each grob  
*somewhere* (in .ly or .scm or .cc files), right?
And if they're intentionally left "unset", what does that really  
mean? That (e.g.) an Accidental doesn't have a minimum-X-extent?


If feasible (i.e., scriptable, so it's automatically done at make- 
docs time), we should offer users a single page (for each grob) which  
includes ALL settable properties and their default values (for that  
grob).


Now, if it's not technically feasible, I'm happy to end this thread...
I've just never been told that it's not feasible.  =)

Cheers,
Kieren.


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


Re: regression tests

2007-09-11 Thread Kieren MacMillan

Hi Rune,


development of lilypond will run faster than any effort to try
and keep up with such extended documentation of properties.


Possibly... but an *automated* page -- containing a listing exactly  
as Trevor outlined BUT WITH ONLY THE DEFAULT SETTING/VALUE -- would  
keep up *precisely* with development, since it would be scripted into  
the main compilation process.


Regards,
Kieren.


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


Re: regression tests

2007-09-11 Thread Rune Zedeler

Trevor Bac(a skrev:


Criterion 1: There's a *complete* enumeration of acceptable values for
each property, and


This will be very difficult make.
And lots of properties takes infinitely many different arguments.
For instance 'stencil can take any scheme function.

I seriously think that development of lilypond will run faster than any 
effort to try and keep up with such extended documentation of properties.


-Rune


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


Re: regression tests

2007-09-11 Thread Trevor Bača
On 9/11/07, Valentin Villenave <[EMAIL PROTECTED]> wrote:
> 2007/9/11, Reinhold Kainhofer <[EMAIL PROTECTED]>:
>
> > The program reference is (by definition) so closely tied to the internals of
> > lilypond that you'll need a lot of experience with lilypond (to know about
> > grobs, interfaces, events, etc.), that it's quite hard to turn things into
> > real code. I mostly use trial-and-error then until I get the correct 
> > position
> > to set one flag or so.
> > With the regression test snippets you already have the correct code and can
> > copy it.
>
> Don't blame me for quoting myself, but I just wanted to mention a line
> from my previous mail (which has been lost in this thread), and Jan's
> answer:
>
> > > > How about, for example, http://lilypond.org/web/devel/
> > >
> > > That page could serve as a frontend to different versions, just like
> > >
> > > http://lilypond.org/web/documentation
>
> I do think, like Graham, that regtests do not belong in Documentation.
> You want to cope with "actual code": I understand that, and nodoby
> will prevent you from accessing the regtests.
>
> However, they are *not* Documentation. They do not contain verbose
> explanations, they're not redacted, nor corrected, nor formatted, nor
> organized, by any Documentation guy (excepted when the Documentation
> guy happens to be the bug-tracking guy too :)
>
> The Reference is *pure* Documentation stuff, as it's intended for
> people who'd wish to fully understand the complete LilyPond process.
> When you want an easy, quick solution, without necessarily
> understanding how, why, when, where etc. it works; here's the LSR.
>
> What you're looking for isn't in the LSR? Don't think "oh crap, the
> LSR isn't any good, I'll never come back again"; just browse every
> other non-Documentation sources (archives, regtests etc), and add it
> to the LSR, so the next guy can be given a quick solution.
>
> That's why I fully agree with Graham having reduced the amount of
> links on the http://lilypond.org/doc/v2.11/Documentation/ page
> (actually I suggested the current layout).
>
> I do think there *has* to be a link to the regtests, but as said
> before we need to find another place. It can be on web/devel, it can
> be elsewhere. I just wanted to point out that it would make this
> precise page more complete than it is now.
>
> > > I wish that more users searched the mailist archives, but they don't.
> > > Useful tips sent to the mailist are essentially lost knowledge;
> > > that's why I've really been pushing LSR.
>
> Excellent point. Avoiding lost knowledge; that's what we try to do.
>
> > A while ago, while I was working on some choir pieces, I collected some 
> > links
> > and snippets that I frequently need. Most are from LSR, but e.g. the
> > following don't seem to have made it to the LSR:
>
> ...Then how comes you haven't added these yourself yet? This is
> precisely what Graham wants to avoid in the future, by removing the
> link of the main Documentation page.
>
> OK, I've added the last three of your four snippets.
> I let you add the first one, about dotted rests not fully merging;
> IMHO it could be reported on Google tracker too, as I think the dots
> should be merged in such a case...


Hi everybody,

Can I step in here for a moment, too? The tension about the regtests
seems to come from these two things, both of which are equally true:


  1. the regtests are ugly (and redacted, corrected, formatted ...
exactly as Valentin points out),

  2. BUT the regtests give examples of *settings* that are not
(currently) available elsewhere.


So you put these two observations together and you get exactly the
tension you'd expect: the professional documenters and translators
among us recoil at the fact that the regtests don't make
professional-looking docs, while others among us mourn the loss of
honest-to-goodness working examples of a large number of *settings*.

So what to do?

First, drop this particular thread during the GDP ;-) Scoping doc work
is battling a hydra, and Graham's doing an admirable job of making
sure that GDP has an actual chance of finishing.

That said, when it comes time to scope such a project (next year or
later), what I think is *really* needed -- and which addresses both #1
and #2 above -- is precisely what Kieren's pointing to: a greatly
fleshed-out version of the programming reference. How fleshed-out? I
think we can specify exactly, based on the following two criteria (and
I'm thinking of the grob listing here when I write this, not
necessarily the other parts of the program reference):

Criterion 1: There's a *complete* enumeration of acceptable values for
each property, and

Criterion 2: There's a working, one-line example of each value for
each property of each grob

At the very very least you'd think that the grob listing would already
have criterion #1, and, in fact, we see people on the list asking for
just such lists of values on a fairly regular basis.

As an example, this would cha

RE: regression tests

2007-09-11 Thread Carl D. Sorensen
 

> -Original Message-
> From: Kieren MacMillan [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, September 11, 2007 8:02 AM
> To: Graham Percival
> Cc: lily-devel
> Subject: Re: regression tests
> 
> 
> Is there any (automatic) way to generate a COMPLETE list of 
> user- settable properties (and their defaults) for each grob?
> I mean, having TeXInfo actually drill down into all of the 
> interfaces, etc.?

If I understand correctly, the program reference already contains the
complete list of user-settable properties for each grob.

Under the current architecture, defaults will be difficult, if not
impossible, because of the way properties are handled.  Default property
values are not passed to the routines; the absence of a property
indicates that the routine should use the default value.  Also,
properties don't have a certain system-wide default value.  Thus, you
can't say that the default value of property "foo" is "bar".  It might
be "bar" when applied to the "grackle" grob, and "baz" when applied to
the "frobozz" grob.

The automatic documentation of properties is developed from a
grob-independent list.  Thus, there is only one internal documentation
point for "size", not one point for each grob that uses size.

Carl Sorensen


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


Re: regression tests

2007-09-11 Thread Valentin Villenave
2007/9/11, Reinhold Kainhofer <[EMAIL PROTECTED]>:

> The program reference is (by definition) so closely tied to the internals of
> lilypond that you'll need a lot of experience with lilypond (to know about
> grobs, interfaces, events, etc.), that it's quite hard to turn things into
> real code. I mostly use trial-and-error then until I get the correct position
> to set one flag or so.
> With the regression test snippets you already have the correct code and can
> copy it.

Don't blame me for quoting myself, but I just wanted to mention a line
from my previous mail (which has been lost in this thread), and Jan's
answer:

> > > How about, for example, http://lilypond.org/web/devel/
> >
> > That page could serve as a frontend to different versions, just like
> >
> > http://lilypond.org/web/documentation

I do think, like Graham, that regtests do not belong in Documentation.
You want to cope with "actual code": I understand that, and nodoby
will prevent you from accessing the regtests.

However, they are *not* Documentation. They do not contain verbose
explanations, they're not redacted, nor corrected, nor formatted, nor
organized, by any Documentation guy (excepted when the Documentation
guy happens to be the bug-tracking guy too :)

The Reference is *pure* Documentation stuff, as it's intended for
people who'd wish to fully understand the complete LilyPond process.
When you want an easy, quick solution, without necessarily
understanding how, why, when, where etc. it works; here's the LSR.

What you're looking for isn't in the LSR? Don't think "oh crap, the
LSR isn't any good, I'll never come back again"; just browse every
other non-Documentation sources (archives, regtests etc), and add it
to the LSR, so the next guy can be given a quick solution.

That's why I fully agree with Graham having reduced the amount of
links on the http://lilypond.org/doc/v2.11/Documentation/ page
(actually I suggested the current layout).

I do think there *has* to be a link to the regtests, but as said
before we need to find another place. It can be on web/devel, it can
be elsewhere. I just wanted to point out that it would make this
precise page more complete than it is now.

> > I wish that more users searched the mailist archives, but they don't.
> > Useful tips sent to the mailist are essentially lost knowledge;
> > that's why I've really been pushing LSR.

Excellent point. Avoiding lost knowledge; that's what we try to do.

> A while ago, while I was working on some choir pieces, I collected some links
> and snippets that I frequently need. Most are from LSR, but e.g. the
> following don't seem to have made it to the LSR:

...Then how comes you haven't added these yourself yet? This is
precisely what Graham wants to avoid in the future, by removing the
link of the main Documentation page.

OK, I've added the last three of your four snippets.
I let you add the first one, about dotted rests not fully merging;
IMHO it could be reported on Google tracker too, as I think the dots
should be merged in such a case...

Regards,
Valentin


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


Re: GDP: rearrangement

2007-09-11 Thread till Rettig

 Original-Nachricht 

> >
> > Hello,
> >
> >> For instance I could imagine
> >> a chapter "Ancient music", and one on educational subjects. At least I
> >> don't see why Ancient is "instrument specific", so why not put it in 7
> >> from the current suggestion, right after educational and special
> noteheads.
> >
> 
> Maybe "genre specific" instead of "instrument specific" is the correct 
> term here.  Then, the "vocal music" can also stay in the chapter without 
> singers complaining that the the human voice is not an instrument (btw. 
> IMO the human voice _is_ an instrument, though a very special one). 
Sure it is, and this is important for Gregorian chant. But I can imagine 
thouthands of different instruments for which I would like to notate some 
mensural stuff. So this is just another style and nothing instrument specific.

But I would be happy with genre specific...

Greetings
Till
-- 
Pt! Schon vom neuen GMX MultiMessenger gehört?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger


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


Re: regression tests

2007-09-11 Thread Reinhold Kainhofer
Am Dienstag, 11. September 2007 schrieb Graham Percival:
> Jan Nieuwenhuizen wrote:
> > Ok.  There it says
> >
> >if there is any regtests which is useful as documentation and there
> >is no corresponding snippet in LSR
> >
> > Although I agree that would be nice, currently that statement is
> > ridiculous.  It is way too early for that?  We have about 600
> > regression tests, and there are only about 220 lsr snippets.
>
> And only about 10% regtests are useful *as documentation*.  60 easily
> fits inside 220.  If we missed a few, we can add them.
>
> Most of the regtests are easily covered by the manual.  Especially now
> that we're adding new regtests whenever we fix a bug (which is quite
> appropriate)

Don't underestimate the value of actual code (where you can copy-paste from) 
compared to a documentation, where you need to turn the knowledge into actual 
code yourself.

It's so much more convenient to take a working example of something even 
simply and follow the ideas there, tweaking the file until you find out what 
you are looking for.

> Power-users know how to read the program reference.  They can see the
> features there.

Actually, to me (and I regard myself a power user) the program reference is 
only a very last resort before completely giving up when I don't find any 
snippet in the regressions tests or the tips & tricks pages. 

The program reference is (by definition) so closely tied to the internals of 
lilypond that you'll need a lot of experience with lilypond (to know about 
grobs, interfaces, events, etc.), that it's quite hard to turn things into 
real code. I mostly use trial-and-error then until I get the correct position 
to set one flag or so.
With the regression test snippets you already have the correct code and can 
copy it.


> Look, the regression tests are not _intended_ as documentation, and they
> _should not_ be intended as documentation.  

But they ARE useful documentation for power users.

> I wish that more users searched the mailist archives, but they don't.
> Useful tips sent to the mailist are essentially lost knowledge; 

That's mainly because of the noise on mailing lists (you'll need to read lots 
of messages until you hit the one -- if it exists -- that treats your 
problem), the fact that you don't have the output of lilypond code in 
postings readily visible, and the fact that messages get out of date with new 
versions, but are found by a search just as well.

> that's why I've really been pushing LSR.

I completely agree with you on that.


A while ago, while I was working on some choir pieces, I collected some links 
and snippets that I frequently need. Most are from LSR, but e.g. the 
following don't seem to have made it to the LSR:

- http://www.nabble.com/parenthesize-t2475322.html (parenthesize needs chord)

- http://www.mail-archive.com/lilypond-user%40gnu.org/msg14115.html (\voiceOne 
and \voiceTwo set direction for dotted rests, so when combining rests, you'll 
need to override the dot direction manually. Otherwise you'll get a rest with 
two dots!)

- 
http://lilypond.org/doc/v2.10/input/regression/collated-files#parenthesize.ly 
(parenthesized staccatos)

- http://lilypond.org/doc/v2.10/input/regression/collated-files#span-bar.ly 
(showing bar lines also/only between staves)

Cheers,
Reinhold
-- 
--
Reinhold Kainhofer, Vienna University of Technology, Austria
email: [EMAIL PROTECTED], http://reinhold.kainhofer.com/
 * Financial and Actuarial Mathematics, TU Wien, http://www.fam.tuwien.ac.at/
 * K Desktop Environment, http://www.kde.org, KOrganizer maintainer
 * Chorvereinigung "Jung-Wien", http://www.jung-wien.at/


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


Using lilypond as a music layout library

2007-09-11 Thread Tom Shackell

Hi All,

I was wondering whether it would be possible to extract lilypond's 
layout code and use it as a general library for performing music layout. 
That is to say a programmer would pass lilypond unformatted musical 
notation (as a data structure) and lilypond would perform layout and 
return the data structure now with positional information for all the 
components.


The reason this would be desirable is that laying out music nicely is 
difficult and lilypond is well known for the quality of its output. 
Someone wanting to write a WYSIWYG GUI for note-editing (for example) 
could then re-use all the hard work that has gone in lilypond to do the 
layout of the music on the screen.


Theoretically this should be possible. I would imagine that Lilypond's 
code is split into:

   - parsing and processing .ly files
   - laying out the musical notation
   - converting the notation with layout into output of some form
 (for example postscript).

It would, in principal at least be possible to separate the part that 
performs layout from the rest of the code. However there are several 
practical concerns:


   - the modularity of lilypond's design. It could simply be that
 lilyponds components are too tightly integrated to make this
 separation possible.

   - incremental layout. For the purposes of producing a GUI
 it would have to be possible to perform incremental layout to some
 degree. At least to the point of only asking lilypond to
 recalculate layout the current bar/line/page. It is possible
 lilypond has been written assuming a 'one-shot' approach in which
 case making lilypond work incrementally would be almost impossible.

   - performance generally. An interactive editor would need to perform
 layout with relatively good performance. Incremental layout is
 perhaps the biggest component here but it could be that lilypond is
 simply too slow for this kind of task.

One point is that even if the entire layout engine could not be 
extracted parts of the algorithm could still be useful. For example 
perhaps only having the code to do 'vertical' layout, i.e. deciding how 
notation on the beat-line should be arranged, even if the horizontal 
layout of the beat-line is undefined.


So anyway I would be interested to know whether people think extracting 
the layout code is feasible or is broadly impossible/impractical.


Thanks for your help :-)


Tom










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


Re: regression tests

2007-09-11 Thread Kieren MacMillan

Hi Graham,


Power-users know how to read the program reference.


I know this is slightly OT, but...

Is there any (automatic) way to generate a COMPLETE list of user- 
settable properties (and their defaults) for each grob?
I mean, having TeXInfo actually drill down into all of the  
interfaces, etc.?


Sure, a power user CAN do it manually... but often it takes a WHOLE  
lot of clicking around the docs to get to the desired property, and  
the default value of that property for a given grob is not (usually)  
easily accessible.


Best regards,
Kieren.


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


Re: regression tests

2007-09-11 Thread Rune Zedeler

Graham Percival skrev:

Look, the regression tests are not _intended_ as documentation, and they 
_should not_ be intended as documentation.  They are regression tests! 


I agree.
But they should still be easily readable.
Having to search through the lsr for each and every regtest is hopeless.
What are the ideas of how to make the accessible instead of via the manual?

-Rune


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


regression tests

2007-09-11 Thread Graham Percival

Jan Nieuwenhuizen wrote:

Ok.  There it says

   if there is any regtests which is useful as documentation and there
   is no corresponding snippet in LSR

Although I agree that would be nice, currently that statement is
ridiculous.  It is way too early for that?  We have about 600
regression tests, and there are only about 220 lsr snippets.


And only about 10% regtests are useful *as documentation*.  60 easily 
fits inside 220.  If we missed a few, we can add them.


Most of the regtests are easily covered by the manual.  Especially now 
that we're adding new regtests whenever we fix a bug (which is quite 
appropriate)


What's the documentation value of tie-grace.ly ?  It works exactly like 
you'd expect it to work.  Or beam-cross-staff-script.ly ?



 I agree
that newbies should not look at the regression test, but if you shut
out power-users from the regression test, they'll miss about 400
features?  We will have all sorts of questions: Can lily do this?


Power-users know how to read the program reference.  They can see the 
features there.


Look, the regression tests are not _intended_ as documentation, and they 
_should not_ be intended as documentation.  They are regression tests! 
Users should have three places to look for help:

- manual
- program reference (advanced users)
- LSR
- special-approved-lsr-snippets-in-our-docs

(ok, that's 3.5 places)


I wish that more users searched the mailist archives, but they don't. 
Useful tips sent to the mailist are essentially lost knowledge; that's 
why I've really been pushing LSR.



It's also is an amazing advertisement for lily's features?


Advertising goes in the Examples or in the new "inspirational headword" 
examples that are planned in GDP.



 How is
a user supposed to report a bug or do a feature request without
having access to the regression tests?


Users report bugs without reading the *manual*.  They're not going to 
check the regtests.


Cheers,
- Graham


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


Re: GDP: rearrangement

2007-09-11 Thread Trevor Bača
On 9/11/07, Rune Zedeler <[EMAIL PROTECTED]> wrote:
> Valentin Villenave skrev:
>
> > Why does "decorating" have a negative meaning to everyone but me?
> > Your suggestions are fine too, though.
>
> The problems are
> - even though the term makes sense, it is quite difficult to uniquely
> determine whether a specific feature is "decorating"
> - Separating decorating stuff from non-decorating stuff moves closely
> related items away from each other. E.g. automatic accidentals are
> non-decorating whereas cautional accidentals are decorating. Ties are
> non-decorating whereas slurs are decorating. Moving these sections away
> from each other will make the manual very difficult to use.


Would it be bad for me to point to my previous thread (on flattening
the manual)? The problem isn't whether "decorative" is perjorative or
not; the problem is that grouping a bunch of (essential) notation
stuff under the larger header of "decorating" *or anything else*
doesn't actually buy us anything (and, in fact, separates related
notation elements, as Rune points out). Promote each decorating
section to the status of a free-standing chapter and the problem will
disappear.

We need not to freak out about a 20 or 30 chapter notaton reference;
that's perfectly valid for a reference.




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


Re: GDP: rearrangement

2007-09-11 Thread Rune Zedeler

Valentin Villenave skrev:


Why does "decorating" have a negative meaning to everyone but me?
Your suggestions are fine too, though.


The problems are
- even though the term makes sense, it is quite difficult to uniquely 
determine whether a specific feature is "decorating"
- Separating decorating stuff from non-decorating stuff moves closely 
related items away from each other. E.g. automatic accidentals are 
non-decorating whereas cautional accidentals are decorating. Ties are 
non-decorating whereas slurs are decorating. Moving these sections away 
from each other will make the manual very difficult to use.


-Rune



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


GDP: flattening the manual to two layers?

2007-09-11 Thread Trevor Bača
Hey Graham, hey everyone,

The GDP discussion has been extremely interesting and I think I've
caught up on most of the threads. But I'm not certain so feel free to
tell me if this topic has already come up.

Question: has anyone suggested replacing the three-layer chapter /
section / section structure with a two-layer chapter / section
structure? The major sections are extremely useful and have,
importantly, self-evident titles; but I've never felt that grouping
the major sections into "basic", "decorating", "instrument-specific"
etc really buys anything ... it's always going to be quite arbitrary
as to what counts as "basic" versus "decorating" versus "text", IMO,
so maybe best to just kill the false disctinctions. That would leave
us with a 20 or 30 chapter manual, which makes perfect sense for
something like a notation reference for an engraving system (again
IMO).

So like this:

>  o 6 Pitches
>+ 6.1 Normal pitches
>+ 6.2 Accidentals
>+ 6.3 Cautionary accidentals
>+ 6.4 Micro tones
>+ 6.5 Note names in other languages
>+ 6.6 Relative octaves
>+ 6.7 Octave check
>+ 6.8 Rests
>+ 6..9 Skips
>  o 7 Affecting multiple pitches
>+ 7.1 Clef
>+ 7.2 Key signature
>+ 7.3 Transpose
>+ 7.4 Instrument transpositions
>+ 7.5 Ottava brackets
>  o 8 Rhythms
>+ 8.1 Durations
>+ 8.2 Augmentation dots
>+ 8.3 Tuplets
>+ 8.4 Scaling durations
>+ 8.5 Automatic note splitting
>+ 8.6 Aligning to cadenzas
>  o 9 Meter
>+ 9.1 Time signature
>+ 9.2 Partial measures
>+ 9.3 Unmetered music
>+ 9.4 Polymetric notation (alternating)
>+ 9.5 Polymetric notation (simultaneous)
>+ 9.6 Time administration
>+ 9.7 Proportional notation (introduction)
>+ 9.8 Automatic beams
>+ 9.9 Manual beams
>+ 9.10 Feathered beams
>  o 10 Bars
>+ 10.1 Bar check
>+ 10.2 Barnumber check
>+ 10.3 Multi measure rests
>+ 10.4 Bar lines
>+ 10.5 Bar numbers
>+ 10.6 Rehearsal marks

etc ...


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


Re: GDP: rearrangement

2007-09-11 Thread Juergen Reuter

2007/9/11, Till Rettig <[EMAIL PROTECTED]>:

Hello,


For instance I could imagine
a chapter "Ancient music", and one on educational subjects. At least I
don't see why Ancient is "instrument specific", so why not put it in 7
from the current suggestion, right after educational and special noteheads.




Maybe "genre specific" instead of "instrument specific" is the correct 
term here.  Then, the "vocal music" can also stay in the chapter without 
singers complaining that the the human voice is not an instrument (btw. 
IMO the human voice _is_ an instrument, though a very special one).  But, 
of course, I am also happy if you think that ancient music deserves a 
chapter of its own. ;-)


Greetings,
Juergen


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


Re: GDP: read the 2.11 docs

2007-09-11 Thread Valentin Villenave
2007/9/11, Jan Nieuwenhuizen <[EMAIL PROTECTED]>:

>if there is any regtests which is useful as documentation and there
>is no corresponding snippet in LSR
>
> Although I agree that would be nice, currently that statement is
> ridiculous.  It is way too early for that?  We have about 600
> regression tests, and there are only about 220 lsr snippets.  I agree
> that newbies should not look at the regression test, but if you shut
> out power-users from the regression test, they'll miss about 400
> features?  We will have all sorts of questions: Can lily do this?

You have a good point. However this shouldn't prevent us from keeping
adding the regtests to the LSR (IMO, every regtest can potentially be
useful as documentation; however since they're very short and minimal,
some have to be merged or developed).

> > How about, for example, http://lilypond.org/web/devel/
>
> That page could serve as a frontend to different versions, just like
>
> http://lilypond.org/web/documentation

This would be very cool; I recently wished the "developers area" could
be more developed...

> The regression tests are (as the name implies) hard linked to a
> specific lilypond version.  They are built as part of the
> documentation (or `make web') build, so there should still be an index
> page in the documentation, besides Documentation/index.html.in, say
> Documentation/devel.html.in?

This is equally possible, and logical. Graham, what do you think?

> It's also is an amazing advertisement for lily's features?  How is
> a user supposed to report a bug or do a feature request without
> having access to the regression tests?

I've recently been praising for feature pages too... About every
open-source (or proprietary) software has a "Features" link on its
home page. This could be a place for both nice, pedagogical, features
pages, and a "Complete features list" link to the current regtests,
couldn't it?

Regards,
Valentin


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


Re: GDP: read the 2.11 docs

2007-09-11 Thread Jan Nieuwenhuizen
Valentin Villenave writes:

> This issue have been discused with Graham and Trevor recently:
> http://lists.gnu.org/archive/html/lilypond-devel/2007-08/msg00179.html

Ok.  There it says

   if there is any regtests which is useful as documentation and there
   is no corresponding snippet in LSR

Although I agree that would be nice, currently that statement is
ridiculous.  It is way too early for that?  We have about 600
regression tests, and there are only about 220 lsr snippets.  I agree
that newbies should not look at the regression test, but if you shut
out power-users from the regression test, they'll miss about 400
features?  We will have all sorts of questions: Can lily do this?

> How about, for example, http://lilypond.org/web/devel/

That page could serve as a frontend to different versions, just like

http://lilypond.org/web/documentation

The regression tests are (as the name implies) hard linked to a
specific lilypond version.  They are built as part of the
documentation (or `make web') build, so there should still be an index
page in the documentation, besides Documentation/index.html.in, say
Documentation/devel.html.in?

It's also is an amazing advertisement for lily's features?  How is
a user supposed to report a bug or do a feature request without
having access to the regression tests?

Greetings,
Jan.

-- 
Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org


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


Re: GDP: rearrangement

2007-09-11 Thread Valentin Villenave
2007/9/11, Till Rettig <[EMAIL PROTECTED]>:

Hello,

> For instance I could imagine
> a chapter "Ancient music", and one on educational subjects. At least I
> don't see why Ancient is "instrument specific", so why not put it in 7
> from the current suggestion, right after educational and special noteheads.

I'll let Graham do the talking on this one :)

> I am also somewhat unpleasant with the current "string" section in the
> instrument specific chapter: I would like to see here all those
> \bowdown, \bowup, \flageolet, \thumb and so on that are in
> "articulations" so far -- or at least a link to them. Well, that's
> already about contents, not only rearranging.

Yes, we should mention it (maybe in @seealso, or a @lsrtag link)

> I like the "text"-section, that is a good idea. But going the same way
> for other stuff as well... Name of chapter 7 should maybe be changed,
> not everything is about "decoration", there are some really important
> things. Would it be something like "polishing", "finishing" or the like?

Why does "decorating" have a negative meaning to everyone but me?
Your suggestions are fine too, though.

Regards,
Valentin


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


Re: GDP: read the 2.11 docs

2007-09-11 Thread Valentin Villenave
Hello Jan,

2007/9/11, Jan Nieuwenhuizen <[EMAIL PROTECTED]>:

> > - regtests and tips are gone.
>
> Why is this?  I can maybe understand that lsr replaces the tips, but
> the regtest shows every feature that lilypond has.

This issue have been discused with Graham and Trevor recently:
http://lists.gnu.org/archive/html/lilypond-devel/2007-08/msg00179.html

Most of the regtests have been, or will be, added to the LSR as well.
We probably have to find some place to put a link, but it would
probably be better on a developer-oriented rather than an
user-oriented page. How about, for example,
http://lilypond.org/web/devel/ ? We could add a section between
"source code" and "participating", couldn't we?

Regards,
Valentin


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


Re: GDP: length/page-splitting of subsections

2007-09-11 Thread Mats Bengtsson



Graham Percival wrote:


There are two solutions for this:
1)  Don't split HTML by into subsections; have one html page per section.

2)  Merge many subsections.  For example,
6.1 Pitches
6.1.1 Writing pitches(includes 6.1.1, 6.1.2, 6.1.3, 6.1.4, and 
6.1.5 in the latest proposal)

6.1.2 Octaves/jumping pitches   (includes 6.1.6, 6.1.7, and 7.1.8)
6.1.3 Rests(includes 6.1.9 and 6.10)

the names obviously need work.


My preference is for 2 -- I can't believe that users want to see 
articulations, dynamics, and trills on the same HTML page.  But as I 
said, we should probably disregard my opinion on this issue.

Yes, merging some selected subsections is probably the best solution.

   /Mats


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


Re: GDP: rearrangement

2007-09-11 Thread Till Rettig


Hello,

from what so far has been discussed I catched somewhat the need is to 
group the issues more into "single topic" sections of subsections.
For the discussion about the format of the html-docu: I would rather 
like to have whole subsections downloading than those tiny pages -- I 
also get lost on them and always have to go at least three steps up 
until I come again to the contents where I look for another promising 
section's name. So actually for me also a link to the toc would be 
sufficient, maybe also one to the index, to be on *every* page. I 
personally dislike the system that for going from a subsection to the 
next section demands climbing up one level -- I am probably too much 
used to reading real books where this kind of strange behaviour doesn't 
happen. But it might be a texinfo issue that we cannot incluence...
About rearranging: I would suggest breaking up chapters (with only one 
number, like 6, 7, and so on) into smaller chapters in some cases, that 
is being more specific on the lowest level. For instance I could imagine 
a chapter "Ancient music", and one on educational subjects. At least I 
don't see why Ancient is "instrument specific", so why not put it in 7 
from the current suggestion, right after educational and special noteheads.
I didn't check the situation now but from the discussion about "aligning 
cadenzas" -- I would look for cadenzas either in grace notes (being 
something "additional") or at rhythmic issues. From there we could have 
a link to a general chapter about aligning...
I am also somewhat unpleasant with the current "string" section in the 
instrument specific chapter: I would like to see here all those 
\bowdown, \bowup, \flageolet, \thumb and so on that are in 
"articulations" so far -- or at least a link to them. Well, that's 
already about contents, not only rearranging.
I like the "text"-section, that is a good idea. But going the same way 
for other stuff as well... Name of chapter 7 should maybe be changed, 
not everything is about "decoration", there are some really important 
things. Would it be something like "polishing", "finishing" or the like?


Sorry for writing so confused, I hope it is still understandable. It's 
mainly just some thoughts...


Greetings
Till



   * 6 Basic musical notation
 o 6.1 Pitches
   + 6.1.1 Normal pitches
   + 6.1.2 Accidentals
   + 6.1.3 Cautionary accidentals
   + 6.1.4 Micro tones
   + 6.1.5 Note names in other languages
   + 6.1.6 Relative octaves
   + 6.1.7 Octave check
   + 6.1.8 Rests
   + 6.1.9 Skips
 o 6.2 Affecting multiple pitches
   + 6.2.1 Clef
   + 6.2.2 Key signature
   + 6.2.3 Transpose
   + 6.2.4 Instrument transpositions
   + 6.2.5 Ottava brackets
 o 6.3 Rhythms
   + 6.3.1 Durations
   + 6.3.2 Augmentation dots
   + 6.3.3 Tuplets
   + 6.3.4 Scaling durations
   + 6.3.5 Automatic note splitting
   + 6.3.6 Aligning to cadenzas
 o 6.4 Meter
   + 6.4.1 Time signature
   + 6.4.2 Partial measures
   + 6.4.3 Unmetered music
   + 6.4.4 Polymetric notation (alternating)
   + 6.4.5 Polymetric notation (simultaneous)
   + 6.4.6 Time administration
   + 6.4.7 Proportional notation (introduction)
   + 6.4.8 Automatic beams
   + 6.4.9 Manual beams
   + 6.4.10 Feathered beams
 o 6.5 Bars
   + 6.5.1 Bar check
   + 6.5.2 Barnumber check
   + 6.5.3 Multi measure rests
   + 6.5.4 Bar lines
   + 6.5.5 Bar numbers
   + 6.5.6 Rehearsal marks
 o 6.6 Polyphony
   + 6.6.1 Chords
   + 6.6.2 Stems
   + 6.6.3 Basic polyphony
   + 6.6.4 Explicitly instantiating voices
   + 6.6.5 Collision resolution
   + 6.6.6 Clusters
   + 6.6.7 Automatic part combining
   + 6.6.8 Writing music in parallel
   * 7 Decorating musical notation
 o 7.1 Connecting notes
   + 7.1.1 Ties
   + 7.1.2 Slurs
   + 7.1.3 Phrasing slurs
   + 7.1.4 Laissez vibrer ties
   + 7.1.5 Grace notes
   + 7.1.6 Analysis brackets
 o 7.2 Expressive marks
   + 7.2.1 Articulations
   + 7.2.2 Dynamics (absolute)
   + 7.2.3 Dynamics (crescendi)
   + 7.2.4 Breath marks
   + 7.2.5 Trills
   + 7.2.6 Glissando
   + 7.2.7 Arpeggio
   + 7.2.8 Falls and doits
 o 7.3 Staff notation
   + 7.3.1 System start delimiters
   + 7.3.2 Staff symbol
   + 7.3.3 Hiding staves
   + 7.3.4 Metr

Re: GDP: structure of index

2007-09-11 Thread Werner LEMBERG
> > > Furthermore, I would like to see entries like
> > > 
> > >   \displayLilyMusic: Displaying LilyPond notation
> > >   \displayLilyMusic: Displaying music expressions
> > > 
> > > rather being structured as follows:
> > > 
> > >   \displayLilyMusic:
> > >   Displaying LilyPond notation
> > >   Displaying music expressions

If at all, it should be

  \displayLilyMusic: Displaying LilyPond notation,
Displaying music expressions

otherwise it sticks out far too promimently.

> > I'm not certain if texinfo 4.8 can do that.  Werner, do you know?

No, sorry.

> FWIW 4.9 was released on June 29, and the latest beta is 4.9.92, so
> they might add it before 4.11...

4.11 has been released two days ago.


Werner


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


Re: GDP: read the 2.11 docs

2007-09-11 Thread Jan Nieuwenhuizen
Graham Percival writes:

> To anybody involved in the GDP discussion, please take a few minutes
> to look at the documentation for 2.11.

> - regtests and tips are gone.

Why is this?  I can maybe understand that lsr replaces the tips, but
the regtest shows every feature that lilypond has.  If you don't
want that in the documentation, where are we going to link those
pages?

Jan.

-- 
Jan Nieuwenhuizen <[EMAIL PROTECTED]> | GNU LilyPond - The music typesetter
http://www.xs4all.nl/~jantien   | http://www.lilypond.org


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