Re: guile sandbox without guile
Neil Puttock wrote Friday, June 19, 2009 11:39 PM 2009/6/19 Mark Polesky : This may be totally obvious to everyone here, but Windows users can't just run guile without running LilyPond (I'm thinking for users who are working on learning scheme). At least not to my knowledge. When I was using Windows exclusively, I used to open a command prompt (or git bash once I'd installed msysgit) and type `guile'. :) Typing "guile" works fine for me in git bash, but in the command prompt window under Vista I get ERROR: In procedure primitive-load-path ERROR: Unable to find file "ice-9/boot-9.scm" in load path even though I've added the ice-9 directory to my path. ?? Trevor ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
Le 13/06/2009 20:14, Graham Percival a écrit : > To counter-act the "texi2html looks boring" idea, here's a new > version: > http://percival-music.ca/blogfiles/out/lilypond-general_1.html You made the proof of concept of using texi2html to write a website in Texinfo; this is nice and promising, I'm now almost convinced that we could adopt this technical design. However, I'm sure I want to update the translation infrastructure first, as it will be reused in the website if we adopt this design: remember that it's about translating node names and section titles directly in the translated files, so it would well take between 10 and 15 hours to hack the scripts and apply and check the changes to existing translations. > 2) Apologies to people who worked on the perl texinfo init file > for the docs. I hacked it up horribly to get this version. You could thank them too :-D > - also, if we end up going this route, somebody (I'm willing to do > it, although I wouldn't mind delegating this :) needs to make > the nagivation menu show the current subsections in a second > list. (like the current webpage) > This is possible, but I don't know how much Perl hacking it requires. It would be nice to generate the (sub)TOC as a drop-down menu activated by mouse hover/click BTW. > - we also probably want to remove the section-name from > the page. Not a big deal. ... or using the node names for links (cross-references) and menus, and reuse current web site title as the section name in Texinfo sources so we still have the same on the final HTML page. > 3) Ok, so why do I want to use texinfo so much? > - makes pdfs+info. I personally *never* use those formats, but I > know that some people still use them. IMO, if we're going to > support those formats for the manuals, we should support them > for the information that's on the website. > I'm not so enthusiast for a single huge PDF that contains so much heterogenous kinds of information. Anyway, that's not a big deal, as it's possible to have several master Texinfo files, with each being used to produce one PDF document. Of course, HTML output has a much higher priority. > - we all know texinfo. It's easy to fix small mistakes in it. If > we go this route, I can have the content of the new website done > by the end of this weekend. Then we just need to adjust the > style (tweak the init file, write a CSS, maybe make new images, > etc). Oh, and adjusting the translation stuff[*]. If I may add an advantage of Texinfo over HTML, it is more concise and faster to type. Happy Texinfo/Perl/HTML hacking, John ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
MacOS X 10.5 GUI
Hi all, I have made an attempt to rebuilt the Mac GUI for LilyPond on 10.5 (according to the instructions from http://www.mail-archive.com/lilypond-devel@gnu.org/msg12065.html) . The GUI itself is a Universal Binary. I have tested it on 10.5 PPC and i386. It can be downloaded form: http://www.klarinett.li/lilypond.tar.gz I would be interested if it also works on older (10.4, 10.3) versions of MacOS X. As the LilyPond binary itself is not included you would have to start it from the Terminal with the following command: $ LILYPOND_DEBUG_APPDIR=/path/to/LilyPond.app open LilyPond.app I have also made a few minor changes to the GUI itself. Please see the attached patches. Regards, Christian 0001-read-LilyPonds-output-as-utf-8.patch Description: Binary data 0002-extract-the-LilyPond-directory-determination-to-own-.patch Description: Binary data 0003-get-LilyPond-version-from-used-binary.patch Description: Binary data 0004-update-to-2.12.patch Description: Binary data 0005-subprocess.py-is-included-automatically.patch Description: Binary data 0006-shutil.py-is-needed-for-convert-ly.patch Description: Binary data ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Error producing .pdf using Lily V2.13.1 on Ubuntu 9.04 - ghostscript barfs
Whoops, that should have read Ubuntu 9.04 in the title of course. Apologies for the noise. Cheers, Ian Ian Hulin wrote: I get this error message when compiling my lilypond source (by this stage it's already produced the .ps file): Converting to `./Exsultate-Andante.pdf'... Invoking `gs -dSAFER -dDEVICEWIDTHPOINTS=595.28 -dDEVICEHEIGHTPOINTS=841.89 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile="./Exsultate-Andante.pdf" -c .setpdfwrite -f "Exsultate-Andante.ps"'...GPL Ghostscript SVN PRE-RELEASE 8.65: Can't find initialization file gs_init.ps. However, if I run a terminal in the same directory as the .ly file and copy and paste the command line being complained about, it happily produces the .pdf from the .ps. What's wrong here, gs --version gives me 8.64. Is this a problem with the lily kit, or my system set-up? Cheers, Ian Hulin ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
On Sat, Jun 20, 2009 at 01:54:30PM +0200, John Mandereau wrote: > Le 13/06/2009 20:14, Graham Percival a écrit : > > > - also, if we end up going this route, somebody (I'm willing to do > > it, although I wouldn't mind delegating this :) needs to make > > the nagivation menu show the current subsections in a second > > list. (like the current webpage) > > > > This is possible, but I don't know how much Perl hacking it requires. It > would be nice to generate the (sub)TOC as a drop-down menu activated by > mouse hover/click BTW. I agree. For this to happen, we would need to have *one* unordered list instead of two separate lists. I'm referring to the one in div#tocframe. They would look like this: * unnumbered * unnumberedsec * unnumberedsec * unnumberedsubsec * unnumbered * unnumbered * unnumbered I could create drop-down menus with this structure (with pure CSS), but I don't know how much modification the init file would need. Thanks, Patrick ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
[PATCH] Fix crash when a stencil routine is missing
Hello, I have uploaded a patch to Rietveld: http://codereview.appspot.com/83046/show *** The motivation for the patch is this report: http://lists.gnu.org/archive/html/lilypond-user/2009-02/msg00603.html However, since dashed slurs no longer use the "dashed-slur" routine, this particular crash has been fixed. But my patch fixes the general case of missing stencil routines. Also, I want to add an "embedded-svg" routine in a follow-up patch. :-) Thanks, Patrick ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
proposals for LM B. Scheme tutorial
Here are some proposed additions to LM B. Scheme tutorial These are things that I wished I knew when I was starting! I haven't made a patch because I want to get feedback from you guys first. Thanks - Mark ***(I'm leaving this paragraph as it is) LilyPond uses the Scheme programming language, both as part of the input syntax, and as internal mechanism to glue modules of the program together. This section is a very brief overview of entering data in Scheme. If you want to know more about Scheme, see http://www.schemers.org. ***new paragraph: LilyPond uses the GNU Guile implementation of Scheme, which is based on the Scheme "R5RS" standard. If you are learning Scheme to use with LilyPond, working with a different implementation (or referring to a different standard) is not recommended. Information on guile can be found at http://www.gnu.org/software/guile/. The "R5RS" Scheme standard is located at http://www.schemers.org/Documents/Standards/R5RS/. ***back to current: The most basic thing of a language is data: numbers, character strings, lists, etc. Here is a list of data types that are relevant to LilyPond input. ...jump a bit... In a music file, snippets of Scheme code are introduced with the hash mark #. So, the previous examples translated in LilyPond are ##t ##f #1 #-1.5 #"this is a string" #"this is a string" ***new paragraph and example: Multiple consecutive scheme expressions in a music file can be combined using the *begin* operator. This reduces the number of hash marks to one. However, within such a combined expression, LilyPond comments ("%" and "%{ %}") will produce errors. #(begin (define foo 0) (define bar 1) ) ***new sentence and example: Comments in Guile Scheme are entered as follows: ; this is a single-line comment #! this a (non-nestable) guile-style block comment !# ***back to current: For the rest of this section, we will assume that the data is entered in a music file, so we add #s everywhere. ...and maybe at the end, some info regarding using the display function within a music file to emulate a guile "sandbox". See the thread at: http://lists.gnu.org/archive/html/lilypond-devel/2009-06/msg00436.html ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
On Sat, Jun 20, 2009 at 09:57:20AM -0700, Patrick McCarty wrote: > On Sat, Jun 20, 2009 at 01:54:30PM +0200, John Mandereau wrote: > > Le 13/06/2009 20:14, Graham Percival a écrit : > > > > > - also, if we end up going this route, somebody (I'm willing to do > > > it, although I wouldn't mind delegating this :) needs to make > > > the nagivation menu show the current subsections in a second > > > list. (like the current webpage) > > > > This is possible, but I don't know how much Perl hacking it requires. It > > would be nice to generate the (sub)TOC as a drop-down menu activated by > > mouse hover/click BTW. > > I agree. Really? I prefer the current webpage's display, since you can see all the sub-sections of each section. (or all the sections of each "chapter") I mean, if somebody is reading Introduction->Features, I think it'd be nice to see Introduction->Examples and Introduction->Crash course, without having to hover the mouse around. > For this to happen, we would need to have *one* unordered list instead > of two separate lists. I'm referring to the one in div#tocframe. > They would look like this: > > * unnumbered > * unnumberedsec > * unnumberedsec > * unnumberedsubsec > * unnumbered > * unnumbered > * unnumbered > > I could create drop-down menus with this structure (with pure CSS), > but I don't know how much modification the init file would need. That was actually the default for the init file -- it took me about an hour to figure out how to hack-comment-out lines so it wouldn't do this! :) I could change it back for an experiment, though. If I see it in action, I might like it better... or I may be outvoted :) In any case, it would be easy to compare between the current-webpage version and the drop-down version. ... ok, experiment pushed to web-gop. Go ahead and do your magic to web-gop/texinfo/css/ anytime. :) ... nope, can't do. Whenever I try to commit it, I get: gperc...@nagi:~/svn/web-gop$ git commit texinfo/web-texi2html.init error: invalid object d92e8d14ac7c92171da2feb403f85eee6cade51a error: Error building trees Mao. I'll delete the whole dir and download everything from the main repo again, then add the file. In the meantime, I've attached the diff; you can apply it to your local copy and go from there. Cheers, - Graham --- /home/gperciva/svn/web-gop/texinfo/web-texi2html.init 2009-06-20 13:20:49.0 -0700 +++ web-texi2html.init 2009-06-20 13:16:57.0 -0700 @@ -619,11 +619,11 @@ } # if no child nodes were generated, e.g. for the index, where expanded pages # are ignored, don't generate a list at all... -#if (@child_result) { -# push (@result, "\n$ind\n"); -# push (@result, @child_result); -# push (@result, "$ind\n"); -#} +if (@child_result) { + push (@result, "\n$ind\n"); + push (@result, @child_result); + push (@result, "$ind\n"); +} } push (@result, "$ind\n"); return @result; @@ -649,8 +649,8 @@ return () if not defined($current_element); # Create the toc entries recursively #FIXME -my @toc_entries = ("\n"); -#my @toc_entries = ("\n", "\n"); +#my @toc_entries = ("\n"); +my @toc_entries = ("\n", "\n"); my $children = $current_element->{'section_childs'}; # FIXME: generate toc foreach ( @$children ) { @@ -658,8 +658,8 @@ } push (@toc_entries, "\n"); #FIXME -#push (@toc_entries, "\n"); -push (@toc_entries, "\n"); +push (@toc_entries, "\n"); +#push (@toc_entries, "\n"); return @toc_entries; } @@ -702,34 +702,16 @@ # ) . "\n"; -## FIXME: make this generate from the file properly -#my $foo = " -#Home -#[Introduction] -#Download -#Documentation -##Development -#About -# -# -# -#Features -#Examples -#[Crash Course] -# -#"; -# print $fh $foo; - foreach my $line (@lines) { print $fh $line; } # FIXME: do second layer -print $fh "\n"; -print $fh "\n"; -print $fh "FIXME Insert second-layer TOC frame here\n"; -print $fh "\n"; -print $fh ""; +#print $fh "\n"; +#print $fh "\n"; +#print $fh "FIXME Insert second-layer TOC frame here\n"; +#print $fh "\n"; +#print $fh ""; print $fh "\n\n"; } ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: proposals for LM B. Scheme tutorial
LGreatTM! Cheers, - Graham On Sat, Jun 20, 2009 at 01:17:02PM -0700, Mark Polesky wrote: > > Here are some proposed additions to LM B. Scheme tutorial > > These are things that I wished I knew when I was starting! I > haven't made a patch because I want to get feedback from you guys > first. > Thanks > - Mark > > ***(I'm leaving this paragraph as it is) > LilyPond uses the Scheme programming language, both as part of the > input syntax, and as internal mechanism to glue modules of the > program together. This section is a very brief overview of > entering data in Scheme. If you want to know more about Scheme, > see http://www.schemers.org. > > ***new paragraph: > LilyPond uses the GNU Guile implementation of Scheme, which is > based on the Scheme "R5RS" standard. If you are learning Scheme to > use with LilyPond, working with a different implementation (or > referring to a different standard) is not recommended. Information > on guile can be found at http://www.gnu.org/software/guile/. The > "R5RS" Scheme standard is located at > http://www.schemers.org/Documents/Standards/R5RS/. > > ***back to current: > The most basic thing of a language is data: numbers, character > strings, lists, etc. Here is a list of data types that are > relevant to LilyPond input. > > ...jump a bit... > > In a music file, snippets of Scheme code are introduced with the > hash mark #. So, the previous examples translated in LilyPond are > > ##t ##f > #1 #-1.5 > #"this is a string" > #"this > is > a string" > > ***new paragraph and example: > Multiple consecutive scheme expressions in a music file can be > combined using the *begin* operator. This reduces the number of > hash marks to one. However, within such a combined expression, > LilyPond comments ("%" and "%{ %}") will produce errors. > > #(begin > > (define foo 0) > (define bar 1) > > ) > > ***new sentence and example: > Comments in Guile Scheme are entered as follows: > > ; this is a single-line comment > > #! > this a (non-nestable) > guile-style block comment > !# > > ***back to current: > For the rest of this section, we will assume that the data is > entered in a music file, so we add #s everywhere. > > > > > > ...and maybe at the end, some info regarding using the display > function within a music file to emulate a guile "sandbox". > See the thread at: > http://lists.gnu.org/archive/html/lilypond-devel/2009-06/msg00436.html > > > > > > > ___ > lilypond-devel mailing list > lilypond-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: proposals for LM B. Scheme tutorial
Le 20 juin 09 à 22:17, Mark Polesky a écrit : ***new paragraph and example: Multiple consecutive scheme expressions in a music file can be combined using the *begin* operator. This reduces the number of hash marks to one. However, within such a combined expression, LilyPond comments ("%" and "%{ %}") will produce errors. #(begin (define foo 0) (define bar 1) ) The formatting is bad. > #(begin >(define foo 0) >(define bar 1)) Parentheses are never left alone on a line. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: proposals for LM B. Scheme tutorial
Graham Percival wrote: LGreatTM! Cheers, - Graham +1! Thanks for helping everyone else learn from your experience. (and for your sweet scheme hacks!) Jon On Sat, Jun 20, 2009 at 01:17:02PM -0700, Mark Polesky wrote: Here are some proposed additions to LM B. Scheme tutorial These are things that I wished I knew when I was starting! I haven't made a patch because I want to get feedback from you guys first. Thanks - Mark ***(I'm leaving this paragraph as it is) LilyPond uses the Scheme programming language, both as part of the input syntax, and as internal mechanism to glue modules of the program together. This section is a very brief overview of entering data in Scheme. If you want to know more about Scheme, see http://www.schemers.org. ***new paragraph: LilyPond uses the GNU Guile implementation of Scheme, which is based on the Scheme "R5RS" standard. If you are learning Scheme to use with LilyPond, working with a different implementation (or referring to a different standard) is not recommended. Information on guile can be found at http://www.gnu.org/software/guile/. The "R5RS" Scheme standard is located at http://www.schemers.org/Documents/Standards/R5RS/. ***back to current: The most basic thing of a language is data: numbers, character strings, lists, etc. Here is a list of data types that are relevant to LilyPond input. ...jump a bit... In a music file, snippets of Scheme code are introduced with the hash mark #. So, the previous examples translated in LilyPond are ##t ##f #1 #-1.5 #"this is a string" #"this is a string" ***new paragraph and example: Multiple consecutive scheme expressions in a music file can be combined using the *begin* operator. This reduces the number of hash marks to one. However, within such a combined expression, LilyPond comments ("%" and "%{ %}") will produce errors. #(begin (define foo 0) (define bar 1) ) ***new sentence and example: Comments in Guile Scheme are entered as follows: ; this is a single-line comment #! this a (non-nestable) guile-style block comment !# ***back to current: For the rest of this section, we will assume that the data is entered in a music file, so we add #s everywhere. ...and maybe at the end, some info regarding using the display function within a music file to emulate a guile "sandbox". See the thread at: http://lists.gnu.org/archive/html/lilypond-devel/2009-06/msg00436.html -- Jonathan Kulp http://www.jonathankulp.com ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: proposals for LM B. Scheme tutorial
Nicolas Sceaux wrote: > >#(begin > > > >(define foo 0) > >(define bar 1) > > > >) > > The formatting is bad. > > > #(begin > >(define foo 0) > >(define bar 1)) > > Parentheses are never left alone on a line. I respectfully* disagree: http://community.schemewiki.org/?scheme-style#H-189ddlj Though I think it might depend on the size of the code within the #(begin ...). When I have many screens worth of consecutive scheme expressions lumped into a #(begin ...), the extra indenting (even just 2 spaces) seems unnecessary. But even more to the point, when the last expression is a large procedure, and I want to block- comment it out for debugging, I don't want to accidentally remove the terminal parenthesis of the (begin ...). #(begin (define foo 0) #! (define large-procedure ...)) !# And squeezing a little !# between parentheses is also a bad idea since it's harder to find than if it were in the first column. (define bar 1)!#) - Mark *really. You're a LOT better than me at scheme. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
On Sat, Jun 20, 2009 at 1:21 PM, Graham Percival wrote: > On Sat, Jun 20, 2009 at 09:57:20AM -0700, Patrick McCarty wrote: >> On Sat, Jun 20, 2009 at 01:54:30PM +0200, John Mandereau wrote: >> > Le 13/06/2009 20:14, Graham Percival a écrit : >> > >> > > - also, if we end up going this route, somebody (I'm willing to do >> > > it, although I wouldn't mind delegating this :) needs to make >> > > the nagivation menu show the current subsections in a second >> > > list. (like the current webpage) >> > >> > This is possible, but I don't know how much Perl hacking it requires. It >> > would be nice to generate the (sub)TOC as a drop-down menu activated by >> > mouse hover/click BTW. >> >> I agree. > > Really? I prefer the current webpage's display, since you can see > all the sub-sections of each section. (or all the sections of > each "chapter") > > I mean, if somebody is reading Introduction->Features, I think > it'd be nice to see Introduction->Examples and Introduction->Crash > course, without having to hover the mouse around. Well, I was mainly interested in it because I know how to do drop-down menus. But on second thought, the method does not work on IE (<=6), so this will be more trouble than it's worth. >> For this to happen, we would need to have *one* unordered list instead >> of two separate lists. I'm referring to the one in div#tocframe. >> They would look like this: >> >> * unnumbered >> * unnumberedsec >> * unnumberedsec >> * unnumberedsubsec >> * unnumbered >> * unnumbered >> * unnumbered >> >> I could create drop-down menus with this structure (with pure CSS), >> but I don't know how much modification the init file would need. > > That was actually the default for the init file -- it took me > about an hour to figure out how to hack-comment-out lines so it > wouldn't do this! :) Okay, thanks for the patch. I started from scratch on the CSS. There might be some things I forgot, but see what you think. If this is an improvement (for now), I can send a patch. It should render decently. Not sure if the submenus will work in IE<=6, but you probably don't use those browsers. :-) http://uoregon.edu/~pmccarty/web-lily/lilypond-general_1.html -Patrick ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: guile sandbox without guile
2009/6/20 Trevor Daniels : > Typing "guile" works fine for me in git bash, but in the command > prompt window under Vista I get > > ERROR: In procedure primitive-load-path > ERROR: Unable to find file "ice-9/boot-9.scm" in load path I get the same error under XP, so it's quite possible I'm confusing this usage with git bash. I looked through the archives, and there's a post here from Gilles which implies it hasn't worked for a long time: http://lists.gnu.org/archive/html/lilypond-user/2007-09/msg00581.html Following his advice, navigating to C:\Program Files\LilyPond\usr works. > even though I've added the ice-9 directory to my path. I also tried that with no success. Having read the Guile manual, I thought adding the environment variable GUILE_LOAD_PATH=C:\Program Files\LilyPond might work, but it doesn't have any effect. Regards, Neil ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: proposals for LM B. Scheme tutorial
On 6/20/09 2:17 PM, "Mark Polesky" wrote: > > > Here are some proposed additions to LM B. Scheme tutorial Good for you! Thanks! > > ***new paragraph and example: > Multiple consecutive scheme expressions in a music file can be > combined using the *begin* operator. This reduces the number of > hash marks to one. However, within such a combined expression, > LilyPond comments ("%" and "%{ %}") will produce errors. > > #(begin > > (define foo 0) > (define bar 1) > > ) > I think you should split up the two concepts in the above: 1) LilyPond comments can't be included in Scheme expressions 2) (begin ... ) is used to combine sequential Scheme expressions LilyPond comments will fail inside of *any* Scheme expression, not just (begin ... ) i.e. #(define (foo bar baz) (let ((bar 2) % This is a LilyPond comment (baz 3)) % This is too (+ bar baz))) Will also throw errors. You may also wish to include a third concept: 3) if # is followed by (, the parser remains in Scheme mode until a matching ) is found. > ***new sentence and example: > Comments in Guile Scheme are entered as follows: > > ; this is a single-line comment > > #! > this a (non-nestable) > guile-style block comment > !# I think we shouldn't introduce block comments, but I don't feel strongly about it. If we do introduce block comments, we should mention that the LilyPond source doesn't use block comments. > > ***back to current: > For the rest of this section, we will assume that the data is > entered in a music file, so we add #s everywhere. > > > > > > ...and maybe at the end, some info regarding using the display > function within a music file to emulate a guile "sandbox". > See the thread at: > http://lists.gnu.org/archive/html/lilypond-devel/2009-06/msg00436.html > Also, probably add that you can get a guile interpreter in most systems by opening a terminal window and typing guile. This is good stuff, Mark. Thanks for your contributions! Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
On 6/20/09 2:21 PM, "Graham Percival" wrote: > On Sat, Jun 20, 2009 at 09:57:20AM -0700, Patrick McCarty wrote: >> On Sat, Jun 20, 2009 at 01:54:30PM +0200, John Mandereau wrote: >>> Le 13/06/2009 20:14, Graham Percival a écrit : >>> - also, if we end up going this route, somebody (I'm willing to do it, although I wouldn't mind delegating this :) needs to make the nagivation menu show the current subsections in a second list. (like the current webpage) >>> >>> This is possible, but I don't know how much Perl hacking it requires. It >>> would be nice to generate the (sub)TOC as a drop-down menu activated by >>> mouse hover/click BTW. >> >> I agree. > > Really? I prefer the current webpage's display, since you can see > all the sub-sections of each section. (or all the sections of > each "chapter") > > I mean, if somebody is reading Introduction->Features, I think > it'd be nice to see Introduction->Examples and Introduction->Crash > course, without having to hover the mouse around. Me, too. I much prefer having the TOC available to having it hidden. Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
On Sat, Jun 20, 2009 at 03:59:59PM -0700, Patrick McCarty wrote: > On Sat, Jun 20, 2009 at 1:21 PM, Graham > Percival wrote: > > That was actually the default for the init file -- it took me > > about an hour to figure out how to hack-comment-out lines so it > > wouldn't do this! :) > > I started from scratch on the CSS. There might be some things I > forgot, but see what you think. If this is an improvement (for now), > I can send a patch. It should render decently. Not sure if the > submenus will work in IE<=6, but you probably don't use those > browsers. :-) > > http://uoregon.edu/~pmccarty/web-lily/lilypond-general_1.html Looks great! I copied the CSS verbatim and dumped it into git; if you have access you can push further changes directly. If not, I'm more than happy to commit them for you. Ok, I'm thinking about announcing this on -user on Monday or Tuesday. There's a bit more I want to write for the content, and if you want to make any more CSS changes, that's fine. The idea is just to get initial feedback and any major feature requests, so it doesn't need to be perfect by any stretch of the imagination. :) Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: proposals for LM B. Scheme tutorial
>> The formatting is bad. >> >> > #(begin >> >(define foo 0) >> >(define bar 1)) >> >> Parentheses are never left alone on a line. > > I respectfully* disagree: [...] Well, putting trailing parentheses into separate lines is useful while writing code -- I do this too, but finally they get condensed into a single line. We do this everywhere in the SCM files. As a rule, we indent Scheme code almost always in the same way as the Scheme mode of Emacs does. There, a simple TAB keypress indents correctly. Additionally, Emacs provides functions to find the matching opening parenthesis; another reason to condense parentheses. Werner ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
On Sat, Jun 13, 2009 at 12:00:21PM -0700, Patrick McCarty wrote: > On Sat, Jun 13, 2009 at 11:14 AM, Graham > Percival wrote: > > To counter-act the "texi2html looks boring" idea, here's a new > > version: > > http://percival-music.ca/blogfiles/out/lilypond-general_1.html > > Cool! I think this is a definite improvement to the website's > organization. I really wish we could port everything to XHTML, since > it makes designing a little easier, but I guess we will have to use > HTML 4.0 Transitional. Well, we _could_ make it XHTML by hacking texi2html... but I think the current HTML version is fine. I'll just note in passing that this one more advantage to using texinfo as an intermediate language: we can export it to whatever backend(s) we want, assuming we're willing to write those backend(s). :) > I would be willing to work on the CSS when everything is ready. There > are some major annoyances that texi2html has (like using class="menu" ...> instead of something more reasonable like class="menu">), but these issues can be worked around. That's (relatively) easily changed (actually I changed it already for the TOC in the init file). If there's any particular annoyances, let me know and I'll look through the init file and/or the texi2html source. > > - we also probably want to remove the section-name from > > the page. Not a big deal. > > Or we could just hide it. I'm already hiding "The music typesetter" > on this page, because I could not think of a good place to put it: Up to you, as the graphics designer. :) Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
On Sat, Jun 20, 2009 at 01:54:30PM +0200, John Mandereau wrote: > Le 13/06/2009 20:14, Graham Percival a écrit : > > To counter-act the "texi2html looks boring" idea, here's a new > > version: > > http://percival-music.ca/blogfiles/out/lilypond-general_1.html > > You made the proof of concept of using texi2html to write a website in > Texinfo; this is nice and promising, I'm now almost convinced that we > could adopt this technical design. However, I'm sure I want to update > the translation infrastructure first, as it will be reused in the > website if we adopt this design: remember that it's about translating > node names and section titles directly in the translated files, so it > would well take between 10 and 15 hours to hack the scripts and apply > and check the changes to existing translations. Ok; I have no problems waiting for this. Remember I was talking about having the English version done this month, and translations around Aug. There should be a lot of shared infrastructure between the new website and the main docs... actually, since they're all texinfo, I'm not certain if there'd be *any* difference. > > 2) Apologies to people who worked on the perl texinfo init file > > for the docs. I hacked it up horribly to get this version. > > You could thank them too :-D I think I thanked them when they did the original version during GDP. And we wouldn't want to double-thank people, after all! Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: working on the new website
On Tue, Jun 16, 2009 at 09:14:50AM +0200, Francisco Vila wrote: > 2009/6/16 Graham Percival : > > Oh, and does anybody have any immediate comments (or experience) > > with blind users? > > My immediate comment is that making a web page accessible by blind > users involves putting a section in the CSS file that defines the > voice styles for the spoken interface, if any. The section is specific > for the aural media and an usable example would be the following. Ok, I've added this to git... although I'm not certain if it's necessary. I mean, wouldn't text-to-speech programs have their own presets which read the tags at different pitches / volumes / etc? If they do, then I'm not certain if overriding those default values (which the users would presumably be familiar with). Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: proposals for LM B. Scheme tutorial
On 6/20/09 3:18 PM, "Mark Polesky" wrote: > > > Nicolas Sceaux wrote: >>>#(begin >>> >>>(define foo 0) >>>(define bar 1) >>> >>>) >> >> The formatting is bad. >> >>> #(begin >>>(define foo 0) >>>(define bar 1)) >> >> Parentheses are never left alone on a line. > > I respectfully* disagree: > http://community.schemewiki.org/?scheme-style#H-189ddlj When I followed the link, it agreed with Nicolas, with one exception, which is the creation of a list that may be extended. I don't think of a (begin ... ) as a "list that may be extended", but rather as a sequence of statements. Also, the exception should be used *rarely*. And a rare exception should not be shown in the Learning Manual. This is a place for the rules. The syntax you've used is a c structure in Scheme; as much as c programmers think it's right, Scheme programmers think it's wrong. > > Though I think it might depend on the size of the code within the > #(begin ...). When I have many screens worth of consecutive scheme > expressions lumped into a #(begin ...), the extra indenting (even > just 2 spaces) seems unnecessary. Scheme programmers are very unlikely to have many screens worth lumped into a (begin ...); again, that's not very Schemey > But even more to the point, when > the last expression is a large procedure, and I want to block- > comment it out for debugging, I don't want to accidentally remove > the terminal parenthesis of the (begin ...). > > #(begin > (define foo 0) > #! > (define large-procedure ...)) > !# It would generally be preferred (IMO, of course) to do #(define foo 0) #(define (large-procedure baz) foobar) That is, in your .ly file, I think it's better to put each Scheme definition in it's own #, rather than putting a huge Scheme file inside of a #(begin ). Also, if you're commenting out stuff, it's easy with a parenthesis-matching editor* to find the right place, insert a newline and a comment termination, and go on your way. And because you're not going to leave debugging stuff in when you submit the code, it's easy to delete the comment and the newline to get you back to good Scheme style. Of course, even though Scheme has block comments, I can't remember *ever* seeing them used by an experienced Scheme programmer. The more typical way to do a block comment for debugging is (if #f ) Just my opinion, Carl *and a parenthesis-matching editor is a *REQUIREMENT* for Scheme. If you don't have one, you'll go crazy. ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel