Re: Better pure height approximations for beamed rests. (issue 4860043)

2012-04-27 Thread k-ohara5a5a


http://codereview.appspot.com/4860043/diff/4/lily/beam.cc
File lily/beam.cc (right):

http://codereview.appspot.com/4860043/diff/4/lily/beam.cc#newcode1743
lily/beam.cc:1743: Beam::pure_rest_collision_callback (SCM smob, SCM
prev_offset,
Mike, Based on their contents, the arguments appear to be in a different
order:
   grob, start, end, prev_offset
which is different than what you wrote in CG 10.13.2

http://codereview.appspot.com/4860043/

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


Re: LoMuS

2012-04-27 Thread Graham Percival
On Fri, Apr 27, 2012 at 07:09:39AM +0200, m...@apollinemike.com wrote:
I'd be good to set a precedent for this now so that LilyPond can apply
to other software competitions in the future.

*sigh*
I'll rehash an old email.


I know that some of us would like to get paid for lilypond work.
But I'm leery of jumping into this topic for a few reasons:

1) lilypond survives because of volunteer work.  I think we should
be *extremely* cautious about anything which may jeopardize the
amount of time people volunteer.

2) if we officially organize these arrangements, there may be
currency exchange, tax issues, or legal issues that arise,
particularly given the international nature.  Who gets the money?
How would it be distributed, if at all?  How much loss to third
parties is acceptable?

3) it's not going to be enough.  Companies and government grants
are where the real money for supporting programmers comes from;
hiring just one person from individual donations would require far
more users than we have.


1) VOLUNTEER EFFORT

I'm referring to maintenance tasks here, not new development.
I famously spend 10 hours a week[*] just keeping things running.
Add in the bug squad, patch countdowns, building releases,
reviewing patches, miscellaneous things that James does, etc, and
we're easily looking at 30 hours a week just keeping things
moving.

[*] now 5 hours due to phd dissertation.

That may sound like a lot -- well, it *is* a lot -- but other than
automation like Patchy, I can't see how to reduce it.  We could
ignore all bug reports, abandon any pretense at avoiding
regressions, stop having releases, eliminate any patch reviews...
at various points in the history of lilypond, we've done all of
those... but I really think we should keep those tasks going.

How much does that cost?  Well, if we wanted to pay people $10 an
hour for those tasks -- which is probably decent for bug squad
work, but ridiculously low rate for reviewing patches -- then
we're looking at $1200 a month.  For *no* new features or bug
fixes.  A thousand bucks a month just to keep things moving
smoothly.

We can't afford to jeopardize that.  We need volunteers willing to
handle those tasks.


Some people aren't going to make a priority of seeking out
monetary gain; they have good careers already.  Other people might
have crappy jobs or be students and would probably love to have a
bit of extra financial benefit.  I'm not certain how those people
might feel about spending hours each week doing volunteer
maintenance tasks if programmers were working for money.

Personally, at this stage in my life, I'm more in the first group
-- I'm (on track) for a good academic job, so I'm not too fussed
about money.  Also, I'm single and live on less than 500 pounds
($700) a month.  But if a large fraction of development work was
on a for hire basis eight years ago, I would not have gotten
involved in lilypond development.  So I think that concerns about
jeopardizing volunteer effort with financial benefits for some
people are very real.



2) OFFICIAL PROBLEMS

If the lilypond project officially organizes/endorses
sponsorships, are there any legal issues?  I _think_ that as long
as we treat programmers as contractors, the programmers themselves
are responsible for filing taxes with their own governments... but
I'm not a tax lawyer (much less an international tax lawyer!) so
I'm not certain.  What currencies would we accept, and which
currencies would we pay out?  Would we go with a specific tool
(google checkout?  paypal, despite any ethical qualms people might
have with that company?  etc) ?  organize bank transfers within
Europe (which are much easier than bank transfers within Canada or
the US, and certainly easier than international bank transfers).

This would open up a *huge* can of worms, and I don't want to deal
with any of this crap.  There's always the possibily of making /
resurrecting the lilypond foundation (yet more crappy paperwork),
or joining a group like the Software Freedom Conservancy.

The SFC actually looks decent -- I recognize a bunch of names on
their directors, and some of their projects are boost, git,
inkscape, pypy, swig, and wine.  But that would still involve lots
of discussion, paperwork, and red tape.

I know that some of you might think that's exactly what GOP is --
and yes, I've been thinking about proposing this in GOP 25 or so
-- but right now I don't think it's a problem worth tackling.  We
have enough problems with staging / not losing patches / etc.
Once we've cleared out those and have a smoother development
process, I'm open to investigating the SFC more.

... ha!  I mean, the whole point of GOP was to get the development
process moving smoothly enough so that I could turn my attention
to GLISS.  I really, really, *really* don't want to mess around
with official foundations at the moemnt.


3) NOT ENOUGH

The only source of enough money to really make a difference -- to
hire programmers on a part-time basis, 

Re: LoMuS

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

On 27 avr. 2012, at 08:07, Graham Percival wrote:

 On Fri, Apr 27, 2012 at 07:09:39AM +0200, m...@apollinemike.com wrote:
   I'd be good to set a precedent for this now so that LilyPond can apply
   to other software competitions in the future.
 
 *sigh*
 I'll rehash an old email.
 

I've gotten two different (I think) responses from Werner and Graham.

I'll formulate my question differently.  If anyone on the development team 
sends me an e-mail saying Do not submit LilyPond to LoMuS, I won't submit 
LilyPond to LoMuS.  We're all the authors of the program, so if there is a 
person that does not want their work submitted to this competition, that is 
completely legitimate and I won't send it off.

IMHO, it'd be a shame to not enter this contest - it is one of the most 
important music open source competitions in the world (probably the most 
important) and we have a strong chance of doing well in it.

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


Re: Website build crashing

