Re: What's the deal with info documentation images?

2009-08-28 Thread Graham Percival
On Sat, Aug 29, 2009 at 07:21:33AM +0200, David Kastrup wrote:
> Graham Percival  writes:
> 
> > ... and by some odd coincidence, we haven't made a stable release
> > with it in such a state.  Imagine that!
> 
> Does that mean that one is not supposed to report problems until a
> stable release has been made?

The documentation, particularly the build process, is in heavy
flux at the moment.

> It would make much more sense to land the user in either the command
> line reference (with top-level links to the notation reference) or vice
> versa.
> 
> > (or rather, if I was *forced* to pick one, I'd go with the AU,
> > since that at least has the command-line arguments)
> 
> It hasn't.  Let's walk through this, comments in <<<>>>.

The AU -- Application Usage -- lilypond-application -- most
definitely *does* contain the command-line arguments.


> Notation
> 
> 
> This book explains all the LilyPond commands which produce notation.
> 
>   Note: The Notation assumes that the reader knows basic
>   material covered in the Learning and is familiar with the
>   English musical terms presented in the Musical Glossary.
> 
> 
> And that's it.  The links don't lead to the notation manual, but merely
> to a short blurb that tells you what the notation manual would be if you
> actually managed to find it.  I mean, wow.  Talk about wow.

And I told you that it was added to git already:
http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commit;h=e71d9dda07d43f16c4de5d8aca710b819de95a86

I mean, wow.  Talk about wow.

... or maybe you didn't notice the VERY NEXT piece of text?
Read it now
---

   * *note Notation: (lilypond-notation)Top.: read this manual in
 the same format as this one.


> > I'd accept a patch that produces an info version of just the
> > "Manuals" page.  Or made it so that "info lilypond" started at the
> > Manuals page.
> 
> So that I can see what the manuals would mean, were I able to figure out
> where to find them?

The links are there.

> Please try getting at any detailed information yourself with the
> existing documentation tree before making fun of me.
> 
> I may be stupid, but at one point of time you have to cater even for
> stupid people.

Let me be clear.
- are the info docs not finished?  yes.
- are the pdf, html, etc. not finished?  yes.
- did I completely underestimate the pain in doing ANYTHING with
  the lilypond build process?  yes.
- would I have completely changed almost everybody about the past
  summer if I had realized how much trouble it was to change the
  build system?  sweet mao yes.

That said, the info docs are a fairly minor concern at the moment,
given the mess that the rest of the system is.

- Graham


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


Re: What's the deal with info documentation images?

2009-08-28 Thread David Kastrup
Graham Percival  writes:

> On Fri, Aug 28, 2009 at 08:36:33AM +0200, David Kastrup wrote:
>> Graham Percival  writes:
>> 
>> > Well, yes.  FIXMEs generally aren't impressive.  The FIXMEs will
>> > definitely be dealt with.  The images might be dealt with, if
>> > somebody deals with them.
>>
>> But previously (info "(lilypond)") lead to useful top-level information.
>> Currently it leads to a chaotic ensemble of FIXMEs, side remarks only
>> relevant for web pages,
>
> ... and by some odd coincidence, we haven't made a stable release
> with it in such a state.  Imagine that!

Does that mean that one is not supposed to report problems until a
stable release has been made?

> The previous arrangement dumped you into the NR, which is not
> suitable for beginners.

The current arrangement is suitable for beginners?  I again state that
the _project_ webpage is not a suitable starting point for the
user-level documentation of a _single_ version of Lilypond.  Not in
info, not in HTML.

> Unlike most projects, lilypond has extensive documentation.  In order
> to let people navigate through and find the part(s) they want to read,
> we have it split between multiple manuals.  I can't identify any one
> manual (other than the current "general" one) that would make sense
> for a "info lilypond".

It is not a general manual, it is the project home page.  The aims of a
manual are so much different from that of a project home page that
folding the two does not make sense.

For the web page, it makes sense to have links leading to
"Documentation", even of several versions.

For the documentation, it does not make sense.  It is supposed to _be_
the documentation, not lead there.

It would make much more sense to land the user in either the command
line reference (with top-level links to the notation reference) or vice
versa.

> (or rather, if I was *forced* to pick one, I'd go with the AU,
> since that at least has the command-line arguments)

It hasn't.  Let's walk through this, comments in <<<>>>.

File: lilypond.info,  Node: Top,  Next: Introduction,  Up: (dir)
(lilypond)Top

LilyPond... music notation for everyone
***

LilyPond


... music notation for everyone

   FIXME: images broken in info

What is LilyPond?
-

LilyPond is an open-source music engraving program, devoted to
producing the highest-quality sheet music possible.  This free software
brings the aesthetics of traditionally engraved music to computer
printouts.

   Read more in our *note Introduction::!

