Re: critical issues

2013-03-27 Thread Janek Warchoł
On Wed, Mar 27, 2013 at 6:54 AM, Werner LEMBERG w...@gnu.org wrote:

 https://code.google.com/p/lilypond/issues/detail?id=2656

 This is really bad.  I agree that it is critical.  I unfortunately
 have no way to test this, but do people have an ETA for fixing this?
 If not, it will hold 2.18 up for a long time, in which it may be
 worth pushing the translate_axis patch that I've been holding in the
 works.

 As can be seen in comment #26, Behdad is willing to help, but a
 LilyPond developer (or power user) using a Windows box must step
 forward, using a current version of Pango (and probably Harfbuzz) to
 test the issue.  The results should then be added to GUB.

I can do some testing during Easter, if i'll get some assistance (too
busy to figure things out on my own :( ).
Janek

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


Re: critical issues

2013-03-27 Thread David Kastrup
m...@mikesolomon.org m...@mikesolomon.org writes:

 There are two critical issues that we're going to have to start
 seriously thinking about now if 2.18 is going to happen anytime soon:

 https://code.google.com/p/lilypond/issues/detail?id=2733

 I'm not comfortable marking this critical: not because it is not
 critical for Laura, nor because it may not be our fault, but because
 there is not enough information to know where the problem comes from.
 I have no problem on my homebrewed installation of LilyPond running
 LilyPond book.  I think that it is important to work with a user who
 is having a problem like this, especially if the user is active in
 soliciting developer help, but let's only mark it critical if it is
 somehow a generalized problem (i.e. for all users running a given OS).
 What do you think?

I'll take some look again on Ubuntu, but if I can't reproduce the
problem, it will be hard to guess.  I'll try getting in contact with
Laura then.

 https://code.google.com/p/lilypond/issues/detail?id=2656

 This is really bad.  I agree that it is critical.  I unfortunately
 have no way to test this, but do people have an ETA for fixing this?
 If not, it will hold 2.18 up for a long time, in which it may be worth
 pushing the translate_axis patch that I've been holding in the works.

It was critical for 2.16 already.  Without any path forward, 2.18 will
be released with exactly the same problem.  There is no point to delay a
release if we don't know how to work on a problem, and we don't have
people both running Windows as well as knowledgeable enough to debug
that problem.

We are doing all we can for Windows users, but here I don't see how we
will be able to do anything without possibly recruiting new blood.

-- 
David Kastrup


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


critical issues

2013-03-26 Thread m...@mikesolomon.org
There are two critical issues that we're going to have to start seriously 
thinking about now if 2.18 is going to happen anytime soon:

https://code.google.com/p/lilypond/issues/detail?id=2733

I'm not comfortable marking this critical: not because it is not critical for 
Laura, nor because it may not be our fault, but because there is not enough 
information to know where the problem comes from.  I have no problem on my 
homebrewed installation of LilyPond running LilyPond book.  I think that it is 
important to work with a user who is having a problem like this, especially if 
the user is active in soliciting developer help, but let's only mark it 
critical if it is somehow a generalized problem (i.e. for all users running a 
given OS).  What do you think?

https://code.google.com/p/lilypond/issues/detail?id=2656

This is really bad.  I agree that it is critical.  I unfortunately have no way 
to test this, but do people have an ETA for fixing this?  If not, it will hold 
2.18 up for a long time, in which it may be worth pushing the translate_axis 
patch that I've been holding in the works.

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


Re: critical issues

2013-03-26 Thread Werner LEMBERG

 https://code.google.com/p/lilypond/issues/detail?id=2656
 
 This is really bad.  I agree that it is critical.  I unfortunately
 have no way to test this, but do people have an ETA for fixing this?
 If not, it will hold 2.18 up for a long time, in which it may be
 worth pushing the translate_axis patch that I've been holding in the
 works.

As can be seen in comment #26, Behdad is willing to help, but a
LilyPond developer (or power user) using a Windows box must step
forward, using a current version of Pango (and probably Harfbuzz) to
test the issue.  The results should then be added to GUB.


Werner

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


Re: critical issues

2013-03-26 Thread m...@mikesolomon.org

On 27 mars 2013, at 07:54, Werner LEMBERG w...@gnu.org wrote:

 
 https://code.google.com/p/lilypond/issues/detail?id=2656
 
 This is really bad.  I agree that it is critical.  I unfortunately
 have no way to test this, but do people have an ETA for fixing this?
 If not, it will hold 2.18 up for a long time, in which it may be
 worth pushing the translate_axis patch that I've been holding in the
 works.
 
 As can be seen in comment #26, Behdad is willing to help, but a
 LilyPond developer (or power user) using a Windows box must step
 forward, using a current version of Pango (and probably Harfbuzz) to
 test the issue.  The results should then be added to GUB.
 

Someone who knows what they're doing (tm) needs to head up the effort and 
send an e-mail to the LilyPond user list recruiting 2-3 power users.  A 1-2 
hour Skype session should be all that is needed for the data gathering.

I'm in wedding mode for the next 3-4 weeks, so that's a no go for me :-(

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


Re: no critical issues!

2012-04-07 Thread Janek Warchoł
On Fri, Apr 6, 2012 at 6:11 PM, Graham Percival
gra...@percival-music.ca wrote:
 On Fri, Apr 06, 2012 at 06:04:39PM +0200, m...@apollinemike.com wrote:
 Release candidate anyone?  Or have we already had a version bump?  I can 
 build it, Graham, if you're over hours.

 It's already building.

Sorry, guys, bad news:
http://code.google.com/p/lilypond/issues/detail?id=2468
http://code.google.com/p/lilypond/issues/detail?id=2469
:/

Janek

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


no critical issues!

2012-04-06 Thread m...@apollinemike.com
Release candidate anyone?  Or have we already had a version bump?  I can build 
it, Graham, if you're over hours.

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


Re: no critical issues!

2012-04-06 Thread Graham Percival
On Fri, Apr 06, 2012 at 06:04:39PM +0200, m...@apollinemike.com wrote:
 Release candidate anyone?  Or have we already had a version bump?  I can 
 build it, Graham, if you're over hours.

It's already building.  I've been trying to build it for the past
few days, but I can only do it after booting my desktop into a
non-ideal OS, so I need to remember to build it right before I
leave university.

- Graham

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


Re: critical issues

2012-01-11 Thread Łukasz Czerwiński
Thanks for all answers.


On 8 January 2012 23:47, Janek Warchoł janek.lilyp...@gmail.com wrote:

 W dniu 8 stycznia 2012 10:11 użytkownik James pkx1...@gmail.com napisał:
  Start by looking here:
 
 http://code.google.com/p/lilypond/issues/list?can=2q=sort=prioritycolspec=IDx=typey=prioritymode=gridcells=tiles

 Umm, guys, there are 629 open issues in the tracker, and we don't have

I can see now 632 issues to be precise and definitely it's not what I
wanted to see...

priority field to sort them in any way.  I'm sure that Luke asked
 for some concrete suggestions, and i think a good answer might be

 http://code.google.com/p/lilypond/issues/list?can=2q=opened-after%3A2011%2F7%2F1+Type%3DMaintainability%2CScripts%2CBuild+status%3AAccepted+colspec=ID+Type+Status+Stars+Owner+Patch+Needs+Summaryx=typecells=tiles
 (recent build and maintainability issues - important for improving
 development workflow)


As I guess, the most critical bugs are those flagged as: Critical, so this
listhttp://code.google.com/p/lilypond/issues/list?can=2q=Type%3DCriticalcolspec=ID+Type+Status+Stars+Owner+Patch+Needs+Summaryx=typecells=tiles
contains
the most urgent ones, but probably those with regression are tough ones.

According to our motto the aim of LilyPond is music engraving to
 everyone - i'd say it's a very good goal.  It would mean that a
 person with average computer skills (like navigating a web browser and
 using word processor) should be able to create very good engravings of
 not-so-complicated music (e.g. Mozart's Ave Verum).  I think we're
 quite far from this goal; conductor of our choir didn't manage to
 switch to LilyPond.


That's what I meant - apart from engraving, being friendly for a user
(non-programmer / non-latex one) is a big plus and attracts people. I've
attended Human Computer Interface classes and since then I try to remember
constantly about the user friendliness in computer programs.


  Sibelius and Finale cost hundreds of pounds, LilyPond is free, there
  is no 'competition'. The output of LP in 99% of cases is much better
  out of the box than any of those packages can manage -


I know that they are expensive, but having an option to buy a nice GUI
Finale and a text editor that after typing many lines of magical
incantations without seeing a single clef or note will eventually produce a
PDF file, an average computer user will choose to pay.
The definitions of Finale and Lilypond are not mine (I use Latex and
terminal without problems) - but that how could thoughts of a standard user
look like.

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


Re: critical issues

2012-01-09 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 According to our motto the aim of LilyPond is music engraving to
 everyone - i'd say it's a very good goal.  It would mean that a
 person with average computer skills (like navigating a web browser and
 using word processor) should be able to create very good engravings of
 not-so-complicated music (e.g. Mozart's Ave Verum).  I think we're
 quite far from this goal; conductor of our choir didn't manage to
 switch to LilyPond.

So he did not manage to spell music in LilyPond in a few days.  I am
sure he tried to spell words in English for longer than that before he
gave up.

Navigating a web browser are not average computer skills.  Those are
not computer skills at all.  You need more computer skills to program a
video recorder.

LilyPond is a batch processing system.  It is not an interactive
program.  You need to spell out the tasks.  People for which working
with a command line is an unsurmountable challenge won't work with
LilyPond.

They might get along with some GUI thingy that drives LilyPond as its
backend.

The one thing where LilyPond needs to refocus is getting away more from
the fiddle around stuff where you poke a program with a stick for
getting results rather than specifying your task.

But specifying your task in a computer-comprehensible way is not
avoidable.

In the areas of TeX/LaTeX and Emacs programming, I have hit a few
surprise candidates without programming background who put together a
significant body of macros and functions for their own work.  Pretty
much always it turned out that they were specialists in Oriental or
antique languages.

LilyPond is similar.  We can hope to get into a direction where it
requires less fiddling and programming skills, but writing things
directly in a computer language will always require logic, language and
thinking skills.

FORTRAN is a computer language in which good mathematicians can write
efficient numerical algorithms without tremendous programming skills.
As a result, there is a large corpus of numeric programming libraries in
FORTRAN.  It's not all that nice of a programming language, but it does
not add much of a distraction for a mathematician writing down numeric
code and/or using that of others.

If LilyPond manages a state where it does not get in the way of
composers writing down music, that is about the best one can hope to
achieve.  The tools and workflow can be made smoother, but that's it.

Don't _ever_ try to sell LilyPond to somebody who is not warm enough
with a computer to have a preferred editor.  In that case, you should
rather sell something like Frescobaldi.  Something which the user can
actually touch and see.

-- 
David Kastrup


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


Re: critical issues

2012-01-08 Thread James
Hello,

2012/1/8 Łukasz Czerwiński milimet...@gmail.com:

 What's the aim of Lilypond?

err..

LilyPond is a music engraving program, devoted to producing the
highest-quality sheet music possible. It brings the aesthetics of
traditionally engraved music to computer printouts.

 And why isn't it competing with Finale and
 Sibellius? Aren't all three programs making PDF files with music? Of
 course Finale and Sibellius have some other functionalities, but the common
 one is related to PDFs.
 Every computer program and in fact every thing or machine have a most
 common user. How would you describe a most common user of Lilypond? How
 does he/she use Lilypond, what kind of music (and how complex) does they
 (re-)write? What annoys or disturbs them most in Lilypond?

I keep re-reading this and I just think you want a nice
point-and-click GUI. I don't know what else it is you seem to want
apart from to say LilyPond is 'better' than Sibelius/Finale' in some
vague and probably meaningless way.

Sibelius and Finale cost hundreds of pounds, LilyPond is free, there
is no 'competition'. The output of LP in 99% of cases is much better
out of the box than any of those packages can manage - I know, I have
to sit in my orchestra and read the crud that comes out of the Sib/Fib
stuff.

I can use LilyPond on all the 3 platforms (MacOS, Windows and Linux)
that I use, without any problems at all, move files between the two.
I can use any editor I choose (again important when using 3 different
platforms), the files I use are easily read on *any* version of
LilyPond and apart from the odd complex syntax change of which we have
a simple script to help (convert-ly) I don't have to worry much about
forward incompatibility. There is no typical user, that is a myth as I
am sure it is the same in Sib/Fib.

If you are talking about MIDI output, LilyPond was never intended for
that, it's nice that we have some 'relatively ok' capabilities (no
offence to the MIDI coders - I rarely use MIDI anyway) but all the
Sib/Fib people I know don't use MIDI either, but there are much much
better (and free) tools to produce midi output than Sib/Fib anyway.

if yuo haven't already then I suggest you read

http://lilypond.org/freedom.html

http://lilypond.org/reviews.html

http://lilypond.org/essay.html

Pretty much says it all.

 Let's assume that I would like to help in developing Lilypond, but I don't
 have my own idea, what part of it I could improve. What would you suggest me
 to do?

Start by looking here:

http://code.google.com/p/lilypond/issues/list?can=2q=sort=prioritycolspec=IDx=typey=prioritymode=gridcells=tiles

Take your pick!



 If everybody does it in his own local way, it is more a distraction than
 anything else.  How does one do x in LilyPond? Depends on whether you
 are talking about functionality written by Mike, David, Han-Wen, Jan,
 Graham, Carl or Werner.  That's not what a user wants to hear.

 Are there some guidelines how to write new code to work in the same manner
 as the already written code?

Start here:

http://lilypond.org/doc/v2.15/Documentation/contributor/summary-for-experienced-developers

Else:

http://lilypond.org/doc/v2.15/Documentation/contributor/help-us

 If no, is there a person (several people?) that
 could answer such questions?

lilypond-devel@gnu.org


-- 
--

James

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


Re: critical issues

2012-01-08 Thread m...@apollinemike.com
On Jan 8, 2012, at 2:54 AM, Graham Percival wrote:

 On Sun, Jan 08, 2012 at 01:52:41AM +0100, Łukasz Czerwiński wrote:
 
  Are there some guidelines how to write new code to work in the same
  manner as the already written code?
 
 We have a contributor's guide.  It is not complete, but that's
 where to look.
 

You can also follow the logic of the code.  For example, let's say that you 
want to fiddle with the X-offset of a Grob.  Read through define-grobs.scm and 
look for all the X-offset callbacks in other grobs.  This'll give you an idea 
of how X-offsets are done in LilyPond.  I think that most current contributors 
learned the code this way.

 If no, is there a person (several people?) that could answer
 such questions?
 

I have never not responded sooner or later to a question from a newb (including 
Janek when he was starting out) about how to do something in LilyPond.

Cheers,
MS


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


Re: critical issues

2012-01-08 Thread Janek Warchoł
W dniu 8 stycznia 2012 02:54 użytkownik Graham Percival
gra...@percival-music.ca napisał:
 On Sun, Jan 08, 2012 at 01:52:41AM +0100, Łukasz Czerwiński wrote:
  * Let's assume that I would like to help in developing Lilypond, but
I don't have my own idea, what part of it I could improve. What
would you suggest me to do?

 There are tons of open issues on the tracker.

W dniu 8 stycznia 2012 10:11 użytkownik James pkx1...@gmail.com napisał:
 Start by looking here:
 http://code.google.com/p/lilypond/issues/list?can=2q=sort=prioritycolspec=IDx=typey=prioritymode=gridcells=tiles

Umm, guys, there are 629 open issues in the tracker, and we don't have
priority field to sort them in any way.  I'm sure that Luke asked
for some concrete suggestions, and i think a good answer might be
http://code.google.com/p/lilypond/issues/list?can=2q=opened-after%3A2011%2F7%2F1+Type%3DMaintainability%2CScripts%2CBuild+status%3AAccepted+colspec=ID+Type+Status+Stars+Owner+Patch+Needs+Summaryx=typecells=tiles
(recent build and maintainability issues - important for improving
development workflow)

 is there a person (several people?) that could answer
 such questions [about code style]?

 Janek used to be that person, but he gave up.

I didn't have competence to answer questions about how code should be
written.  I was only helping to get the grips with the development
process, that's all.


W dniu 8 stycznia 2012 10:11 użytkownik James pkx1...@gmail.com napisał:

 2012/1/8 Łukasz Czerwiński milimet...@gmail.com:
 What's the aim of Lilypond?

 err..
 LilyPond is a music engraving program, devoted to producing the
 highest-quality sheet music possible. It brings the aesthetics of
 traditionally engraved music to computer printouts.

According to our motto the aim of LilyPond is music engraving to
everyone - i'd say it's a very good goal.  It would mean that a
person with average computer skills (like navigating a web browser and
using word processor) should be able to create very good engravings of
not-so-complicated music (e.g. Mozart's Ave Verum).  I think we're
quite far from this goal; conductor of our choir didn't manage to
switch to LilyPond.

 Sibelius and Finale cost hundreds of pounds, LilyPond is free, there
 is no 'competition'. The output of LP in 99% of cases is much better
 out of the box than any of those packages can manage -

I'm sorry but i think that's not true.  Look at the attached pdf -
these are examples of problems in very basic areas of Lily-made
engraving.  Finale delivers better results in these cases, see here:
http://www.sendspace.com/file/7yvb8c
I'd say that there's roughly 50% chance that a score would have more
than one case of a problem like that.


2012/1/8 m...@apollinemike.com m...@apollinemike.com:
 I have never not responded sooner or later to a question from a newb 
 (including Janek when he was starting out) about how to do something in 
 LilyPond.

I'd rather say including Janek every time he tries to do anything,
for what i'm very grateful :)

cheers,
Janek


bad lily.pdf
Description: Adobe PDF document
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: critical issues

2012-01-07 Thread Graham Percival
On Sun, Jan 08, 2012 at 01:52:41AM +0100, Łukasz Czerwiński wrote:
As for all the emails that were written it the last two days, I believe
that a sort of coordination is needed in each project.

We have the amount of coordination that we have chosen.

  * Let's assume that I would like to help in developing Lilypond, but
I don't have my own idea, what part of it I could improve. What
would you suggest me to do?

There are tons of open issues on the tracker.

Are there some guidelines how to write new code to work in the same
manner as the already written code?

We have a contributor's guide.  It is not complete, but that's
where to look.

 If no, is there a person (several people?) that could answer
 such questions?

Janek used to be that person, but he gave up.  So no, we do not
have any dedicated people that work with new contributors.  A few
developers often give feedback for patches.

- Graham

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


Re: critical issues

2012-01-07 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/1/5 David Kastrup d...@gnu.org:

 Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/1/4 David Kastrup d...@gnu.org:
 \layout {
   \layout-from { \compressFullBarRests
     \override Score.SpacingSpanner #'common-shortest-duration =
     #(ly:make-moment 6 10)
   }
   etc...
 }

 ok...  However - i'm very sorry to say this :/ - it would be better if
 i wouldn't have to type \layout-from at all.

 \layout is not the place to accept arbitrary music.

 i understand.  I think my answer is maybe \layout could work
 differently than now? [1]

Do not think that I came to abolish the documentation or the
programmers; I did not come to abolish but to fulfill.

As you so aptly remarked:
 [1] I think that a more detailed discussion should be a part of GLISS.

Well, I am currently more or less working on a first coming -- first
serving base.  My priority is on making work with the current principles
and design nicer.  If you don't like layout specifications and context
definitions, you just write things like \compressFullBarRests into every
voice and things will work out fine.  In fact, many examples I see start
with something like

global = { \time 4/4 \compressFullBars and whatever else }

...

\new Voice { \global ... }

It just tends to get mucky with implicit voices and grace notes, but the
ways in which it gets mucky are reasonably well-understood.

I really don't quite get the point of complaining that I provide
alternative ways of accessing functionality.  Nobody forces you to make
use of them.

-- 
David Kastrup


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


Re: critical issues

2012-01-07 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 What i want to say is, i'm afraid you might have forgotten how it
 feels to be a non-programmer.  It's not a joke that for average person
 that wants to produce some notation, it's hard enough to use text
 input.

In the light of the focus of the work I have been doing for several
months, I have a hard time not finding your remarks offensive.

-- 
David Kastrup

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


Re: critical issues

2012-01-07 Thread Janek Warchoł
David,

2012/1/7 David Kastrup d...@gnu.org:
 I really don't quite get the point of complaining that I provide
 alternative ways of accessing functionality.  Nobody forces you to make
 use of them.

2012/1/7 David Kastrup d...@gnu.org:
 In the light of the focus of the work I have been doing for several
 months, I have a hard time not finding your remarks offensive.

I'm very sorry!  I didn't mean that you're doing anything wrong - my
comments were intended to be about lily infrastructure in general.  I
value your work and i think it's very good for LilyPond.  If my words
were offensive to you, i call them off!

my apologies
Janek

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


Re: critical issues

2012-01-07 Thread Łukasz Czerwiński
First of all I would like to apologize for misjudging Lilypond project.

As for all the emails that were written it the last two days, I believe
that a sort of coordination is needed in each project. Maybe for some of
them there must be one boss with many programmers and designers, while for
other projects a better solution is to create several small loosely
connected groups, nevertheless each of them having a leader.

As a person who knows only a bit of Lilypond, I would like to get a better
view of Lilypond, so I'd like to ask some questions:

   - What's the aim of Lilypond? And why isn't it competing with Finale and
   Sibellius? Aren't all three programs making PDF files with music? Of
   course Finale and Sibellius have some other functionalities, but the common
   one is related to PDFs.
   - Every computer program and in fact every thing or machine have a most
   common user. How would you describe a most common user of Lilypond? How
   does he/she use Lilypond, what kind of music (and how complex) does they
   (re-)write? What annoys or disturbs them most in Lilypond?
   - Let's assume that I would like to help in developing Lilypond, but I
   don't have my own idea, what part of it I could improve. What would you
   suggest me to do?


If everybody does it in his own local way, it is more a distraction than
 anything else.  How does one do x in LilyPond? Depends on whether you
 are talking about functionality written by Mike, David, Han-Wen, Jan,
 Graham, Carl or Werner.  That's not what a user wants to hear.

Are there some guidelines how to write new code to work in the same manner
as the already written code? If no, is there a person (several people?)
that could answer such questions?

Well, uniform code is nice, modular code is better.  You don't need to
 worry about uniformity if everything actually calls the same code.  And
 if you need to change how it works, being able to do it in one place is
 much less likely to cause problems.  Of course, that needs to touch
 foreign code in a lot of places instead of just leading by example.  And
 that's where actual leadership is helpful since it can _make_ people
 change their _own_ code, and they usually are much better qualified to
 see problems in connection with those changes than a self-appointed
 global janitor can hope to be.


I totally agree.


  I think a good policy is that, when working on that which one wants to
  work on, one should always strive to do it in a way that leads to
  better maintainability and extensibility.

 If those efforts are not coordinated, there is no end user benefit.


Coordinated does NOT mean slavery and being a bored, sad programmer ;)
 It just means that no one is a self-appointed janitor, because there is
always someone, who keeps an eye on some guidelines of a quality of a
Lilypond code.

Hoping to read soon your answers to my questions,
Łukasz Czerwiński
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: critical issues

2012-01-06 Thread Janek Warchoł
2012/1/5 David Kastrup d...@gnu.org:

 Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/1/4 David Kastrup d...@gnu.org:
 \layout {
   \layout-from { \compressFullBarRests
     \override Score.SpacingSpanner #'common-shortest-duration =
     #(ly:make-moment 6 10)
   }
   etc...
 }

 ok...  However - i'm very sorry to say this :/ - it would be better if
 i wouldn't have to type \layout-from at all.

 \layout is not the place to accept arbitrary music.

i understand.  I think my answer is maybe \layout could work
differently than now? [1]

 I know that it's not much typing, and that \layout-from is an
 improvement, but from the end-user perspective it's in fact PITA: when
 use \layout, when \layout-from?

 \layout-from takes music and extracts context definitions.

Say this to a LilyPond newbie.  He'll understand 2 words: music, and.

 :( Again, i'm very sorry beacause from the programmer's perspective
 it's nothing, but for simple users understanding what \layout does is
 hard enough;

 \layout definitions don't have a syntax compatible with music.

That's exactly what worries me as an end-user who doesn't like to
think when he doesn't absolutely have to.  It's similar to
set-override-tweak problem: for you it's obvious that these are 3
different things, and when to use what.  For me it seems like
unnecessary multiplication of commands that seem to work similar (i.e.
they set some property/parameter/whatever).

 If \layout accepted music and mostly ignored it, simple users would not
 understand what it does, and advanced users would not either.

 And i want to enter notes, not some \overridden  \layoutish
 ##Scheme##  :( :( :(

 Nobody keeps you from entering \compressFullBarRests and stuff right in
 your music.  That's their default place of writing them.

 As a programmer, I prefer putting the declarations where they make sense
 and apply document-wide.  Nobody forces you to do it in that manner if
 you prefer jamming everything explicitly into the music which, after
 all, is the designed user interface for it.

David, you are of course 100% right and i don't want to deny you!
Surely it doesn't make any sense to put declarations intended for
document-wide settings inside actual music declarations.

What i want to say is, i'm afraid you might have forgotten how it
feels to be a non-programmer.  It's not a joke that for average person
that wants to produce some notation, it's hard enough to use text
input.  Let me rephrase that: take a random person who searches for
music notation program and stumbles over out site.  *Learning how to
create* this input

\relative c, {
  \clef bass
  \time 3/4
  \tempo Andante 4 = 120
  c2 e8 c'
  g'2.
  f4 e d
  c4 c, r
}

is a big enough challenge for such a person.  I guess 50% fails, not
because they're idiots, but because it really is hard if you haven't
done it before (and very few ever wrote code).  I don't like it, but
that's the world we live in.

cheers,
Janek

[1] I think that a more detailed discussion should be a part of GLISS.

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


Re: critical issues

2012-01-05 Thread David Kastrup
m...@apollinemike.com m...@apollinemike.com writes:

 On Jan 5, 2012, at 1:20 AM, Janek Warchoł wrote:

 Correct me if i'm wrong, but my impression is that
 there is no particular direction in which we are going.

 I'm sure that other people have their pet projects as well.  The
 ensemble of these projects is the direction of LilyPond, and I don't
 see why it would need more of a direction that that.

Because
a) LilyPond becomes unmaintainable if everybody implementing his own pet
project implements his own pet infrastructure and pet APIs for it.
b) LilyPond becomes unusable if everybody implementing his own pet
project does not bother paving the path for slightly similar pet
projects.
c) Implementors are scarcer than users.

 In fact, I think that it is because of some sorta unified direction
 that for-profit programs can often miss out on adding experimental or
 innovative features.