2012-04-27 Thread m...@apollinemike.com
On 27 avr. 2012, at 07:08, m...@apollinemike.com wrote:

 Hey all,
 
 My website build crashes with:
 
 mikesol@mikesol-laptop:~/lilypond-git$ sudo make 
 LILYPOND_WEB_MEDIA_GIT=/home/mikesol/lilypond-extra website
 make --no-builtin-rules config_make=./config.make \
   top-src-dir=/home/mikesol/lilypond-git \
   -f /home/mikesol/lilypond-git/make/website.make \
   website
 make[1]: Entering directory `/home/mikesol/lilypond-git'
 cp /home/mikesol/lilypond-git/Documentation/misc/out 
 out-website/website/misc/out
 cp: omitting directory `/home/mikesol/lilypond-git/Documentation/misc/out'
 make[1]: *** [out-website/website/misc/out] Error 1
 make[1]: Leaving directory `/home/mikesol/lilypond-git'
 make: *** [website] Error 2
 
 It seems that the cp command is trying to copy the misc/out directory without 
 adding the -r flag.  Can someone confirm this problem before I open a tracker 
 issue?
 

Problem solved - need to build from separate directory.

Cheers,
MS


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


Re: Better pure height approximations for beamed rests. (issue 4860043)

2012-04-27 Thread mike


http://codereview.appspot.com/4860043/diff/4/lily/beam.cc
File lily/beam.cc (right):

http://codereview.appspot.com/4860043/diff/4/lily/beam.cc#newcode1743
lily/beam.cc:1743: Beam::pure_rest_collision_callback (SCM smob, SCM
prev_offset,
On 2012/04/27 06:06:21, Keith wrote:

Mike, Based on their contents, the arguments appear to be in a

different order:

grob, start, end, prev_offset
which is different than what you wrote in CG 10.13.2


You're right - this is an error.  Do you want me to fix it or are you
working on a patch into which the fix could be incorporated?

http://codereview.appspot.com/4860043/

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


Re: Lilypond patchy and other Lilypond problems

2012-04-27 Thread Phil Holmes
- Original Message - 
From: Łukasz Czerwiński

To: James
Cc: m...@apollinemike.com ; k-ohara5...@oco.net ; David Kastrup ; 
lilypond-devel@gnu.org

Sent: Thursday, April 26, 2012 7:41 PM
Subject: Lilypond patchy and other Lilypond problems


Still requires 'someone' to 'do' something and then say 'LGTM' and I
don't know what the feed back has been with regard to the



http://lilypond.org/doc/v2.15/Documentation/contributor/grand-regression-test-checking.html



is this just not the same thing in essence?


Woow, what's that:Â http://www.philholmes.net/lilypond/regtests/Â for? Is 
it for rating regression tests or for rating that particular result of a 
particular test run?

Łukasz



OK.  Regtest checking can mean three things.  1) Between releases, comparing 
the output of the regtests with what they looked like before and flagging 
any differences as potential problems.  I do this.  2) Doing the same thing 
for patches.  Patchy does this, helped by a human, currently James and was 
David.  3) Checking that the regtests themselves are OK - well described and 
functional.  The grand regtest checking project does this, hosted on my 
server and using my web code.  We're doing well.  If you log in and check a 
few, you can see the statistics.


--
Phil Holmes 



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


Re: LoMuS

2012-04-27 Thread Trevor Daniels

Werner LEMBERG wrote Friday, April 27, 2012 6:29 AM



I've received a couple e-mails from colleagues and one nudge from
Valentin about:

http://concours.afim-asso.org/


Aah, very nice!  Yes, participating in this contest would be a good
thing; and thanks for your offer to writing up the application.


+1


1) Use it internally on projects (i.e. we'd all agree that person X
would get paid Z euros to do thing Y) in which case there'd have to
be a money shepherd.  I'd rather not do this, but I can if no one
else wants to.


I suggest that *you* are the person receiving the money, acting as a
representative and contact person for this contest.  In due course it
is up to you how to distribute the money within the lilypond
development.


+1

But it seems the closing date has passed - wasn't it 25 April?

Trevor


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


Re: LoMuS

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

On 27 avr. 2012, at 09:33, Trevor Daniels wrote:

 Werner LEMBERG wrote Friday, April 27, 2012 6:29 AM
 I've received a couple e-mails from colleagues and one nudge from
 Valentin about:
 http://concours.afim-asso.org/
 Aah, very nice!  Yes, participating in this contest would be a good
 thing; and thanks for your offer to writing up the application.
 
 +1
 1) Use it internally on projects (i.e. we'd all agree that person X
 would get paid Z euros to do thing Y) in which case there'd have to
 be a money shepherd.  I'd rather not do this, but I can if no one
 else wants to.
 I suggest that *you* are the person receiving the money, acting as a
 representative and contact person for this contest.  In due course it
 is up to you how to distribute the money within the lilypond
 development.
 
 +1
 
 But it seems the closing date has passed - wasn't it 25 April?
 

It's extended till the 29th.

Cheers,
MS


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


Re: Better pure height approximations for beamed rests. (issue 4860043)

2012-04-27 Thread Keith OHara

On Thu, 26 Apr 2012 23:44:24 -0700, m...@mikesolomon.org wrote:


lily/beam.cc:1743: Beam::pure_rest_collision_callback (SCM smob, SCM
prev_offset,

You're right - this is an error.  Do you want me to fix it or are you
working on a patch into which the fix could be incorporated?


I am re-ordering the arguments in that one C function, but I don't read Scheme 
so I am not sure if the observed order of the data is the intended order, or 
the conventional order.

Your addition to the docs is pretty explicit that 'start' and 'end' are always 
the last two arguments, even in a chained-offset-callback where there are extra 
arguments.  On the other hand, call-pure-function seems to put 'start' and 
'end' in slots 2 and 3, with any other arguments attached later.


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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread mike

Hey all,

The new patchset puts the tweets in a separate xml file.  I use xml
instead of txt to avoid parsing annoyances.  The only problem is that,
because the xml is in a DOM structure, the individual tweets can't
contain sub-nodes, which means that if someone wants to use anchor tags
or whatever, they need to use lt; and gt; instead of  and .

http://codereview.appspot.com/6068045/

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread mike

I also just realized that git-cl does not know how to play nicely with
the .xml extension, so the patch can't be tested.  I'll investigate...

http://codereview.appspot.com/6068045/

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


Re: hideNotes should hide also TabNoteHead (issue 2480). (issue 6105049)

2012-04-27 Thread graham

LGTM

http://codereview.appspot.com/6105049/

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


Re: Macro for(UP_and_DOWN) and 3 similar. (issue 2491) (issue 6109046)

2012-04-27 Thread graham

LGTM

http://codereview.appspot.com/6109046/

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread mike

Hmm...it looks like the xml mime type is defined, so I'm short on ideas
for why it's not uploading to Rietveld correctly.
Below are the contents of tweets.xml:


tweets
tweet
The Ensemble 101 is going on a European tour where they'll sing music
typeset using LilyPond.  Click lt;a target=_blank
href=http://www.ensemble101.frgt;herelt;/agt; to learn more!
/tweet
/tweets


http://codereview.appspot.com/6068045/

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread graham

On 2012/04/27 07:49:30, mike7 wrote:

I also just realized that git-cl does not know how to play nicely with

the .xml

extension, so the patch can't be tested.  I'll investigate...


Have you tried adding it to line 26 of git-cl ?

http://codereview.appspot.com/6068045/

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread graham

LGTM, one minor question but it's ok with me.


http://codereview.appspot.com/6068045/diff/13001/Documentation/web.texi
File Documentation/web.texi (right):

http://codereview.appspot.com/6068045/diff/13001/Documentation/web.texi#newcode172
Documentation/web.texi:172: xhttp=new
ActiveXObject(Microsoft.XMLHTTP);
My initial intuition is that there should be a simpler way to get the
contents of a file on the same server, but I happily know almost nothing
about javascript.

If somebody else knows javascript, it would be great if they glanced at
this.

http://codereview.appspot.com/6068045/

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread mike

On 2012/04/27 07:53:06, Graham Percival wrote:

On 2012/04/27 07:49:30, mike7 wrote:
 I also just realized that git-cl does not know how to play nicely

with the

.xml
 extension, so the patch can't be tested.  I'll investigate...



Have you tried adding it to line 26 of git-cl ?


I added:

mimetypes.add_type(application/xml, .xml)

But to no avail :(

http://codereview.appspot.com/6068045/

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread mike

On 2012/04/27 07:55:54, Graham Percival wrote:

LGTM, one minor question but it's ok with me.



http://codereview.appspot.com/6068045/diff/13001/Documentation/web.texi

File Documentation/web.texi (right):



http://codereview.appspot.com/6068045/diff/13001/Documentation/web.texi#newcode172

Documentation/web.texi:172: xhttp=new

ActiveXObject(Microsoft.XMLHTTP);

My initial intuition is that there should be a simpler way to get the

contents

of a file on the same server, but I happily know almost nothing about
javascript.



If somebody else knows javascript, it would be great if they glanced

at this.

Check out http://www.w3schools.com/xml/xml_parser.asp.

http://codereview.appspot.com/6068045/

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread graham

On 2012/04/27 07:58:50, mike7 wrote:

 Have you tried adding it to line 26 of git-cl ?
mimetypes.add_type(application/xml, .xml)



But to no avail :(


ok, fair enough.  It's a small, new, file, and can see the entire thing
by following the download link next to the filename in rietveld.

http://codereview.appspot.com/6068045/

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


Re: LoMuS

2012-04-27 Thread Trevor Daniels

m...@apollinemike.com wrote Friday, April 27, 2012 8:39 AM


On 27 avr. 2012, at 09:33, Trevor Daniels wrote:


But it seems the closing date has passed - wasn't it 25 April?


It's extended till the 29th.


Ah, good!  If they needed to do that the chance 
of winning is somewhat increased :)


Trevor


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


Re: Website build crashing

2012-04-27 Thread James
Mike,

On 27 April 2012 07:41, m...@apollinemike.com m...@apollinemike.com wrote:
 On 27 avr. 2012, at 07:08, m...@apollinemike.com wrote:

 Hey all,

 My website build crashes with:

 mikesol@mikesol-laptop:~/lilypond-git$ sudo make 
 LILYPOND_WEB_MEDIA_GIT=/home/mikesol/lilypond-extra website
 make --no-builtin-rules config_make=./config.make \
               top-src-dir=/home/mikesol/lilypond-git \
               -f /home/mikesol/lilypond-git/make/website.make \
               website
 make[1]: Entering directory `/home/mikesol/lilypond-git'
 cp /home/mikesol/lilypond-git/Documentation/misc/out 
 out-website/website/misc/out
 cp: omitting directory `/home/mikesol/lilypond-git/Documentation/misc/out'
 make[1]: *** [out-website/website/misc/out] Error 1
 make[1]: Leaving directory `/home/mikesol/lilypond-git'
 make: *** [website] Error 2

 It seems that the cp command is trying to copy the misc/out directory 
 without adding the -r flag.  Can someone confirm this problem before I open 
 a tracker issue?


 Problem solved - need to build from separate directory.

If it's not obvious in the CG (I am not going to assume you didn't
RTFM) can you make an adjustment in it? This saves the next person
(could be me) having the same issue but less smarts (would be me) than
yourself.

Thanks

James

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


Re: Lilypond patchy and other Lilypond problems

2012-04-27 Thread David Kastrup
Phil Holmes m...@philholmes.net writes:

 OK.  Regtest checking can mean three things.  1) Between releases,
 comparing the output of the regtests with what they looked like before
 and flagging any differences as potential problems.  I do this.  2)
 Doing the same thing for patches.  Patchy does this, helped by a
 human, currently James and was David.

There is no reason whatsoever that this should only be done by a single
person.  I would expect that _every_ person contributing more than two
patches per month should be able, after uploading a patch, to be running
test-patches.py and thus emptying the queue.

This has the consequences that

a) his own submission will get timely and qualified testing
b) the queue does not build up
c) it is not always the same people who get stuck with testing
d) he can be more nonchalant about testing his submission in advance
   since a bad test upload mostly implies more work for himself, and
   then not all that much.

-- 
David Kastrup

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


Re: LoMuS

2012-04-27 Thread David Kastrup
m...@apollinemike.com m...@apollinemike.com writes:

 Hey all,

 I've received a couple e-mails from colleagues and one nudge from
 Valentin about:

 http://concours.afim-asso.org/

 I've been reticent about applying because the development community is
 rather diffuse and there isn't any good way to accept the prize money
 if we win.  However, after having received now two e-mails from people
 who I respect a lot in the French computer music community, I think
 it'd be a good idea and that we should let institutional barriers stop
 us from applying.

 I'm OK with writing up the application (due the 29th) but before I do,
 people would need to agree on where the prize money would go if we
 won.  My two thoughts are:

 1) Use it internally on projects (i.e. we'd all agree that person X
 would get paid Z euros to do thing Y) in which case there'd have to be
 a money shepherd.  I'd rather not do this, but I can if no one else
 wants to.
 2) Donate it to GNU.

We already donate LilyPond to GNU, so I'd lean towards 1).  There are
several unsexy infrastructure projects (meaning that if, say, I chose to
tackle them, I would slow down to a crawl) which might get sexed up in
that manner.  And there are several projects requiring a coordinated
amount of heavy lifting which might get tackled with that kind of
encouragement.  One thing is the skylines stuff, another would be
Guilev2 migration.  Paying the prize out once a month without regression
from that area passes will certainly be a strong incentive, and probably
will collect more interest than one would have imagined.

-- 
David Kastrup


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


Mentions separate build directory for website work (issue 6092045)

2012-04-27 Thread graham


http://codereview.appspot.com/6092045/diff/1/Documentation/contributor/website-work.itexi
File Documentation/contributor/website-work.itexi (right):

http://codereview.appspot.com/6092045/diff/1/Documentation/contributor/website-work.itexi#newcode81
Documentation/contributor/website-work.itexi:81: Note that the website
will fail to build if you do not build it
Everybody *should* be building it in a separate directory, but I still
consider it a bug that it doesn't work in the same directory.  Is it
just missing a mkdir -p or something like that?

http://codereview.appspot.com/6092045/

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


Re: LoMuS

2012-04-27 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 3) it's not going to be enough.  Companies and government grants
 are where the real money for supporting programmers comes from;
 hiring just one person from individual donations would require far
 more users than we have.

Not enough is better than nothing if we are not talking about
_financing_ developments but rather rewarding them.  And in that case
this is not a question of sustainability, but more or less a question of
agreeing on things that people will be glad enough to get done by
somebody else to not hold a grudge.

In other news, I have to admit being impressed so far by what our users
are willing to give to sustain development at least from a single
person.  Yes, it would require far more users to seem like a fair deal
for everyone: a few selected contributors pitch in a whole lot more than
others.  But then, of course, this is not so much different from the
distribution of non-monetary contributions.

-- 
David Kastrup


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


Re: Lilypond patchy and other Lilypond problems

2012-04-27 Thread Graham Percival
On Fri, Apr 27, 2012 at 10:28:54AM +0200, David Kastrup wrote:
 There is no reason whatsoever that this should only be done by a single
 person.

Totally!

 I would expect that _every_ person contributing more than two
 patches per month should be able, after uploading a patch, to be running
 test-patches.py and thus emptying the queue.

Could do, although I'd rather if somebody other than the original
submitter gave the ok for a patch.  That way there's a fresh pair
of eyes looking at any differences, which would ideally make the
original submitters be more clear in the commit message about any
intentional changes to the regtests.

 b) the queue does not build up
 c) it is not always the same people who get stuck with testing
 d) he can be more nonchalant about testing his submission in advance
since a bad test upload mostly implies more work for himself, and
then not all that much.

I really like those possibilities, though.


I still think we should track Patchy responses, though.  I mean,
have a completely automated system which tracks your karma.  For
each patch,
- fails to apply to master: -10 karma  (with an option to cancel
  this penalty if master was updated after somebody submitted
  their patch)