<<>>

   FIXME: process news items like the old web site: select first 4
items to insert here, and generate RSS.

   (*note Old news::)

<<>>

Quick links
---

Stable
..

*note Download 2.12.3: Download.

   *note Manuals 2.12.3: Manuals.

<<>>

Unstable


*note Download 2.13.2: Development.

   *note Manuals 2.13.2: Development.

<<>>

* Menu:

* Introduction:: Start here to creating sheet music.
* Download:: Get LilyPond.
* Manuals::  Read The Fine Manuals (RTFM).
* Community::Contact other users.

<< I'd accept a patch that produces an info version of just the
> "Manuals" page.  Or made it so that "info lilypond" started at the
> Manuals page.

So that I can see what the manuals would mean, were I able to figure out
where to find them?

Please try getting at any detailed information yourself with the
existing documentation tree before making fun of me.

I may be stupid, but at one point of time you have to cater even for
stupid people.

-- 
David Kastrup



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


Re: [PATCH] Move ambitus print callback to scheme

2009-08-28 Thread David Kastrup
Carl Sorensen  writes:

> On Aug 28, 2009, at 1:16 PM, "Nicolas Sceaux"   
> wrote:
>
>>
>> According to R5RS, it is an error to modify a literal list.
>> If a function returns '(), the caller won't be allowed to
>> apply a modifying function on the result (eg. append!)
>>
>
> IIUC, '() is not a literal list, but a constant that represents the  
> empty list.

It is a literal list in my opinion, but one that happens to have no
unique and/or modifiable conses.  Append will work just fine on it.

>> However, guile does not report modifying a literal list as an error,
>> and actually modifies it, so this is somewhat rhetorical.

It is not rhetorical since a modified literal list will actually stay
modified when you call the function the next time.  Can't happen with
'() though.

