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