- fails to compile: -5 karma
- has unintended regtest differences: -3 karma
- has un-notified regtest differences which are accepted as ok
  after some discusion: -1 karma.  (yes, we want to penalize
  people for not mentioning those differences up-front in the
  git commit message!)
- passes test without problems: +1 karma

Then we'll have hard numbers on which developers are abusing the
process.  I mean, sure, we all know whose patches tend to be great
and whose patches tend to be problematic... but a completely
automated, objective approach would remove any personal bias.

- Graham

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread David Kastrup
gra...@percival-music.ca writes:

 LGTM, one minor question but it's ok with me.


 http://codereview.appspot.com/6068045/diff/13001/Documentation/web.texi
 File Documentation/web.texi (right):

 http://codereview.appspot.com/6068045/diff/13001/Documentation/web.texi#newcode172
 Documentation/web.texi:172: xhttp=new
 ActiveXObject(Microsoft.XMLHTTP);
 My initial intuition is that there should be a simpler way to get the
 contents of a file on the same server, but I happily know almost nothing
 about javascript.

 If somebody else knows javascript, it would be great if they glanced at
 this.

 http://codereview.appspot.com/6068045/

What's the relation to ActiveX?  Does this only work on browsers
enabling ActiveX?  That would be very strange for the project page of a
GNU project.

-- 
David Kastrup


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


Re: Add announcements to the upper right corner of the website (issue 6068045)

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

On 27 avr. 2012, at 10:55, David Kastrup wrote:

 gra...@percival-music.ca writes:
 
 LGTM, one minor question but it's ok with me.
 
 
 http://codereview.appspot.com/6068045/diff/13001/Documentation/web.texi
 File Documentation/web.texi (right):
 
 http://codereview.appspot.com/6068045/diff/13001/Documentation/web.texi#newcode172
 Documentation/web.texi:172: xhttp=new
 ActiveXObject(Microsoft.XMLHTTP);
 My initial intuition is that there should be a simpler way to get the
 contents of a file on the same server, but I happily know almost nothing
 about javascript.
 
 If somebody else knows javascript, it would be great if they glanced at
 this.
 
 http://codereview.appspot.com/6068045/
 
 What's the relation to ActiveX?  Does this only work on browsers
 enabling ActiveX?  That would be very strange for the project page of a
 GNU project.
 

This bit is needed for IE 6 and 7.
Although I agree with what you're saying, I think that the webpage should 
display correctly for all people who try to access it (to the best of our 
abilities).

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


Re: Lilypond patchy and other Lilypond problems

2012-04-27 Thread David Kastrup
Graham Percival gra...@percival-music.ca writes:

 Then we'll have hard numbers on which developers are abusing the
 process.  I mean, sure, we all know whose patches tend to be great
 and whose patches tend to be problematic... but a completely
 automated, objective approach would remove any personal bias.

And those who generated more negative karma with their work than the
average horse in the stables near our house will get banished from
contributing for two weeks?

Get real.  When the cure is worse than the symptom, leave it alone.
There is an old adage for programmers: don't check for errors for which
there is no sensible means of treatment.

if (1 == 0)
  cerr  Your CPU or compiler may be broken.  endl;

-- 
David Kastrup

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


Re: LoMuS

2012-04-27 Thread Reinhold Kainhofer
On 27/04/2012 07:09, m...@apollinemike.com wrote:
 Hey all,

 I've received a couple e-mails from colleagues and one nudge from
 Valentin about:

 http://concours.afim-asso.org/

 I've been reticent about applying because the development community is
 rather diffuse and there isn't any good way to accept the prize money
 if we win.  However, after having received now two e-mails from people
 who I respect a lot in the French computer music community, I think
 it'd be a good idea and that we should let institutional barriers stop
 us from applying.

I strongly support applying.

 1) Use it internally on projects (i.e. we'd all agree that person X
 would get paid Z euros to do thing Y) in which case there'd have to be
 a money shepherd.  I'd rather not do this, but I can if no one else
 wants to.

YES! I would suggest that if you do all the application bureaucracy,
then you should also be the one to distribute the possible prize money.

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: Better pure height approximations for beamed rests. (issue 4860043)