guile> (define (weird) (append! '(4) '(5)))
guile> (weird)
(4 5)
guile> (weird)
(4 5 . #1#)
guile> (weird)

Backtrace:
In standard input:
   7: 0* [weird]
   4: 1  [append! (4 5 . #1#) (5 . #0#)]

standard input:4:17: In procedure last-pair in expression (append! (quote #) 
(quote #)):
standard input:4:17: Circular structure in position 1: (4 5 . #1#)
ABORT: (misc-error)
guile> 

-- 
David Kastrup



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


Re: [PATCH] option to prevent EPS backend from creating .tex/.texi/.count files

2009-08-28 Thread Werner LEMBERG

> Here is a patch that introduces a command line option aux-files,
> which can be used (-daux-files=#f, -dno-aux-files or #(ly:set-option
> 'no-aux-files)) to prevent lilypond's eps backend from creating
> .tex(i) and .count files:
>
> http://codereview.appspot.com/110107
>
> Okay to apply?

Nice idea.  While you are at it, please investigate why there are
still clipping problems during the EPS->PNG conversion.  For an
example, look at the snappizzicato example image in the notation
reference.  My guess is that the `bbox' and similar backends of
ghostscript don't expand fonts but simply use the metrics of the fonts
referenced in an EPS for the calculation of the bounding box; this
gives bad results with lilypond fonts.

As a possible solution, I can imagine that we add an intermediate step
to convert the fonts in an EPS file into PS paths, for example, by
using the `epswrite' device (as demonstrated in the `eps2eps' script
which comes with ghostscript).  This should assure that the bboxes are
exact.


Werner


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


[PATCH] option to prevent EPS backend from creating .tex/.texi/.count files

2009-08-28 Thread Reinhold Kainhofer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

since I'm currently using lilypond to create lots of small example files for a 
larger thesis (written in Word), I'm using the eps backend to create nicely 
clipped images. However, instead of one file per example, the eps backend 
creates a .tex, a .texi, a .count and several *-1.{pdf,png,eps} files.

Here is a patch that introduces a command line option aux-files, which can be 
used (-daux-files=#f, -dno-aux-files or #(ly:set-option 'no-aux-files)) to 
prevent lilypond's eps backend from creating .tex(i) and .count files:
http://codereview.appspot.com/110107

Okay to apply?

I'm still looking into not creating -1.eps files for examples with only one 
system (in that case, the .eps and the -1.eps files will be identical, 
anyway!).

Cheers,
Reinhold
- -- 
- --
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKmIflTqjEwhXvPN0RAp/BAJ4h0buiQG1UgPIacdC6RabDKAyUWACgqxwG
T0LC2IiNRVMghMDHQ8SSVCw=
=v9cH
-END PGP SIGNATURE-


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


Re: What's the deal with info documentation images?

2009-08-28 Thread Graham Percival
On Fri, Aug 28, 2009 at 08:36:33AM +0200, David Kastrup wrote:
> Graham Percival  writes:
> 
> > Well, yes.  FIXMEs generally aren't impressive.  The FIXMEs will
> > definitely be dealt with.  The images might be dealt with, if
> > somebody deals with them.
>
> But previously (info "(lilypond)") lead to useful top-level information.
> Currently it leads to a chaotic ensemble of FIXMEs, side remarks only
> relevant for web pages,

Update: aha, now I see what you were talking about... I'd
forgotten all the direntry stuff for the docs.  I just happened to
come across it by accident while I was re-working the main page of
NR.

Yes, this will be fixed before 2.13.5.

Cheers,
- Graham


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


Re: funky build errors

2009-08-28 Thread Graham Percival
On Fri, Aug 28, 2009 at 08:55:41AM +0200, Werner LEMBERG wrote:
> >  Executable based on sources from 00:29 GMT 29-Apr-2008.
> >  Library based on sources from 20:49 GMT 30-Apr-2008.
> 
> This is ooold.  I've compiled the current CVS of FontForge by myself,
> and I don't see this (and I haven't seen such errors since almost a
> year).  George has fixed a bunch of such problems later in 2008, IIRC.

> PS: Perhaps we should enforce a newer FontForge version in the
> configure script.

If there's bugs that affect us that are fixed by later versions,
then I guess we should do this.  I'll a bit sad to have lilypond
no longer compile on debian/stable[1], but I must admit that this
is a weird state of affairs.  :)

[1] I guess that texi2html already spoils this, although that's
only in the docs and not the main program.

Cheers,
- Graham


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


Re: What's the deal with info documentation images?

2009-08-28 Thread Graham Percival
On Fri, Aug 28, 2009 at 08:36:33AM +0200, David Kastrup wrote:
> Graham Percival  writes:
> 
> > Well, yes.  FIXMEs generally aren't impressive.  The FIXMEs will
> > definitely be dealt with.  The images might be dealt with, if
> > somebody deals with them.
>
> But previously (info "(lilypond)") lead to useful top-level information.
> Currently it leads to a chaotic ensemble of FIXMEs, side remarks only
> relevant for web pages,

... and by some odd coincidence, we haven't made a stable release
with it in such a state.  Imagine that!

> It is quite difficult to actually find a working link to _any_ useful
> documentation since half of the links don't work and the other half has
> non-obvious names and a structure that has nothing to do with info.

If you're tracking git, you would have noticed that I added such
links before you sent this message.

> I don't see _any_ advantage for the resulting info documentation at
> all.  With regard to info, the previous arrangement was better in all
> respects I can imagine.

The previous arrangement dumped you into the NR, which is not
suitable for beginners.  It also *completely* missed the important
info in Usage / AU, namely the command-line arguments.  With the
new system, users are directed to the appropriate manuals.

Unlike most projects, lilypond has extensive documentation.  In
order to let people navigate through and find the part(s) they
want to read, we have it split between multiple manuals.  I can't
identify any one manual (other than the current "general" one)
that would make sense for a "info lilypond".
(or rather, if I was *forced* to pick one, I'd go with the AU,
since that at least has the command-line arguments)


I'd accept a patch that produces an info version of just the
"Manuals" page.  Or made it so that "info lilypond" started at the
Manuals page.

Cheers,
- Graham


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


Re: [PATCH] Move ambitus print callback to scheme

2009-08-28 Thread Carl Sorensen


On Aug 28, 2009, at 1:16 PM, "Nicolas Sceaux"   
wrote:

>
> According to R5RS, it is an error to modify a literal list.
> If a function returns '(), the caller won't be allowed to
> apply a modifying function on the result (eg. append!)
>

IIUC, '() is not a literal list, but a constant that represents the  
empty list.


> However, guile does not report modifying a literal list as an error,
> and actually modifies it, so this is somewhat rhetorical.

Carl


>


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


Re: [PATCH] Move ambitus print callback to scheme

2009-08-28 Thread Nicolas Sceaux

Le 27 août 09 à 22:38, Neil Puttock a écrit :


2009/8/26 Carl Sorensen :


The patch looks good to me.


Cheers.

You code the empty list as (list).  I typically code the empty list  
as '().


It there a preference?  I suspect that we ought to be consistent,  
although
it's not highly important.  It could be part of the code janitor  
work,

though.


It's just something I noticed in a few places internally (these all
seem to be changes made by Nicolas) and thought it was clearer, though
admittedly I haven't been particularly consistent when deciding
between the two forms.  :)


According to R5RS, it is an error to modify a literal list.
If a function returns '(), the caller won't be allowed to
apply a modifying function on the result (eg. append!)

However, guile does not report modifying a literal list as an error,
and actually modifies it, so this is somewhat rhetorical.

nicolas



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


Re: LilyPond talks earlier this year at IRCAM and Musikhochschule Stuttgart

2009-08-28 Thread Kieren MacMillan

Hi Trevor,


I wanted to take a minute to provide feedback on two LilyPond-oriented
presentations I was able to make earlier this year.


Congratulations, and "thanks" from the community!
Off-line, I'd be very interested in seeing a (tran)script of your  
presentation(s): I'm scheduled to give some lectures about Lilypond  
this year at various universities and colleges in North America.


Thanks,
Kieren.


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


Re: Implement framework for post-fix text (de)cresc spanners

2009-08-28 Thread Han-Wen Nienhuys
On Fri, Aug 28, 2009 at 7:29 AM, Reinhold
Kainhofer wrote:

>> - get_property_setting() should take SCMs rather than const char* , so
>> you save runtime lookups.
>
> I don't exactly understand what you mean by this... The two parameters of
> get_property_setting are passed on the get_property, which call
> internal_get_property (symbol2scm (...)) on them. Of course, I could do the
> symbol2scm before calling get_property_setting and then call
> internal_get_property there, but I don't see how this will save anything (in
> particular, since the context property names will be dynamically built from
> the start_type: (start_type + "Text").c_str ()

>
> The only thing that might be optimized is the fixed-name event properties. But
> that saves one symbol2scm call for hairpins and two for text crescendi. Is
> this really worth the trouble of handling the two property names differently 
> to
> save on symbol2scm call?


Sorry - I only took a brief look.  It might not be worth the trouble
in this case, but in general it is better for the C++ part to work
with SCMs, so the symbol lookups can be memoized in the caller.

-- 
Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen


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


Re: Implement framework for post-fix text (de)cresc spanners

2009-08-28 Thread Reinhold Kainhofer
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Am Samstag, 22. August 2009 19:19:18 schrieb Han-Wen Nienhuys:
> brief comments:
>
> - get_property_setting() should take SCMs rather than const char* , so
> you save runtime lookups.

I don't exactly understand what you mean by this... The two parameters of 
get_property_setting are passed on the get_property, which call 
internal_get_property (symbol2scm (...)) on them. Of course, I could do the 
symbol2scm before calling get_property_setting and then call 
internal_get_property there, but I don't see how this will save anything (in 
particular, since the context property names will be dynamically built from 
the start_type: (start_type + "Text").c_str ()

The only thing that might be optimized is the fixed-name event properties. But 
that saves one symbol2scm call for hairpins and two for text crescendi. Is 
this really worth the trouble of handling the two property names differently to 
save on symbol2scm call?

Cheers,
Reinhold

- -- 
- --
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFKl7GQTqjEwhXvPN0RAgPxAJ4iduCC6mqqxSjSF/91Kt+vLulF/QCgkVVD
I+LvGekkcHIGVtfCatzNcl4=
=pG2z
-END PGP SIGNATURE-


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


Re: funky build errors

2009-08-28 Thread Werner LEMBERG
> I assume that "needed" and "unneeded" aren't actually
> contradictions... or maybe they are, and that's why the internal
> error is printed.

They are contradictions, thus the internal error.  It's a rounding
issue in FontForge.

>  Executable based on sources from 00:29 GMT 29-Apr-2008.
>  Library based on sources from 20:49 GMT 30-Apr-2008.

This is ooold.  I've compiled the current CVS of FontForge by myself,
and I don't see this (and I haven't seen such errors since almost a
year).  George has fixed a bunch of such problems later in 2008, IIRC.

Please update FontForge.


Werner


PS: Perhaps we should enforce a newer FontForge version in the
configure script.


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


Re: horizontal offset bug of skip markups

2009-08-28 Thread Trevor Daniels


Werner LEMBERG wrote Thursday, August 27, 2009 3:11 PM


After all, it is very easy to place the markup where you want it 
by

simply using two spacer notes:

foo = {
 s1
 \time 7/8 s8^"foobar" s8*6
 \time 10/8
}


OK, I haven't thought of that solution, thanks.  This should 
perhaps

be added to the documentation.


There is a serious drawback of the above solution: If 
`skipbars=##t',
you must write e.g. `s1*3' to get a three-bar multi-measure rest 
in

constructions like `<< { ... } {... } >>'.  Replacing it with `s4
s2. s1*2' gives a different result...


Going back to the original problem, the
only way I can see of positioning markup
reliably to the left of a measure containing
full-measure rests it to use a rehearsal
mark with \mark, adjusting the font as required,
and repositioning the text from that known
position if necessary.

As the suggested solution in the NR no longer
works I'll change it to this, unless a better
solution is forthcoming from someone else.


A possible solution (and maybe even a good one regardless of the
specific problem) is to make `skipbars' ignore the structure of 
skip

rests, always accumulating them to the maximum value.


That sounds reasonable, but is not a solution
that is immediately available.

Trevor



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