GOP-PROP: pause in proposals

2011-08-20 Thread Graham Percival
We have a number of maintainability problems, such as an
inability to build releases and delayed implementation of some
previous accepted proposals.

I am therefore not introducing any new proposals for the next two
weeks.  New proposals will tentatively start on the week of
2011-Sep-07, but this may be delayed another week or two if I
believe that my time would be better spent putting out fires
elsewhere.

The exisiting two proposals (make doc, scheme indentation) will
continue going through the system since they seem to have
widespread support; no point delaying them.

Updated schedule:
http://lilypond.org/~graham/gop/

Cheers,
- Graham

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


Re: lily-guile updates and CG: Scheme-C interface section. (issue 4917044)

2011-08-20 Thread Carl . D . Sorensen

On 2011/08/19 23:03:37, Neil Puttock wrote:

On 2011/08/19 21:08:10, Carl wrote:



 As an aside, I think that we should change the definition of the

property

 align-dir.  It should no longer be called a direction, since it's

not limited

to
 the values -1, 0, and 1.



It's unused.  I think it's superseded by stacking-dir.



It's used in fret-diagram markups.  See Notation Reference A.9.5.

Thanks,

Carl


http://codereview.appspot.com/4917044/

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


PATCHES: 48-hour countdown

2011-08-20 Thread Graham Percival
To be pushed after 00:01 PST on Monday Aug 15.  I know there's a
lot of big things in here to review, but we need to tackle them!


CG: revise CG instructions for commit access
http://code.google.com/p/lilypond/issues/detail?id=1824
http://codereview.appspot.com/4898058/

Lilypond-book music runs off right side of the page
http://code.google.com/p/lilypond/issues/detail?id=1816
http://codereview.appspot.com/4888046/

Doc: NR - Polymetric Notation \compoundMeter isn't documented
http://code.google.com/p/lilypond/issues/detail?id=1776
http://codereview.appspot.com/4837050

% (single patch does both issues)
accidentaled notes too far from the barline
http://code.google.com/p/lilypond/issues/detail?id=1779
Compressible space before the first note of a line ? 
http://code.google.com/p/lilypond/issues/detail?id=1785
http://codereview.appspot.com/4188051/

Revise warning re cueDuring font size
http://code.google.com/p/lilypond/issues/detail?id=1811
http://codereview.appspot.com/4850051

Guile 2.0 compat: Scheme macros must be defined/autocompiled
before they are used.
http://code.google.com/p/lilypond/issues/detail?id=1349
http://www.codereview.appspot.com/4849054

Code cleaning: checking types-conversion issues and other build
warnings
http://code.google.com/p/lilypond/issues/detail?id=804
% lexer.ll: remove unused patterns, avoid backing up 
http://codereview.appspot.com/4871041/

changing shape of the G clef
http://codereview.appspot.com/4664070/

collision glissando accidental
http://code.google.com/p/lilypond/issues/detail?id=40
http://codereview.appspot.com/4801083


Cheers,
- Graham

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


Re: Creates pure closures (issue 4894052)

2011-08-20 Thread Mike Solomon
On Aug 20, 2011, at 12:02 AM, Neil Puttock wrote:

 On 18 August 2011 13:44, Mike Solomon mike...@ufl.edu wrote:
 
 What about pure-container ?
 

unpure-pure-container ?

Cheers,
MS

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


Re: Prevents nested tuplets from colliding. (issue 4808082)

2011-08-20 Thread m...@apollinemike.com

On Aug 19, 2011, at 11:58 PM, n.putt...@gmail.com wrote:

 
 
 http://codereview.appspot.com/4808082/diff/13002/lily/tuplet-bracket.cc#newcode283
 lily/tuplet-bracket.cc:283: SCM scm_x_span = me-get_property
 (X-positions);
 I seem to recall we discussed the option of splitting control-points
 into separate X/Y properties (can't remember exactly which grob it was
 for :).

Beams (I think...).

 My main concern was the naming since 'positions should be
 changed to Y-positions, but this would be disruptive for other grobs.
 

This could be done in a separate patch.

 http://codereview.appspot.com/4808082/diff/13002/lily/tuplet-bracket.cc#newcode669
 lily/tuplet-bracket.cc:669: // have to re_run numbers to check for
 number-on-number collisions
 This is getting a bit complicated.  Do you think it's feasible to have a
 grob which would collect the colliding brackets and do the collision
 avoidance as a separate positioning-done callback?
 

This would certainly avoid the guestimation of the numbers' positions...
I'll do some digging and get back to you!

Cheers,
MS


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


Re: Moving away from make

2011-08-20 Thread Jan Nieuwenhuizen
Han-Wen Nienhuys writes:

 Given that Cmake has a large following (examples include KDE and
 LLVM), I'd be comfortable with switching to that.

Interesting; have you ever used Cmake?