Mike, just recently you said something like you had implemented
something along the line of spanbars, did not actually understand what
you were doing, it could not actually do the work you intended it to do,
but you thought there was nothing wrong with leaving it in until
somebody hit bugs caused by this code.  You can't debug or understand
this sort of experimental and innovative code, and if you can't
yourself, how can you expect anybody else to do?  This sort of bit rot
which nobody know how to either fix or remove(!) is _lethal_ to a
project.  A few dozen things like that, and nobody can make the product
stable again with reasonable amounts of efforts.  Instead you get
symptom-fixing, taking _huge_ amounts of resources in order to let code
nobody understand not hit fatal situations.  And the code not actually
doing anything useful or reliable is causing man-months of maintenance
work.

As opposed to an artwork, _any_ corner of LilyPond, no matter how small,
can _ruin_ the rest.  You tend to think of bugs and bad code of
blemishes at most, when they are actually more like fungi that will eat
through the whole canvas and cause it to fall apart.

Features and innovations come at a cost.  With good modularization and
infrastructure, their cost and benefits are mostly separable from
others: don't use them, and you don't get troubled by them.

LilyPond is not modular enough for that, and it does not have the
infrastructure.  Those don't fall from the sky, and if they are to fit
their purpose, they will require very little experimentation or
innovation but will be perfectly boring.

And if the LilyPond code does not make great strides in the direction of
becoming boring by doing everything the same way, projects like use
linear programming will be dead in the water since you can't streamline
a garbage heap of disparate code into doing linear programming if you
can't even make it do the same things in the same way everywhere before
changing that way to a linear programming one.

-- 
David Kastrup

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


Re: critical issues

2012-01-05 Thread m...@apollinemike.com
On Jan 5, 2012, at 9:14 AM, David Kastrup wrote:

 m...@apollinemike.com m...@apollinemike.com writes:
 
 On Jan 5, 2012, at 1:20 AM, Janek Warchoł wrote:
 
 Correct me if i'm wrong, but my impression is that
 there is no particular direction in which we are going.
 
 I'm sure that other people have their pet projects as well.  The
 ensemble of these projects is the direction of LilyPond, and I don't
 see why it would need more of a direction that that.
 
 Because
 a) LilyPond becomes unmaintainable if everybody implementing his own pet
 project implements his own pet infrastructure and pet APIs for it.
 b) LilyPond becomes unusable if everybody implementing his own pet
 project does not bother paving the path for slightly similar pet
 projects.

I agree with this - I should have added that those who are contributing to 
LilyPond should do so in a way that favors extensibility.

 c) Implementors are scarcer than users.
 
 In fact, I think that it is because of some sorta unified direction
 that for-profit programs can often miss out on adding experimental or
 innovative features.
 
 Mike, just recently you said something like you had implemented
 something along the line of spanbars, did not actually understand what
 you were doing, it could not actually do the work you intended it to do,
 but you thought there was nothing wrong with leaving it in until
 somebody hit bugs caused by this code.

I agree with the something like part of your statement.

 As opposed to an artwork, _any_ corner of LilyPond, no matter how small,
 can _ruin_ the rest.  You tend to think of bugs and bad code of
 blemishes at most, when they are actually more like fungi that will eat
 through the whole canvas and cause it to fall apart.

This is not how I think of bugs.  If I thought of bugs like this, I wouldn't 
have taken the time to squash so many bugs in LilyPond over the past several 
months.

 And if the LilyPond code does not make great strides in the direction of
 becoming boring by doing everything the same way, projects like use
 linear programming will be dead in the water since you can't streamline
 a garbage heap of disparate code into doing linear programming if you
 can't even make it do the same things in the same way everywhere before
 changing that way to a linear programming one.
 

I agree.  For example:

The new StemTremolo code does less internal moving of the stencil and farms 
this out to callbacks.
The new Stem code is decoupled from the Flag code and now behaves (along with 
the flag) more like other grobs.
The Beam scoring code now looks more like the Stem and Tie scoring code on the 
inside.

I did not work on these projects expressly in order to make LilyPond more 
uniform, but in working on them, I tried to move LilyPond to a state where its 
code was uniform.  I think a good policy is that, when working on that which 
one wants to work on, one should always strive to do it in a way that leads to 
better maintainability and extensibility.  Perhaps this is my American bias, 
but I strongly believe that the value of LilyPond is in the innovativeness of 
those who care enough about it to work on it.  LilyPond's becoming more 
maintainable and extensible is a result of the good coding practices of these 
people.  However, I do not think that a grand unified vision of where LilyPond 
should go (short of several guidelines on style and common practice (many of 
which are already in the CG)) is necessary or desirable.

taken only slightly out of context
There are again two methods of removing the causes of faction: the one, by 
destroying the liberty which is essential to its existence; the other, by 
giving to every citizen the same opinions, the same passions, and the same 
interests.

It could never be more truly said than of the first remedy, that it was worse 
than the disease. Liberty is to faction what air is to fire, an aliment without 
which it instantly expires. But it could not be less folly to abolish liberty, 
which is essential to political life, because it nourishes faction, than it 
would be to wish the annihilation of air, which is essential to animal life, 
because it imparts to fire its destructive agency.

The second expedient is as impracticable as the first would be unwise. As long 
as the reason of man continues fallible, and he is at liberty to exercise it, 
different opinions will be formed. As long as the connection subsists between 
his reason and his self-love, his opinions and his passions will have a 
reciprocal influence on each other; and the former will be objects to which the 
latter will attach themselves. The diversity in the faculties of men, from 
which the rights of property originate, is not less an insuperable obstacle to 
a uniformity of interests. The protection of these faculties is the first 
object of government. From the protection of different and unequal faculties of 
acquiring property, the possession of different degrees and kinds of property 
immediately 

Re: critical issues

2012-01-05 Thread David Kastrup
m...@apollinemike.com m...@apollinemike.com writes:

 On Jan 5, 2012, at 9:14 AM, David Kastrup wrote:

 m...@apollinemike.com m...@apollinemike.com writes:
 
 On Jan 5, 2012, at 1:20 AM, Janek Warchoł wrote:
 
 Correct me if i'm wrong, but my impression is that
 there is no particular direction in which we are going.
 
 I'm sure that other people have their pet projects as well.  The
 ensemble of these projects is the direction of LilyPond, and I don't
 see why it would need more of a direction that that.
 
 Because
 a) LilyPond becomes unmaintainable if everybody implementing his own pet
 project implements his own pet infrastructure and pet APIs for it.
 b) LilyPond becomes unusable if everybody implementing his own pet
 project does not bother paving the path for slightly similar pet
 projects.

 I agree with this - I should have added that those who are
 contributing to LilyPond should do so in a way that favors
 extensibility.

If everybody does it in his own local way, it is more a distraction than
anything else.  How does one do x in LilyPond? Depends on whether you
are talking about functionality written by Mike, David, Han-Wen, Jan,
Graham, Carl or Werner.  That's not what a user wants to hear.

 I agree with the something like part of your statement.

If I have something like a fire-breathing dragon with a hunger for human
flesh in my backyard, that is scary enough as a starting point for me.
Even if I got the details wrong.

 As opposed to an artwork, _any_ corner of LilyPond, no matter how
 small, can _ruin_ the rest.  You tend to think of bugs and bad code
 of blemishes at most, when they are actually more like fungi that
 will eat through the whole canvas and cause it to fall apart.

 This is not how I think of bugs.  If I thought of bugs like this, I
 wouldn't have taken the time to squash so many bugs in LilyPond over
 the past several months.

Well, bug was probably the wrong word to use here.  A bug is an
isolated phenomenon.  Squashing bugs is fine in itself, but if you find
yourself excelling at it, at one point of time you should probably
rather think about how to better lock your alimentaries away.

 And if the LilyPond code does not make great strides in the direction
 of becoming boring by doing everything the same way, projects like
 use linear programming will be dead in the water since you can't
 streamline a garbage heap of disparate code into doing linear
 programming if you can't even make it do the same things in the same
 way everywhere before changing that way to a linear programming one.

 I agree.  For example:

 The new StemTremolo code does less internal moving of the stencil and
 farms this out to callbacks.
 The new Stem code is decoupled from the Flag code and now behaves
 (along with the flag) more like other grobs.
 The Beam scoring code now looks more like the Stem and Tie scoring
 code on the inside.

 I did not work on these projects expressly in order to make LilyPond
 more uniform, but in working on them, I tried to move LilyPond to a
 state where its code was uniform.

Well, uniform code is nice, modular code is better.  You don't need to
worry about uniformity if everything actually calls the same code.  And
if you need to change how it works, being able to do it in one place is
much less likely to cause problems.  Of course, that needs to touch
foreign code in a lot of places instead of just leading by example.  And
that's where actual leadership is helpful since it can _make_ people
change their _own_ code, and they usually are much better qualified to
see problems in connection with those changes than a self-appointed
global janitor can hope to be.

 I think a good policy is that, when working on that which one wants to
 work on, one should always strive to do it in a way that leads to
 better maintainability and extensibility.

If those efforts are not coordinated, there is no end user benefit.
He'll still have to learn the individual ways of every part of LilyPond
he is going to work with.  And if the individual ways are all different
but still over-generalized, this becomes more of a distraction than a
benefit.  Generalization is not useful as an example or a proposal in
some corner of the code.  It makes only sense if it is pervasive.  And
if it is left to the individual's discretion, it can only become
pervasive when the individual is working _everywhere_.  LilyPond has
grown beyond the scope of a single-person project, however.

 taken only slightly out of context
 There are again two methods of removing the causes of faction: the
 one, by destroying the liberty which is essential to its existence;
 the other, by giving to every citizen the same opinions, the same
 passions, and the same interests.

[...]

Diversity is nice in a community.  It isn't in a program.  And it isn't
all too much in a single entity like a person, either.  There is not
much you can sensibly talk about with a fanatic conservative liberal
antisemitic orthodox catholic 

Re: critical issues