2012-04-27 Thread m...@apollinemike.com
On 27 avr. 2012, at 09:45, Keith OHara wrote:

 On Thu, 26 Apr 2012 23:44:24 -0700, m...@mikesolomon.org wrote:
 
 lily/beam.cc:1743: Beam::pure_rest_collision_callback (SCM smob, SCM
 prev_offset,
 
 You're right - this is an error.  Do you want me to fix it or are you
 working on a patch into which the fix could be incorporated?
 
 I am re-ordering the arguments in that one C function, but I don't read 
 Scheme so I am not sure if the observed order of the data is the intended 
 order, or the conventional order.
 
 Your addition to the docs is pretty explicit that 'start' and 'end' are 
 always the last two arguments, even in a chained-offset-callback where there 
 are extra arguments.  On the other hand, call-pure-function seems to put 
 'start' and 'end' in slots 2 and 3, with any other arguments attached later.
 


Call pure function puts start and end in the final two slots.  The optional 
arguments are passed in in slot two as a variable called `args' (check out 
lily/grob-property.cc and scm/define-grobs.scm).

Cheers,
MS


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


Re: LoMuS

2012-04-27 Thread Han-Wen Nienhuys
The form says:

* In case of a collective work, I have been appointed to represent my
colleagues.

As a core contributor to LilyPond I hereby nominate Mike Solomon to
represent the LilyPond project.

Let's worry about what to do with money if and when we win.


On Fri, Apr 27, 2012 at 2:09 AM, m...@apollinemike.com
m...@apollinemike.com wrote:
 Hey all,

 I've received a couple e-mails from colleagues and one nudge from Valentin
 about:

 http://concours.afim-asso.org/

 I've been reticent about applying because the development community is
 rather diffuse and there isn't any good way to accept the prize money if we
 win.  However, after having received now two e-mails from people who I
 respect a lot in the French computer music community, I think it'd be a good
 idea and that we should let institutional barriers stop us from applying.

 I'm OK with writing up the application (due the 29th) but before I do,
 people would need to agree on where the prize money would go if we won.  My
 two thoughts are:

 1) Use it internally on projects (i.e. we'd all agree that person X would
 get paid Z euros to do thing Y) in which case there'd have to be a money
 shepherd.  I'd rather not do this, but I can if no one else wants to.
 2) Donate it to GNU.

 I'd be good to set a precedent for this now so that LilyPond can apply to
 other software competitions in the future.

 Cheers,
 MS

 P.S. Sorry for the last-minuteness of this e-mail: I had sent it from
 m...@mikesolomon.org and it didn't go through.  I'll have to change e-mail
 addresses on the list...

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




-- 
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: LoMuS

2012-04-27 Thread David Kastrup
Han-Wen Nienhuys hanw...@gmail.com writes:

 The form says:

 * In case of a collective work, I have been appointed to represent my
 colleagues.

 As a core contributor to LilyPond I hereby nominate Mike Solomon to
 represent the LilyPond project.

 Let's worry about what to do with money if and when we win.

The exposure is likely to be the larger benefit, anyway.

-- 
David Kastrup


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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread Han-Wen Nienhuys
Totally off the wall idea here:

Is it possilble to display the contents of the twitter #lilypond
hashtag and/or @lilypond twitter account in an iframe instead? If we
use actual twitter, we would get some publicity on twitter.com too.

On Fri, Apr 27, 2012 at 4:52 AM,  m...@mikesolomon.org wrote:
 Hmm...it looks like the xml mime type is defined, so I'm short on ideas
 for why it's not uploading to Rietveld correctly.
 Below are the contents of tweets.xml:


 tweets
 tweet
 The Ensemble 101 is going on a European tour where they'll sing music
 typeset using LilyPond.  Click lt;a target=_blank
 href=http://www.ensemble101.frgt;herelt;/agt; to learn more!
 /tweet
 /tweets



 http://codereview.appspot.com/6068045/

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



-- 
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: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread Graham Percival
On Fri, Apr 27, 2012 at 09:19:55AM -0300, Han-Wen Nienhuys wrote:
 Is it possilble to display the contents of the twitter #lilypond
 hashtag and/or @lilypond twitter account in an iframe instead? If we
 use actual twitter, we would get some publicity on twitter.com too.

It's certainly possible, but nobody's shown much interest in
working on announcement methods:
http://code.google.com/p/lilypond/issues/detail?id=940
I mean, even plain old RSS isn't working.

I view this twits.txt as a possible first step towards such
announcements.

- Graham

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


Re: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread Han-Wen Nienhuys
Who is GNU_LilyPond anyway?  I thought it was, but I might be mistaken.

On Fri, Apr 27, 2012 at 9:39 AM, Graham Percival
gra...@percival-music.ca wrote:
 On Fri, Apr 27, 2012 at 09:19:55AM -0300, Han-Wen Nienhuys wrote:
 Is it possilble to display the contents of the twitter #lilypond
 hashtag and/or @lilypond twitter account in an iframe instead? If we
 use actual twitter, we would get some publicity on twitter.com too.

 It's certainly possible, but nobody's shown much interest in
 working on announcement methods:
 http://code.google.com/p/lilypond/issues/detail?id=940
 I mean, even plain old RSS isn't working.

 I view this twits.txt as a possible first step towards such
 announcements.

 - Graham



-- 
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: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread Han-Wen Nienhuys
On Fri, Apr 27, 2012 at 10:15 AM, Han-Wen Nienhuys hanw...@gmail.com wrote:
 Who is GNU_LilyPond anyway?  I thought it was, but I might be mistaken.

I mean: I thought it was Jan.

-- 
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: Add announcements to the upper right corner of the website (issue 6068045)

2012-04-27 Thread Graham Percival
On Fri, Apr 27, 2012 at 10:18:23AM -0300, Han-Wen Nienhuys wrote:
 On Fri, Apr 27, 2012 at 10:15 AM, Han-Wen Nienhuys hanw...@gmail.com wrote:
  Who is GNU_LilyPond anyway?  I thought it was, but I might be mistaken.
 
 I mean: I thought it was Jan.

yeah, it's Jan.

- Graham

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


Re: LoMuS

2012-04-27 Thread Łukasz Czerwiński
Musical contest? Great! :) +1

On 27 April 2012 07:29, Werner LEMBERG w...@gnu.org wrote:


 I suggest that *you* are the person receiving the money, acting as a
 representative and contact person for this contest.  In due course it
 is up to you how to distribute the money within the lilypond
 development.


Mike, I think the same as Werner. It's your contest and you will be
representing Lilypond, so you will get the money. It's fair play. If you
give money to Lilypond, it'll be great :)

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


Re: LoMuS

2012-04-27 Thread Łukasz Czerwiński
On 27 April 2012 08:07, Graham Percival gra...@percival-music.ca wrote:


 *sigh*
 I'll rehash an old email.


 I know that some of us would like to get paid for lilypond work.
 But I'm leery of jumping into this topic for a few reasons:

 1) lilypond survives because of volunteer work.  I think we should
 be *extremely* cautious about anything which may jeopardize the
 amount of time people volunteer.

 2) if we officially organize these arrangements, there may be
 currency exchange, tax issues, or legal issues that arise,
 particularly given the international nature.  Who gets the money?
 How would it be distributed, if at all?  How much loss to third
 parties is acceptable?

 3) it's not going to be enough.  Companies and government grants
 are where the real money for supporting programmers comes from;
 hiring just one person from individual donations would require far
 more users than we have.


I think that each such contest should be considered separately - it depends
on the number of such activities and possible income. I believe that
Lilypond need some money and contests and grants are quite a good idea of
getting them, don't you think? When earning for Lilypond results in
slowdown in developing Lilypond, we should stop, but now - there was no
contest, so no slowdown, therefore, no problem :)

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


Re: Macro for(UP_and_DOWN) and 3 similar. (issue 2491) (issue 6109046)

2012-04-27 Thread m...@apollinemike.com
On 26 avr. 2012, at 11:43, James wrote:

 Mike,
 
 On 26 April 2012 08:51, m...@apollinemike.com m...@apollinemike.com wrote:
 On 26 avr. 2012, at 09:05, James wrote:
 
 Hello,
 
 On 26 April 2012 07:55, m...@apollinemike.com m...@apollinemike.com wrote:
 
 On 26 avr. 2012, at 07:28, Graham Percival wrote:
 
 
 Well, right now we have nobody running the automated tests to
 check that new patches are ok.  So there will be no patches
 accepted to lilypond.
 
 
 I have a meeting in mid-May w/ the University of Paris VIII.  They're 
 donating a computer to LilyPond and I'll set patchy up on it.
 
 
 
 One thing I'm gonna try to do on that machine is have each index.html 
 generated by a regtest comparison (along with the log/png/jpg/etc files) 
 upload to a folder on mikesolomon.org.  These can hang out indefinitely and 
 an automatic e-mail can be sent to the list w/ an alert that patchset X is 
 up for viewing on site Y.
 
 Still requires 'someone' to 'do' something and then say 'LGTM' and I
 don't know what the feed back has been with regard to the
 
 http://lilypond.org/doc/v2.15/Documentation/contributor/grand-regression-test-checking.html
 
 is this just not the same thing in essence?
 
 
 What about GUB?
 
 Might that be a (more) worthwhile 'project' for a machine like this?
 

It's not not possible - it's not what I had in mind, but it sounds like a good 
idea.
I'll likely be spending a few days in July getting this thing up and running so 
we have until then to figure out what we want to do with it.

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


Re: Macro for(UP_and_DOWN) and 3 similar. (issue 2491) (issue 6109046)

2012-04-27 Thread Phil Holmes
- Original Message - 
From: m...@apollinemike.com

To: James pkx1...@gmail.com
Cc: k-ohara5...@oco.net; d...@gnu.org; lilypond-devel@gnu.org
Sent: Friday, April 27, 2012 3:41 PM
Subject: Re: Macro for(UP_and_DOWN) and 3 similar. (issue 2491) (issue 
6109046)




On 26 avr. 2012, at 11:43, James wrote:


Mike,

On 26 April 2012 08:51, m...@apollinemike.com m...@apollinemike.com 
wrote:

On 26 avr. 2012, at 09:05, James wrote:


Hello,

On 26 April 2012 07:55, m...@apollinemike.com m...@apollinemike.com 
wrote:


On 26 avr. 2012, at 07:28, Graham Percival wrote:



Well, right now we have nobody running the automated tests to
check that new patches are ok.  So there will be no patches
accepted to lilypond.



I have a meeting in mid-May w/ the University of Paris VIII.  They're 
donating a computer to LilyPond and I'll set patchy up on it.






One thing I'm gonna try to do on that machine is have each index.html 
generated by a regtest comparison (along with the log/png/jpg/etc files) 
upload to a folder on mikesolomon.org.  These can hang out indefinitely 
and an automatic e-mail can be sent to the list w/ an alert that 
patchset X is up for viewing on site Y.


Still requires 'someone' to 'do' something and then say 'LGTM' and I
don't know what the feed back has been with regard to the

http://lilypond.org/doc/v2.15/Documentation/contributor/grand-regression-test-checking.html

is this just not the same thing in essence?


What about GUB?

Might that be a (more) worthwhile 'project' for a machine like this?



It's not not possible - it's not what I had in mind, but it sounds like a 
good idea.
I'll likely be spending a few days in July getting this thing up and 
running so we have until then to figure out what we want to do with it.



If you're going to get GUB running on it, I strongly suggest doing so inside 
a VirtualBox LilyDev VM.  Doing this made it fairly easy for me to get GUB 
running, whereas I failed completely on the real machine.


It may depend on your hardware whether this makes sense.  My Ubuntu build 
box can multithread within the VM, whereas my (older) Windows box can't.


--
Phil Holmes 



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


Re: Mentions separate build directory for website work (issue 6092045)

2012-04-27 Thread mike

On 2012/04/27 08:49:09, Graham Percival wrote:

http://codereview.appspot.com/6092045/diff/1/Documentation/contributor/website-work.itexi

File Documentation/contributor/website-work.itexi (right):



http://codereview.appspot.com/6092045/diff/1/Documentation/contributor/website-work.itexi#newcode81

Documentation/contributor/website-work.itexi:81: Note that the website

will fail

to build if you do not build it
Everybody *should* be building it in a separate directory, but I still

consider

it a bug that it doesn't work in the same directory.  Is it just

missing a mkdir

-p or something like that?


I think the problem is that it tries to do a blanket copy of everything
from the misc directory into the target directory, but if the build is
not in a separate build directory, then there will be out/ in misc,
which is a directory.  If there were a sort of lazy copy command (i.e.
a copy that just failed silently on directories instead of crashing)
then it could be used instead.


http://codereview.appspot.com/6092045/

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


Re: Macro for(UP_and_DOWN) and 3 similar. (issue 2491) (issue 6109046)

2012-04-27 Thread James
Hello,

On 27 April 2012 15:56, Phil Holmes m...@philholmes.net wrote:


 It may depend on your hardware whether this makes sense.  My Ubuntu build
 box can multithread within the VM, whereas my (older) Windows box can't.

Depends on the paravirtualization.

eg.

http://www.howtogeek.com/howto/linux/linux-tip-how-to-tell-if-your-processor-supports-vt/

Most modern server hardware has 'vt-enabled' CPUs on them (even more
recent consumer laptop/desktop hardware). This makes a world of
difference to speed and performance.

You then need to tick a box more or two to enable that stuff in VBox
or KVM. Remember though that LilyDev is 32bit so if you use KVM you
must not go over 4096 for your RAM (even if you have more) else, I
found, it will just default to 128mb! Vbox is a bit more smart, but
you still cannot address more than 4GB of RAM in a 64bit VBox install
using LilyDev.

So if you have lots of GBs of RAM to play with, from my experience,
KVM is much more 'forgiving' in terms of having multiple VMs using
more CPUs than you have in reality. Vbox isn't. I haven't used it for
a while now but it will stop you allocating more CPUs that you have
physically on multiple machines even if in reality one or more VMs are
not doing much. KVM will spread the load (so to speak) better and I
often forget and run 3 VMs using theoretically using 21 Virtual CPUs!
I only notice when I do a make -j7 and am working on one of the other
VMs..it does kind of grind to a halt at that point. :)

James

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


Re: Macro for(UP_and_DOWN) and 3 similar. (issue 2491) (issue 6109046)

2012-04-27 Thread Phil Holmes
- Original Message - 
From: James pkx1...@gmail.com

To: Phil Holmes m...@philholmes.net
Cc: m...@apollinemike.com; k-ohara5...@oco.net; d...@gnu.org; 
lilypond-devel@gnu.org

Sent: Friday, April 27, 2012 5:58 PM
Subject: Re: Macro for(UP_and_DOWN) and 3 similar. (issue 2491) (issue 
6109046)




You then need to tick a box more or two to enable that stuff in VBox
or KVM. Remember though that LilyDev is 32bit so if you use KVM you
must not go over 4096 for your RAM (even if you have more) else, I
found, it will just default to 128mb! Vbox is a bit more smart, but
you still cannot address more than 4GB of RAM in a 64bit VBox install
using LilyDev.



That said, I've never seen Lily builds take much RAM, so 4 GByte is normally 
plenty.


--
Phil Holmes 



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


Re: Better pure height approximations for beamed rests. (issue 4860043)

2012-04-27 Thread Keith OHara

On Fri, 27 Apr 2012 03:02:51 -0700, m...@apollinemike.com 
m...@apollinemike.com wrote:


On 27 avr. 2012, at 09:45, Keith OHara wrote:


On Thu, 26 Apr 2012 23:44:24 -0700, m...@mikesolomon.org wrote:


lily/beam.cc:1743: Beam::pure_rest_collision_callback (SCM smob, SCM
prev_offset,

You're right - this is an error.  Do you want me to fix it or are you
working on a patch into which the fix could be incorporated?


I am re-ordering the arguments in that one C function, but I don't read Scheme 
so I am not sure if the observed order of the data is the intended order, or 
the conventional order.

Your addition to the docs is pretty explicit that 'start' and 'end' are always 
the last two arguments, even in a chained-offset-callback where there are extra 
arguments.  On the other hand, call-pure-function seems to put 'start' and 
'end' in slots 2 and 3, with any other arguments attached later.




Call pure function puts start and end in the final two slots.  The optional 
arguments are passed in in slot two as a variable called `args' (check out 
lily/grob-property.cc and scm/define-grobs.scm).