Last time I looked (migrated a cmake project to autotools), Cmake did
only have proprietary documentation (I hear most documentation is in a
wiki now), introduced a rather crappy home brew language, cached make
information in generated makefiles that do not use variables for $(CC)
or $(CFLAGS), has a IMHO nasty way of overriding such variables on the
cmake command line.  Also, it did not have an easy way to create
help from the command line or a facility to have virtual targets
or a nice way to say: `make -C lily out/parser.o' because all file
names were absolute, fully expanded names.

Jan

-- 
Jan Nieuwenhuizen jann...@gnu.org | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar®  http://AvatarAcademy.nl  

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


changing e-mail address

2011-08-20 Thread Janek Warchoł
Hi everyone,

sorry for disappearing without a notice...  I'm back and digging my
way through e-mails.
I've created myself a dedicated mailbox for Lily purposes:
janek.lilyp...@gmail.com - please use it instead of this one!

thanks,
Janek

PS please add janek.lilyp...@gmail.com to the tracker and wherever
else is needed.

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


Re: changing e-mail address

2011-08-20 Thread Phil Holmes
- Original Message - 
From: Janek Warchol lemniskata.bernoull...@gmail.com

To: lilypond-devel@gnu.org
Sent: Saturday, August 20, 2011 1:22 PM
Subject: changing e-mail address



Hi everyone,

sorry for disappearing without a notice...  I'm back and digging my
way through e-mails.
I've created myself a dedicated mailbox for Lily purposes:
janek.lilyp...@gmail.com - please use it instead of this one!

thanks,
Janek

PS please add janek.lilyp...@gmail.com to the tracker and wherever
else is needed.



That's a bit easier to remember than the lemniskata one :-)

You want me to delete the old one from the tracker, too?

--
Phil Holmes



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


Re: changing e-mail address

2011-08-20 Thread Janek Warchoł
2011/8/20 Phil Holmes m...@philholmes.net:
 - Original Message - From: Janek Warchol
 lemniskata.bernoull...@gmail.com

 PS please add janek.lilyp...@gmail.com to the tracker and wherever
 else is needed.


 That's a bit easier to remember than the lemniskata one :-)

Indeed :)

 You want me to delete the old one from the tracker, too?

Yes, please.

thanks,
Janek

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


Re: how many patches can we review?

2011-08-20 Thread Janek Warchoł
2011/8/16 Graham Percival gra...@percival-music.ca:
 We're up to 59 patches now, plus 17 patches on the plz review; no
 known problems list.  We're losing ground quickly, and this will
 soon become a serious problem for developers and contributors (if
 it isn't already).
 I see three options, none of which fill me with joy.

 1) encourage more pushing without reviews.
 2) assign certain people to be in charge of certain areas (e.g.
 Carl has final say over anything beaming-related), and encourage
 that person to review+push patches in his area ASAP.
 3) double or triple the rate of patches in the countdown.

 Out of those options, I dislike #3 the least.  I'm thinking of
 having 10 patches per countdown, 48 hours for each countdown.  I
 know that's a lot of reviewing, but if we want to keep the
 opportunity for reviews, that's the kind of workload we need to
 handle.

+1

cheers,
Janek


2011/8/16 Mike Solomon mike...@ufl.edu:
 That said, I find that there is a positive correlation between the amount of 
 my music that gets played / paid / enjoyed and the amount of development I do 
 for LilyPond (I have no clue how this works, as in theory this means I have 
 less time, but oh well!).  So, I don't anticipate stopping my quest to 
 eliminate all collisions[1] from LilyPond in the near future.

:D

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


Re: GOP-PROP 8: issue priorities (probable 2)

2011-08-20 Thread Janek Warchoł
LGTM

2011/8/16 Graham Percival gra...@percival-music.ca:
 Minor update for clarity and discussion from the past few days.
 We're aiming to accept the final proposal on Thursday.
 http://lilypond.org/~graham/gop/gop_8.html


 ** Proposal summary

 Let’s get rid of priorities. We will simply describe bugs in
 neutral terms; each contributor can search and interpret the
 results as he or she sees fit.

 We will make a “Type-Critical”; a new stable release will only
 occur if there are 0 type-Critical issues.

 ** Rationale

 There is wide disagreement on what “priorities” should mean, or
 how they should be interpreted. Do they represent which
 “milestone” we want a fix by? How bad are crashes? How important
 are matters which hinder future development?

 Given that we treat developers as independent volunteers, the
 notion of an externally-imposed “priority” seems a stretch.

 The remaining question concerns Critical issues, and more
 generally, “what does a release mean?”. Our source tree is open;
 anybody can download and try any version. Our unstable development
 releases are freely available. The only distinction between git
 master and a “stable release” is our mark of approval. A new
 stable release indicates that we think the software is usable, and
 attracts more attention than an unstable release. In addition to
 user attention, it also attracts the attention of potential
 contributors, so we should avoid having any glaring problems which
 would stop somebody from contributing and turn them away – we do
 not want to put our “stamp of approval” on something which might
 cost us potential contributors.

 ** Proposal details

 We will delete “priority” altogether. The “type” system will be
 tweaked.

 Type-critical:

    * a reproducible failure to build either make or make doc,
      from an empty build tree, in a first run, if configure does
      not report any errors.
    * any program behaviour which is unintentionally worse than
      the previous stable version or the current development
      version. Developers may always use the “this is
      intentional”, or even the “this is an unavoidable effect of
    * an improvement in another area”, reason to move this to a
      different type.
    * anything which stops contributors from helping out (e.g.
      lily-git.tcl not working, source tree(s) not being
      available, lilydev being unable to compile git master,
      inaccurate instructions in the Contributor’s Guide 2 Quick
      start).

      To limit this scope of this point, we will assume that the
 contributor is using the latest lilydev and has read the relevant
 part(s) of the Contributor’s Guide. Problems in other chapters of
 the CG are not sufficient to qualify as Type-Critical.

 ** More new/changed types and labels

 Unless otherwise specified, the current types and labels will
 continue to be used.

    * Type-crash: any segfault, regardless of what the input file
      looks like or which options are given. Disclaimer: this
      might not be possible in some cases, for example certain
      guile programs (we certainly can’t predict if a piece of
      scheme will ever stop running, i.e. the halting problem), or
      if we rely on other programs (i.e. ghostscript). If there
      are any such cases that make segfault-prevention impossible,
      we will document those exceptions (and the issue will remain
      as a crash instead of documentation until the warning
      has been pushed).
    * Type-maintainability: anything which makes it difficult for
      serious contributors to help out (e.g. difficult to find the
      relevant source tree(s), confusing policies, problems with
      automatic indentation tools, etc).
    * Type-ugly: replaces Type-collision, and it will include
      things like bad slurs in addition to actual collision.
    * (label) Needs_evidence: it is not clear what the correct
      output should look like. We need scans, references,
      examples, etc.

 ** Shutting up users

 We can remind users that they can “star” an issue to indicate that
 they care about it. I could not possibly care less about what
 users think, but if any contributors want to look at that info and
 organize their work schedule according to that, they’re welcome to
 do so. Also, the stars might serve as a placebo for users.

 ** Implementation notes

 Yes, revising the current issue tracker will take a fair amount of
 effort, but I have a plan for this. Don’t waste time pointing this
 out.


 Cheers,
 - Graham

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


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


Re: Kievan square notation in LilyPond

2011-08-20 Thread Janek Warchoł
Hi Aleksandr,

i'm finally back to this.
How much experience do you have with git and Lily source code?  I ask
because i don't know how detailed explanations should i provide :)
I've looked at the metafont code you provided.  It won't be hard to
include it in Feta font as a separate group of glyphs, i've prepared a
patch that begins this process.  Please examine the attached patch and
add it to your git repository; it adds all necessary meta files and
one kievan glyph.  I had some problem translating u into staff_spaces
- did i guess correctly that u = 2 staff_spaces?
I attach a simple test file that uses an override to choose kievan
quarter glyph, therefore checking that it is available in Feta font.
What should be done now: code of remaining glyphs should be added to
feta-kievan.mf.
Plese let me know if you have any problems or questions (or if you
don't know where to start!).  I hope to answer much faster now :)

hope this helps,
Janek


kievan-test.pdf
Description: Adobe PDF document


kievan-test.ly
Description: Binary data


0001-add-basic-infrastructure-for-kievan-font.patch
Description: Binary data
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: changing e-mail address

2011-08-20 Thread Phil Holmes
- Original Message - 
From: Janek Warchoł lemniskata.bernoull...@gmail.com

To: Phil Holmes m...@philholmes.net
Cc: lilypond-devel@gnu.org
Sent: Saturday, August 20, 2011 1:30 PM
Subject: Re: changing e-mail address



2011/8/20 Phil Holmes m...@philholmes.net:

- Original Message - From: Janek Warchol
lemniskata.bernoull...@gmail.com


PS please add janek.lilyp...@gmail.com to the tracker and wherever
else is needed.



That's a bit easier to remember than the lemniskata one :-)


Indeed :)


You want me to delete the old one from the tracker, too?


Yes, please.

thanks,
Janek



Done

--
Phil Holmes



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


Re: Moving away from make

2011-08-20 Thread Graham Percival
On Sat, Aug 20, 2011 at 11:06:29AM +0200, Jan Nieuwenhuizen wrote:
 Han-Wen Nienhuys writes:
 
  Given that Cmake has a large following (examples include KDE and
  LLVM), I'd be comfortable with switching to that.
 
 Interesting; have you ever used Cmake?

I migrated Marsyas (a moderately-sized project; 200,000 lines of
code) from a combination of autotools and qmake (i.e. two separate
build systems, maintained in tandem!) to cmake.

 Last time I looked (migrated a cmake project to autotools), Cmake did
 only have proprietary documentation

Yes.  Most of my cmake knowledge from reading slides of conference
presentations and bug reports on their mailing list (or on blogs).

 introduced a rather crappy home brew language,

Change that to extremely crappy home-brew language.  Their
crappy home-brew language is ridiculously far away from the
readability of modern scripting languages like python and lua.
That said, it still avoids the confusing $ $@ syntax from make.

 cached make information in generated makefiles that do not use
 variables for $(CC) or $(CFLAGS),

I know it's extremely easy for users to change CC/CFLAGS/CXXFLAGS
variables during the cmake configure stage.  IMO, the generated
makefiles aren't particularly intended to be human-readable.

 has a IMHO nasty way of overriding such variables on the
 cmake command line.

Never use the cmake command line; always use ccmake (or even the
graphical one, although I've never done that myself).

 Also, it did not have an easy way to create
 help from the command line

There's good help strings in ccmake; I'm not bothered by this one.

 or a facility to have virtual targets or a nice way to say:
 `make -C lily out/parser.o' because all file names were
 absolute, fully expanded names.

Hmm, I can't comment either way on this one.  I'd be surprised if
there was no way to do this, but OTOH I've been surprised about
some brain-dead cmake stuff in the past.