2012-01-04 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

  \layout {
    \context {
      \Score
      \with \settingsFrom { \compressFullBarRests }
    }
    \context {
      \Staff
      \with \settingsFrom { \accidentalStyle modern }
    }
  }
 }
 \end{lilypond}

 \ph is a music function written in Scheme.  Can you understand it?

 Yes, but i get lost on \parallellMusic :(

It's intended for using.  And yes, it likely could be simpler given
useful APIs for manipulating Scheme.

 \settingsFrom is actually returning a Scheme expression for \with to
 use.  It makes things rather simpler than more complex, even though it
 constitutes a Scheme expression.

 Um... i would really love to be able to type
  \layout {
  \compressFullBarRests
  \override Score.SpacingSpanner #'common-shortest-duration =
 #(ly:make-moment 6 10)
  etc...
 }

Well, create a layout modification type, let \layout accept Scheme
expressions of that type, write a Scheme function \layout-from in
analogue to \settingsFrom, and it becomes

\layout {
   \layout-from { \compressFullBarRests
 \override Score.SpacingSpanner #'common-shortest-duration =
 #(ly:make-moment 6 10)
   }
   etc...
}

Stuff like that is reasonably straightforward to implement.  It would
have the advantage that you don't have to know what contexts
\settingsFrom should be placed in.

Again:

 Scheme is not hard.  Programming is hard.

And sane program design is, apparently, even harder.  People _don't_
_ever_ think about improving things.  Instead they hobble along in
whatever clunky way they see others doing, complaining how clunky it is,
and likely making it much clunkier by bending it to situations fitting
even worse than what they have seen.

-- 
David Kastrup

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


Re: critical issues

2012-01-04 Thread Łukasz Czerwiński
On 3 January 2012 21:47, Janek Warchoł janek.lilyp...@gmail.com wrote:


  I am a TeX specialist, system programmer, Emacs specialist, the GNU
  maintainer (and a rather pitiful one) for AUCTeX (lytex and itexi
  anybody? preview-latex for Lilypond?)

Mmm... Preview for Lilypond? Sounds like a good start for a realtime GUI
for Lilypond (a better Denemo). I believe this will result in a fast
increase in number of Lilypond users. What do you think?


 I would have no problems spending a few hundred man years focused on
  Lilypond.  Except that I don't have a few hundred man years.  Nobody
  has.  The next best option is spending time on multipliers.  Getting
  LilyPond in a shape where passersby find it intriguing, to a degree
  where they get hooked and contribute manmonths of work over some time
  without having planned to do so at the start.

 +1


and:

  The only thing that is going to help is more eyes, more people who get

 interested, more people discovering dark corners and doing something

 about them.


and:


 To get there, we need serious programmers and serious musicians

 interested seriously in LilyPond.  To a level where they start asking

 good questions.  And we better be in a position to provide answers,

 since there is no more effective way to spend our time than on getting

 more people to spend their time, and love, and interest.


and:

 That's like + from me!
 In general, i agree that we should think in a more 'release-oriented'
 way (last stable release was half a year ago, so we should make
 another one, so i'm fixing whatever needs to be fixed to make this
 possible) instead of 'free coding' way (i care about this issue,
 i'll fix it.  And that one.  Oh, we have 0 criticals, so let's make a
 stable release before an obstruction occurs!).  To do so, we would
 have to work more as a team, less independently.  How can we achieve
 that if GOP7 showed that we don't want to?


and:

 And we better be in a position to provide answers,
  since there is no more effective way to spend our time than on getting
  more people to spend their time, and love, and interest.


Regarding all those fragments of Janek's and David's emails: For some time
I have been observing how bug are being fixed in Lilypond and spent some
time on conversations with Janek.
For me there is almost no team work in Lilypond - only a bunch of geek
trying to fix some issues, but without a leader who coordinates all
actions. As far as I remember, some time ago you have tried hard to make
some big changes in Lilypond, but finally there was no big revolution...
Without a leader that will make key design  implementation decisions
Lilypond will improve in a slow pace, letting Finale and Sibellius gain
more and more users. Probably some of you will return to the old row - is a
goal of a Lilypond to substitue Finale or compete with Sibellius. I think
there is no point in loosing your energy *and time* on that.
Instead we should do as much as possible to constantly improve Lilypond.
That means not only fixing critical bugs, but also: anticipating future
stability problems, constantly improving end user documentation and the
quality of source code (reduce complexity, comment code and so on). By now
there is a huge work to be done and Lilypond needs someone who will form
guidelines and priorities.

Łukasz (Luke)
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: critical issues

2012-01-04 Thread David Kastrup
Łukasz Czerwiński milimet...@gmail.com writes:

 On 3 January 2012 21:47, Janek Warchoł janek.lilyp...@gmail.com wrote:


  I am a TeX specialist, system programmer, Emacs specialist, the GNU
  maintainer (and a rather pitiful one) for AUCTeX (lytex and itexi
  anybody? preview-latex for Lilypond?)

 Mmm... Preview for Lilypond? Sounds like a good start for a realtime
 GUI for Lilypond (a better Denemo). I believe this will result in a
 fast increase in number of Lilypond users. What do you think?

It won't.  People who are into Emacs won't be into Finale or Sibelius
anyway.  It will increase the ratio of LilyPond users using Emacs for
editing, and possibly the productivity of users of that combination.

But recruiting new users to both LilyPond and Emacs at the same time is
not going to show impressive results.

It is a reasonable expectation to get preview-latex cooperate with
lilypond-book in LaTeX mode with reasonable effort.  To yield a sizable
boost in productivity for LilyPond development, however, preview-latex
would have to cooperate with Texinfo.

Technologically, this is challenging and exciting.  Unfortunately, for
myself the excitement is somewhat stale since I already implemented
preview-latex once.

 Regarding all those fragments of Janek's and David's emails: For some time
 I have been observing how bug are being fixed in Lilypond and spent some
 time on conversations with Janek.
 For me there is almost no team work in Lilypond - only a bunch of geek
 trying to fix some issues, but without a leader who coordinates all
 actions.

We have coordinated procedures in place that several people spend
sizable amounts of time on.  This concerns the way new contributions are
channeled, and how bugs get registered and releases get made.  Graham is
doing a lot of work keeping just that going and coordinated.

New developments are not coordinated to a significant degree, and part
of the reason is that there are no free resources to coordinate.

 As far as I remember, some time ago you have tried hard to make some
 big changes in Lilypond, but finally there was no big revolution...

I am not sure who you are addressing.  Nominally, you are replying to
Janek, and Janek did spacing changes he not just tried to get through,
but actually did.  If you are trying to address my work: I did a lot of
big changes to LilyPond but you would not notice much of it unless you
read the manual, and even then much of it is underdocumented.  A lot of
it is hidden in making naively written code work and giving more power
more easily accessible to the somewhat above-average user as opposed to
the geniuses required before.

 Without a leader that will make key design  implementation decisions
 Lilypond will improve in a slow pace, letting Finale and Sibellius
 gain more and more users.

Forget Finale and Sibelius.  They are not a problem we need to address
since they are competing in a different space.  Our real problem is
LilyPond.

 Probably some of you will return to the old row - is a goal of a
 Lilypond to substitue Finale or compete with Sibellius. I think there
 is no point in loosing your energy *and time* on that.  Instead we
 should do as much as possible to constantly improve Lilypond.

Preaching to the choir, I see.

 That means not only fixing critical bugs, but also: anticipating
 future stability problems, constantly improving end user documentation
 and the quality of source code (reduce complexity, comment code and so
 on). By now there is a huge work to be done and Lilypond needs someone
 who will form guidelines and priorities.

There is no point in working on guidelines and priorities without
capacities that would be guided and prioritized by them.

-- 
David Kastrup


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


Re: critical issues

2012-01-04 Thread David Kastrup
David Kastrup d...@gnu.org writes:

 Janek Warchoł janek.lilyp...@gmail.com writes:

  \layout {
    \context {
      \Score
      \with \settingsFrom { \compressFullBarRests }
    }
    \context {
      \Staff
      \with \settingsFrom { \accidentalStyle modern }
    }
  }
 }
 \end{lilypond}

 \ph is a music function written in Scheme.  Can you understand it?

 Yes, but i get lost on \parallellMusic :(

 It's intended for using.  And yes, it likely could be simpler given
 useful APIs for manipulating Scheme.

 \settingsFrom is actually returning a Scheme expression for \with to
 use.  It makes things rather simpler than more complex, even though it
 constitutes a Scheme expression.

 Um... i would really love to be able to type
  \layout {
  \compressFullBarRests
  \override Score.SpacingSpanner #'common-shortest-duration =
 #(ly:make-moment 6 10)
  etc...
 }

 Well, create a layout modification type, let \layout accept Scheme
 expressions of that type, write a Scheme function \layout-from in
 analogue to \settingsFrom, and it becomes

 \layout {
\layout-from { \compressFullBarRests
  \override Score.SpacingSpanner #'common-shortest-duration =
  #(ly:make-moment 6 10)
}
etc...
 }

 Stuff like that is reasonably straightforward to implement.  It would
 have the advantage that you don't have to know what contexts
 \settingsFrom should be placed in.

layout-from =
#(define-void-function (parser location music)
   (ly:music?)
   (_i To be used in output definitions.  Take the layout instruction
events from @var{music} and do the equivalent of context modifications
duplicating their effect.)
   (define (musicop m mods)
 (if (music-is-of-type? m 'layout-instruction-event)
 (ly:add-context-mod
  mods
  (case (ly:music-property m 'name)
((PropertySet)
 (list 'assign
   (ly:music-property m 'symbol)
   (ly:music-property m 'value)))
((PropertyUnset)
 (list 'unset
   (ly:music-property m 'symbol)))
((OverrideProperty)
 (list 'push
   (ly:music-property m 'symbol)
   (ly:music-property m 'grob-property-path)
   (ly:music-property m 'grob-value)))
((RevertProperty)
 (list 'pop
   (ly:music-property m 'symbol)
   (ly:music-property m 'grob-property-path)
 (case (ly:music-property m 'name)
 ((SequentialMusic SimultaneousMusic)
  (for-each (lambda (x)
  (musicop x mods))
(ly:music-property m 'elements)))
 ((ContextSpeccedMusic)
  (module-set! (current-module)
   (ly:music-property m 'context-type)
   #{ \context { $(module-ref (current-module)
  (ly:music-property m 
'context-type))
 $(musicop (ly:music-property m 
'element)
   (ly:make-context-mod))
 } #}
 mods)
   (musicop music (ly:make-context-mod)))


It is a bit wonky, but should work for most purposes.

At least it works with

\layout-from \accidentalStyle dodecaphonic

and with the above example.

-- 
David Kastrup


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


Re: critical issues

2012-01-04 Thread Janek Warchoł
2012/1/4 James pkx1...@gmail.com:
 hello,

 On 3 Jan 2012, at 22:26, Janek Warchoł janek.lilyp...@gmail.com wrote:
 I might have given you a wrong impression, i don't think its really
 that bad.  There is some teamwork, but no leader indeed.

 to use an English expression ... poppycock!

 Janek you may have not noticed that the team of Colin,
 Phil and myself along with some of the bug squad managed,
 with the the help of Graham (if you want to call him a 'leader')
 to process a quite impressive number of patches.

 Before we managed to get some kind of automation of
 patch testing I personally was fielding about 6 new patches
 a day, producing reg test diffs, make checks and the like.
 Colin was managing all patch countdown and push requests
 while Phil ran around, figuratively speaking, making sure
 things were in order in terms of regressions between dev releases.
 all co ordinated by graham - pretty much.

 in the meantime Mike, Keith, Carl and co had plenty of time
 then to fix some long standing bugs, and I am seeing some
 serious work by David to do whatever it is he does with the parser etc.

Indeed, i didn't appreciate enough your work.  I apologize.
Please do not hesitate to correct me when i say something wrong again.

Nevertheless, while administration is done very efficiently as you've
shown, i'm not aware of any mid- or long-term goals set for Lily
except GLISS.  Correct me if i'm wrong, but my impression is that
there is no particular direction in which we are going.

my apologies again,
Janek

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


Re: critical issues

2012-01-04 Thread Janek Warchoł
2012/1/4 David Kastrup d...@gnu.org:
 \settingsFrom is actually returning a Scheme expression for \with to
 use.  It makes things rather simpler than more complex, even though it
 constitutes a Scheme expression.

 Um... i would really love to be able to type
  \layout {
  \compressFullBarRests
  \override Score.SpacingSpanner #'common-shortest-duration =
 #(ly:make-moment 6 10)
  etc...
 }

 Well, create a layout modification type, let \layout accept Scheme
 expressions of that type, write a Scheme function \layout-from in
 analogue to \settingsFrom, and it becomes

 \layout {
   \layout-from { \compressFullBarRests
 \override Score.SpacingSpanner #'common-shortest-duration =
 #(ly:make-moment 6 10)
   }
   etc...
 }

ok...  However - i'm very sorry to say this :/ - it would be better if
i wouldn't have to type \layout-from at all.  I know that it's not
much typing, and that \layout-from is an improvement, but from the
end-user perspective it's in fact PITA: when use \layout, when
\layout-from?  :(  Again, i'm very sorry beacause from the
programmer's perspective it's nothing, but for simple users
understanding what \layout does is hard enough; in fact it would be
nice to get rid of it but that's impossible.
You know, i pretend to be a really dumb user.  And i want to enter
notes, not some \overridden  \layoutish ##Scheme##  :( :( :(
LilyPond will have a chance of winning large audiences when all input
that is needed to create a full Messiah score will be sth like:

\version x.x.x

\header { ... }
\movement = Sinfony {
violin = { (notes) }
...
}
\movement = Comfort ye {



\makeScore
\makeParts

:/

 Scheme is not hard.  Programming is hard.

 And sane program design is, apparently, even harder.  People _don't_
 _ever_ think about improving things.  Instead they hobble along in
 whatever clunky way they see others doing, complaining how clunky it is,
 and likely making it much clunkier by bending it to situations fitting
 even worse than what they have seen.

:(
Have you looked at my patches and if so, does any of them do this?


2012/1/4 David Kastrup d...@gnu.org:
 layout-from =
 #(define-void-function (parser location music)
   (ly:music?)
   (_i To be used in output definitions.  Take the layout instruction
 events from @var{music} and do the equivalent of context modifications
 duplicating their effect.)
   (define (musicop m mods)
     (if (music-is-of-type? m 'layout-instruction-event)
         (ly:add-context-mod
          mods
          (case (ly:music-property m 'name)
            ((PropertySet)
             (list 'assign
                   (ly:music-property m 'symbol)
                   (ly:music-property m 'value)))
            ((PropertyUnset)
             (list 'unset
                   (ly:music-property m 'symbol)))
            ((OverrideProperty)
             (list 'push
                   (ly:music-property m 'symbol)
                   (ly:music-property m 'grob-property-path)
                   (ly:music-property m 'grob-value)))
            ((RevertProperty)
             (list 'pop
                   (ly:music-property m 'symbol)
                   (ly:music-property m 'grob-property-path)
         (case (ly:music-property m 'name)
             ((SequentialMusic SimultaneousMusic)
              (for-each (lambda (x)
                          (musicop x mods))
                        (ly:music-property m 'elements)))
             ((ContextSpeccedMusic)
              (module-set! (current-module)
                           (ly:music-property m 'context-type)
                           #{ \context { $(module-ref (current-module)
                                                      (ly:music-property m 
 'context-type))
                                         $(musicop (ly:music-property m 
 'element)
                                                   (ly:make-context-mod))
                                         } #}
     mods)
   (musicop music (ly:make-context-mod)))


 It is a bit wonky, but should work for most purposes.

 At least it works with

    \layout-from \accidentalStyle dodecaphonic

 and with the above example.

Wow, thanks!  I hope that i understand what it does and that i'll be
able to use it :)

cheers,
Janek

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


Re: critical issues

2012-01-04 Thread Janek Warchoł
Adding Luke to recipients again...  (please remember to include him as
he's not signed to our mailing lists),

2012/1/4 David Kastrup d...@gnu.org:
 Łukasz Czerwiński milimet...@gmail.com writes:
 Regarding all those fragments of Janek's and David's emails: For some time
 I have been observing how bug are being fixed in Lilypond and spent some
 time on conversations with Janek.
 For me there is almost no team work in Lilypond - only a bunch of geek
 trying to fix some issues, but without a leader who coordinates all
 actions.

 We have coordinated procedures in place that several people spend
 sizable amounts of time on.  This concerns the way new contributions are
 channeled, and how bugs get registered and releases get made.  Graham is
 doing a lot of work keeping just that going and coordinated.

Indeed and this means: kudos to Graham and the patch/issue team!

 As far as I remember, some time ago you have tried hard to make some
 big changes in Lilypond, but finally there was no big revolution...

 I am not sure who you are addressing.  Nominally, you are replying to
 Janek, and Janek did spacing changes he not just tried to get through,
 but actually did.

Thank you David for being so kind, but i don't remember any important
spacing issues fixed by me.
(however i'm in the process of gathering data for a truly
revolutionary move; unfortunately estimated time left before the
report will be ready is something like 3 months, because of other
stuff i have to do).

 Without a leader that will make key design  implementation decisions
 Lilypond will improve in a slow pace, letting Finale and Sibellius
 gain more and more users.

 Forget Finale and Sibelius.  They are not a problem we need to address
 since they are competing in a different space.

I don't fully agree, but i guess discusssing this is not that important.

 That means not only fixing critical bugs, but also: anticipating
 future stability problems, constantly improving end user documentation
 and the quality of source code (reduce complexity, comment code and so
 on). By now there is a huge work to be done and Lilypond needs someone
 who will form guidelines and priorities.

 There is no point in working on guidelines and priorities without
 capacities that would be guided and prioritized by them.

I'm amused by your answer, David.  It's very rational and succint; i
know Luke and if something can show him what the problem is it's your
answer.

Luke, i remember that you were doing something for GIMP.  Can you say
how things work there, what the leadership looks like and what could
we learn from them, bearing in mind little time each of us have?

cheers,
Janek

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


Re: critical issues

2012-01-04 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/1/4 David Kastrup d...@gnu.org:
 \settingsFrom is actually returning a Scheme expression for \with to
 use.  It makes things rather simpler than more complex, even though it
 constitutes a Scheme expression.

 Um... i would really love to be able to type
  \layout {
  \compressFullBarRests
  \override Score.SpacingSpanner #'common-shortest-duration =
 #(ly:make-moment 6 10)
  etc...
 }

 Well, create a layout modification type, let \layout accept Scheme
 expressions of that type, write a Scheme function \layout-from in
 analogue to \settingsFrom, and it becomes

 \layout {
   \layout-from { \compressFullBarRests
 \override Score.SpacingSpanner #'common-shortest-duration =
 #(ly:make-moment 6 10)
   }
   etc...
 }

 ok...  However - i'm very sorry to say this :/ - it would be better if
 i wouldn't have to type \layout-from at all.

\layout is not the place to accept arbitrary music.

 I know that it's not much typing, and that \layout-from is an
 improvement, but from the end-user perspective it's in fact PITA: when
 use \layout, when \layout-from?

\layout-from takes music and extracts context definitions.

 :( Again, i'm very sorry beacause from the programmer's perspective
 it's nothing, but for simple users understanding what \layout does is
 hard enough;

\layout definitions don't have a syntax compatible with music.  For
example, \layout-from is a command you could not even write in music.

If \layout accepted music and mostly ignored it, simple users would not
understand what it does, and advanced users would not either.

 And i want to enter notes, not some \overridden  \layoutish
 ##Scheme##  :( :( :(

Nobody keeps you from entering \compressFullBarRests and stuff right in
your music.  That's their default place of writing them.

As a programmer, I prefer putting the declarations where they make sense
and apply document-wide.  Nobody forces you to do it in that manner if
you prefer jamming everything explicitly into the music which, after
all, is the designed user interface for it.

[\layout-from]

 It is a bit wonky, but should work for most purposes.

 At least it works with

    \layout-from \accidentalStyle dodecaphonic

 and with the above example.

 Wow, thanks!  I hope that i understand what it does and that i'll be
 able to use it :)

It is wonky mostly because we don't have a Scheme interface to context
definitions (so I have to use #{ ... #} and fudge around with module-ref
and module-set! inside).  I am actually surprised it works.

-- 
David Kastrup


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


Re: critical issues

2012-01-04 Thread m...@apollinemike.com

On Jan 5, 2012, at 1:20 AM, Janek Warchoł wrote:

 Correct me if i'm wrong, but my impression is that
 there is no particular direction in which we are going.
 

I think that it is very difficult to set these goals because different things 
interest different people.  I know that Bertrand and I are chipping away at a 
long standing markup-improvement goal, and I'd like to get smoother 
2D-object-on-the-plane-distance handling, and there's my dream of implementing 
some sort of mixed-integer-quadratic-programming engine in LilyPond (I did some 
tests with quantizing quadratic functions using linear functions, but it 
generates at least 1056 variables for a 500-measure score with 33 
columns per measure and normal line widths quantized at horizontal intervals of 
0.01...).

I'm sure that other people have their pet projects as well.  The ensemble of 
these projects is the direction of LilyPond, and I don't see why it would 
need more of a direction that that.  In fact, I think that it is because of 
some sorta unified direction that for-profit programs can often miss out on 
adding experimental or innovative features.

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


Re: critical issues

2012-01-03 Thread Phil Holmes
- Original Message - 
From: David Kastrup d...@gnu.org

To: lilypond-devel@gnu.org
Sent: Tuesday, January 03, 2012 7:55 AM
Subject: Re: critical issues



Graham Percival gra...@percival-music.ca writes:


On Tue, Jan 03, 2012 at 01:03:08AM +0100, David Kastrup wrote:

Graham Percival gra...@percival-music.ca writes:

 We could certainly consider dropping support for OSX or windows.

That sort of token solidarity is actually counterproductive:
if you believe that non-releases lead to non-users,


yes


and you think that
non-releases for GNU/Linux may pressure GNU/Linux developers into making
OSX/Windows releases,


no


then how does a non-release for GNU/Linux, with
its corresponding result in decreasing GNU/Linux users and GNU/Linux
developers, help in recruiting GNU/Linux developers that can be
pressured into making OSX and Windows releases?


it doesn't?


Exactly.


Suppose we announce a big new shiny lilypond 2.16.  For linux and
freebsd only.  OSX and windows users can go screw themselves.


We are not announcing a big new shiny Lilypond 2.16.  We are announcing
big new shiny 2.15.xx developer releases one after another.  For
GNU/Linux and FreeBSD only.


N.  I'm happily running pretty much every 2.15 version on my Windows 
box.  It runs fine and it's my normal music-producing environment, and also 
the one on which I test for bugs and get examples to add to the tracker. 
AFAIK the only problem is with lilypond-book, which I personally don't run 
on my windows machine.



OSX and Windows users _are_ second class (or handicapped) citizens for
LilyPond because the whole technology is based on GNU, and since the
developer skills needed to work with it strongly correlate with
UNIX-like systems.  The whole point of GUB is that it is a _cross_
building ennvironment that can be maintained by GNU/Linux developers for
the sake of OSX and Windows users.  The skill level for actively keeping
GUB working (rather than plug and pray) is considerable, and requires
good GNU/Linux (or at least UNIX) skills and at least contact skills
with OSX and Windows.  Without a healthy surplus of GNU/Linux-based
developers that are not already locked down with keeping up their own
projects, our OSX and Windows users can indeed, as you so flowery put
it, can go screw themselves because they can't hope to screw with
LilyPond, rather pure UNIX-based technology requiring UNIX-centric skill
sets and mind frames.

There is a _reason_ the remaining OSX and Windows based developers are
doing (definitely important) documentation and web site work.  They are
to a large degree locked out and dependent on support from surplus
GNU/Linux-based developer capacities.  We are not doing them any favors
by killing LilyPond development as a whole out of sympathy with their
plight.


Not at all.  I think you know that myself and James are mainly Windows 
users.  We also run big Ubuntu machines that support the build environment. 
However, we came to the development from being Windows users.  Cut off that 
supply and I'll probably stop supporting Lily, which I would regret.



- what does this do to our ONLY documentation writers and
  reviewers (who are all windows-based)?  Will they be a) more
  motivated to work on lilypond, b) no change, or c) less
  motivated?


We are already screwing them over with GNU/Linux-only developer
releases.  When will we stop using our Windows and OSX developers as an
excuse for not working on a stable release that would actually warrant
the effort of getting GUB working again and matched to current Windows
and OSX releases?


Not true - see above.


--
Phil Holmes



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


Re: critical issues

2012-01-03 Thread David Kastrup
Phil Holmes m...@philholmes.net writes:

 From: David Kastrup d...@gnu.org
 To: lilypond-devel@gnu.org

 There is a _reason_ the remaining OSX and Windows based developers
 are doing (definitely important) documentation and web site work.
 They are to a large degree locked out and dependent on support from
 surplus GNU/Linux-based developer capacities.  We are not doing them
 any favors by killing LilyPond development as a whole out of sympathy
 with their plight.

 Not at all.  I think you know that myself and James are mainly Windows
 users.  We also run big Ubuntu machines that support the build
 environment. However, we came to the development from being Windows
 users.  Cut off that supply and I'll probably stop supporting Lily,
 which I would regret.

You are compiling your own binaries without using GNU/Linux in the
process?

That's what a native development environment would look like.

 - what does this do to our ONLY documentation writers and
   reviewers (who are all windows-based)?  Will they be a) more
   motivated to work on lilypond, b) no change, or c) less
   motivated?

 We are already screwing them over with GNU/Linux-only developer
 releases.  When will we stop using our Windows and OSX developers as
 an excuse for not working on a stable release that would actually
 warrant the effort of getting GUB working again and matched to
 current Windows and OSX releases?

 Not true - see above.

Documentation and web writing without a functional lilypond-book strikes
me as somewhat difficult.

It is nice that things are not as completely broken as I thought.  But I
still think that our effectively current philosophy of the next stable
release is something only developers interested in Windows and OSX need
to concern themselves with is doing anybody a favor.  Our road map has
nothing to offer beyond GUB, and so there is little interest in getting
even there.

-- 
David Kastrup


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


Re: critical issues

2012-01-03 Thread Phil Holmes
- Original Message - 
From: David Kastrup d...@gnu.org

To: lilypond-devel@gnu.org
Sent: Tuesday, January 03, 2012 11:44 AM
Subject: Re: critical issues



Phil Holmes m...@philholmes.net writes:


From: David Kastrup d...@gnu.org
To: lilypond-devel@gnu.org


There is a _reason_ the remaining OSX and Windows based developers
are doing (definitely important) documentation and web site work.
They are to a large degree locked out and dependent on support from
surplus GNU/Linux-based developer capacities.  We are not doing them
any favors by killing LilyPond development as a whole out of sympathy
with their plight.


Not at all.  I think you know that myself and James are mainly Windows
users.  We also run big Ubuntu machines that support the build
environment. However, we came to the development from being Windows
users.  Cut off that supply and I'll probably stop supporting Lily,
which I would regret.


You are compiling your own binaries without using GNU/Linux in the
process?

That's what a native development environment would look like.


No.  I have an Ubuntu VM which I use for quick experiments and a very fast 
Ubuntu PC which I use for full builds.  But I support lilypond because I 
_use_ it for typesetting music on a _Windows_ machine. Take away that 
ability to use it, and the sesire to support goes away.



- what does this do to our ONLY documentation writers and
  reviewers (who are all windows-based)?  Will they be a) more
  motivated to work on lilypond, b) no change, or c) less
  motivated?


We are already screwing them over with GNU/Linux-only developer
releases.  When will we stop using our Windows and OSX developers as
an excuse for not working on a stable release that would actually
warrant the effort of getting GUB working again and matched to
current Windows and OSX releases?


Not true - see above.


Documentation and web writing without a functional lilypond-book strikes
me as somewhat difficult.


I don't use lilypond-book for day-day activity - only lilypond development.


It is nice that things are not as completely broken as I thought.  But I
still think that our effectively current philosophy of the next stable
release is something only developers interested in Windows and OSX need
to concern themselves with is doing anybody a favor.  Our road map has
nothing to offer beyond GUB, and so there is little interest in getting
even there.


I think you've mis-stated the philosophy.  It's the next stable release is 
something that will benefit users of many operating systems, including many 
flavours of Unix, plus windows and MAC.


--
Phil Holmes



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


Re: critical issues

2012-01-03 Thread David Kastrup
Phil Holmes m...@philholmes.net writes:

 From: David Kastrup d...@gnu.org
 To: lilypond-devel@gnu.org
 Sent: Tuesday, January 03, 2012 11:44 AM
 Subject: Re: critical issues

 Phil Holmes m...@philholmes.net writes:

 From: David Kastrup d...@gnu.org
 To: lilypond-devel@gnu.org

 There is a _reason_ the remaining OSX and Windows based developers
 are doing (definitely important) documentation and web site work.
 They are to a large degree locked out and dependent on support from
 surplus GNU/Linux-based developer capacities.  We are not doing them
 any favors by killing LilyPond development as a whole out of sympathy
 with their plight.

 Not at all.  I think you know that myself and James are mainly Windows
 users.  We also run big Ubuntu machines that support the build
 environment. However, we came to the development from being Windows
 users.  Cut off that supply and I'll probably stop supporting Lily,
 which I would regret.

 You are compiling your own binaries without using GNU/Linux in the
 process?

 That's what a native development environment would look like.

 No.  I have an Ubuntu VM which I use for quick experiments and a very
 fast Ubuntu PC which I use for full builds.  But I support lilypond
 because I _use_ it for typesetting music on a _Windows_ machine. Take
 away that ability to use it, and the sesire to support goes away.

Yup, and our current effective strategy of not doing stable releases
takes away that ability from anyone.  Not just Windows users.

 It is nice that things are not as completely broken as I thought.
 But I still think that our effectively current philosophy of the
 next stable release is something only developers interested in
 Windows and OSX need to concern themselves with is doing anybody a
 favor.  Our road map has nothing to offer beyond GUB, and so there is
 little interest in getting even there.

 I think you've mis-stated the philosophy.  It's the next stable
 release is something that will benefit users of many operating
 systems, including many flavours of Unix, plus windows and MAC.

That's the vision.  The vision can't replace the road leading to it.
The only roadmap we have is critical issues, and none of the critical
issues are anything that could be tackled by anybody rather than
developers with quite special skills and interests.  If all of the
critical issues go away over night for some reason, we still have
nothing that can in good conscience be sold as stable release.  And by
the time we get there, GUB will probably have acquired enough fresh bit
rot that we will be in the same situation as we are now.

If we refuse thinking about stable releases by taking GUB as an excuse,
the grand next stable release that will benefit users of many operating
systems is likely to fall in the class too little, too late.

-- 
David Kastrup

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


Re: critical issues

2012-01-03 Thread Phil Holmes
- Original Message - 
From: David Kastrup d...@gnu.org

To: Phil Holmes m...@philholmes.net


No.  I have an Ubuntu VM which I use for quick experiments and a very
fast Ubuntu PC which I use for full builds.  But I support lilypond
because I _use_ it for typesetting music on a _Windows_ machine. Take
away that ability to use it, and the desire to support goes away.


Yup, and our current effective strategy of not doing stable releases
takes away that ability from anyone.  Not just Windows users.


Personally, I'm quite happy using a development version for my music 
typesetting.  If the most recent one causes a problem, I revert to the 
previous version.



--
David Kastrup




--
Phil Holmes



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


Re: critical issues

2012-01-03 Thread Werner LEMBERG

 If we refuse thinking about stable releases by taking GUB as an
 excuse, the grand next stable release that will benefit users of
 many operating systems is likely to fall in the class too little,
 too late.

I second David.  Given that we develop within a GNU environment, bugs
specific to Windows and Mac shouldn't prevent stable releases.  I can
even imagine that well announced release candidates for a new stable
version attracts developers to help fix issues with problematic
platforms.


Werner

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


Re: critical issues

2012-01-03 Thread m...@apollinemike.com
On Jan 3, 2012, at 1:36 PM, Werner LEMBERG wrote:

 
 If we refuse thinking about stable releases by taking GUB as an
 excuse, the grand next stable release that will benefit users of
 many operating systems is likely to fall in the class too little,
 too late.
 
 I second David.  Given that we develop within a GNU environment, bugs
 specific to Windows and Mac shouldn't prevent stable releases.  I can
 even imagine that well announced release candidates for a new stable
 version attracts developers to help fix issues with problematic
 platforms.
 

One in-the-middle approach is to check out package managers that are offering 
LilyPond releases.  I know, for example, that brew offers a version of LilyPond 
on Mac OS X.  If we provide a list of package managers and how-tos for the 
techno-phobic, that may be enough to maintain (and even grow) the user base.  
It has the added benefit of pointing people to better resources than those we 
could maintain in-house: I think that jEdit plus the brew version of LilyPond, 
for example, is a more compelling package than the GUI we distribute.

Does Windows have its share of package managers that offer this sorta thing?

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


Re: critical issues

2012-01-03 Thread Han-Wen Nienhuys
On Tue, Jan 3, 2012 at 10:36 AM, Werner LEMBERG w...@gnu.org wrote:
 If we refuse thinking about stable releases by taking GUB as an
 excuse, the grand next stable release that will benefit users of
 many operating systems is likely to fall in the class too little,
 too late.

 I second David.  Given that we develop within a GNU environment, bugs
 specific to Windows and Mac shouldn't prevent stable releases.  I can
 even imagine that well announced release candidates for a new stable
 version attracts developers to help fix issues with problematic
 platforms.

From a support perspective, not releasing the windows and mac versions
at the same time is problematic.  Many questions and bugreports that
could be answered with upgrade to the latest version all of a sudden
start depending on the platform that the user is using. Also, it makes
it more difficult to get users to pay for work, since users won't pay
if you don't release the work to their platform

I fully sympathize with the desire to junk Mac and Windows for being a
pains in the asses to develop for, but they are the platforms where
the majority of the users are. We (Jan and I) made a conscious
decision that having more users is better for lilypond than saving
some developer resources over not distributing windows/mac binaries.

 Given that we develop within a GNU environment, bugs
 specific to Windows and Mac shouldn't prevent stable releases

I don't see how this reasoning works. You do stable releases for
users, not developers.

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

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


Re: critical issues

2012-01-03 Thread David Kastrup
Werner LEMBERG w...@gnu.org writes:

 If we refuse thinking about stable releases by taking GUB as an
 excuse, the grand next stable release that will benefit users of
 many operating systems is likely to fall in the class too little,
 too late.

 I second David.  Given that we develop within a GNU environment, bugs
 specific to Windows and Mac shouldn't prevent stable releases.

The problem is not that bugs specific to Windows and Mac would be
preventing stable releases.  The problem is that we have a _number_ of
problems preventing a stable release, and we are not addressing them
because Mac and Windows provide a convenient excuse.

The Learning Guide and the Notation Guide need a complete rereading and
reorganization, and it is not like the Extending Guide is in
significantly better shape.  There are only few languages for which the
translations can be considered maintained.

Stuff like that picks up considerably after stable releases since the
motivation to help with documenting something that will take years
before the helper gets to see it (and fresh blood tends to get started
on stable releases) is limited.

 I can even imagine that well announced release candidates for a new
 stable version attracts developers to help fix issues with problematic
 platforms.

If you take a look at Ubuntu release candidates, they usually start with
a list of caveats concerning computers and applications that won't run
at all.  You need to _start_ with the work for cutting out a release
before it is magically finished.

-- 
David Kastrup

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


Re: critical issues

2012-01-03 Thread James
Hello,

On 3 January 2012 12:53, Han-Wen Nienhuys hanw...@gmail.com wrote:
 On Tue, Jan 3, 2012 at 10:36 AM, Werner LEMBERG w...@gnu.org wrote:
 If we refuse thinking about stable releases by taking GUB as an
 excuse, the grand next stable release that will benefit users of
 many operating systems is likely to fall in the class too little,
 too late.

 I second David.  Given that we develop within a GNU environment, bugs
 specific to Windows and Mac shouldn't prevent stable releases.  I can
 even imagine that well announced release candidates for a new stable
 version attracts developers to help fix issues with problematic
 platforms.

 From a support perspective, not releasing the windows and mac versions
 at the same time is problematic.  Many questions and bugreports that
 could be answered with upgrade to the latest version all of a sudden
 start depending on the platform that the user is using.

Yes, Han-Wen beat me to that point.

So if 2.14 works on OSX but 2.16 doesn't then the user has no choice
but to stick with 2.14 or use a 2.15 branch both which are no no
longer being developed.

That is a pain to troubleshoot

There is some wonderful work gone into 2.15 that isn't (and never will
be in 2.14) that the user-base will miss out on.


 Given that we develop within a GNU environment, bugs
 specific to Windows and Mac shouldn't prevent stable releases

 I don't see how this reasoning works. You do stable releases for
 users, not developers.

Beautifully put.

As a side note, I came to LP via MacOS X + Lilypad, and ran with
windows only because it is my OS at work. Now I use Linux for all my
LP work and LilyDev in a VM for Dev and doc work (so LilyPond-Book is
not a problem for me and having LilyDev in a VM even if it is in a
Linux OS itself - allows me to use VBox's snapshot for testing or
reverting when I run into git issues or build issues), in fact my
Windows LP work is virtually nil now, unless a user or dev asks for
some second verification.

My question to David, because I am not getting where the 'ire' is
coming from, why do you care if we release dev after dev release vs
stable?

-- 
--

James

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


Re: critical issues

2012-01-03 Thread David Kastrup
m...@apollinemike.com m...@apollinemike.com writes:

 One in-the-middle approach is to check out package managers that are
 offering LilyPond releases.  I know, for example, that brew offers a
 version of LilyPond on Mac OS X.  If we provide a list of package
 managers and how-tos for the techno-phobic, that may be enough to
 maintain (and even grow) the user base.  It has the added benefit of
 pointing people to better resources than those we could maintain
 in-house: I think that jEdit plus the brew version of LilyPond, for
 example, is a more compelling package than the GUI we distribute.

It sounds to me like Frescobaldi might be a nice base for a good total
package for systems with GUI-centric use patterns.  I have looked at
neither LilyPondTool nor Frescobaldi myself (GUIs are totally not my
thing), but maintaining a compelling GUI/editing package requires a
constant and focused effort, and I have the vague impression that
Frescobaldi is maintained with more of a core vengeance rather than an
addon spirit.

Emacs could be a nice package as well since its info reader beats every
other Lilypond information system hollow (unless you get precompiled
info files without included images in which case it is mostly
pointless), but its support of ly and lytex (and, to a degree, itexi) is
not as strong as to put it solidly ahead of the glorified duct tape
class.  Tying lytex, ly, and itexi into the AUCTeX machinery would make
a very impressive offering, but that would entail quite a bit of work.

-- 
David Kastrup


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


Re: critical issues

2012-01-03 Thread David Kastrup
Han-Wen Nienhuys hanw...@gmail.com writes:

 On Tue, Jan 3, 2012 at 10:36 AM, Werner LEMBERG w...@gnu.org wrote:
 If we refuse thinking about stable releases by taking GUB as an
 excuse, the grand next stable release that will benefit users of
 many operating systems is likely to fall in the class too little,
 too late.

 I second David.  Given that we develop within a GNU environment, bugs
 specific to Windows and Mac shouldn't prevent stable releases.  I can
 even imagine that well announced release candidates for a new stable
 version attracts developers to help fix issues with problematic
 platforms.

 From a support perspective, not releasing the windows and mac versions
 at the same time is problematic.  Many questions and bugreports that
 could be answered with upgrade to the latest version all of a sudden
 start depending on the platform that the user is using. Also, it makes
 it more difficult to get users to pay for work, since users won't pay
 if you don't release the work to their platform

Which is exactly the situation that we find ourselves in already.

 I fully sympathize with the desire to junk Mac and Windows for being a
 pains in the asses to develop for, but they are the platforms where
 the majority of the users are. We (Jan and I) made a conscious
 decision that having more users is better for lilypond than saving
 some developer resources over not distributing windows/mac binaries.

Sure, but we are not talking about junking Mac and Windows, but about
junking using them as a cheap excuse for losing sight of stable release
criteria altogether.

-- 
David Kastrup


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


Re: critical issues

2012-01-03 Thread David Kastrup
James pkx1...@gmail.com writes:

 Hello,

 On 3 January 2012 12:53, Han-Wen Nienhuys hanw...@gmail.com wrote:
 On Tue, Jan 3, 2012 at 10:36 AM, Werner LEMBERG w...@gnu.org wrote:
 If we refuse thinking about stable releases by taking GUB as an
 excuse, the grand next stable release that will benefit users of
 many operating systems is likely to fall in the class too little,
 too late.

 I second David.  Given that we develop within a GNU environment, bugs
 specific to Windows and Mac shouldn't prevent stable releases.  I can
 even imagine that well announced release candidates for a new stable
 version attracts developers to help fix issues with problematic
 platforms.

 From a support perspective, not releasing the windows and mac versions
 at the same time is problematic.  Many questions and bugreports that
 could be answered with upgrade to the latest version all of a sudden
 start depending on the platform that the user is using.

 Yes, Han-Wen beat me to that point.

 So if 2.14 works on OSX but 2.16 doesn't then the user has no choice
 but to stick with 2.14 or use a 2.15 branch both which are no no
 longer being developed.

Newsflash: 2.16 does not work on OSX.  Nor does it work on any other
platform.  The user has no choice but to stick with 2.14 or use a 2.15
branch which does not apparently work on OSX.

 That is a pain to troubleshoot

 There is some wonderful work gone into 2.15 that isn't (and never will
 be in 2.14) that the user-base will miss out on.

Newsflash: it is already missing out.

 As a side note, I came to LP via MacOS X + Lilypad, and ran with
 windows only because it is my OS at work. Now I use Linux for all my
 LP work and LilyDev in a VM for Dev and doc work (so LilyPond-Book is
 not a problem for me and having LilyDev in a VM even if it is in a
 Linux OS itself - allows me to use VBox's snapshot for testing or
 reverting when I run into git issues or build issues), in fact my
 Windows LP work is virtually nil now, unless a user or dev asks for
 some second verification.

This does not exactly make a strong point about the ability of Windows
to attract development.

 My question to David, because I am not getting where the 'ire' is
 coming from, why do you care if we release dev after dev release vs
 stable?

URL:http://xkcd.com/386/

If we look beyond that personality trait, I have a financial interest in
LilyPond becoming a package attractive to people with more money than
programming skills.  A stable release for which the stability and
usability aim is more than just mostly works on OSX and Windows would
be helpful to point to.

-- 
David Kastrup

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


Re: critical issues

2012-01-03 Thread Janek Warchoł
2012/1/3 Graham Percival gra...@percival-music.ca:
 It so happens that none of these Critical issues are really
 fixable by reverting a single commit.

 [...]

ok, thanks for this explanation!

 Is finding them an easy (no knowledge
 needed, a complete set of dumbed-down instructions can be given) task
 that can be done using a moderately fast computer running lilydev (1,5
 GB RAM for virtual machine, processor Core i5 2.5 GHz and no idea if
 multicore thingy translates to virtual machine)?

 when the problem *is* in the lilypond code base, yes it's
 brain-dead easy to identify the problematic commit.  Instructions
 are already in the CG -- look in the regressions chapter.

Silly me, i forgot about that.


2012/1/3 David Kastrup d...@gnu.org:
 The Learning Guide and the Notation Guide need a complete rereading and
 reorganization, and it is not like the Extending Guide is in
 significantly better shape.

I'd like to fix them too, but i don't have time for everything i want
:(  Splitting my time doesn't look like a good idea - it's more
effective when i put all my foxus on one thing, analyze it deeply and
make a complete solution than swap issues.  I have to choose and i
choose improving graphical output.

 I can even imagine that well announced release candidates for a new
 stable version attracts developers to help fix issues with problematic
 platforms.

 If you take a look at Ubuntu release candidates, they usually start with
 a list of caveats concerning computers and applications that won't run
 at all.  You need to _start_ with the work for cutting out a release
 before it is magically finished.

Indeed this looks like a good point.

Janek

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


Re: critical issues

2012-01-03 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/1/3 David Kastrup d...@gnu.org:
 The Learning Guide and the Notation Guide need a complete rereading and
 reorganization, and it is not like the Extending Guide is in
 significantly better shape.

 I'd like to fix them too, but i don't have time for everything i want
 :(  Splitting my time doesn't look like a good idea - it's more
 effective when i put all my foxus on one thing, analyze it deeply and
 make a complete solution than swap issues.  I have to choose and i
 choose improving graphical output.

I am a TeX specialist, system programmer, Emacs specialist, the GNU
maintainer (and a rather pitiful one) for AUCTeX (lytex and itexi
anybody? preview-latex for Lilypond?), know how to make Emacs read data
from Midi ports, am pretty good concerning compiler writing, shell
scripting, general programming, efficient algorithms, am the resident
quiz person for git and so on and so on.

I would have no problems spending a few hundred man years focused on
Lilypond.  Except that I don't have a few hundred man years.  Nobody
has.  The next best option is spending time on multipliers.  Getting
LilyPond in a shape where passersby find it intriguing, to a degree
where they get hooked and contribute manmonths of work over some time
without having planned to do so at the start.

LilyPond has great infrastructure: it makes by far the most from Texinfo
from any application I know, with much better HTML than upstream, far
more thorough and good use of images (only useful in HTML or with Emacs
as info reader, I am afraid).  I have no clue why or how GUB works, but
many others don't have something like that.  It has good facilities for
internationalization.  There are other novel pieces that turn out to be
more of a maintenance problem than an asset because of a total lack of
documentation and/or mindshare: yaffut, the organization of the C++
core, many internals, stepmake, ...  Many corners are lying dormant
since their respective driving force went away or lost interest or time.

I don't manage to keep up with code reviews and am pretty sure that
there are maintenance time bombs creeping in all the while.

The only thing that is going to help is more eyes, more people who get
interested, more people discovering dark corners and doing something
about them.  LilyPond needs to get into a state where, say, half the
engravers are written and maintained in Scheme.  And by Scheme I don't
mean Scheme at the level Nicolas can barely handle but Scheme a
Fortran programmer would not have all too much of a problem
understanding.

To get there, we need serious programmers and serious musicians
interested seriously in LilyPond.  To a level where they start asking
good questions.  And we better be in a position to provide answers,
since there is no more effective way to spend our time than on getting
more people to spend their time, and love, and interest.

-- 
David Kastrup

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


Re: critical issues

2012-01-03 Thread Janek Warchoł
2012/1/3 David Kastrup d...@gnu.org:
 Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/1/3 David Kastrup d...@gnu.org:
 The Learning Guide and the Notation Guide need a complete rereading and
 reorganization, and it is not like the Extending Guide is in
 significantly better shape.

 I'd like to fix them too, but i don't have time for everything i want
 :(  Splitting my time doesn't look like a good idea - it's more
 effective when i put all my foxus on one thing, analyze it deeply and
 make a complete solution than swap issues.  I have to choose and i
 choose improving graphical output.

 I am a TeX specialist, system programmer, Emacs specialist, the GNU
 maintainer (and a rather pitiful one) for AUCTeX (lytex and itexi
 anybody? preview-latex for Lilypond?), know how to make Emacs read data
 from Midi ports, am pretty good concerning compiler writing, shell
 scripting, general programming, efficient algorithms, am the resident
 quiz person for git and so on and so on.

 I would have no problems spending a few hundred man years focused on
 Lilypond.  Except that I don't have a few hundred man years.  Nobody
 has.  The next best option is spending time on multipliers.  Getting
 LilyPond in a shape where passersby find it intriguing, to a degree
 where they get hooked and contribute manmonths of work over some time
 without having planned to do so at the start.

+1

 LilyPond has great infrastructure: it makes by far the most from Texinfo
 from any application I know, with much better HTML than upstream, far
 more thorough and good use of images (only useful in HTML or with Emacs
 as info reader, I am afraid).  I have no clue why or how GUB works, but
 many others don't have something like that.  It has good facilities for
 internationalization.  There are other novel pieces that turn out to be
 more of a maintenance problem than an asset because of a total lack of
 documentation and/or mindshare: yaffut, the organization of the C++
 core, many internals, stepmake, ...  Many corners are lying dormant
 since their respective driving force went away or lost interest or time.

 I don't manage to keep up with code reviews and am pretty sure that
 there are maintenance time bombs creeping in all the while.

 The only thing that is going to help is more eyes, more people who get
 interested, more people discovering dark corners and doing something
 about them.

+1

 LilyPond needs to get into a state where, say, half the
 engravers are written and maintained in Scheme.  And by Scheme I don't
 mean Scheme at the level Nicolas can barely handle but Scheme a
 Fortran programmer would not have all too much of a problem
 understanding.

Umm, impossible?  From my perspective, 'Scheme' and 'easy to
understand' are mutually exclusive.  Unless there are more comments
than code - literally - but we don't do so.

 To get there, we need serious programmers and serious musicians
 interested seriously in LilyPond.  To a level where they start asking
 good questions.  And we better be in a position to provide answers,
 since there is no more effective way to spend our time than on getting
 more people to spend their time, and love, and interest.

That's like + from me!
In general, i agree that we should think in a more 'release-oriented'
way (last stable release was half a year ago, so we should make
another one, so i'm fixing whatever needs to be fixed to make this
possible) instead of 'free coding' way (i care about this issue,
i'll fix it.  And that one.  Oh, we have 0 criticals, so let's make a
stable release before an obstruction occurs!).  To do so, we would
have to work more as a team, less independently.  How can we achieve
that if GOP7 showed that we don't want to?

By the way, you mentioned earlier that there are issues much more
severe and threatening to Lily 'stability' than those currently marked
as critical.  This made me curious.  Can you elaborate?

 And we better be in a position to provide answers,
 since there is no more effective way to spend our time than on getting
 more people to spend their time, and love, and interest.

The only easy way of moving towards this goal which i see is adding
comments to the code, explaining what it does (and thus making it
easier to provide answers).  Some time ago i was looking at horizontal
spacing code and i didn't understand anything.  I was also recently
trying to make Lily place augmentation dot differently with my friend
Luke (who is, unlike me, a programmer) - it took us a few hours to
figure it out.  I seriously think that Lily code could (and should) be
better described internally.  What do you think?

thanks,
Janek

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


Re: critical issues -- hope you're having fun

2012-01-03 Thread Graham Percival
On Tue, Jan 03, 2012 at 02:57:24PM +0100, David Kastrup wrote:
 James pkx1...@gmail.com writes:
 
  My question to David, because I am not getting where the 'ire' is
  coming from, why do you care if we release dev after dev release vs
  stable?

Yeah, especially since Carl was *already* making good progress on
the GUB-related critical issues.

 URL:http://xkcd.com/386/

yep.

Let's cut to the chase: I am an evil semi-overlord.  I jealously
guard my ssh login to lilypond.org (along with Han-Wen's and
Jan's), I am fickle, and I like to play with small kittens.  Due
to my evil fickle nature, I am not going to change the stated
policy until it has been in place for at least 12 months.  Any
critical issue will block a stable release.  I am chuckling
maniacally and delighting in how evil and wrong I am being.

Don't like it?  You have three (effective) options:
1. don't add regressions.
2. fix (or help fix) any critical issues.
3. build your own binary releases.



Finally: I bet that Hitler had strong opinions on when open-source
projects should release stable versions.

Hugs and kisses,
- Graham

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


Re: critical issues -- hope you're having fun

2012-01-03 Thread James
Hello,

On 3 January 2012 20:49, Graham Percival gra...@percival-music.ca wrote:
 On Tue, Jan 03, 2012 at 02:57:24PM +0100, David Kastrup wrote:
 James pkx1...@gmail.com writes:

  My question to David, because I am not getting where the 'ire' is
  coming from, why do you care if we release dev after dev release vs
  stable?

 Yeah, especially since Carl was *already* making good progress on
 the GUB-related critical issues.

 URL:http://xkcd.com/386/

 yep.

 Let's cut to the chase: I am an evil semi-overlord.  I jealously
 guard my ssh login to lilypond.org (along with Han-Wen's and
 Jan's), I am fickle, and I like to play with small kittens.  Due
 to my evil fickle nature, I am not going to change the stated
 policy until it has been in place for at least 12 months.  Any
 critical issue will block a stable release.  I am chuckling
 maniacally and delighting in how evil and wrong I am being.

 Don't like it?  You have three (effective) options:
 1. don't add regressions.
 2. fix (or help fix) any critical issues.
 3. build your own binary releases.



 Finally: I bet that Hitler had strong opinions on when open-source
 projects should release stable versions.

 Hugs and kisses,
 - Graham

http://en.wikipedia.org/wiki/Godwin's_law

!

-- 
--

James

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


Re: critical issues -- hope you're having fun

2012-01-03 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 On Tue, Jan 03, 2012 at 02:57:24PM +0100, David Kastrup wrote:
 James pkx1...@gmail.com writes:
 
  My question to David, because I am not getting where the 'ire' is
  coming from, why do you care if we release dev after dev release vs
  stable?

 Yeah, especially since Carl was *already* making good progress on
 the GUB-related critical issues.

 URL:http://xkcd.com/386/

 yep.

 Let's cut to the chase: I am an evil semi-overlord.  I jealously
 guard my ssh login to lilypond.org (along with Han-Wen's and
 Jan's), I am fickle, and I like to play with small kittens.  Due
 to my evil fickle nature, I am not going to change the stated
 policy until it has been in place for at least 12 months.  Any
 critical issue will block a stable release.  I am chuckling
 maniacally and delighting in how evil and wrong I am being.

 Don't like it?  You have three (effective) options:
 1. don't add regressions.

The problem is that this actually falls into the categories
1a) don't mention regressions
1b) don't make significant enhancements
1c) don't contribute enhancements

 2. fix (or help fix) any critical issues.

This is usually implemented as
2a) shrug your shoulders since they don't concern you and wait another
year.

 3. build your own binary releases.

Usually done as

3a) never mind, I got my own checkout.

-- 
David Kastrup

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


Re: critical issues

2012-01-03 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/1/3 David Kastrup d...@gnu.org:

 LilyPond needs to get into a state where, say, half the
 engravers are written and maintained in Scheme.  And by Scheme I don't
 mean Scheme at the level Nicolas can barely handle but Scheme a
 Fortran programmer would not have all too much of a problem
 understanding.

 Umm, impossible?  From my perspective, 'Scheme' and 'easy to
 understand' are mutually exclusive.  Unless there are more comments
 than code - literally - but we don't do so.

Well, as an example, take a look at
URL:http://nicolas.sceaux.free.fr/prelude/prelude.html

Now take a look at

\begin{lilypond}
ph = #(define-music-function (parser location p1 p2 p3 p4 p5)
   (ly:pitch? ly:pitch? ly:pitch? ly:pitch? ly:pitch?)
   #{
  \repeat unfold 2 { $p1 2 } |
  \repeat unfold 2 { r16 $p2 8. ~ $p2 4 } |
  \repeat unfold 2 { r8 $p3 16 $p4 $p5 $p3 $p4 $p5 } |
   #})  
\parallelMusic #'(low middle high)
{
  \ph c'   e'  g' c'' e''
  R1*7 | \skip 1*7 | R1*7 |
  \ph ac'  e' g' c''
  \voiceTwo | \change Staff = down \voiceOne | \oneVoice |
  \ph da   d' fis' c''
  R1*21 | \skip 1*21 | R1*21 |
  \ph c,   c   g bes e'
  c,2~ c, | r16 c8. ~ c4 ~ c2
  | r8 f16 a c' f' c' a c' a f a f d f d |
  c,2~ c, | r16 b,8. ~ b,4 ~ b,2
  | r8 g'16 b' d'' f'' d'' b' d'' b' g' b' d' f' e' d' |
  c,1\fermata | c1 | e' g' c''1\fermata \bar |. |
}
\score {
  \new PianoStaff 
\new Staff = up {
   \high \\ \middle 
}
\new Staff = down {
  \clef bass
  \low
}
  
  
  \midi {
\context {
  \Score
  \with \settingsFrom { \tempo 4 = 80 }
}
  }

  \layout {
\context {
  \Score
  \with \settingsFrom { \compressFullBarRests }
}
\context {
  \Staff
  \with \settingsFrom { \accidentalStyle modern }
}
  }
}  
\end{lilypond}

\ph is a music function written in Scheme.  Can you understand it?
\settingsFrom is actually returning a Scheme expression for \with to
use.  It makes things rather simpler than more complex, even though it
constitutes a Scheme expression.

Scheme is not hard.  Programming is hard.  And there is still far too
much repetitive programming required for stuff that could be handled
using shrinkwrapped tools (\settingsFrom is such a tool) if anybody had
bothered packaging them.  Far too often if I think Ok, task x has no
documented way of dealing with it.  Let's see whether we can find an
undocumented API.  And then I find about 10 files implementing their
own ad hoc API that will break in different ways if one has to change
the data structures at some point of time.

-- 
David Kastrup


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


Re: critical issues

2012-01-03 Thread Janek Warchoł
2012/1/3 David Kastrup d...@gnu.org:
 Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/1/3 David Kastrup d...@gnu.org:

 LilyPond needs to get into a state where, say, half the
 engravers are written and maintained in Scheme.  And by Scheme I don't
 mean Scheme at the level Nicolas can barely handle but Scheme a
 Fortran programmer would not have all too much of a problem
 understanding.

 Umm, impossible?  From my perspective, 'Scheme' and 'easy to
 understand' are mutually exclusive.  Unless there are more comments
 than code - literally - but we don't do so.

 Well, as an example, take a look at
 URL:http://nicolas.sceaux.free.fr/prelude/prelude.html

Hmm, excuse me while my brain melts ;)

 Now take a look at

 \begin{lilypond}
 ph = #(define-music-function (parser location p1 p2 p3 p4 p5)
       (ly:pitch? ly:pitch? ly:pitch? ly:pitch? ly:pitch?)
       #{
          \repeat unfold 2 { $p1 2 } |
          \repeat unfold 2 { r16 $p2 8. ~ $p2 4 } |
          \repeat unfold 2 { r8 $p3 16 $p4 $p5 $p3 $p4 $p5 } |
       #})
 \parallelMusic #'(low middle high)
 {
  \ph c'   e'  g' c'' e''
  R1*7 | \skip 1*7 | R1*7 |
  \ph a    c'  e' g' c''
  \voiceTwo | \change Staff = down \voiceOne | \oneVoice |
  \ph d    a   d' fis' c''
  R1*21 | \skip 1*21 | R1*21 |
  \ph c,   c   g bes e'
  c,2~ c, | r16 c8. ~ c4 ~ c2
  | r8 f16 a c' f' c' a c' a f a f d f d |
  c,2~ c, | r16 b,8. ~ b,4 ~ b,2
  | r8 g'16 b' d'' f'' d'' b' d'' b' g' b' d' f' e' d' |
  c,1\fermata | c1 | e' g' c''1\fermata \bar |. |
 }
 \score {
  \new PianoStaff 
    \new Staff = up {
       \high \\ \middle 
    }
    \new Staff = down {
      \clef bass
      \low
    }
  

  \midi {
    \context {
      \Score
      \with \settingsFrom { \tempo 4 = 80 }
    }
  }

  \layout {
    \context {
      \Score
      \with \settingsFrom { \compressFullBarRests }
    }
    \context {
      \Staff
      \with \settingsFrom { \accidentalStyle modern }
    }
  }
 }
 \end{lilypond}

 \ph is a music function written in Scheme.  Can you understand it?

Yes, but i get lost on \parallellMusic :(

 \settingsFrom is actually returning a Scheme expression for \with to
 use.  It makes things rather simpler than more complex, even though it
 constitutes a Scheme expression.

Um... i would really love to be able to type
 \layout {
 \compressFullBarRests
 \override Score.SpacingSpanner #'common-shortest-duration =
#(ly:make-moment 6 10)
 etc...
}

 Scheme is not hard.  Programming is hard.  And there is still far too
 much repetitive programming required for stuff that could be handled
 using shrinkwrapped tools (\settingsFrom is such a tool) if anybody had
 bothered packaging them.  Far too often if I think Ok, task x has no
 documented way of dealing with it.  Let's see whether we can find an
 undocumented API.  And then I find about 10 files implementing their
 own ad hoc API that will break in different ways if one has to change
 the data structures at some point of time.

I agree, this should not work like that.

Janek

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


Re: critical issues

2012-01-03 Thread Janek Warchoł
Hi Luke,

nice to see you joining the discussion :)

W dniu 3 stycznia 2012 23:06 użytkownik Łukasz Czerwiński
milimet...@gmail.com napisał:
 That's like + from me!
 In general, i agree that we should think in a more 'release-oriented'
 way (last stable release was half a year ago, so we should make
 another one, so i'm fixing whatever needs to be fixed to make this
 possible) instead of 'free coding' way (i care about this issue,
 i'll fix it.  And that one.  Oh, we have 0 criticals, so let's make a
 stable release before an obstruction occurs!).  To do so, we would
 have to work more as a team, less independently.  How can we achieve
 that if GOP7 showed that we don't want to?

 and:

  And we better be in a position to provide answers,
  since there is no more effective way to spend our time than on getting
  more people to spend their time, and love, and interest.

 Regarding all those fragments of Janek's and David's emails: For some time I
 have been observing how bugs are being fixed in Lilypond and spent some time
 on conversations with Janek.
 For me there is almost no team work in Lilypond - only a bunch of geek
 trying to fix some issues, but without a leader who coordinates all actions.

I might have given you a wrong impression, i don't think its really
that bad.  There is some teamwork, but no leader indeed.

 As far as I remember, some time ago you have tried hard to make some big
 changes in Lilypond, but finally there was no big revolution...

Hmm?  I remember that i mentioned to you the rewrite of vertical
spacing system, which was implemented quite successfully.

 Without a leader that will make key design  implementation decisions
 Lilypond will improve in a slow pace, letting Finale and Sibellius gain more
 and more users. Probably some of you will return to the old row - is a goal
 of a Lilypond to substitue Finale or compete with Sibellius. I think there
 is no point in loosing your energy and time on that.
 Instead we should do as much as possible to constantly improve Lilypond.
 That means not only fixing critical bugs, but also: anticipating future
 stability problems, constantly improving end user documentation and the
 quality of source code (reduce complexity, comment code and so on). By now
 there is a huge work to be done and Lilypond needs someone who will form
 guidelines and priorities.

That's generally true and i'd love to have a leader and lots of
teamwork, but who would be the leader?  It would be a time-consuming
task, none of our current developers has much spare time; it would
also require lots of knowledge, so only few would qualify :(
You might consider reading
http://lilypond.org/doc/v2.15/Documentation/contributor/gop_002dprop-7-_002d-developers-as-resources
It's simply that we discussed this before and didn't manage to do
these (good) things you propose.

cheers,
Janek

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


Re: critical issues

2012-01-03 Thread James
hello,

On 3 Jan 2012, at 22:26, Janek Warchoł janek.lilyp...@gmail.com wrote:

 Hi Luke,
 
 nice to see you joining the discussion :)
 
 W dniu 3 stycznia 2012 23:06 użytkownik Łukasz Czerwiński
 milimet...@gmail.com napisał:
 That's like + from me!
 In general, i agree that we should think in a more 'release-oriented'
 way (last stable release was half a year ago, so we should make
 another one, so i'm fixing whatever needs to be fixed to make this
 possible) instead of 'free coding' way (i care about this issue,
 i'll fix it.  And that one.  Oh, we have 0 criticals, so let's make a
 stable release before an obstruction occurs!).  To do so, we would
 have to work more as a team, less independently.  How can we achieve
 that if GOP7 showed that we don't want to?
 
 and:
 
 And we better be in a position to provide answers,
 since there is no more effective way to spend our time than on getting
 more people to spend their time, and love, and interest.
 
 Regarding all those fragments of Janek's and David's emails: For some time I
 have been observing how bugs are being fixed in Lilypond and spent some time
 on conversations with Janek.
 For me there is almost no team work in Lilypond - only a bunch of geek
 trying to fix some issues, but without a leader who coordinates all actions.
 
 I might have given you a wrong impression, i don't think its really
 that bad.  There is some teamwork, but no leader indeed.

to use an English expression ... poppycock!

Janek you may have not noticed that the team of Colin, Phil and myself along 
with some of the bug squad managed, with the the help of Graham (if you want to 
call him a 'leader') to process a quite impressive number of patches. 

Before we managed to get some kind of automation of patch testing I personally 
was fielding about 6 new patches a day, producing reg test diffs, make checks 
and the like. Colin was managing all patch countdown and push requests while 
Phil ran around, figuratively speaking, making sure things were in order in 
terms of regressions between dev releases. all co ordinated by graham - pretty 
much.

in the meantime Mike, Keith, Carl and co had plenty of time then to fix some 
long standing bugs, and I am seeing some serious work by David to do whatever 
it is he does with the parser etc.

All of which we still pretty much managed to keep a relatively stable tree with 
one or two hiccups which considering the amount of pushed changes and the 
fundamental stuff the coders were free to do because of them not having to 
worry about things like ... oh testing their patches don't break the main tree, 
spotting quickly any potential issues or breakages because now they can focus 
on reviews of code than having to administer them, that new features are 
documented and that all emails from users complaining about this and that are 
documented themselves in a tracker completely makes that claim ridiculous and 
rather gets on my wick( to use another expression).

comments like that from Luke are unhelpful, disrespectful to many of us and 
frankly, tedious.


 
 As far as I remember, some time ago you have tried hard to make some big
 changes in Lilypond, but finally there was no big revolution...

Maybe before my time, however instead of complaining how about doing something 
constructive?


 
 Hmm?  I remember that i mentioned to you the rewrite of vertical
 spacing system, which was implemented quite successfully.
 
 Without a leader that will make key design  implementation decisions
 Lilypond will improve in a slow pace, letting Finale and Sibellius gain more
 and more users.

So what?

it's not a competition. 


 Probably some of you will return to the old row - is a goal
 of a Lilypond to substitue Finale or compete with Sibellius. I think there
 is no point in loosing your energy and time on that.

Yet you just did. some of us aren't fixated wit the stupid Sibfib comparison or 
even care. 

 Instead we should do as much as possible to constantly improve Lilypond.
 That means not only fixing critical bugs, but also: anticipating future
 stability problems, constantly improving end user documentation and the
 quality of source code (reduce complexity, comment code and so on). By now
 there is a huge work to be done and Lilypond needs someone who will form
 guidelines and priorities.

yeah, blah blah ... some of us already know and some of us are getting on with 
it instead of complaining.



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


critical issues

2012-01-02 Thread David Kastrup

I see the following critical issues:

2160document LILYPOND_WEB_MEDIA_GIT
2100Patch: CG: explanation of branches for the impatient
1948Windows install clobbered system PATH
1943lilypond after 2.15.8 fails on x86 Macs
1933Lilypond-book requires msvcrt again

1933, 1943, 1948 concern proprietary platforms and don't appear to
 be relevant to releasing a version on GNU/Linux.
2100 and 2160are not a concern for users.

There is, actually, a wagonload of other changes underfoot that does not
appear quite compatible with releasing a version called stable to me.
It seems strange to me that the _above_ should be the critical ones.
Critical enough that we don't even bother with trying to stabilize the
remaining situation.

-- 
David Kastrup


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


Re: critical issues

2012-01-02 Thread Graham Percival
On Mon, Jan 02, 2012 at 09:59:47PM +0100, David Kastrup wrote:
 
 I see the following critical issues:
-snip-
 
 There is, actually, a wagonload of other changes underfoot that does not
 appear quite compatible with releasing a version called stable to me.
 It seems strange to me that the _above_ should be the critical ones.
 Critical enough that we don't even bother with trying to stabilize the
 remaining situation.

The definition of a Critical issue is given here:
http://lilypond.org/doc/v2.15/Documentation/contributor/gop_002dprop-8-_002d-issue-priorities

This was the result of between 25 to 40 emails in August 2011 on
lilypond-devel.  A quick scan didn't reveal your name amongst
those emails, but we simply cannot afford to revisit every policy
decision every six months because somebody didn't notice or wasn't
interested in the previous discussion.


If you are aware of any other issues which fall under the
definition (i.e. a reproducible failure to build lilypond from
scratch, an unintentional regression, or something which stops a
good contributor from working on lilypond), then please change
that issue to be Type-Critical instead of whatever it is right
now.

Cheers,
- Graham

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


Re: critical issues

2012-01-02 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 On Mon, Jan 02, 2012 at 09:59:47PM +0100, David Kastrup wrote:
 
 I see the following critical issues:
 -snip-
 
 There is, actually, a wagonload of other changes underfoot that does not
 appear quite compatible with releasing a version called stable to me.
 It seems strange to me that the _above_ should be the critical ones.
 Critical enough that we don't even bother with trying to stabilize the
 remaining situation.

 The definition of a Critical issue is given here:
 http://lilypond.org/doc/v2.15/Documentation/contributor/gop_002dprop-8-_002d-issue-priorities

 This was the result of between 25 to 40 emails in August 2011 on
 lilypond-devel.  A quick scan didn't reveal your name amongst
 those emails, but we simply cannot afford to revisit every policy
 decision every six months because somebody didn't notice or wasn't
 interested in the previous discussion.

The labels are not all that interesting to me.  If we don't have
developers or users interested in working seriously on or with certain
proprietary platforms, then there is no point in calling those platforms
supported and stopping the release process for those platforms that
_can_ be considered supported.

 If you are aware of any other issues which fall under the
 definition (i.e. a reproducible failure to build lilypond from
 scratch,

On a supported platform.  It does not look like there is currently much
sense in calling MacOSX or Windows that.

 an unintentional regression, or something which stops a good
 contributor from working on lilypond),

That's urgent.  But it is not release-relevant since good contributors
don't work on released versions but on the development version.  I also
see no point in delaying a stable release because of details that are
not actually worse than at the previous release.

 then please change that issue to be Type-Critical instead of whatever
 it is right now.

-- 
David Kastrup


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


Re: critical issues

2012-01-02 Thread Graham Percival
On Mon, Jan 02, 2012 at 10:23:28PM +0100, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:
 
  This was the result of between 25 to 40 emails in August 2011 on
  lilypond-devel.  A quick scan didn't reveal your name amongst
  those emails, but we simply cannot afford to revisit every policy
  decision every six months because somebody didn't notice or wasn't
  interested in the previous discussion.
 
 The labels are not all that interesting to me.  If we don't have
 developers or users interested in working seriously on or with certain
 proprietary platforms, then there is no point in calling those platforms
 supported and stopping the release process for those platforms that
 _can_ be considered supported.

We could certainly consider dropping support for OSX or windows.
That would eliminate 80% (or more!) of our user base, including
everybody who works on our documentation, plus certain extremely
valuable developer like Carl... but I suppose that, logically
speaking, we could consider it.

I am against that idea.

  If you are aware of any other issues which fall under the
  definition (i.e. a reproducible failure to build lilypond from
  scratch,
 
 On a supported platform.  It does not look like there is currently much
 sense in calling MacOSX or Windows that.

The exact details of the proposal specifies as long as configure
reports no problems, which presumably would fail on osx (unless
it was highly tweaked) or windows.

  an unintentional regression, or something which stops a good
  contributor from working on lilypond),
 
 That's urgent.  But it is not release-relevant since good contributors
 don't work on released versions but on the development version.  I also
 see no point in delaying a stable release because of details that are
 not actually worse than at the previous release.

I understand your point of view.  However, that was not the
decision that we reached during that GOP discussion, and I am not
interested in re-opening that discussion.

Bottom line: I will not be calling anything a stable release, or
even a release candidate, if there are issues which are known to
fall under the current definition of a Critical issue.  I am not
open to changing that definition for at least the next 6 months.
However, lilypond is open-source software; there are no legal
barriers[1] to other people building binaries and distributing
them under whatever name they wanted[2].

[1] other than trademark law.
[2] common practice in open-source software is to release forked
software under a different name than the original to avoid
confusion, but I doubt that this is a legal requirement.

Cheers,
- Graham

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


Re: critical issues

2012-01-02 Thread Janek Warchoł
2012/1/2 Graham Percival gra...@percival-music.ca:
 On Mon, Jan 02, 2012 at 10:23:28PM +0100, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:

  This was the result of between 25 to 40 emails in August 2011 on
  lilypond-devel.  A quick scan didn't reveal your name amongst
  those emails, but we simply cannot afford to revisit every policy
  decision every six months because somebody didn't notice or wasn't
  interested in the previous discussion.

 The labels are not all that interesting to me.  If we don't have
 developers or users interested in working seriously on or with certain
 proprietary platforms, then there is no point in calling those platforms
 supported and stopping the release process for those platforms that
 _can_ be considered supported.

I'm seriously interested in using Lily on Windows.  Unfortunately
issues 1933 and 1948 are quite beyond me; i don't even understand what
is written in 1933.  I could try attacking 1948, however, this sounds
like 10+ hours of set-up work and 20+ emails *before* actual fixing
can happen (for my experience level).  I'd prefer to use this time to
do something i'm good at: fixing small things (i'm restoring my
lilydev after three-months pause) and writing well-documented and
cross-linked issues for our tracker (recently i wrote issues
2141-2145, it was really a lot of work to gather all examples and
separate the whole accidental problem into separate, yet meaningful,
issues).
If you think that i really should attack these critical issues at all
costs, let me know and i'll consider it.

 We could certainly consider dropping support for OSX or windows.
 That would eliminate 80% (or more!) of our user base, including
 everybody who works on our documentation, plus certain extremely
 valuable developer like Carl... but I suppose that, logically
 speaking, we could consider it.

 I am against that idea.

+1

I'm also against making a Linux-only release.  While technically
possible, it would introduce a high level of mess.

  an unintentional regression, or something which stops a good
  contributor from working on lilypond),

 That's urgent.  But it is not release-relevant since good contributors
 don't work on released versions but on the development version.  I also
 see no point in delaying a stable release because of details that are
 not actually worse than at the previous release.

Well, i think that this was Graham's desperate try to get us more
involved in maintainability issues.  I support that and i'll look at
issue 2100 as fast as possible,

cheers,
Janek

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


Re: critical issues

2012-01-02 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 On Mon, Jan 02, 2012 at 10:23:28PM +0100, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:
 
  This was the result of between 25 to 40 emails in August 2011 on
  lilypond-devel.  A quick scan didn't reveal your name amongst
  those emails, but we simply cannot afford to revisit every policy
  decision every six months because somebody didn't notice or wasn't
  interested in the previous discussion.
 
 The labels are not all that interesting to me.  If we don't have
 developers or users interested in working seriously on or with certain
 proprietary platforms, then there is no point in calling those platforms
 supported and stopping the release process for those platforms that
 _can_ be considered supported.

 We could certainly consider dropping support for OSX or windows.

Stopping releases on GNU/Linux is doing as much for supporting OSX or
Windows as throwing away your supper is doing for supporting starving
children.  That sort of token solidarity is actually counterproductive:
if you believe that non-releases lead to non-users, and you think that
non-releases for GNU/Linux may pressure GNU/Linux developers into making
OSX/Windows releases, then how does a non-release for GNU/Linux, with
its corresponding result in decreasing GNU/Linux users and GNU/Linux
developers, help in recruiting GNU/Linux developers that can be
pressured into making OSX and Windows releases?

 That would eliminate 80% (or more!) of our user base, including
 everybody who works on our documentation, plus certain extremely
 valuable developer like Carl... but I suppose that, logically
 speaking, we could consider it.

 I am against that idea.

Even if we assume that GNU/Linux releases don't help keeping and gaining
OSX and Windows users, this does not imply that not making GNU/Linux
releases helps keeping and gaining OSX and Windows users.

I am afraid that we are painting ourselves into a corner.  And I don't
think that we are doing ourselves a favor by defining stable as a
random moment when somebody managed to get GUB to run for Windows and
OSX.  We should define stable based on the stability and state of the
_actively_ happening development.  _That's_ what we should be cutting
the stable branch from.  And _then_ try getting it ported timely to the
platforms that have, lamentably, a rather lacklustre progress of
releasable material and platform-specific development.  I see very
little correlation between what I'd call a measure of stability, and
what the current set of Critical bugs entails.

 Bottom line: I will not be calling anything a stable release, or
 even a release candidate, if there are issues which are known to
 fall under the current definition of a Critical issue.  I am not
 open to changing that definition for at least the next 6 months.

And nobody feels a need to worry about stability if stable is not
expected to be around the corner anytime soon for reasons out of his
control (you can't expect people working all too much for systems they
do not even have available for testing purposes).

This is not actually supposed to be a discussion from my side.  It's
more like head-scratching.

-- 
David Kastrup


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


Re: critical issues

2012-01-02 Thread Graham Percival
On Tue, Jan 03, 2012 at 01:03:08AM +0100, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:
 
  We could certainly consider dropping support for OSX or windows.
 
 That sort of token solidarity is actually counterproductive:
 if you believe that non-releases lead to non-users,

yes

 and you think that
 non-releases for GNU/Linux may pressure GNU/Linux developers into making
 OSX/Windows releases,

no

 then how does a non-release for GNU/Linux, with
 its corresponding result in decreasing GNU/Linux users and GNU/Linux
 developers, help in recruiting GNU/Linux developers that can be
 pressured into making OSX and Windows releases?

it doesn't?


Suppose we announce a big new shiny lilypond 2.16.  For linux and
freebsd only.  OSX and windows users can go screw themselves.

- what does this do to our ONLY documentation writers and
  reviewers (who are all windows-based)?  Will they be a) more
  motivated to work on lilypond, b) no change, or c) less
  motivated?
- what does this do to our active developers, approximately half
  of which are on OSX?  Will they be a) b) or c) ?


 And I don't think that we are doing ourselves a favor by
 defining stable as a random moment when somebody managed to
 get GUB to run for Windows and OSX.

Good news, we're not.  We're definining stable as is not
deliberately worse than the previous release, for all platforms
which we officially release for.  Plus a little bit of ... and
we can reasonably expect a reasonable contributor to be able to
contribute.

I will admit that the latter point could be construed as if we
make it very difficult to contribute to lilypond, then I'm going
to punish everybody by not having stable releases -- but almost
all of those can't-contribute bugs can be fixed in an hour or
two, and is platform-independent (or rather: it only involves
lilydev, which is ubuntu, most often inside virtualbox, so anybody
can work on that).

Cheers,
- Graham

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


Re: critical issues

2012-01-02 Thread Janek Warchoł
2012/1/3 David Kastrup d...@gnu.org:
 I am afraid that we are painting ourselves into a corner.  And I don't
 think that we are doing ourselves a favor by defining stable as a
 random moment when somebody managed to get GUB to run for Windows and
 OSX.  We should define stable based on the stability and state of the
 _actively_ happening development.  _That's_ what we should be cutting
 the stable branch from.  And _then_ try getting it ported timely to the
 platforms that have, lamentably, a rather lacklustre progress of
 releasable material and platform-specific development.  I see very
 little correlation between what I'd call a measure of stability, and
 what the current set of Critical bugs entails.

While this sounds reasonable, i'm not sure if a policy could be
written that would reflect your intentions; they're a bit too vague.
And even with current guidelines its always possible to say i think
that we shouldn't make a stable release despite having 0 critical
issues, because current master is shabby and we have some major
changes going in the codebase.

I think that the problem may be that we don't organize our work (and
don't want to according to GOP7
http://lilypond.org/~graham/gop/gop_7.html).  In fact, we work quite
like a bunch of individuals doing really independent things all the
time; there are little to no efforts like guys, let's fix that and 5
people start collaborating on something.

Janek

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


Re: critical issues

2012-01-02 Thread Janek Warchoł
(sorry for double-post)

2012/1/2 Graham Percival gra...@percival-music.ca:
 On Mon, Jan 02, 2012 at 10:23:28PM +0100, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:
  If you are aware of any other issues which fall under the
  definition (i.e. a reproducible failure to build lilypond from
  scratch,

 On a supported platform.  It does not look like there is currently much
 sense in calling MacOSX or Windows that.

 The exact details of the proposal specifies as long as configure
 reports no problems, which presumably would fail on osx (unless
 it was highly tweaked) or windows.

  an unintentional regression, or something which stops a good
  contributor from working on lilypond),

 That's urgent.  But it is not release-relevant since good contributors
 don't work on released versions but on the development version.  I also
 see no point in delaying a stable release because of details that are
 not actually worse than at the previous release.

 I understand your point of view.  However, that was not the
 decision that we reached during that GOP discussion, and I am not
 interested in re-opening that discussion.

 Bottom line: I will not be calling anything a stable release, or
 even a release candidate, if there are issues which are known to
 fall under the current definition of a Critical issue.  I am not
 open to changing that definition for at least the next 6 months.
 However, lilypond is open-source software; there are no legal
 barriers[1] to other people building binaries and distributing
 them under whatever name they wanted[2].

By the way, do we have a policy about regressions?  I remember that
reverting bad commits was discussed in the past, and i'm quite for
this solution.
I don't see information about which commits caused our currently open
critical regression, does it mean that's impossible to tell or simply
noone tried to find them?  Is finding them an easy (no knowledge
needed, a complete set of dumbed-down instructions can be given) task
that can be done using a moderately fast computer running lilydev (1,5
GB RAM for virtual machine, processor Core i5 2.5 GHz and no idea if
multicore thingy translates to virtual machine)?

cheers,
Janek

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


Re: critical issues

2012-01-02 Thread Graham Percival
On Tue, Jan 03, 2012 at 06:24:19AM +0100, Janek Warchoł wrote:
 By the way, do we have a policy about regressions?

Yes, they're bad?  :)

 I remember that
 reverting bad commits was discussed in the past, and i'm quite for
 this solution.
 I don't see information about which commits caused our currently open
 critical regression, does it mean that's impossible to tell or simply
 noone tried to find them?

It so happens that none of these Critical issues are really
fixable by reverting a single commit.

- lilypond-book came from a general rewrite of lilypond-book.
- osx came from me accepting a GUB patch which had a problem,
  which technically we could revert but it's better to just solve
  the underlying problem.  (and in fact I think it *has* been
  solved)
- windows path isn't strictly a regression, but IMO it screws up
  users' systems in a sufficiently stupid and embarrassing way
  that I'm going to call it Critical anyway.
- git branches comes from staging, which is necessary because
  people kept on breaking git master.
- web-git came from a cleanup of the old website, originating from
  a build system patch of mine, but come on folks, we already have
  a patch for this in the system, don't complain about that issue.

 Is finding them an easy (no knowledge
 needed, a complete set of dumbed-down instructions can be given) task
 that can be done using a moderately fast computer running lilydev (1,5
 GB RAM for virtual machine, processor Core i5 2.5 GHz and no idea if
 multicore thingy translates to virtual machine)?

when the problem *is* in the lilypond code base, yes it's
brain-dead easy to identify the problematic commit.  Instructions
are already in the CG -- look in the regressions chapter.

Cheers
,- Graham

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


Re: critical issues

2012-01-02 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 On Tue, Jan 03, 2012 at 01:03:08AM +0100, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:
 
  We could certainly consider dropping support for OSX or windows.
 
 That sort of token solidarity is actually counterproductive:
 if you believe that non-releases lead to non-users,

 yes

 and you think that
 non-releases for GNU/Linux may pressure GNU/Linux developers into making
 OSX/Windows releases,

 no

 then how does a non-release for GNU/Linux, with
 its corresponding result in decreasing GNU/Linux users and GNU/Linux
 developers, help in recruiting GNU/Linux developers that can be
 pressured into making OSX and Windows releases?

 it doesn't?

Exactly.

 Suppose we announce a big new shiny lilypond 2.16.  For linux and
 freebsd only.  OSX and windows users can go screw themselves.

We are not announcing a big new shiny Lilypond 2.16.  We are announcing
big new shiny 2.15.xx developer releases one after another.  For
GNU/Linux and FreeBSD only.  And we are not bothering to stabilize
development into a state where it would even make sense to announce 2.16
for anybody.  Or where the effort to bring GUB into release shape would
appear to be worth the trouble.

OSX and Windows users _are_ second class (or handicapped) citizens for
LilyPond because the whole technology is based on GNU, and since the
developer skills needed to work with it strongly correlate with
UNIX-like systems.  The whole point of GUB is that it is a _cross_
building ennvironment that can be maintained by GNU/Linux developers for
the sake of OSX and Windows users.  The skill level for actively keeping
GUB working (rather than plug and pray) is considerable, and requires
good GNU/Linux (or at least UNIX) skills and at least contact skills
with OSX and Windows.  Without a healthy surplus of GNU/Linux-based
developers that are not already locked down with keeping up their own
projects, our OSX and Windows users can indeed, as you so flowery put
it, can go screw themselves because they can't hope to screw with
LilyPond, rather pure UNIX-based technology requiring UNIX-centric skill
sets and mind frames.

There is a _reason_ the remaining OSX and Windows based developers are
doing (definitely important) documentation and web site work.  They are
to a large degree locked out and dependent on support from surplus
GNU/Linux-based developer capacities.  We are not doing them any favors
by killing LilyPond development as a whole out of sympathy with their
plight.

 - what does this do to our ONLY documentation writers and
   reviewers (who are all windows-based)?  Will they be a) more
   motivated to work on lilypond, b) no change, or c) less
   motivated?

We are already screwing them over with GNU/Linux-only developer
releases.  When will we stop using our Windows and OSX developers as an
excuse for not working on a stable release that would actually warrant
the effort of getting GUB working again and matched to current Windows
and OSX releases?

 I will admit that the latter point could be construed as if we
 make it very difficult to contribute to lilypond, then I'm going
 to punish everybody by not having stable releases -- but almost
 all of those can't-contribute bugs can be fixed in an hour or
 two, and is platform-independent (or rather: it only involves
 lilydev, which is ubuntu, most often inside virtualbox, so anybody
 can work on that).

Newsflash: anybody needs considerable GNU/Linux skills to work on
that.  And extra time.  Why should he bother when he can just go on
working with development releases on GNU/Linux?

I don't see GUB catching up without having a feature freeze, the freeze
associated with starting a stable release cycle.  A freeze that actually
_stops_ the releases labelled as development releases in order to hide
the fact that we have stopped actually catering to Windows and OSX users
years ago.  They need actions, not warm wishes and self-flagellation.

-- 
David Kastrup


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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 I haven't seen any interest in
   http://code.google.com/p/lilypond/issues/detail?id=1771

My take on this (if nobody is going to protest in the next few hours) is
to revert the flawed fix.

Reason: we get rid of a critical issue.

The original bug fixer does not appear to be in the queue for fixing the
effects of his patch, and the patch adds a considerable amount of
material.

For me this means that it is easier to think about fixing the original
bug than it is thinking about the flawed fix.

I'll revert in my personal copy and start thinking from there.  However,
it will be about noonish before I actually have time.

The other critical bug appears to be related with multithreading, and I
consider it likely, given its random appearance, that it will mainly
affect multicore systems.  I don't have such a one.

-- 
David Kastrup


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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread Graham Percival
On Sun, Jul 31, 2011 at 09:42:36AM +0200, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:
 
  I haven't seen any interest in
http://code.google.com/p/lilypond/issues/detail?id=1771
 
 My take on this (if nobody is going to protest in the next few hours) is
 to revert the flawed fix.

I think that's entirely reasonable.  IMO, if there's no clear
offer of a fix within 48 hours of a bad commit, we should revert
it.

 The other critical bug appears to be related with multithreading, and I
 consider it likely, given its random appearance, that it will mainly
 affect multicore systems.  I don't have such a one.

I thought lilypond was single-threaded?  Or is the C++ stuff
single-threaded, but the guile stuff multi-threaded?  I mean, I
know that functional programming is great for multi-threaded work
in general, but I didn't think that we used it as such.

Cheers,
- Graham

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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 On Sun, Jul 31, 2011 at 09:42:36AM +0200, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:
 
  I haven't seen any interest in
http://code.google.com/p/lilypond/issues/detail?id=1771
 
 My take on this (if nobody is going to protest in the next few hours) is
 to revert the flawed fix.

 I think that's entirely reasonable.  IMO, if there's no clear
 offer of a fix within 48 hours of a bad commit, we should revert
 it.

 The other critical bug appears to be related with multithreading, and I
 consider it likely, given its random appearance, that it will mainly
 affect multicore systems.  I don't have such a one.

 I thought lilypond was single-threaded?  Or is the C++ stuff
 single-threaded, but the guile stuff multi-threaded?  I mean, I
 know that functional programming is great for multi-threaded work
 in general, but I didn't think that we used it as such.

Guile explicitly differentiates functions map and map-in-order.  In
theory, it would be free to evaluate map in multiple threads.  I have
no indication that it does so and would be quite surprised if they
indeed had as fine-grained threading as that.

But this bug has been reported as occuring non-deterministically even in
successive runs on the same machine, and there are rather few things
that can introduce such stochastic behavior (another possibility would
be timer-triggered garbage collection).

-- 
David Kastrup

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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 On Sun, Jul 31, 2011 at 09:42:36AM +0200, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:
 
  I haven't seen any interest in
http://code.google.com/p/lilypond/issues/detail?id=1771
 
 My take on this (if nobody is going to protest in the next few hours) is
 to revert the flawed fix.

 I think that's entirely reasonable.  IMO, if there's no clear
 offer of a fix within 48 hours of a bad commit, we should revert
 it.

Within 48 hours of pinpointing the bad commit.

-- 
David Kastrup


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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread Trevor Daniels


David Kastrup wrote Sunday, July 31, 2011 8:42 AM



Graham Percival gra...@percival-music.ca writes:


I haven't seen any interest in
  http://code.google.com/p/lilypond/issues/detail?id=1771


My take on this (if nobody is going to protest in the next few 
hours) is

to revert the flawed fix.


+1

The original bug fixer does not appear to be in the queue for 
fixing the

effects of his patch, and the patch adds a considerable amount of
material.


Fixing LilyPond is rarely trivial.  In my experience the
first fix one thinks of is usually flawed (and the
second ...)  We need to be doubly cautious when applying
fixes from casual contributors.

Trevor



-
No virus found in this message.
Checked by AVG - www.avg.com
Version: 10.0.1390 / Virus Database: 1518/3799 - Release Date: 07/30/11


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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread Graham Percival
On Sun, Jul 31, 2011 at 10:04:59AM +0200, David Kastrup wrote:
 But this bug has been reported as occuring non-deterministically even in
 successive runs on the same machine, and there are rather few things
 that can introduce such stochastic behavior (another possibility would
 be timer-triggered garbage collection).

In C++ code, I'd suspect some uninitalized variables (especially
since it always seems to work on the second run on a machine that
failed in the first run).  But since that throw() message seems to
come from guile, and AFAIK you can't have an unitalized variable
in guile, I guess that's not an issue?  Or could we be setting a
guile variable from some (uninitalized) C++ variable?

It's a shame that we can't (usefully) run valgrind on lilypond, or
that nobody's experiented with llvm or even AFAIK the more
sophisticated gcc options.  Finding uninitalized variables is a
task that can be done by the computer; humans should never need to
theorize about whether that's a cause or not.  Just run the
program with a trusted tool, and then you'll either find the
variables, or else you can cross that off from the list of
possibilities.

Cheers,
- Graham

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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 On Sun, Jul 31, 2011 at 10:04:59AM +0200, David Kastrup wrote:
 But this bug has been reported as occuring non-deterministically even in
 successive runs on the same machine, and there are rather few things
 that can introduce such stochastic behavior (another possibility would
 be timer-triggered garbage collection).

 In C++ code, I'd suspect some uninitalized variables (especially
 since it always seems to work on the second run on a machine that
 failed in the first run).

Modern operating systems don't give your code any leftovers from a
previous run.  That would be a security violation.

And even user stack initialization below the stack pointer is not
stochastical.  System processes (like those triggered by interrupts
and/or preemption) use their own stack, and again: it would be a
security violation if a user process could access any information from
their operation.  So the sources for variation in successive identical
runs are very limited.

-- 
David Kastrup

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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread Jan Warchoł
2011/7/31 David Kastrup d...@gnu.org:
 Graham Percival gra...@percival-music.ca writes:

 On Sun, Jul 31, 2011 at 09:42:36AM +0200, David Kastrup wrote:
 Graham Percival gra...@percival-music.ca writes:

  I haven't seen any interest in
    http://code.google.com/p/lilypond/issues/detail?id=1771

 My take on this (if nobody is going to protest in the next few hours) is
 to revert the flawed fix.

 I think that's entirely reasonable.  IMO, if there's no clear
 offer of a fix within 48 hours of a bad commit, we should revert
 it.

 Within 48 hours of pinpointing the bad commit.

+1.  If we manage to get stable releases every few months, i think a
policy of reverting any flawed commit that appeared after last stable
release (i mean x in 2.x.y, not y) would be good.

I can help with these bugs when i close currently opened issues and
sort out my repository after grand fixcc-ing (estimated to happen next
weekend).

cheers,
Janek

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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread Reinhold Kainhofer
Am Sunday, 31. July 2011, 07:45:20 schrieb Graham Percival:
 I haven't seen any interest in
   http://code.google.com/p/lilypond/issues/detail?id=1732
 This is unfortunate, since it means that we can't have a release
 candidate on Aug 01.

Without a reproducible test case, it's simply not possible to debug the 
problem. As I mentioned in my comment, the GUILE error message indicates an 
error in the threaded code. But there is no other indication where the problem 
might be.

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: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread Graham Percival
On Sun, Jul 31, 2011 at 10:26:11AM +0200, David Kastrup wrote:
 Modern operating systems don't give your code any leftovers from a
 previous run.  That would be a security violation.

I'm certain that I've seen an uninitialized variable being
123456789 in some cases, and 0 in others.  I sincerly doubt that
modern operating systems remember what collection of bits were in
memory at just before the first initialization, so the security
step would surely be simply writing 0s to that location in memory.

I think it's quite reasonable that if C++ interpreted a random
collection of bits (i.e. uninitailized memory), guile would barf
when trying to do some math with the resulting value.  But since
that pile of bits would be set to 0 on program exit, and if the
initial programmer just assumed that uninitialized variables were
0 (as they are in java), that would very neatly explain why we've
never seen two successive runs of this problem.

 And even user stack initialization below the stack pointer is not
 stochastical.

Hmm, I may be misunderstanding this sentence due to my relative
ignorance of low-level OS stuff (I had a quite varied career as an
undergraduate).  If you mean the computer starts reserving pieces
of memory for variables in different places in memory on each
run, then my 0-theorizing above is false.  But I'm pretty certain
that I've seen student programs (running in 3-year-old cygwin on
windows 2000, so perhaps not the most secure of environments)
share unitialized variable locations across program runs.

Cheers,
- Graham

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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 On Sun, Jul 31, 2011 at 10:26:11AM +0200, David Kastrup wrote:
 Modern operating systems don't give your code any leftovers from a
 previous run.  That would be a security violation.

 I'm certain that I've seen an uninitialized variable being
 123456789 in some cases, and 0 in others.  I sincerly doubt that
 modern operating systems remember what collection of bits were in
 memory at just before the first initialization, so the security
 step would surely be simply writing 0s to that location in memory.

If the stack never previously was used to that depth.  I did not say
that you don't get leftovers from previous function calls.  And yes, you
usually get zeros for uninitialized memory.

 And even user stack initialization below the stack pointer is not
 stochastical.

 Hmm, I may be misunderstanding this sentence due to my relative
 ignorance of low-level OS stuff (I had a quite varied career as an
 undergraduate).  If you mean the computer starts reserving pieces of
 memory for variables in different places in memory on each run, then
 my 0-theorizing above is false.

That's not what I mean, though Linux indeed nowadays has kernel
parameters for randomizing its virtual storage layout to make it harder
to developer exploits for system libraries.  If bugs pop up only
occasionally, it might be worth switching this off and see whether it
stabilizes the problem in either direction.

 But I'm pretty certain that I've seen student programs (running in
 3-year-old cygwin on windows 2000, so perhaps not the most secure of
 environments) share unitialized variable locations across program
 runs.

Windows 2000 (not NT-based IIRC) does not usefully employ memory
protection IIRC, so likely Cygwin does not add all too much on top.

-- 
David Kastrup

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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread Wols Lists
On 31/07/11 17:47, David Kastrup wrote:
 Windows 2000 (not NT-based IIRC) does not usefully employ memory
 protection IIRC, so likely Cygwin does not add all too much on top.

Windows 2000 most definitely IS NT-based. You're thinking of Windows ME,
which is the last of the DOS7/Win9x line.

Cheers,
Wol

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


Re: no movement on Critical issues; 2.16 in Oct ?

2011-07-31 Thread David Kastrup
Wols Lists antli...@youngman.org.uk writes:

 On 31/07/11 17:47, David Kastrup wrote:
 Windows 2000 (not NT-based IIRC) does not usefully employ memory
 protection IIRC, so likely Cygwin does not add all too much on top.

 Windows 2000 most definitely IS NT-based. You're thinking of Windows ME,
 which is the last of the DOS7/Win9x line.

Ok.  It might have been that the security implications of uninitialized
memory have not caught up with NT/2000 development at that point of
time.  It took quite some time before Linux closed that leak, too.

-- 
David Kastrup


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


no movement on Critical issues; 2.16 in Oct ?

2011-07-30 Thread Graham Percival
I haven't seen any interest in
  http://code.google.com/p/lilypond/issues/detail?id=1771
  http://code.google.com/p/lilypond/issues/detail?id=1732
This is unfortunate, since it means that we can't have a release
candidate on Aug 01.

I fully expect to lose a whole week of otherwise productive work
in the confusion of the fixcc.py run.  I'm also seeing a couple of
reports of builds failing; those are very serious since it means
that programmers and doc writers can't test their own work.
Unless action is taken, we're looking at a much-delayed 2.16
release.


Many people have said that they would like to have stable releases
more regularly.  Some people have expressed a willingness to work
on a team, i.e. spending a few hours a week on stuff that
(potentially) doesn't interest them in the least, simply to keep
momentum.

I implore those people to investigate + fix Critical issues.  I
know that some problems only occur on certain machines, so those
are going to be a royal pain to investigate... but if nobody does
anything, then it's not going to fix itself.  In cases of
occasional failures, it would be good to know if anybody can
reproduce the problematic behaviour.

Cheers,
- Graham

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


critical issues

2011-03-20 Thread Graham Percival
Hey guys,

I've been busy/distracted/sick for the past week, and I'll
continue to be busy/distracted/sick for the next ten days.  I'm
also fed up with announcing a release candidate and then
discovering that there's a known critical issue that wasn't on the
tracker a day later.


1) if you're working on a Critical issue, could you add it to the
tracker?  directly?  i.e. don't rely on the bug squad to add it
for you?

2) if you suspect that there's a Critical issue, and you're either
on the bug squad or have git push access, could you add it to the
tracker?  directly?  and by suspect, I mean as in shoot first,
ask questions later?  like, don't wait until somebody has
confirmed it, just dump it in there so that I don't make yet
another false release candidate announcement?

Cheers,
- Graham

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


Re: critical issues

2011-01-23 Thread Boris Shingarov

On 11-01-01 03:24 AM, Graham Percival wrote:

or an
art history / research grant.  I think the latter is more
likely... for example, if somebody got a grant to typeset 17th
century Norweigan folk songs, and decided to use lilypond, and
spent x% of the grant towards improving community-oriented tools
for folk music archival, etc.

This is exactly what we have been doing here for a while.  In
act, it absolutely amazes me how closely you are describing our
project.  Only 100 years off (16th century instead of 17th),
and only a few hundred kilometers off.

But as I was trying to explain last summer, there are some problems.

The Lilypond project has a very specific set of objectives.  There
is a defined set of procedures, a roadmap, a set of criteria of
what is acceptable to go into the codebase, etc.

The music history research project, has its own set of objectives.
And its own set of rules.  And procedures.  And criteria of what
is acceptable.  When these rules contradict Lilypond rules, I
follow the history research project's rules, not the Lilypond
project's rules, because it is the music history research project
that pays me.  How contradictory are these rules, and how big is
the problem?

Well on one hand, none of today's Critical Issues in Lilypond,
are on the list of priorities for our project.  So even if we had
20 full-time developers, it wouldn't help with releasing the next
stable version.

On the other hand, we have implemented some major new
functionality.  Seamless markup-to-embedded-score integration,
automatic endnotes, merging and visual indication of used sources,
and a lot of other things.  Can it be contributed back?  Hardly
in its current form.  It causes a ton of regressions: basically,
it does not work on anything but Gregorian plainchant.  It will
immediately crash on any piano music or orchestral music.  Will
I fix it?  Not unless someone pays me to, and I know the music
historians will not, because they don't care.  What they (and
your Norwegian friends with their 17th century songs) care about,
is whether or not it is possible to typeset Norwegian lyrics.
Which it isn't -- and it's not even Lilypond's fault: SRFI-13
in Guile does not work with Unicode.

So we have all this work done, but it would be an even bigger
effort to merge it back.  Who will do it?  In the current
situation, I don't know.

However, I am making aggressive steps to change this.  As we
attract more attention from serious organizations, we get into
position to bring forward some conditions for the next project.
Namely, it will become imperative that all contributions get
merged back into the community codebase.  It still does not
mean helping with things like releasing the next stable version
of Lilypond, or similarly, with any part of Lilypond agenda;
although I am not sure if it is a bad thing -- if we want to
transition from being a volunteer project with limited
resources to professional open-source, we will need to face
the fact that there are things which customers are willing to
pay for, and things which no-one finds important enough to
either work on themselves or pay for.

But first we will have to be successful to engage in the new
project.  It is still unclear whether it will happen or not.
I will keep you posted.

Boris



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


Re: critical issues

2011-01-23 Thread Graham Percival
On Sun, Jan 23, 2011 at 10:29:11AM -0500, Boris Shingarov wrote:
 The Lilypond project has a very specific set of objectives.  There
 is a defined set of procedures, a roadmap, a set of criteria of
 what is acceptable to go into the codebase, etc.

This is true of any (well-organized) project.

 When these rules contradict Lilypond rules, I
 follow the history research project's rules, not the Lilypond
 project's rules, because it is the music history research project
 that pays me.

That is entirely appropriate.  :)

 What they (and
 your Norwegian friends with their 17th century songs) care about,
 is whether or not it is possible to typeset Norwegian lyrics.
 Which it isn't -- and it's not even Lilypond's fault: SRFI-13
 in Guile does not work with Unicode.

eh?  We've had utf-8 lyrics for a while.  Anyway, that's an aside.

 So we have all this work done, but it would be an even bigger
 effort to merge it back.

This is a general problem with all software projects --
commercial, open source, in-house, world-wide, etc.  I've read
comments on programming forums or blogs saying that it takes 5
times the effort to merge something upstream than it does to
implement it in the first place.  There's lots of discussion
online about sending linux kernel patches upstream, or gcc
patches, etc.

 However, I am making aggressive steps to change this.  As we
 attract more attention from serious organizations, we get into
 position to bring forward some conditions for the next project.
 Namely, it will become imperative that all contributions get
 merged back into the community codebase.

Yes.

Basically, it's a trade-off.  If you work by yourself (or with a
small group of programmers), you can do whatever you want.  Focus
on just the features you want, break other stuff, use shortcuts
that could potentially cause problems later on but aren't relevant
yet, etc.  There's nothing wrong with this -- I work in this
manner quite often on my own personal research projects.

However, if you work by yourself, then it's more difficult to
share your code with other people (if you want to), and you can't
get improvements that other people have made (if you care about
those).

Now, in your case, your group doesn't care about piano music or
orchestra stuff.  That's totally fine!  But what if the guile 2.0
change could speed up your processing?  Or maybe your group could
benefit from Benko Pal's black mensural notation and coloratio in
white mensural notation work?  Well, the more your source tree
diverges from the main lilypond git tree, the harder it will be to
get those changes.


*shrug*
I'm not saying that it's worth trying to merge your patches.
That's really a question of how much work you want to do on
general maintenance, how long you think your group will be working
on this projects (or related future ones), etc etc.  In the very
long term, I think that merging things with main git will be less
work.  Once we accept a patch, we'll turn down other patches that
break your features, so that aspect of maintenance is now *our*
problem (or the next patch submitter's problem), not yours.

However, by very long term, I'm thinking 5-10 years.  If
you're only doing a 2-year project, with regular deadlines, and
don't expect to be doing anything else like this after 2 years,
then I honestly think it would be irrational of you to spend
time+effort merging patches with main lilypond git.


As you know, we're trying to make it easier for contributors,
easier to discuss+merge new features, etc., but it's not an easy
process  If it's not worth merging stuff now, it might still be
worth it in 6 months.  This is really a question between you and
the people who sign your paychecks... another option might be to
allocate a short amount of time (say, 2 hours a week?) to spend on
merging patches.  That way, at least you (and your bosses) know
how much time you'll lose on this task.

Cheers,
- Graham

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


Re: biweekly Critical issues plea

2011-01-20 Thread Keith OHara

%{ Fellow Contributors,
The patches look like they do the job, and give clean regression tests,
but the developers are hesitant.  I am not a programmer, and I cannot
read minds, but I can tell you what makes *me* hesitant.

Look at issue 1120. A lyric syllable covering more than one note spread
those note inappropriately. The issue was fixed, but try this:
%}
\version 2.13.46
 \context Voice = v { d'4 c' d'4 fis'4 g'1 }
\new Lyrics \with { % Surely somebody will adjust the spacing this way.
  \override VerticalAxisGroup % No padding spec, so padding = 0
  #'nonstaff-relatedstaff-spacing = #'((basic-distance . 7))
} \lyricsto v {
  \lyricmode { Oooo _ _ _  A }
} 

% The debug output, yellow and blue lines, helps to see what is going on.
\layout {
  \context { \Score
  \override PaperColumn #'stencil = #ly:separation-item::print
%  \override Accidental #'extra-spacing-height = #'(-0.2 . 0.2)
%  \override LyricText #'extra-spacing-height = #'(+0.4 . -0.4)
}}
#(ly:set-option 'debug-skylines)
%{
If the page is vertically tight, the Oooo lyric might be placed
immeidately against the notes, because the user requested 0 padding.
When the horizontal spacing of notes is determined, Lilypond avoids
collisions and also ensures an 'extra-spacing-height' of clearance
around objects when considering whether to slide notes closer.
Formerly, the default 'extra-spacing-height' was 0.1, so the c' would
refuse to slide over the lyrics, there being 0.1 staffspace of
interference, and we had issue 1120.

The commit to fix 1120 changed the default from 0.1 to 0.0, removing the
interference and letting the notes correctly slide over the lyrics --
most of the time. If somebody sets zero padding between lyrics and notes
like I did above, the c does not slide.  Make the c' a cis' and it
slides; I don't know why.

I worry that reducing the default extra-spacing-height had side effects.
The old 0.1 seems to have avoided some issues, issue 1472 and 1474 that
we know so far, and it made the collision I reported yesterday much
more rare in 2.12.3.

Reducing the default to 0.0 also puts an awkward constraint on parameter
tweakers like me.  If a cis' is the lowest note and I give Accidentals
and extra-spacing-height, the notes don't slide any more. (Oh no! trying
to fix 1474 I just broke the fix to 1120.)  Any objects that might need
to slide over lyrics must have zero extra-spacing-height, meaning they
will slide /very/ close to each other.  I get the feeling we are painting
ourselves into a corner.

I tried the usual method for making an object be ignored during
note-spacing (copying from \textLengthOff) LyricText'extra-spacing-width
= '(+inf.0 .-inf.0), but that lets barlines overlap lyrics and breaks
test lyrics-bar.ly.


I recommend replacing the commit to fix 1120 with an initialization
(extra-spacing-height . (+0.4 . -0.4)) for LyricText,
and probably LyricHyphenLyricExtenter, because that fixes 1120 more
solidly and removes the cause for issues 1474 and 1472, and it seems
more conservative than three individual patches.

I got a clean make check (unless I got mixed up with my baseline) and my
scores came out nice.  Does this approach have problems I don't see?
What better long-term solution is there?
%}

Revert-Fix-1120.-Replace-with-LyricText-adjust.diff
Description: Binary data
attachment: Ghost_of_1120.png___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: biweekly Critical issues plea

2011-01-20 Thread Keith OHara

On Thu, 20 Jan 2011 01:33:10 -0800, Keith OHara k-ohara5...@oco.net wrote:


...  because that fixes 1120 more
solidly and removes the cause for issues 1474 and 1472,


Well, reverting ee0488 removes the cause of our /noticing/ issue 1472
(multi-measure rests colliding with key signatures).

The way that KeySigs reserve their space seems strange, but we don't
have to hurry to fix that if we go back to to the state where was
causing no problems.

As I gradually understand more about how the system works, I continue
to like Neil's suggestion to put KeySigs on the callback list.
-keith


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


Re: biweekly Critical issues plea

2011-01-20 Thread m...@apollinemike.com
Pushed to Rietveld:http://codereview.appspot.com/4056043

Note that there is a trailing whitespace error on line 47 of the diff.

Cheers,
MS

On Jan 20, 2011, at 5:13 AM, Keith OHara wrote:

 On Thu, 20 Jan 2011 01:33:10 -0800, Keith OHara k-ohara5...@oco.net wrote:
 
 ...  because that fixes 1120 more
 solidly and removes the cause for issues 1474 and 1472,
 
 Well, reverting ee0488 removes the cause of our /noticing/ issue 1472
 (multi-measure rests colliding with key signatures).
 
 The way that KeySigs reserve their space seems strange, but we don't
 have to hurry to fix that if we go back to to the state where was
 causing no problems.
 
 As I gradually understand more about how the system works, I continue
 to like Neil's suggestion to put KeySigs on the callback list.
 -keith
 
 
 ___
 lilypond-devel mailing list
 lilypond-devel@gnu.org
 http://lists.gnu.org/mailman/listinfo/lilypond-devel


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


Re: biweekly Critical issues plea

2011-01-19 Thread m...@apollinemike.com
I'll take care of 1472, but I need a copy of Valentin's opera.

Cheers,
MS

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


Re: biweekly Critical issues plea

2011-01-19 Thread Benkő Pál
 Work on Critical issues has pretty much wound down.  Carl asked
 about the status of 1474 recently; I'd like to take that a step
 further and ask for a dedicated volunteer to act as shepherd for
 each issue.
 - you *don't* need to program, or even understand programming
  (but that would be a plus)
 - you *do* need to read all emails on the subject
 - you *do* need to keep the issue up-to-date.  If there's a large
  discussion happening, just follow it, but when the discussion
  dies down, make sure that you post a summary and/or links to
  the main emails in the issue.
 - you should be ready to give a status update if somebody asks for
  one, but that shouldn't be necessary because you should have
  already updated the issue with that info.

 There's three Critical issues: 1472, 1474, and 1475.  Any takers?
 (again, to be the shepherd or secretary, not to handle all
 programming tasks yourself)

I'll take 1475.

p

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


Re: biweekly Critical issues plea

2011-01-19 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 Did you know that English is an absolutely stupid language?  The
 word biweekly can mean either 4 times each 14 days, or 1 time
 each 14 days!

What's wrong with fortnightly?

-- 
David Kastrup


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


Re: biweekly Critical issues plea

2011-01-19 Thread Bernard Hurley
I'll take on 1474

Bernard

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


Re: biweekly Critical issues plea

2011-01-19 Thread Graham Percival
On Wed, Jan 19, 2011 at 06:57:27AM -0500, m...@apollinemike.com wrote:
 I'll take care of 1472, but I need a copy of Valentin's opera.

Valentin's opera is available as a git checkout:
http://repo.or.cz/w/opera_libre.git
but did you mean 1475 instead?  Benk has claimed it.


I tried briefly looking at the opera a few days ago, but it didn't
compile in 2.12.3 or 2.13.46, so I gave up after a few minutes.
Finding a minimal example that works in both 2.12.3 and 2.13.46
might be tricky, but such an example is necessary if we're going
to run git bisect and the like.  Maybe it you disable all tweaks,
you can still reproduce the crash with recent lilypond, but still
run it in the old version?

(this is a prime example of why I want to  1. have stable releases
closer together, and 2. pin down at least a subset of our input
syntax with GLISS)

Cheers,
- Graham

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


Re: biweekly Critical issues plea

2011-01-19 Thread Benkő Pál
 I'll take care of 1472, but I need a copy of Valentin's opera.

 Valentin's opera is available as a git checkout:
 http://repo.or.cz/w/opera_libre.git
 but did you mean 1475 instead?  Benk has claimed it.


 I tried briefly looking at the opera a few days ago, but it didn't
 compile in 2.12.3 or 2.13.46, so I gave up after a few minutes.
 Finding a minimal example that works in both 2.12.3 and 2.13.46
 might be tricky,

tonight I'll prepare a smaller example, the one mentioned in
http://lists.gnu.org/archive/html/lilypond-devel/2011-01/msg00387.html

p

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


Re: biweekly Critical issues plea

2011-01-19 Thread Graham Percival
On 1/19/11, Benkő Pál benko@gmail.com wrote:
 I tried briefly looking at the opera a few days ago, but it didn't
 compile in 2.12.3 or 2.13.46, so I gave up after a few minutes.
 Finding a minimal example that works in both 2.12.3 and 2.13.46
 might be tricky,

 tonight I'll prepare a smaller example, the one mentioned in
 http://lists.gnu.org/archive/html/lilypond-devel/2011-01/msg00387.html

That would be great; once there's an example, I can find the exact
commit which produces the crash.  I have a powerful desktop doing
nothing most of the time; it's no problem for me to recompile lilypond
30 or 40 times.

Cheers,
- Graham

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


Re: biweekly Critical issues plea

2011-01-19 Thread Benkő Pál
2011/1/19 Graham Percival gra...@percival-music.ca:
 On 1/19/11, Benkő Pál benko@gmail.com wrote:
 I tried briefly looking at the opera a few days ago, but it didn't
 compile in 2.12.3 or 2.13.46, so I gave up after a few minutes.
 Finding a minimal example that works in both 2.12.3 and 2.13.46
 might be tricky,

 tonight I'll prepare a smaller example, the one mentioned in
 http://lists.gnu.org/archive/html/lilypond-devel/2011-01/msg00387.html

 That would be great; once there's an example, I can find the exact
 commit which produces the crash.  I have a powerful desktop doing
 nothing most of the time; it's no problem for me to recompile lilypond
 30 or 40 times.

the commit was identified and a patch is proposed, see
http://lists.gnu.org/archive/html/lilypond-devel/2011-01/msg00227.html

but we can't understand why does it work; we know, however, that
it changes behaviour as well, see
http://lists.gnu.org/archive/html/lilypond-devel/2011-01/msg00387.html

p

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


Re: biweekly Critical issues plea

2011-01-19 Thread Francisco Vila
2011/1/19 Graham Percival gra...@percival-music.ca:
it's no problem for me to recompile lilypond
 30 or 40 times.

Finding a commit out of 40 by git-bisect shouldn't need to recompile
more than log2(40)=5.32  , this gives 6 times in the worst case.

-- 
Francisco Vila. Badajoz (Spain)
www.paconet.org , www.csmbadajoz.com

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


Re: biweekly Critical issues plea

2011-01-19 Thread Graham Percival
On Wed, Jan 19, 2011 at 04:32:21PM +0100, Francisco Vila wrote:
 2011/1/19 Graham Percival gra...@percival-music.ca:
 it's no problem for me to recompile lilypond
  30 or 40 times.
 
 Finding a commit out of 40 by git-bisect shouldn't need to recompile
 more than log2(40)=5.32  , this gives 6 times in the worst case.

We've had more than 40 commits between 2.12.3 and 2.13.46.
Granted, it's probably less than a billion.  I guess that 12 to
14 times would have been a better estimate.

Cheers,
- Graham

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


Re: biweekly Critical issues plea

2011-01-19 Thread m...@apollinemike.com
Graham et all,

I have read all of the postings and am up to date - I meant what next as a 
general question to the community in the sense of would anyone who was 
actually involved in the pushing of this commit (Joe - I see your name 
associated with it - how much work did you do on it?) like to give me some 
guidance as to where to go so that I can find that which ultimately causes this 
regression?  In terms of man hours, I think that a little time invested by the 
people who were involved in producing the commit would be more efficient than 
my learning how lilypond functioned back when this was pushed.  That said, if 
the response is I have no clue, then I will get to figuring it out.

Cheers,
MS

On Jan 19, 2011, at 4:45 PM, Graham Percival wrote:

 On Wed, Jan 19, 2011 at 04:31:47PM -0500, m...@apollinemike.com wrote:
 result of git bisect for issue 1472
 
 ee0488f3aa19e0060b6e17c46a4d88cb9d57c489 is the first bad commit
Fix 1120.
 
 What next?
 
 Umm.  Next you read the emails on lilypond-devel which have been
 discussing this for the past few days.  I know that I've seen
 somebody talking about reverting the 1120 fix, either earlier
 today, or yesterday.
 
 Remember, I told you that getting up-to-date was your job.  I
 honestly didn't know that the revert-1120-fix discussion was about
 issue 1472, but I'm not surprised.  The whole point of the
 shepherd idea was to avoid duplicating work like this!
 (yes, it was useful for you to learn about git bisect, but that's
 it)
 
 Cheers,
 - Graham


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


Re: biweekly Critical issues plea

2011-01-19 Thread Carl Sorensen
On 1/19/11 2:51 PM, m...@apollinemike.com m...@apollinemike.com wrote:

 Graham et all,
 
 I have read all of the postings and am up to date - I meant what next as a
 general question to the community in the sense of would anyone who was
 actually involved in the pushing of this commit (Joe - I see your name
 associated with it - how much work did you do on it?) like to give me some
 guidance as to where to go so that I can find that which ultimately causes
 this regression?  In terms of man hours, I think that a little time invested
 by the people who were involved in producing the commit would be more
 efficient than my learning how lilypond functioned back when this was pushed.
 That said, if the response is I have no clue, then I will get to figuring it
 out.

I think the best what next response is for you to summarize the discussion
you have found on -bug, -devel, -user, and the issues comments to see what
you think the current proposed resolution is, if anything.

There's been enough different discussion going on about this that I'm not
clear what has been said or proposed (that's why I asked about 1474).  We
may have a solution already at hand, but I'm not up on it.

The shepherd job is not to solve the bug, it's to make sure the developer
community is on the same page about the bug.

Thanks,

Carl
 


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


Re: biweekly Critical issues plea

2011-01-19 Thread Carl Sorensen
On 1/19/11 2:51 PM, m...@apollinemike.com m...@apollinemike.com wrote:

 Graham et all,
 
 I have read all of the postings and am up to date - I meant what next as a
 general question to the community in the sense of would anyone who was
 actually involved in the pushing of this commit (Joe - I see your name
 associated with it - how much work did you do on it?) like to give me some
 guidance as to where to go so that I can find that which ultimately causes
 this regression?  In terms of man hours, I think that a little time invested
 by the people who were involved in producing the commit would be more
 efficient than my learning how lilypond functioned back when this was pushed.
 That said, if the response is I have no clue, then I will get to figuring it
 out.
 

IIUC, Neil's proposed patch to this issue was to add KeySignature to
pure-print-callbacks.

See http://lists.gnu.org/archive/html/bug-lilypond/2011-01/msg00169.html

But I haven't dug in to try to figure out exactly what that means. Given
what I know about Neil's suggestions, if you're trying to actually fix this
bug, I'd recommend you figure out what that means and do it.

Thanks,

Carl


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


Re: biweekly Critical issues plea

2011-01-19 Thread Mike Solomon
Got it.

Then, here is the state of things:

1/6
Bug is first reported on the bug list.

1/7
Neil reports adding a default 'extra-spacing-height to key signature.

1/10
Keith confirms that this works and that he gets a clean make check.

1/13
Phil holmes reports the regression on the bugtracker (2.13.46).
Graham identifies that the output was correct on the bugtracker (2.12.3).

1/19
Mike confirms that the regression is indeed due to 1190 and realizes that he is 
not subscribed to the bug list.
Mike proposes a patch based on the discussion between Neil and Keith, which is 
attached to this e-mail and on Rietveld @ http://codereview.appspot.com/4031042.

0001-Fix-for-issue-1472.patch
Description: Binary data

Make check passes.

Cheers,
MS

On Jan 19, 2011, at 5:23 PM, Carl Sorensen wrote:

 On 1/19/11 2:51 PM, m...@apollinemike.com m...@apollinemike.com wrote:
 
 Graham et all,
 
 I have read all of the postings and am up to date - I meant what next as a
 general question to the community in the sense of would anyone who was
 actually involved in the pushing of this commit (Joe - I see your name
 associated with it - how much work did you do on it?) like to give me some
 guidance as to where to go so that I can find that which ultimately causes
 this regression?  In terms of man hours, I think that a little time invested
 by the people who were involved in producing the commit would be more
 efficient than my learning how lilypond functioned back when this was pushed.
 That said, if the response is I have no clue, then I will get to figuring 
 it
 out.
 
 I think the best what next response is for you to summarize the discussion
 you have found on -bug, -devel, -user, and the issues comments to see what
 you think the current proposed resolution is, if anything.
 
 There's been enough different discussion going on about this that I'm not
 clear what has been said or proposed (that's why I asked about 1474).  We
 may have a solution already at hand, but I'm not up on it.
 
 The shepherd job is not to solve the bug, it's to make sure the developer
 community is on the same page about the bug.
 
 Thanks,
 
 Carl
 
 

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


Re: biweekly Critical issues plea

2011-01-19 Thread Carl Sorensen

On 1/19/11 4:33 PM, Mike Solomon mike...@ufl.edu wrote:

 Got it.
 
 Then, here is the state of things:
 
 1/6
 Bug is first reported on the bug list.
 
 1/7
 Neil reports adding a default 'extra-spacing-height to key signature.
 
 1/10
 Keith confirms that this works and that he gets a clean make check.
 
 1/13
 Phil holmes reports the regression on the bugtracker (2.13.46).
 Graham identifies that the output was correct on the bugtracker (2.12.3).
 
 1/19
 Mike confirms that the regression is indeed due to 1190 and realizes that he
 is not subscribed to the bug list.
 Mike proposes a patch based on the discussion between Neil and Keith, which is
 attached to this e-mail and on Rietveld @
 http://codereview.appspot.com/4031042.

I think you missed Neil's email of 1/14, which suggested that the proper fix
for this issue was not to add 'extra-spacing-height to the KeySignature, but
to add KeySignature to the pure-print-callback list.

Or maybe the patch should have both the 'extra-spacing-height and the
pure-print-callback.

Thanks,

Carl



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


  1   2   >