I did check them out; that's how I know I don't read Scheme.

 326 SCM
 327 call_pure_function (SCM unpure, SCM args, int start, int end)
 328 {
 329   SCM scm_call_pure_function = ly_lily_module_constant 
(call-pure-function);
 330
 331   return scm_apply_0 (scm_call_pure_function,
 332   scm_list_4 (unpure, args, scm_from_int (start), 
scm_from_int (end)));
 333 }
 334

2749 (define-public (call-pure-function unpure args start end)
2750   (if (ly:unpure-pure-container? unpure)
   (...) ;; the true branch
2760   (if (ly:simple-closure? unpure)
2761   (ly:eval-simple-closure (car args) unpure start end)
2762   (if (not (procedure? unpure))
2763   unpure
2764   (if (memq unpure pure-functions)
2765   (apply unpure args)
2766   (let ((pure (assq unpure pure-conversions-alist)))
2767 (if pure
2768 (apply (cdr pure)
2769(append
2770 (list (car args) start end)
2771 (cdr args))

I think this assembles
 (,pure-chain-offset-callback (car args) start end (cdr args))

it seems the address register would hold the Grob* and the decrement register a 
lists of remaining arguments (prev_offset in my case).


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


Re: Better pure height approximations for beamed rests. (issue 4860043)

2012-04-27 Thread m...@apollinemike.com
On 27 avr. 2012, at 19:58, Keith OHara wrote:

 On Fri, 27 Apr 2012 03:02:51 -0700, m...@apollinemike.com 
 m...@apollinemike.com wrote:
 
 On 27 avr. 2012, at 09:45, Keith OHara wrote:
 
 On Thu, 26 Apr 2012 23:44:24 -0700, m...@mikesolomon.org wrote:
 
 lily/beam.cc:1743: Beam::pure_rest_collision_callback (SCM smob, SCM
 prev_offset,
 
 You're right - this is an error.  Do you want me to fix it or are you
 working on a patch into which the fix could be incorporated?
 
 I am re-ordering the arguments in that one C function, but I don't read 
 Scheme so I am not sure if the observed order of the data is the intended 
 order, or the conventional order.
 
 Your addition to the docs is pretty explicit that 'start' and 'end' are 
 always the last two arguments, even in a chained-offset-callback where 
 there are extra arguments.  On the other hand, call-pure-function seems to 
 put 'start' and 'end' in slots 2 and 3, with any other arguments attached 
 later.
 
 
 
 Call pure function puts start and end in the final two slots.  The optional 
 arguments are passed in in slot two as a variable called `args' (check out 
 lily/grob-property.cc and scm/define-grobs.scm).
 
 
 I did check them out; that's how I know I don't read Scheme.
 
 326 SCM
 327 call_pure_function (SCM unpure, SCM args, int start, int end)
 328 {
 329   SCM scm_call_pure_function = ly_lily_module_constant 
 (call-pure-function);
 330
 331   return scm_apply_0 (scm_call_pure_function,
 332   scm_list_4 (unpure, args, scm_from_int (start), 
 scm_from_int (end)));
 333 }
 334
 
 2749 (define-public (call-pure-function unpure args start end)
 2750   (if (ly:unpure-pure-container? unpure)
   (...) ;; the true branch
 2760   (if (ly:simple-closure? unpure)
 2761   (ly:eval-simple-closure (car args) unpure start end)
 2762   (if (not (procedure? unpure))
 2763   unpure
 2764   (if (memq unpure pure-functions)
 2765   (apply unpure args)
 2766   (let ((pure (assq unpure pure-conversions-alist)))
 2767 (if pure
 2768 (apply (cdr pure)
 2769(append
 2770 (list (car args) start end)
 2771 (cdr args))
 
 I think this assembles
 (,pure-chain-offset-callback (car args) start end (cdr args))
 
 it seems the address register would hold the Grob* and the decrement register 
 a lists of remaining arguments (prev_offset in my case).
 

Your right that, in the code above, the function gleaned from (cdr pure) gets 
passed (list (car args) start end (cdr args)).  I'm not exactly sure what that 
signifies, but that's what's going on.  When in doubt, I always just use pretty 
prints (format #t foo ~a\n args) to see what's going on.

Cheers,
MS


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


Re: Better pure height approximations for beamed rests. (issue 4860043)

2012-04-27 Thread m...@apollinemike.com
On 27 avr. 2012, at 21:01, m...@apollinemike.com wrote:
 
 Your right that, in the code above, the function gleaned from (cdr pure) gets 
 passed (list (car args) start end (cdr args)).  I'm not exactly sure what 
 that signifies, but that's what's going on.  When in doubt, I always just use 
 pretty prints (format #t foo ~a\n args) to see what's going on.
 

Sorry - I mean that it gets passed the elements of the list as its arguments - 
it doesn't get passed the list itself.

Cheers,
MS

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


add-grob-definition (was: measure counter engraver)

2012-04-27 Thread Pavel Roskin
On Mon, 23 Apr 2012 21:01:10 -0500
David Nalesnik david.nales...@gmail.com wrote:

 Hi all,
 
 I've been experimenting with a way to create a measure-counter (issue
 2445), and I've come up with the attached Scheme engraver.  The music
 within a count doesn't need to be repeated to use it.
 
 This creates a new grob, MeasureCounter, which you can override in
 various familiar ways.

I was surprised that it's possible to create new grobs in Scheme!  I
looked for that functionality while writing cross-staff stem support
and could not find it.

I see that you copied add-grob-definition from scheme-text-spanner.ly.
I believe add-grob-definition is so important that it should be a part
of the Lilypond core.  That's the only way to define a new grob in
Scheme, and it gets copied from one snippet to another!

I think the best place for add-grob-definition would be
scm/translation-functions.scm next to make-engraver.

I've opened an issue for that:
http://code.google.com/p/lilypond/issues/detail?id=2503

-- 
Regards,
Pavel Roskin

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


Re: Better pure height approximations for beamed rests. (issue 4860043)

2012-04-27 Thread Keith OHara

On Fri, 27 Apr 2012 12:01:04 -0700, m...@apollinemike.com 
m...@apollinemike.com wrote:


On 27 avr. 2012, at 19:58, Keith OHara wrote:

On Thu, 26 Apr 2012 23:44:24 -0700, m...@mikesolomon.org wrote:

Call pure function puts start and end in the final two slots.


You're right that, in the code above, the function gleaned from (cdr pure) gets 
[called with] (car args) start end (cdr args)).  I'm not exactly sure what that 
signifies,


It signifies that call-pure-function puts 'start' and 'end' in the second and 
third slots,
of the argument list for the pure function being called, with any additional 
arguments following after 'end'.
I'll change the relevant line in the C G.


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


Move add-grob-definition from a snippet to scm/translation-functions.scm (issue 6128048)

2012-04-27 Thread dak

It is not the official way to create a new grob definition, but a hack
from Mike done without understanding the implementation of
\grobdefinitions.  It is not just tampering with a global variable
(session-wide instead of parser-wide) to add stuff to
all-grob-descriptions, it is also inefficient and unnecessary since
all-grob-descriptions _have_ already been pulled into the Score context
definition _before_ the user code is even started.

Instead, one can just add a single context mod adding the new grob
definition to the Score context definition.

We really don't need to pull code with bad side effects from a snippet
into the main code.

It would make more sense to revert the respective commit creating the
snippet completely.

http://codereview.appspot.com/6128048/

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


Re: Move add-grob-definition from a snippet to scm/translation-functions.scm (issue 6128048)

2012-04-27 Thread Carl Sorensen


On 4/27/12 4:00 PM, d...@gnu.org d...@gnu.org wrote:

Instead, one can just add a single context mod adding the new grob
definition to the Score context definition.


Snip

It would make more sense to revert the respective commit creating the
snippet completely.

http://codereview.appspot.com/6128048/


What about fixing the snippet in scheme-text-spanner.ly so that it creates
the grob the proper way?

Thanks,

Carl


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


Re: Move add-grob-definition from a snippet to scm/translation-functions.scm (issue 6128048)

2012-04-27 Thread dak

Carl Sorensen c_soren...@byu.edu writes:


On 4/27/12 4:00 PM, d...@gnu.org d...@gnu.org wrote:



Instead, one can just add a single context mod adding the new grob
definition to the Score context definition.




Snip



It would make more sense to revert the respective commit creating the
snippet completely.



http://codereview.appspot.com/6128048/




What about fixing the snippet in scheme-text-spanner.ly so that it
creates the grob the proper way?


Since scheme-text-spanner.ly patches around a _lot_ of global variables
(grobs, event classes...), that's not sufficient for fixing the problems
with it.  I am currently working on repairing the concept of redefining
event classes.  Takes enough concentration as it is without defining a
reasonable interface for extending grobs.

One can make the futzing of grobs less broken than Mike did it even
without creating a proper straightforward interface, and I outlined how
to do it if someone really wants to go ahead with that and/or creating
some general-purpose extension code outside of a snippet.  But this
particular snippet plasters over so many different things that I can
just fix them one by one.  The grob definitions _are_ already stored in
a context mod inside of a context def, so it is totally unnecessary to
mess with global variables that will affect future files in the same
run.

For the event classes, this is harder to unglobalize.  But the user
interfaces should likely end up somewhat similar, to make things not
harder than necessary to learn.  So if at all, I am going to fix it
after the event classes.  But in the mean time, I don't want more crud
like define-event-class to migrate into the code base.

--
David Kastrup


http://codereview.appspot.com/6128048/

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


Re: Move add-grob-definition from a snippet to scm/translation-functions.scm (issue 6128048)

2012-04-27 Thread plroskin

Reviewers: dak, c_sorensen_byu.edu,

Message:
OK, the problem I wanted to address is to have a documented way to
define new grobs.  I hoped that moving add-grob-definition to a public
place would be a good start.  If it's not, sorry for the noise.

Description:
Move add-grob-definition from a snippet to scm/translation-functions.scm

add-grob-definition should be public, as that's the official way to
create a new grob in Scheme.

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

Affected files:
  M input/regression/scheme-text-spanner.ly
  M scm/translation-functions.scm


Index: input/regression/scheme-text-spanner.ly
diff --git a/input/regression/scheme-text-spanner.ly  
b/input/regression/scheme-text-spanner.ly
index  
c0204d55c71865f3c35ae69d28387916725b9adf..87314ec0dbcc0451fdaec8aa9a75e6c043fcb539  
100644

--- a/input/regression/scheme-text-spanner.ly
+++ b/input/regression/scheme-text-spanner.ly
@@ -12,31 +12,6 @@ in scheme.
  music-event
  StreamEvent))

-#(define (add-grob-definition grob-name grob-entry)
-   (let* ((meta-entry   (assoc-get 'meta grob-entry))
-  (class(assoc-get 'class meta-entry))
-  (ifaces-entry (assoc-get 'interfaces meta-entry)))
- (set-object-property! grob-name 'translation-type? list?)
- (set-object-property! grob-name 'is-grob? #t)
- (set! ifaces-entry (append (case class
-  ((Item) '(item-interface))
-  ((Spanner) '(spanner-interface))
-  ((Paper_column) '((item-interface
-  
paper-column-interface)))

-  ((System) '((system-interface
-   spanner-interface)))
-  (else '(unknown-interface)))
-ifaces-entry))
- (set! ifaces-entry (uniq-list (sort ifaces-entry symbol?)))
- (set! ifaces-entry (cons 'grob-interface ifaces-entry))
- (set! meta-entry (assoc-set! meta-entry 'name grob-name))
- (set! meta-entry (assoc-set! meta-entry 'interfaces
-  ifaces-entry))
- (set! grob-entry (assoc-set! grob-entry 'meta meta-entry))
- (set! all-grob-descriptions
-   (cons (cons grob-name grob-entry)
- all-grob-descriptions
-
 #(add-grob-definition
   'SchemeTextSpanner
   `(
Index: scm/translation-functions.scm
diff --git a/scm/translation-functions.scm b/scm/translation-functions.scm
index  
a535497962c07b9ae8ca5d79d1faf3901d1b7e10..959ab8517e3e7cc1d9f328d75175d1ff113ff72c  
100644

--- a/scm/translation-functions.scm
+++ b/scm/translation-functions.scm
@@ -701,3 +701,31 @@ with the subordinate symbols being interfaces.
   `(cons ',(car form) ,(loop (cdr form)
 forms))
forms)))
+
+
+;; create grob in Scheme
+
+(define-public (add-grob-definition grob-name grob-entry)
+  (let* ((meta-entry   (assoc-get 'meta grob-entry))
+ (class(assoc-get 'class meta-entry))
+ (ifaces-entry (assoc-get 'interfaces meta-entry)))
+(set-object-property! grob-name 'translation-type? list?)
+(set-object-property! grob-name 'is-grob? #t)
+(set! ifaces-entry (append (case class
+ ((Item) '(item-interface))
+ ((Spanner) '(spanner-interface))
+ ((Paper_column) '((item-interface
+ 
paper-column-interface)))

+ ((System) '((system-interface
+  spanner-interface)))
+ (else '(unknown-interface)))
+ ifaces-entry))
+(set! ifaces-entry (uniq-list (sort ifaces-entry symbol?)))
+(set! ifaces-entry (cons 'grob-interface ifaces-entry))
+(set! meta-entry (assoc-set! meta-entry 'name grob-name))
+(set! meta-entry (assoc-set! meta-entry 'interfaces
+   ifaces-entry))
+(set! grob-entry (assoc-set! grob-entry 'meta meta-entry))
+(set! all-grob-descriptions
+  (cons (cons grob-name grob-entry)
+all-grob-descriptions



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


Re: Move add-grob-definition from a snippet to scm/translation-functions.scm (issue 6128048)

2012-04-27 Thread dak

On 2012/04/28 03:08:13, Pavel Roskin wrote:

OK, the problem I wanted to address is to have a documented way to

define new

grobs.  I hoped that moving add-grob-definition to a public place

would be a

good start.  If it's not, sorry for the noise.


scheme-text-spanner.ly contains a lot of code violating the
parser/session border.  I would not be surprised if turned out to be the
main culprit for our instable regtests (like graphviz.ly).

I am actively working on it
URL:http://code.google.com/p/lilypond/issues/detail?id=2449, but can't
do anything at once.

It was just unlucky timing when you picked up more parts of it at a
moment I was already annoyed with its disregard for locality and working
on fixing the situation.

http://codereview.appspot.com/6128048/

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


Re: Better pure height approximations for beamed rests. (issue 4860043)

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

On 27 avr. 2012, at 23:55, Keith OHara wrote:

 On Fri, 27 Apr 2012 12:01:04 -0700, m...@apollinemike.com 
 m...@apollinemike.com wrote:
 
 On 27 avr. 2012, at 19:58, Keith OHara wrote:
 On Thu, 26 Apr 2012 23:44:24 -0700, m...@mikesolomon.org wrote:
 
 Call pure function puts start and end in the final two slots.
 
 You're right that, in the code above, the function gleaned from (cdr pure) 
 gets [called with] (car args) start end (cdr args)).  I'm not exactly sure 
 what that signifies,
 
 It signifies that call-pure-function puts 'start' and 'end' in the second and 
 third slots,
 of the argument list for the pure function being called, with any additional 
 arguments following after 'end'.
 I'll change the relevant line in the C G.
 

Ok - finally had a chance to check everything out.  You're absolutely right.  
Everything should be in the form of:

Side_position_interface::pure_y_aligned_side (SCM smob, SCM start, SCM end, SCM 
cur_off)

smob, start, end, other

Thanks for catching that!  This means that the order of arguments in 
pure_rest_collision needs to change as well.

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