Most recently: in cmake 2.6, you can specify a working directory
for a compile target, but you can't specify a working directory
for a unit test.  Recommended solution: write a python wrapper
that changes to the relevant directory and runs your command, then
exports the exit code.


Overall, cmake is not an unambiguous win... but if I were starting
a new moderate-sized project, I'd probably use cmake rather than
any of the other build systems.

Cheers,
- Graham

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


Re: Lilypond's SVG output

2011-08-20 Thread Sandor Spruit

Op 19-08-11 10:19, Mike Solomon schreef:

On Aug 19, 2011, at 10:04 AM, Sandor Spruit wrote:

[snip]

- In what version, exactly, did Lilypond drop the use of groups (svg:g) in its
output?

LilyPond still uses groups.  grep g in scm/output-svg.scm.
OK, thanks. I stand corrected. Let me rephase my comment. When looking 
at the
very nice example Tim Sawyer (percussion360.com) posted on the user list 
this
afternoon, I think the use of svg:g needs a bit of work to enable that 
sort of app.



I read a debate on this issue, where the key argument against groups was the
trouble people have in editing grouped SVG elements in Inkscape. I can, however,
imagine all sorts of situations in which group elements could be very useful -
from a developer's point of view at least. This leads to the second question:

- For what purpose are people putting music up on the web; what's the typical
use case?

Check the list archives for an e-mail from Michael Geary.  He's working on this.
I do it too for my musical compositions (http://www.apollinemike.com/norman1).

OK. I think I've found the mail you're referring too.


Just publishing it for others to read? Hyperlinking to it, from it? Annotations?
Keeping bits and pieces of music for later reference? Learning? Studying?
Comparing versions?

There is no formal hub that groups these efforts together, but as the SVG 
standard becomes better supported by more and more browsers, I'm sure it'll get 
picked up by more and mor epeople.
There's a number of additional comments on the list that I missed the 
first time

round.


I may, at some point, be in the position to do some work on this. But I'm
hesitant to dive in at the deep end - meaning Lilypond tens of thousands of
lines of code ...

You don't need to jump into tens and thousands of lines of LilyPond code - all 
of the svg backend is present in output-svg.scm.
Michael Geary is likely to be sponsoring some work on this too - I'll keep you 
posted if/when this happens.
Well, I do feel I need to have some insight into the inner workings of 
Lilypond
before I can do anything meaningfull here, i.e. more than just the 
backend. A

solution enabling a more general use of the features Tim demonstrates may
be use in research too, so maybe I can work on this during office hours...

cheers,
Sandor


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


Make doc is broken

2011-08-20 Thread Phil Holmes
I think Reinhold's commit cfcb9efdbd7c6600fc89fc912ba80529010b31e7 has 
broken make doc.  I've just done a clean build (fresh build directory) and 
get this at the end of a failed make doc:


LILYPOND_VERSION=2.15.9 /usr/bin/python 
/home/phil/lilypond-git/scripts/lilypond-book.py -I 
/home/phil/lilypond-git/input/regression/musicxml/ -I ./out-www -I 
/home/phil/lilypond-git/input -I /home/phil/lilypond-git/Documentation -I 
/home/phil/lilypond-git/Documentation/snippets -I 
/home/phil/lilypond-git/input/regression/ -I 
/home/phil/lilypond-git/Documentation/included/ -I 
/home/phil/lilypond-git/build/mf/out/ -I 
/home/phil/lilypond-git/build/mf/out/ -I 
/home/phil/lilypond-git/Documentation/pictures -I 
/home/phil/lilypond-git/build/Documentation/pictures/./out-www --process='/home/phil/lilypond-git/build/out/bin/lilypond 
-I /home/phil/lilypond-git/input/regression/musicxml/ -I ./out-www -I 
/home/phil/lilypond-git/input -I /home/phil/lilypond-git/Documentation -I 
/home/phil/lilypond-git/Documentation/snippets -I 
/home/phil/lilypond-git/input/regression/ -I 
/home/phil/lilypond-git/Documentation/included/ -I 
/home/phil/lilypond-git/build/mf/out/ -I 
/home/phil/lilypond-git/build/mf/out/ -I 
/home/phil/lilypond-git/Documentation/pictures -I 
/home/phil/lilypond-git/build/Documentation/pictures/./out-www -dbackend=eps 
--formats=ps,png,pdf  -dinclude-eps-fonts -dgs-load-fonts --header=doctitle 
--header=doctitlecs --header=doctitlede --header=doctitlees --header=doctitlefr 
--header=doctitlehu --header=doctitleit --header=doctitleja --header=doctitlenl 
--header=doctitlezh --header=texidoc --header=texidoccs --header=texidocde  
--header=texidoces --header=texidocfr --header=texidochu --header=texidocit  
--header=texidocja --header=texidocnl --header=texidoczh -dcheck-internal-types 
-ddump-signatures -danti-alias-factor=2' --output=./out-www --format=texi-html 
--verbose  --lily-output-dir 
/home/phil/lilypond-git/build/out/lybook-db --load-custom-package=book-musicxml-testsuite.py 
out-www/collated-files.tely

langdefs.py: warning: lilypond-doc gettext domain not found.
Traceback (most recent call last):
 File /home/phil/lilypond-git/scripts/lilypond-book.py, line 693, in 
module

   main ()
 File /home/phil/lilypond-git/scripts/lilypond-book.py, line 624, in main
   files = do_options ()
 File /home/phil/lilypond-git/scripts/lilypond-book.py, line 610, in 
do_options

   print imp.load_source (book_custom_package%s % nr, i)

In my previous succesful make, there was 
no --load-custom-package=book-musicxml-testsuite.py  option.


git grep -e 'load-custom-package'
input/regression/musicxml/GNUmakefile:LILYPOND_BOOK_FLAGS 
+= --load-custom-packa


This line was added with the commit above.  Could you have a look at this, 
please, Reinhold?


--
Phil Holmes



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


Fwd: [Bug 503290] too thick barlines from GNU LilyPond PDF

2011-08-20 Thread Francisco Vila
Dear friends, I forward this from the poppler team.
Amigos, os reenvío esto que me llega del equipo de Poppler.
-- Mensaje reenviado --
De: evince bugzi...@gnome.org
Fecha: 20/08/2011 12:22
Asunto: [Bug 503290] too thick barlines from GNU LilyPond PDF
Para: francisco.v...@hispalinux.es

https://bugzilla.gnome.org/show_bug.cgi?id=503290
 evince | printing | 2.20.x

Adrian Johnson ajohnson changed:

  What|Removed |Added

CC||ajohn...@redneon.com

--- Comment #9 from Adrian Johnson ajohn...@redneon.com 2011-08-20
10:22:19 UTC ---
The problem has been fixed in poppler git. It was caused by stroking a zero
width line. This is supposed to draw the thinnest line possible on the
output
device. As cairo does not support 0 width lines, poppler was setting the
line
width of a 0 width line to 1 unit. This is correct for the screen where 1
unit
== 1 pixel is the thinnest line. But when printing 1 unit == 1/72 which is
too
thick.

I'm not sure why LilyPond wants to fill a rectangle then stroke a 0 width
line
around it. The second step seems to be redundant. The PDF Reference says
that 0
width lines should not be used because the result is device dependent.

--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You reported the bug.

--
Analizado antispam/virus.
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Make doc is broken

2011-08-20 Thread Jean-Charles Malahieude

Le 20/08/2011 16:26, Phil Holmes disait :

I think Reinhold's commit cfcb9efdbd7c6600fc89fc912ba80529010b31e7
has broken make doc. I've just done a clean build (fresh build
directory) and get this at the end of a failed make doc:

[...]


I had made a fresh build and make doc before pushing, and have not
encountered this...

Let me try it again while translating on a local clone, and saving the
logs just in case. Without a -j3, it will last about 90mn.

Cheers,
Jean-Charles

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


Re: Make doc is broken

2011-08-20 Thread Graham Percival
On Sat, Aug 20, 2011 at 03:26:48PM +0100, Phil Holmes wrote:
  File /home/phil/lilypond-git/scripts/lilypond-book.py, line 624, in main
files = do_options ()
  File /home/phil/lilypond-git/scripts/lilypond-book.py, line 610,
 in do_options
print imp.load_source (book_custom_package%s % nr, i)

I saw the same thing, but it went away when I did a complete
rebuild from source.  I think in this case lilypond-book is not
being rebuilt when it should be, but I personally just deleted the
build dir and rebuilt instead of investigating further.

Cheers,
- Graham

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


Re: Make doc is broken

2011-08-20 Thread Reinhold Kainhofer
Hi Phil,

Am Saturday, 20. August 2011, 16:26:48 schrieb Phil Holmes:
 I think Reinhold's commit cfcb9efdbd7c6600fc89fc912ba80529010b31e7 has
 broken make doc.  I've just done a clean build (fresh build directory) and
 get this at the end of a failed make doc:
[...]
 Traceback (most recent call last):
   File /home/phil/lilypond-git/scripts/lilypond-book.py, line 693, in
 module
 main ()
   File /home/phil/lilypond-git/scripts/lilypond-book.py, line 624, in
 main files = do_options ()
   File /home/phil/lilypond-git/scripts/lilypond-book.py, line 610, in
 do_options
 print imp.load_source (book_custom_package%s % nr, i)

Do you also have any error message from python? This is just the traceback, 
i.e. it tells you where a problem appeared, but without the actual error 
message, it's really hard to tell what's wrong and how to fix it...


 In my previous succesful make, there was
 no --load-custom-package=book-musicxml-testsuite.py  option.
 
 git grep -e 'load-custom-package'
 input/regression/musicxml/GNUmakefile:LILYPOND_BOOK_FLAGS
 += --load-custom-packa
 
 This line was added with the commit above.  Could you have a look at this,
 please, Reinhold?

Here it works just fine. 
[...]
-danti-alias-factor=2' --output=./out-www --format=texi-html   --lily-output-
dir /home/reinhold/lilypond/lilypond/out/lybook-db --load-custom-package=book-
musicxml-testsuite.py out-www/collated-files.tely
langdefs.py: warning: lilypond-doc gettext domain not found.
module 'book_custom_package1' from 'book-musicxml-testsuite.py'
lilypond-book.py (GNU LilyPond) 2.15.9
Reading out-www/collated-files.tely...
Dissecting...
[...]

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

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


Re: Check for null pointer

2011-08-20 Thread Dan Eble

On 2011-08-18, at 10:11 , Carl Sorensen wrote:

 On 8/17/11 10:41 PM, Dan Eble d...@faithful.be wrote:
 
 What I have so far is a backtrace:
  http://lists.gnu.org/archive/html/lilypond-devel/2011-08/msg00494.html
 and a large amount of input spread across many files, which is why I chose to
 review the lilypond source first.
 
 It may also be of interest that I am generating PartCombineMusic with scheme
 functions other than the stock part combiner.
 --
 Two questions:
 
 1) Is the segfault repeatable?

After extensive testing, the answer is yes, but it's complicated.  It is 
repeatable, but the result doesn't depend only on the input.

When I build, I prefer to use a program called color that captures standard 
output and standard error and highlights the errors.  Here's what happens.  In 
the following list, X is a makefile target, and Y is the lilypond command line 
that make X runs.

color make X   - crash
make X - OK
time make X- OK

color Y- OK
Y  - OK
time Y - OK

make X 2err.txt out.txt  - OK

 2) If so, can you test it on the latest development release?

I tried Graham's experimental 2.15.9 (from last week) and it worked fine at 
first, but then I tried running it via gdb and it crashed with similar but not 
identical backtrace as 2.14.2.  (The caller of kill_mmrest is 
Part_combine_iterator::process instead of Part_combine_iterator::unisono).
-- 
Dan


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


Re: \once \revert

2011-08-20 Thread David Kastrup
Carl Sorensen c_soren...@byu.edu writes:

 On 8/19/11 10:15 AM, David Kastrup d...@gnu.org wrote:
 
 Up to now, \once \revert is not really documented nor used.  I have not
 yet dug through the existing code in order to figure out what it does if
 anything (most likely ignoring \once, but not sure).

 I would expect that \once \revert would revert an \override for the
 current time step only (meaning events whose start time is the current
 moment).  For any events whose start time is other than the current
 moment, the \override would continue to apply.
 
 In order to not have the override/revert stack get into unexpected
 interactions, I want to change \once\override to be impervious to
 normal reverts.

 This seems to me to be a wise decision.  \once \override is a
 statement that you are creating an override for everything happening
 at the current moment; reverts would not seem to apply.

The main problem is that \once\override comes with its own implicit
revert at the end of the time step, and when this implicit revert
applies to a different \override, things get surprising.  If this
implicit revert is made special so that it will only ever apply to its
corresponding \override, then having other \reverts match the
\once\override will seem surprising.

 That would mean that \once\revert is an obvious candidate for
 reverting a \once\override before its time.  However, I have no idea
 whether there is an actual sensible use for that functionality.

 I can see no sensible use for that functionality.  You would have
 conflicting statements about what should happen at this time.

Well, overrides are operating in a stack, so the last one wins.  Not too
difficult too understand.
 
 \once\revert could also mean to let a current non-once override become
 inactive just for the current time step.

 As I mentioned above, I think this is the logically consistent meaning.

 That's likely harder to
 implement, I think.

 You have *clearly* studied this and thought about it much more than I
 (and I'm grateful for your tackling this issue).  I would think that a
 \once command would not need a stack.  \once means create a new
 setting from the current setting, and apply it at this moment, but
 don't carry it forward.  But again, you have much more basis for your
 observations than I have for mine.

Don't carry it forward naively means reinstate the previous state,
but that would cancel any other changes happening after the
\once\whatever.  This is what happens right now with \once\override, and
it is confusing.

So a cleaner interpretation is make things as if the \once\whatever
never occured.  However, the definition of \revert is make things as
if the \override on top of the stack never occured.  That would mean
that \once\revert would have to disable the override, but let it keep
its position on the stack.  And temporarily disabling an override is an
operation that requires its own implementation that is different from
the other implemented operations.  Basically, we need to store the
\revert on the stack, when we only store instances of \override there
usually.  What happens if you do \once\revert \revert?  Is the \override
reverted by \once\revert now protected from the second \revert and
resurfaces after our current time step?  Is it affected by the non-\once
revert?  Is it invisible to it, so that the non-\once revert picks the
next \override in the stack to revert?

I don't think there is sufficient need for investing the effort of
defining clear and consistent semantics for all that.

 I have no idea whether there is a sensible use, either, but it is
 logically consistent, IMO.

It is also logically consistent to let the prefix \once make the
following operation work on the set of \once overrides, as opposed to
the set of not-\once overrides.  And the sets differ by having the \once
overrides be autocleared at the end of the timestep.

 Since the parser permits \once\revert, I tend towards making it match
 the last \once\override.  It likely does not make much sense, but then
 it is sort of easy to understand.

 I lean to the opposite use, as I have described.

Then you should make a convincing proposal for resolving the cases I
described above.

 To me, 

 \once \override x = #y
 \once \revert x

 should be an undefined state, since there are two conflicting commands.  Why
 should the second one have preference over the first?  Just because it comes
 later in the text stream?

Yup.  Because overrides and reverts work on a stack.

 I'd be fine with having the documentation say something like

 When two \once commands conflict, the resulting state is indeterminate.
 You should never have two \once commands at the same musical moment that
 affect the same property setting.

We need a stack, anyway, so there is no point in treating \once commands
different regarding the order relations.

 In fact, I think I would be in favor of removing \once \revert from
 the parser.  The semantics of \once \revert can be 

Re: Make doc is broken

2011-08-20 Thread Jean-Charles Malahieude

Le 20/08/2011 17:26, Jean-Charles Malahieude disait :

Le 20/08/2011 16:26, Phil Holmes disait :

I think Reinhold's commit cfcb9efdbd7c6600fc89fc912ba80529010b31e7
has broken make doc. I've just done a clean build (fresh build
directory) and get this at the end of a failed make doc:

[...]


I had made a fresh build and make doc before pushing, and have not
encountered this...

Let me try it again while translating on a local clone, and saving the
logs just in case. Without a -j3, it will last about 90mn.




Verdict: success

Cheers,
Jean-Charles

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


Re: Check for null pointer

2011-08-20 Thread Reinhold Kainhofer
Am Saturday, 20. August 2011, 19:29:38 schrieb Dan Eble:
 On 2011-08-18, at 10:11 , Carl Sorensen wrote:
  On 8/17/11 10:41 PM, Dan Eble d...@faithful.be wrote:
  What I have so far is a backtrace:
   http://lists.gnu.org/archive/html/lilypond-devel/2011-08/msg00494.html
  
  and a large amount of input spread across many files, which is why I
  chose to review the lilypond source first.
  
  It may also be of interest that I am generating PartCombineMusic with
  scheme functions other than the stock part combiner.
  --
  
  Two questions:
  
  1) Is the segfault repeatable?
 
 After extensive testing, the answer is yes, but it's complicated.  It is
 repeatable, but the result doesn't depend only on the input.
 
 When I build, I prefer to use a program called color that captures
 standard output and standard error and highlights the errors.  Here's what
 happens.  In the following list, X is a makefile target, and Y is the
 lilypond command line that make X runs.
 
 color make X   - crash
 make X - OK
 time make X- OK
 
 color Y- OK
 Y  - OK
 time Y - OK
 
 make X 2err.txt out.txt  - OK

So, basically, you are saying that whenever you run make X through color, it 
will crash, but it will not crash in any other cases? 
Are you sure this is not a problem of color together with make (I had some 
strange problems that only occured when something was called by make, because 
the locale settings were messed up)?

  2) If so, can you test it on the latest development release?
 
 I tried Graham's experimental 2.15.9 (from last week) and it worked fine at
 first, but then I tried running it via gdb and it crashed with similar but
 not identical backtrace as 2.14.2.  (The caller of kill_mmrest is
 Part_combine_iterator::process instead of Part_combine_iterator::unisono).

Hmm, do you have any example file where this appears (even if it's not 
minimal, for now it's just important that we can reproduce it somehow).

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

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


Re: Creates pure closures (issue 4894052)

2011-08-20 Thread Mike Solomon

On Aug 20, 2011, at 12:39 AM, n.putt...@gmail.com wrote:

 
 http://codereview.appspot.com/4894052/diff/9001/input/regression/pure-closure.ly
 File input/regression/pure-closure.ly (right):
 
 http://codereview.appspot.com/4894052/diff/9001/input/regression/pure-closure.ly#newcode18
 input/regression/pure-closure.ly:18: #(ly:make-pure-closure
 ly:stem::height '(-3 . 10))
 I'm a bit worried this is too close to an extra-spacing-height override
 to make a good test example.
 

I'll try to think of something better...if you have any suggestions in the 
meantime, they're certainly welcome!

 http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc
 File lily/pure-closure.cc (right):
 
 http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode36
 lily/pure-closure.cc:36: return (SCM) SCM_CELL_WORD_1 (smob);
 SCM_PACK (SCM_CELL_WORD_1 (smob));
 
 (if you want to be strict :)

I have no clue how these SCM functions work, but I'll take your word for it!

 
 http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode43
 lily/pure-closure.cc:43: return (SCM) SCM_CELL_WORD_2 (smob);
 SCM_PACK (SCM_CELL_WORD_2 (smob));
 

Ditto.

 http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode60
 lily/pure-closure.cc:60: SCM_NEWSMOB2 (z, pure_closure_tag, unpure,
 pure);
 SCM_UNPACK (unpure), SCM_UNPACK (pure)
 

Done.

 http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode68
 lily/pure-closure.cc:68: assert (is_pure_closure (pc));
 optimized builds will segfault on invalid args, so you should use
 LY_ASSERT_TYPE () here
 

Done.

 http://codereview.appspot.com/4894052/diff/9001/lily/pure-closure.cc#newcode76
 lily/pure-closure.cc:76: assert (is_pure_closure (pc));
 LY_ASSERT_TYPE ()
 

Done.

 http://codereview.appspot.com/4894052/diff/9001/scm/define-grobs.scm
 File scm/define-grobs.scm (left):
 
 http://codereview.appspot.com/4894052/diff/9001/scm/define-grobs.scm#oldcode2655
 scm/define-grobs.scm:2655: (if (not (procedure? unpure))
 I think you want this instead:
 
 (let ((pure (ly:pure-closure-pure-part unpure)))
(if (not (procedure? pure))
pure
(apply pure
   (append (list (car args) start end) (cdr args)
 

I've added a hideous code dup to cover all cases.  This will be attenuated and 
removed if I can find the time to move all of LilyPond's pure code over to 
unpure-pure-containers.

New patchset up.

Thanks Neil!

Cheers,
MS
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


beamlets and tuplets

2011-08-20 Thread Carl Sorensen
For several weeks now, I've been working in fits and starts, with lots of
dead ends, on the oldest bug in the LilyPond issue tracker -- issue #11
Beamlet on wrong side of tuplet sixteenth.

The good news is, I think I have a fix for that bug (and it's only 5 years
old).

But before I push a patch for review, I'd like to verify that the beamlet is
in the right position on all of notes in the attached png.

If you could review it and be sure that I've got it right, then I'll clean
up the patch, run the files through fixcc.py, and post them for review.

Thanks,

Carl



beamlet-test.png
Description: beamlet-test.png
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Check for null pointer

2011-08-20 Thread Dan Eble
On 2011-08-20, at 16:00 , Reinhold Kainhofer wrote:

 So, basically, you are saying that whenever you run make X through color, 
 it 
 will crash, but it will not crash in any other cases? 
 Are you sure this is not a problem of color together with make (I had some 
 strange problems that only occured when something was called by make, because 
 the locale settings were messed up)?

I've been using color with make for years without any problems (really that's 
the only thing I use it with!); however, I just recently started using OS X 
10.7, so I wouldn't rule it out.  On the other hand, I did observe a very 
similar crash running 2.15.9 in gdb without either of them.

 I tried Graham's experimental 2.15.9 (from last week) and it worked fine at
 first, but then I tried running it via gdb and it crashed with similar but
 not identical backtrace as 2.14.2.  (The caller of kill_mmrest is
 Part_combine_iterator::process instead of Part_combine_iterator::unisono).
 
 Hmm, do you have any example file where this appears (even if it's not 
 minimal, for now it's just important that we can reproduce it somehow).

Be my guest.

1. extract http://faithful.be/sheet-music/dfe-books-20110820.tar.bz2
2. edit the top-level Makefile to set the LILYPOND variable
3. make PraiseAndPrayer PARTS=piano

Once the output directories are created you should be able to run it again 
without make, if you want.  (Running in gdb is when I see 2.15.9 crash.)  The 
command would be

lilypond -Iinclude -dno-point-and-click -e '(begin (primitive-load 
src/scm/part-analyzer.scm) (primitive-load src/scm/part-combiner.scm))' 
-Iinclude/part/piano -Isrc -o piano src/books/PraiseAndPrayer.ly

Thanks for your help,
-- 
Dan


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


Improves horizontal spacing of axis groups that SpanBar grobs traverse. (issue 4917046)

2011-08-20 Thread mtsolo

Reviewers: ,

Message:
Hey all,

I've been thinking about Neil's comment regarding a better interface for
cross-staff stems.  While this patch has nothing to do with stems per
se, it lays down the framework for dealing with cross-staff stems via a
test-case with SpanBar grobs (which are like cross-staff stems insofar
as they span between staves and take their alignment anchors from grobs
with pure height approximations).

In doing so, it fixes issue 910 (regest added to show this) and gets rid
of an unreported but bad problem that SpanBar pure heights are either
empty or not depending on the common refpoint being used.  In theory, a
pure height should return the same value for .length () every time.

Cheers,
MS

Description:
Improves horizontal spacing of axis groups that span bars traverse.

Please review this at http://codereview.appspot.com/4917046/

Affected files:
  A input/regression/span-bar-allow-span-bar.ly
  M lily/align-interface.cc
  M lily/include/align-interface.hh
  A lily/pure-from-neighbor-engraver.cc
  A lily/pure-from-neighbor-interface.cc
  M lily/span-bar-engraver.cc
  A lily/span-bar-stub-engraver.cc
  M lily/span-bar.cc
  M ly/engraver-init.ly
  M scm/define-grob-properties.scm
  M scm/define-grobs.scm
  M scm/output-lib.scm



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


Re: beamlets and tuplets

2011-08-20 Thread Mike Solomon
Can you send a test case without dots (i.e. \times 4/5 { c8 [ c16 c8 c16 c8 c8 
] } to see if that's changed in the new patch ?

Cheers,
MS

On Aug 20, 2011, at 10:47 PM, Carl Sorensen wrote:

 For several weeks now, I've been working in fits and starts, with lots of
 dead ends, on the oldest bug in the LilyPond issue tracker -- issue #11
 Beamlet on wrong side of tuplet sixteenth.
 
 The good news is, I think I have a fix for that bug (and it's only 5 years
 old).
 
 But before I push a patch for review, I'd like to verify that the beamlet is
 in the right position on all of notes in the attached png.
 
 If you could review it and be sure that I've got it right, then I'll clean
 up the patch, run the files through fixcc.py, and post them for review.
 
 Thanks,
 
 Carl
 
 beamlet-test.png___
 lilypond-devel mailing list
 lilypond-devel@gnu.org
 https://lists.gnu.org/mailman/listinfo/lilypond-devel


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


Re: Make doc is broken

2011-08-20 Thread Phil Holmes
- Original Message - 
From: Graham Percival gra...@percival-music.ca

To: Phil Holmes em...@philholmes.net
Cc: Devel lilypond-devel@gnu.org
Sent: Saturday, August 20, 2011 6:22 PM
Subject: Re: Make doc is broken



On Sat, Aug 20, 2011 at 03:26:48PM +0100, Phil Holmes wrote:
 File /home/phil/lilypond-git/scripts/lilypond-book.py, line 624, in 
main

   files = do_options ()
 File /home/phil/lilypond-git/scripts/lilypond-book.py, line 610,
in do_options
   print imp.load_source (book_custom_package%s % nr, i)


I saw the same thing, but it went away when I did a complete
rebuild from source.  I think in this case lilypond-book is not
being rebuilt when it should be, but I personally just deleted the
build dir and rebuilt instead of investigating further.

Cheers,
- Graham



This was a fresh build directory, with make/make doc.  I'll try another - it 
might be a sequencing thing.


--
Phil Holmes


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


Re: beamlets and tuplets

2011-08-20 Thread Bertrand Bordage
It looks good.
Is this also working with complex cases such as { \times 4/5 { a8 a32 a8
a16. a8 a8 } } ?
I think (not sure) the beamlets should be: 32 to the right, 16. to the left.

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


Re: beamlets and tuplets

2011-08-20 Thread Werner LEMBERG

 The good news is, I think I have a fix for that bug (and it's only 5
 years old).

Great!

 But before I push a patch for review, I'd like to verify that the
 beamlet is in the right position on all of notes in the attached
 png.

Making the beamlet always point to the dot looks OK.

What about

  O.   O  O.   O
  ||  ||
  |   -|  |   -|
  ++--++

Does this work correctly also?


Werner

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


@example is discouraged in docs

2011-08-20 Thread Graham Percival
Why is there an @example in the NR-3.2 titling change:
6810d727b278d15825eecb2b497d1a966241d4eb

James spent a lot of work to allow us to easily create small,
complete-page, @lilypond.  In fact, this is done on line 617 of
that same file!

Please revert that doc change and put it on Rietveld for review.
James spent a few weeks working on that section.

- Graham

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


Re: oops! I've changed files in the `snippet' directory

2011-08-20 Thread Graham Percival
On Fri, Aug 19, 2011 at 10:29:12AM +0200, Werner LEMBERG wrote:
 
  No, it is not safe.  Your changes will be elminated the next time
  Neil (or Valentin, or anybody who cares about LSR) does a full
  import.  Historically, this only happens every 3-4 months, but it
  should be happening much more often than that.
 
 What about the following:

There are a lot of things that could be done to improve our
development process.  This is sadly not even in the top 20.

   (2) The next time makelsr gets called, start with the status at
   commit 12345678 as a base, *not* with HEAD.  Doing so, later
   fixes to the snippets within lilypond's git repository are
   saved.

...
can you do this automatically in a python script, assuming a
complete ignorance of git from the script-runner?  If so, then
patches appreciated.  I think it's overkill, though.

Cheers,
- Graham

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


Re: not all doc clean-ups are good

2011-08-20 Thread Graham Percival
On Fri, Aug 19, 2011 at 07:32:20AM +0200, Werner LEMBERG wrote:
 
  Please read:
  http://lilypond.org/doc/v2.15/Documentation/contributor/lilypond-formatting
  in particular the point about #.
...
 I interpret as being used for inline samples and the like.

Ah, good point!  I glanced at the subject line and didn't notice
that you were only changing the text parts and not @lilypond
parts.

I withdraw this complaint.

 Please be more specific what I'm missing.  In particular, many
 locations which I've fixed (at least in my opinion) were talking
 about, say, `#t' and `#foo' at the same time, which I consider *very*
 confusing.  There are two possiblities to fix it: Either by saying
 `#t' and `foo', or by saying `##t' and `#foo'.

Hmm.  I still have no clue about the difference between #t and
#foo, which certainly emphasizes that there *is* confusion.

The decision to always prepend with a # for any lilypond input
which accepts it (even if not strictly necessary) was made in GDP,
but that only narrows it down to Sep 2007 - Aug 2008.  I think it
was in the first half, but that doesn't help much.  :(
I spent a few minutes looking through the email archives without
finding the discussion, sorry.

However, that discussion was specifically about @lilypond stuff,
not the text.  So I'm now ok with this change; thanks for
explaining it to me.

Cheers,
- Graham

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


Re: not all doc clean-ups are good

2011-08-20 Thread Carl Sorensen
On 8/20/11 4:16 PM, Graham Percival gra...@percival-music.ca wrote:

 
 Hmm.  I still have no clue about the difference between #t and
 #foo, which certainly emphasizes that there *is* confusion.

#t is a Scheme value, as is foo

##t is a lilypond input value to get the scheme value #t
#foo is a lilypond input value to get the scheme value foo.

#t in lilypond gets the scheme value t, not the scheme value #t

So we need either #foo and ##t or foo and #t.  We should never mix those.

Thanks,

Carl


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


Re: not all doc clean-ups are good

2011-08-20 Thread Graham Percival
On Fri, Aug 19, 2011 at 07:32:20AM +0200, Werner LEMBERG wrote:
 
  I'm also not convinced that the insert breakpoints after slashes
  is a great change.  This makes the documentation source look
  really cludgy; is there no way that the breakpoints could be
  specified automatically?
 
 No, there isn't.

Hmm.  The next question would be how important is it to avoid (or
permit?  I've lost track of what we're doing here) line-breaks for
slashes ?  I'm not certain that it's worth fiddling with this.

I mean, if I were writing any docs these days, I would not
personally bother with the /@/ format.  With that in mind, I can't
find it in myself to reject other doc-patches for not using /@/.
If that's the case, then is it really a step forward to half
inconsistent doc source in this respect?  That would confuse
inexperienced (i.e. less than 2 years) doc editors.

 Actually, slashes should be completely avoided within normal prose,
...
 Maybe there is a native speaker who could remove many of the
 `/@/' stuff by reformulating the affected phrases if possible?

Hmm.  I agree for the more formal technical reference sections,
but I would prefer to leave them in the chattier Learning
manual.

 In my opinion, the primary goal is to produce excellent documentation
 in the *target output*, right?  This means that the resulting PDF and
 HTML should be excellent, and we should do everything to reach this
 goal.  To do so, I accept some cludginess in the documentation...

I don't accept this as a general principle.  What if we could
produce excellent-looking documentation by moving to raw tex?  Our
pool of possible doc editors would instantly shrink by 90%; I do
not think that is a good plan for long-term *maintained*
documentation.

I think it's already a bit too hard to get involved in doc work.
I mean, just look at James!  He's spent almost two years learning
this stuff, but he still doesn't feel terribly confident.  Yes,
his background is windows rather than linux -- but approximately
half of our new developers in the past 4 years come from that
background.


Our docs are stagnating badly.  I've been hoping to have the Grand
Documentation Project 2 in the near future, but at the moment it
looks like it's a choice of GLISS vs. GDP 2.  There's just too
many emergencies that keep on cropping up.  :(

Cheers,
- Graham

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


Re: not all doc clean-ups are good

2011-08-20 Thread Graham Percival
On Sat, Aug 20, 2011 at 04:21:38PM -0600, Carl Sorensen wrote:
 On 8/20/11 4:16 PM, Graham Percival gra...@percival-music.ca wrote:
 
  Hmm.  I still have no clue about the difference between #t and
  #foo, which certainly emphasizes that there *is* confusion.
 
 #t is a Scheme value, as is foo
 
 ##t is a lilypond input value to get the scheme value #t
 #foo is a lilypond input value to get the scheme value foo.
 
 #t in lilypond gets the scheme value t, not the scheme value #t
 
 So we need either #foo and ##t or foo and #t.  We should never mix those.

Don't tell me; tell the documentation.

James is away.  Colin, when you get back from your grandkids, do
you want to look for any confusion in the docs about this?  Or
Trevor, are you interested in picking it up?  (iirc Colin doesn't
know much scheme)

Or are there any other volunteers?

Cheers,
- Graham

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


Re: beamlets and tuplets

2011-08-20 Thread Carl Sorensen

On 8/20/11 3:40 PM, Werner LEMBERG w...@gnu.org wrote:
 
 What about
 
   O.   O  O.   O
   ||  ||
   |   -|  |   -|
   ++--++
 
 Does this work correctly also?

Yes.  See attached PNG.

 
On 8/20/11 2:53 PM, Mike Solomon mike...@ufl.edu wrote:

 Can you send a test case without dots (i.e. \times 4/5 { c8 [ c16 c8 c16 c8 c8
 ] } to see if that's changed in the new patch ?
 

I think it's correct.  The flags point away from the normal beat and into
the syncopated beat.  See the PNG.

On 8/20/11 3:23 PM, Bertrand Bordage bordage.bertr...@gmail.com wrote:

 It looks good.
 Is this also working with complex cases such as { \times 4/5 { a8 a32 a8 a16.
 a8 a8 } } ?
 I think (not sure) the beamlets should be: 32 to the right, 16. to the left.
 

I agree with you.  I think it's right (but I'm not sure either).  At any
rate, the current patch produces 32 to the right, 16. to the left.  See the
PNG.

Having had this much confirmation, I'll go ahead and clean up my patch and
send it to Rietveld, where you all can test it out with as many difficult
beaming patterns as you want to throw at it.

Thanks for the pre-review,

Carl



beamlet-test-2.png
Description: beamlet-test-2.png
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Fix issue 11 -- beamlet points in wrong direction on tuplet (issue 4941041)

2011-08-20 Thread Carl . D . Sorensen

Reviewers: ,

Message:
I believe that this fixes issue 11.

Please review.

Thanks,

Carl


Description:
Fix issue 11 -- beamlet points in wrong direction on tuplet

Please review this at http://codereview.appspot.com/4941041/

Affected files:
  A input/regression/beamlet-test.ly
  M lily/auto-beam-engraver.cc
  M lily/beam-engraver.cc
  M lily/beaming-pattern.cc
  M lily/include/beaming-pattern.hh



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


Re: not all doc clean-ups are good

2011-08-20 Thread Trevor Daniels


Graham Percival wrote Saturday, August 20, 2011 11:29 PM

So we need either #foo and ##t or foo and #t.  We should never 
mix those.


Don't tell me; tell the documentation.


It's already partially covered:

http://www.lilypond.org/doc/v2.15/Documentation/learning/modifying-context-properties

Trevor



-
No virus found in this message.
Checked by AVG - www.avg.com
Version: 10.0.1392 / Virus Database: 1520/3846 - Release Date: 08/20/11


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


Re: \once \revert

2011-08-20 Thread Carl Sorensen
On 8/19/11 2:57 PM, David Kastrup d...@gnu.org wrote:

 Carl Sorensen c_soren...@byu.edu writes:
 
 On 8/19/11 10:15 AM, David Kastrup d...@gnu.org wrote:
 
 Up to now, \once \revert is not really documented nor used.  I have not
 yet dug through the existing code in order to figure out what it does if
 anything (most likely ignoring \once, but not sure).
 
 I would expect that \once \revert would revert an \override for the
 current time step only (meaning events whose start time is the current
 moment).  For any events whose start time is other than the current
 moment, the \override would continue to apply.
 
 In order to not have the override/revert stack get into unexpected
 interactions, I want to change \once\override to be impervious to
 normal reverts.
 
 This seems to me to be a wise decision.  \once \override is a
 statement that you are creating an override for everything happening
 at the current moment; reverts would not seem to apply.
 
 The main problem is that \once\override comes with its own implicit
 revert at the end of the time step, and when this implicit revert
 applies to a different \override, things get surprising.  If this
 implicit revert is made special so that it will only ever apply to its
 corresponding \override, then having other \reverts match the
 \once\override will seem surprising.

Let me see if I can state your concern with an example.

\override x = 1
\once \override x = 2
\override x = 3


At the current time step, you want to have x = 3, because of the
last-encountered override.

Then at the next time step, you want to have x = 3, because of the last
encountered override.

But if the \once \override x = 2 is canceled by an implicit revert, there is
the potential to have x = 1 at the next time step, which is a
counterintuitive and therefore wrong result.

I can see that this is not a desirable outcome.

My thought for the architecture is to have two sets of properties -- the
context set and the \once set.

Let me explain my thought.

Before any of these commands is issued, the context property set has x = 4.
The \once set is empty, because there has been no \once issued at this time.

when \override x = 1 is received, the context set gets an x=1 prepended (and
put on the stack, I suppose -- I'm not sure exactly how this is implemented
as a stack).

When \once \override x=2 is received, the context set gets copied to the
\once set, because we want to base the \once set on the current context set.
Then x=2 is put on the \once set, but not on the context set.

When \override x=3 is received, it's put on both the \once set and the
context set.

When it's time to get a property, since the \once set is not null, we get
the value from the \once set.

At the next time step, we set the \once set back to null, because there are
no \once overrides.  We don't need an implicit revert; we just forget the
\once set.

This comes at the price of carrying a second set of context properties when
we have a \once.  But that happens very rarely.  So really, we have the cost
of carrying an empty list around.

Under this architecture, \once means if the \once set is empty, copy it
from the current context properties

\override means apply the override to the context set.  If the \once set is
not empty, also apply it to the \once set.

\revert means apply the revert to the context set.  If the \once set is not
empty, also apply it to the \once set.

With this architecture, I don't think there are any surprises.

 
 I have no idea whether there is a sensible use, either, but it is
 logically consistent, IMO.
 
 It is also logically consistent to let the prefix \once make the
 following operation work on the set of \once overrides, as opposed to
 the set of not-\once overrides.  And the sets differ by having the \once
 overrides be autocleared at the end of the timestep.

As described above, I'd have \once work on the \once overrides, but I'd have
not-\once work on both sets.


Thanks for listening.

Carl


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


Re: PATCHES: 48-hour countdown

2011-08-20 Thread Keith OHara
Graham Percival graham at percival-music.ca writes:

 I know there's a lot of big things in here to review, 

I should make it two issues fewer. 
These two were on the list finished Friday, I've just not been on linux to push.

 % (single patch does both issues)
 accidentaled notes too far from the barline
 http://code.google.com/p/lilypond/issues/detail?id=1779
 Compressible space before the first note of a line ? 
 http://code.google.com/p/lilypond/issues/detail?id=1785
 http://codereview.appspot.com/4188051/

I'll remove the 'patch' label on the trackers (which I suppose I could have 
done 
Friday).



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


Re: Check for null pointer

2011-08-20 Thread Dan Eble
 On 2011-08-20, at 16:00 , Reinhold Kainhofer wrote:
 
 So, basically, you are saying that whenever you run make X through color, 
 it 
 will crash, but it will not crash in any other cases? 
 Are you sure this is not a problem of color together with make (I had some 
 strange problems that only occured when something was called by make, 
 because 
 the locale settings were messed up)?
 
 I've been using color with make for years without any problems (really that's 
 the only thing I use it with!); however, I just recently started using OS X 
 10.7, so I wouldn't rule it out.  On the other hand, I did observe a very 
 similar crash running 2.15.9 in gdb without either of them.
 
 I tried Graham's experimental 2.15.9 (from last week) and it worked fine at
 first, but then I tried running it via gdb and it crashed with similar but
 not identical backtrace as 2.14.2.  (The caller of kill_mmrest is
 Part_combine_iterator::process instead of Part_combine_iterator::unisono).
 
 Hmm, do you have any example file where this appears (even if it's not 
 minimal, for now it's just important that we can reproduce it somehow).

I wonder if this has anything to do with it:
http://article.gmane.org/gmane.comp.gnu.lilypond.bugs/27176

I discovered that using Ubuntu.  I am not up to building on OS X to try to 
establish a connection with the crashes I observed, but it seems possible.
-- 
Dan


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


Re: oops! I've changed files in the `snippet' directory

2011-08-20 Thread Werner LEMBERG

 (2) The next time makelsr gets called, start with the status at
 commit 12345678 as a base, *not* with HEAD.  Doing so, later
 fixes to the snippets within lilypond's git repository are
 saved.

 can you do this automatically in a python script, assuming a
 complete ignorance of git from the script-runner?

Will have a look.

 I think it's overkill, though.

Is it?  You want to silently override fixes to the better?

BTW, what about using git tags to mark the commits used for
global/local LSR imports?


Werner

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


Re: oops! I've changed files in the `snippet' directory

2011-08-20 Thread Graham Percival
On Sun, Aug 21, 2011 at 06:55:02AM +0200, Werner LEMBERG wrote:
 
  I think it's overkill, though.
 
 Is it?  You want to silently override fixes to the better?

If somebody edits a file specifically marked
%% DO NOT EDIT this file manually; it is automatically
%% generated from LSR http://lsr.dsi.unimi.it
?

 BTW, what about using git tags to mark the commits used for
 global/local LSR imports?

I think the commit message is enough for that?
LSR: local import
LSR: full import
?

Cheers,
- Graham

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


Re: not all doc clean-ups are good

2011-08-20 Thread Werner LEMBERG
  I'm also not convinced that the insert breakpoints after
  slashes is a great change.  This makes the documentation source
  look really cludgy; is there no way that the breakpoints could be
  specified automatically?

 No, there isn't.
 
 Hmm.  The next question would be how important is it to avoid (or
 permit?  I've lost track of what we're doing here) line-breaks for
 slashes?  I'm not certain that it's worth fiddling with this.

Well, it helps in situations like this

 This is a  paragraph with  some text to
 demonstrate  that  a  path  name   like
 /usr/local/share/lilypond/foo.bar
 should be split after backslashes.

which looks better with a break after the backslash:

 This is a  paragraph with  some text to
 demonstrate that a path name like /usr/
 local/share/lilypond/foo.bar should  be
 split after backslashes.

The much worse situation is this

 This is a  paragraph with  some text to
 demonstrate  that  a  path  name   like
 /usr/local/share/lilypond/longfilename.itely
 should be split after backslashes.

which gets improved to

 This is a  paragraph with  some text to
 demonstrate that a path name like /usr/
 local/share/lilypond/longfilename.itely
 should be split after backslashes.

 I mean, if I were writing any docs these days, I would not
 personally bother with the /@/ format.

Alas, most people don't care about formatting, and this can be seen in
zillion badly aformatted documents in the internet.  Is this desired?

 With that in mind, I can't find it in myself to reject other
 doc-patches for not using /@/.

Of course not!  It's an additional means to improve legibility in the
PDF.  Ragged-right documents don't really need this.

 If that's the case, then is it really a step forward to half
 inconsistent doc source in this respect?  That would confuse
 inexperienced (i.e. less than 2 years) doc editors.

Look, I'm walking over the docs to fix such instances.  I haven't said
that adding `@/' is a mandatory thing.  If an inexperienced doc editor
stumbles across `@/', she will look it up once, the she knows what it
is good for.  If she forgets to use it, it doesn't matter.  Where's
the problem?

 In my opinion, the primary goal is to produce excellent
 documentation in the *target output*, right?  This means that the
 resulting PDF and HTML should be excellent, and we should do
 everything to reach this goal.  To do so, I accept some cludginess
 in the documentation...
 
 I don't accept this as a general principle.  What if we could
 produce excellent-looking documentation by moving to raw tex?

This is a bad argument, and you know that :-)  We want good HTML at
the same time.

 I think it's already a bit too hard to get involved in doc work.  I
 mean, just look at James!  He's spent almost two years learning this
 stuff, but he still doesn't feel terribly confident.

You are mixing apples and oranges.  Most issues I see discussed here
are related to producing good contents, and this is OK.  My main
concern with my recent patches is *not* contents but formatting.


Werner

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


Re: not all doc clean-ups are good

2011-08-20 Thread Werner LEMBERG

 So we need either #foo and ##t or foo and #t.  We should never mix those.
 
 Don't tell me; tell the documentation.

It's already there.

 Or are there any other volunteers?

Obviously, I volunteered to walk over all instances to clean this
up...


Werner

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


Re: \once \revert

2011-08-20 Thread Werner LEMBERG

 Under this architecture, \once means if the \once set is empty,
 copy it from the current context properties

 \override means apply the override to the context set.  If the
 \once set is not empty, also apply it to the \once set.

 \revert means apply the revert to the context set.  If the \once
 set is not empty, also apply it to the \once set.

 With this architecture, I don't think there are any surprises.

+1

 As described above, I'd have \once work on the \once overrides, but
 I'd have not-\once work on both sets.

+1 also.


Werner

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


Re: oops! I've changed files in the `snippet' directory

2011-08-20 Thread Werner LEMBERG
 Is it?  You want to silently override fixes to the better?
 
 If somebody edits a file specifically marked
 %% DO NOT EDIT this file manually; it is automatically
 %% generated from LSR http://lsr.dsi.unimi.it
 ?

Hehe, you have a point.

 BTW, what about using git tags to mark the commits used for
 global/local LSR imports?
 
 I think the commit message is enough for that?
 LSR: local import
 LSR: full import
 ?

Is the format of this commit message fixed?  I'm asking because a
script might search for it.


Werner

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