Re: Scheme in LilyPond
On 06/01/2017 11:03 AM, Charles Winston wrote: And I get an error saying that make-note-ev is an unbound variable. I thought that we could call Scheme procedures from the source in lilypond files. What am I missing here? I'll just add that generally you can call scheme procedures defined in source files when they are defined with 'define-public'. If they are defined with 'define' then they probably won't be callable. In the latter case you can often just copy/paste them into your .ly file (adding # at the beginning of the opening paren(s)) and use them that way. Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Releasing 2.20
On 06/07/2017 04:34 PM, David Kastrup wrote: tomorrow I am leaving for physical therapy. Hope it goes well David! So how is it going to end up? Barring objections, I'll probably branch off a stable release branch early next week. I'll have to see what to cherry-pick into this branch as fixes proceed, and possibly what to revert when it is not clear that functionality provided by recent patches/changes can be considered stable in use and interface. I don't think that we should need much more than the 3-week maturing period corresponding to the expected physical therapy duration. The alternative of releasing 2.18.3 since 2.18.2 does not even compile using gcc-7 anymore is something I want to avoid. So I'd rather pitch for a timely release of 2.20. There have been a few critical bugs flagged, however. I'll take a look at them eventually but if someone else has a good idea... Sounds good to me. I have a few things I'd like to get into the stable release, one way or another, if possible. - Some CSS edits for the docs that I started but havent finished/submitted for review yet. I'll try to get that done in the next few days if I can. - Might be worth looking again at issue 3884, either to just go with the initial patch for now, or try for one of the other approaches in that discussion? https://sourceforge.net/p/testlilyissues/issues/3884/ - This doesn't really matter, but it might be worth renaming the "staffLineLayoutFunction" context property (which is not really about staff lines...) to something better, maybe "pitchToStaffPositionFunction" or pitchToStaffPositionProcedure"? (It takes a pitch and returns an integer indicating a vertical staff position. It's used in note-heads-engraver.cc) Let me know any thoughts on these things, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Releasing 2.20
On 06/08/2017 03:31 PM, David Kastrup wrote: Sounds good to me. I have a few things I'd like to get into the stable release, one way or another, if possible. - Some CSS edits for the docs that I started but havent finished/submitted for review yet. I'll try to get that done in the next few days if I can. Shouldn't matter a lot regarding stable/unstable but we should get the bikeshedding finished by release time. Sounds good. - Might be worth looking again at issue 3884, either to just go with the initial patch for now, or try for one of the other approaches in that discussion? https://sourceforge.net/p/testlilyissues/issues/3884/ Ugh, looks like another ball I dropped. I'll take to pencil and paper some time tomorrow. I see you already have a proposal/fix. That was fast! I'll try to take a look and reply in the other thread. - This doesn't really matter, but it might be worth renaming the "staffLineLayoutFunction" context property (which is not really about staff lines...) to something better, maybe "pitchToStaffPositionFunction" or pitchToStaffPositionProcedure"? (It takes a pitch and returns an integer indicating a vertical staff position. It's used in note-heads-engraver.cc) Well, discussion needs to have converged really well for changes to preexisting conventions to get into stable: we don't really want to do gratuitous changes that might get changed again or do not provide a definite payback for the hassle. OK, sounds like a discussion to have for 2.21 / 2.22 then. A few other possibilities, for later: pitchToStaffLayoutFunction pitchToStaffLayoutProcedure staffPitchLayoutFunction staffPitchLayoutProcedure Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond-manuals.css: edit color scheme and some spacing (issue 322070043 by paulwmor...@gmail.com)
On 06/10/2017 07:30 PM, carl.d.soren...@gmail.com wrote: I don't feel strongly about the old design being bad. What got me motivated to work on it was the bright (fully saturated) colored borders around the code blocks, which I found distracting. The new design looks mostly fine to me. Glad to hear it. I feel like the table of contents bar at the left is too wide. I agree; it can get a bit wide especially on wider monitors/windows. (Note I have not changed its width in this patch.) Currently the size is a percentage of the window width. We could make that smaller, but at the risk that it gets too narrow on smaller screens/windows. Another way would involve a different approach in the css, allowing us to set a maximum and minimum width to it. But this would entail more work/changes to the css and maybe the html. (e.g. to use floats, flexbox, or grid positioning rather than the current "position: fixed;" approach.) Or... we could keep the "position: fixed;" approach and set the width to a constant amount rather than a percentage. And/or we could also set media query break points to change that constant for different window widths. This could even be combined with the percentages so it could effectively have a max and min width and be set by percent in between. In any case this would warrant its own issue. But I would be fine with it being like this. Glad to hear, and thanks for the feedback. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond-manuals.css: edit color scheme and some spacing
On 06/12/2017 03:02 PM, Flaming Hakama by Elaine wrote: CSS is happy with both properties set: width as a percentage and min-width as an absolute value. There is no conflict and they should work together well. Hi, yes, thanks, but... I glossed over the details. If you look at the css file you'll find that the main content div is positioned so that its "left" property is a percentage that corresponds with the sidebar's "right" property. There is actually no "width" property in use and I don't think there is a maximum left/right css property to use, thus... what I wrote in my previous email. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond-manuals.css: edit color scheme and some spacing (issue 322070043 by paulwmor...@gmail.com)
On 06/12/2017 06:24 AM, fedel...@gmail.com wrote: I like a lot the new color scheme! More elegant and easier for the eyes. Thanks, glad you like it! ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: What is the point of \on-the-fly ?
On 06/12/2017 01:00 AM, David Kastrup wrote: The use case is similar to that of lambda: creating a procedure on the fly without giving it a name. Ah, got it. Then makes sense to avoid having to use on-the-fly, by converting those named on-the-fly procedures into actual markup commands. Just thinking out loud, but if define-markup-command worked like define-music-function and friends (i.e. like lambda) so that they returned a procedure, like this: command-name = #(define-markup-command (layout props args...) ... (define command-name (define-markup-command (layout props args...) ... Rather than the current form: (define-markup-command (command-name layout props args...) ... Would that remove the need for on-the-fly or am I missing something? I'm sure that would not be a trivial change -- again just thinking out loud. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: What is the point of \on-the-fly ?
On 06/13/2017 11:16 AM, David Kastrup wrote: (define-markup-command bla) does not define bla, but rather bla-markup, make-bla-markup and bits and pieces used for signatures and the markup macro. Even then, creating music functions on the fly _and_ using them requires use of $(define-music-function ...) since #(define-music-function ...) does not call the generated music function (would be hard assigning a music function if it got called right away...). Ah ok, thanks for the explanation. (I need to brush up on my $ vs #.) I actually just proposed an issue where you _can_ call markup functions on the fly when defined properly. Sounds good. This is the $ one. But the process of assigning a markup command with all that it entails cannot be done in the same manner. Since we can generate markup commands "on the fly" with \markup ... \etc, assigning them in a manner corresponding to define-markup-command might be nice. I suggested \markup bla = ... for it without being all too clear about whether this implied \markup mode, allowing for \markup bla = \bold \large \etc rather than \markup bla = \markup \bold \large \etc There were no real comments (and I am fuzzy on the details of the ensuing non-discussion as far as I remember it) so this proposal petered out. Hmm, I must have missed this, but sounds promising. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Using/requiring Cairo
I can't speak to the technical questions, but I see the appeal of this idea. Cairo looks like a mature, well-supported, and widely-used library. https://en.wikipedia.org/wiki/Cairo_%28graphics%29 Interestingly, "Cairo uses hardware acceleration <https://en.wikipedia.org/wiki/Hardware_acceleration>^[3] <https://en.wikipedia.org/wiki/Cairo_%28graphics%29#cite_note-3> when available." I see that it can produce Postscript as well as PDF, among its various backends. "The vector graphics application Inkscape <https://en.wikipedia.org/wiki/Inkscape> uses the Cairo library for its outline mode display, as well as for PDF <https://en.wikipedia.org/wiki/Portable_Document_Format> and PostScript <https://en.wikipedia.org/wiki/PostScript> export..." -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Using/requiring Cairo
On 06/26/2017 02:36 PM, David Kastrup wrote: Interestingly, "Cairo uses hardware acceleration when available." Well, to be fair this just concerns display backends. So it might be interesting for Denemo and Frescobaldi interfacing but will not otherwise affect output. I think it would be quite interesting for creating "live" output "rolls" for editing. Ah, good to know. That would indeed be cool if it could be used by front-ends like that. Yes. That is what suggests eventual retirement of the existing backends to be an option that could end up reducing the amount of ongoing developer effort for keeping the backends in uniformly coherent shape. Cairo doesn't do stuff like skylines and page layout, so finding good ways for fudging stuff together will still be necessary. I assume users would still be able to make their own stencils (or equivalent cairo data structures), via the guile-cairo wrapper or otherwise. Also it would be good to still be able to include ids or other metadata in svg output. Just to put those things on the radar. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDevOS, a LilyDev container + full VM image
On 07/14/2017 05:52 AM, Federico Bruni wrote: https://github.com/fedelibre/LilyDevOS/releases/tag/v0.1 Hi Federico, This looks great! I downloaded the one for linux (I'm on Ubuntu 16.04 LTS) and gave it a try. I ran into a few things but got it working and successfully built LilyPond in the container. Details below. One issue was that I had systemd installed, but not systemd-container, so I had to install that. So maybe we should add that to the dependencies in the instructions? $ sudo systemd-nspawn -bD lilydevos-0.1 sudo: unable to resolve host t440s sudo: systemd-nspawn: command not found $ systemd-nspawn --help The program 'systemd-nspawn' is currently not installed. You can install it by typing: sudo apt install systemd-container After that, things worked, although I saw some "Failed to..." messages, not sure if they are a problem or not: $ sudo systemd-nspawn -bD lilydevos-0.1 sudo: unable to resolve host t440s Spawning container lilydevos-0.1 on /home/paul/lilypond-world/LilyDevOS/lilydevos-0.1. Press ^] three times within 1s to kill container. Failed to create directory /home/paul/lilypond-world/LilyDevOS/lilydevos-0.1/sys/fs/selinux: Read-only file system Failed to create directory /home/paul/lilypond-world/LilyDevOS/lilydevos-0.1/sys/fs/selinux: Read-only file system systemd 233 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN default-hierarchy=hybrid) Detected virtualization systemd-nspawn. Detected architecture x86-64. Welcome to Fedora 26 (Twenty Six)! Set hostname to . Initializing machine ID from random generator. Failed to install release agent, ignoring: File exists [ OK ] Listening on /dev/initctl Compatibility Named Pipe. [ OK ] Listening on Journal Socket (/dev/log). [ OK ] Created slice User and Session Slice. [ OK ] Reached target Swap. [ OK ] Listening on Process Core Dump Socket. [ OK ] Created slice System Slice. [ OK ] Created slice system-getty.slice. Mounting Huge Pages File System... Mounting FUSE Control File System... [ OK ] Reached target Slices. Mounting POSIX Message Queue File System... [ OK ] Listening on Journal Socket. [ OK ] Reached target Local File Systems (Pre). [ OK ] Reached target Local File Systems. Starting Rebuild Journal Catalog... [ OK ] Started Forward Password Requests to Wall Directory Watch. Starting Rebuild Dynamic Linker Cache... [ OK ] Started Dispatch Password Requests to Console Directory Watch. [ OK ] Reached target Paths. [ OK ] Reached target Encrypted Volumes. Starting Create System Users... Starting Journal Service... [ OK ] Reached target Remote File Systems. [ OK ] Mounted FUSE Control File System. [ OK ] Mounted POSIX Message Queue File System. [ OK ] Mounted Huge Pages File System. [ OK ] Started Create System Users. [ OK ] Started Journal Service. Starting Flush Journal to Persistent Storage... [ OK ] Started Rebuild Journal Catalog. [ OK ] Started Flush Journal to Persistent Storage. Starting Create Volatile Files and Directories... [ OK ] Started Create Volatile Files and Directories. Starting Update UTMP about System Boot/Shutdown... [ OK ] Started Update UTMP about System Boot/Shutdown. [ OK ] Started Rebuild Dynamic Linker Cache. Starting Update is Completed... [ OK ] Started Update is Completed. [ OK ] Reached target System Initialization. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Reached target Sockets. [ OK ] Started Daily Cleanup of Temporary Directories. [ OK ] Started dnf makecache timer. [ OK ] Reached target Timers. [ OK ] Reached target Basic System. Starting Permit User Sessions... [ OK ] Started D-Bus System Message Bus. Starting Login Service... [ OK ] Started Permit User Sessions. [ OK ] Started Console Getty. [ OK ] Reached target Login Prompts. [ OK ] Started Login Service. [ OK ] Reached target Multi-User System. [ OK ] Reached target Graphical Interface. Starting Update UTMP about System Runlevel Changes... [ OK ] Started Update UTMP about System Runlevel Changes. Fedora 26 (Twenty Six) Kernel 4.4.0-83-generic on an x86_64 (console) lilydev login: Next I found that the uid for the dev user in the container was not the same as my host user uid, so I wasn't able to access the files from the host user account. But I was able to use the instructions in this blog post to change the dev user uid and that fixed it: https://muffinresearch.co.uk/linux-changing-uids-and-gids-for-user/ And I was able to successfully build lilypond in the container. (Look mom, no VM!) So this is really nice. I can edit files using my usual desktop environment and text editor, then just do git and git-cl via the command line
Re: LilyDevOS, a LilyDev container + full VM image
On 07/15/2017 02:43 PM, Paul wrote: Also, the authentication in git-cl opens a web page in a browser so I'm not sure how that will work from the container? I suppose one could just install git-cl in the host os and use it from there, (assuming the two uids match allowing access to the files). -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Duplication of pages with slight changes to color of grobs?
Hi Knut, Nice work on the videos. Just a couple quick thoughts. On 07/17/2017 02:30 AM, Knut Petersen wrote: B) Is there a practical way to redefine color? within a .ly file in a way that it is recognized by lilyponds code? I take it you have tried this? #(define (color? ...) ...) In the after-line-breaking function I give color the objects ... well, not really: I abuse the color property to encode the moment and duration of the color change. Would it help to define your own custom properties (grob or context) to avoid overloading the color property. I have this in my include file for Clairnote: #(let* ;; translator-property-description function ;; from "scm/define-context-properties.scm" (modified) ((context-prop (lambda (symbol type?) (set-object-property! symbol 'translation-type? type?) (set-object-property! symbol 'translation-doc "custom context property") (set! all-translation-properties (cons symbol all-translation-properties)) symbol)) ;; define-grob-property function ;; from "scm/define-grob-properties.scm" (modified) (grob-prop (lambda (symbol type?) (set-object-property! symbol 'backend-type? type?) (set-object-property! symbol 'backend-doc "custom grob property") symbol))) (context-prop 'myfoo list?) (grob-prop 'mybar integer?) ;; etc... ) Then I can use my custom properties just like the built-in ones. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Any objections to branching off a stable branch for 2.20?
On 07/17/2017 02:14 PM, David Kastrup wrote: Currently there is a bit of a lull (not entirely graceful due to me not keeping up with things all the best), so the time seems convenient. No objections here. What's the latest thinking/status for issue 3884? Anything I can / should do? Patch: Add on-page-greater-than, -less-than (on-the-fly) https://sourceforge.net/p/testlilyissues/issues/3884/ There are a few "critical" bugs outstanding, the "Changes" document should be reordered to be systematic rather than in reverse time order, and I'd want to add a bit of syntactic Scheme and LilyPond sugar of the \markup blabla = \markup \with-color #red \etc I like the goal of defining named markup functions via \etc but I find this syntax a bit odd, with the `=` to the right of `\markup` . I can't think of other cases in LilyPond like this: \onething another = where a '\' is to the left of an `=`. It's usually `a = b` or `\a b` but not `\a = b` or `\a b = c`. Are there other options that wouldn't introduce this new pattern? Would something like this work? \define-markup blabla \markup \with-color #red \etc variety in order to define named markup functions via \etc . Basically, this would split define-markup-command into a definition part called by \markup blabla = ... and a function part, say (markup-lambda (layout props arg) (markup?) #:properties ) that can be generated by a \markup ... \etc expression or other means. Basically, that's mainly for avoiding the current "ugh" of blabla-markup = \markup ... \etc I agree this is "ugh". -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDevOS, a LilyDev container + full VM image
On 07/17/2017 04:58 AM, Federico Bruni wrote: $ sudo systemd-nspawn -bD lilydevos-0.1 sudo: unable to resolve host t440s This is not causing any problem, right? Anyway, here you can find some hints on how to fix it: https://askubuntu.com/questions/59458/error-message-when-i-run-sudo-unable-to-resolve-host-none Thanks, I've seen this for awhile, but everything has seemed to work fine. I've now fixed it with the info in that link. (My machine name in /etc/hosts was off.) Spawning container lilydevos-0.1 on /home/paul/lilypond-world/LilyDevOS/lilydevos-0.1. Press ^] three times within 1s to kill container. Failed to create directory /home/paul/lilypond-world/LilyDevOS/lilydevos-0.1/sys/fs/selinux: Read-only file system Failed to create directory /home/paul/lilypond-world/LilyDevOS/lilydevos-0.1/sys/fs/selinux: Read-only file system I think you can safely ignore it. This may happen when selinux is disabled, according to this: https://github.com/systemd/systemd/issues/3711 But I have selinux disabled and I'm not getting those messages... # sestatus SELinux status: disabled Huh, odd. I'll just ignore it for now. [gitk] can work also from the guest if you use the correct DISPLAY environment variable. Find it in your host with this command: $ echo $DISPLAY :0 Then launch gitk from the container with: $ DISPLAY=:0 gitk You can use an alias and forget the special command. Add this line to ~/.bashrc: # Let gitk work on host display alias gitk="DISPLAY=:0 gitk" As .bashrc is the same for container and full VM, I won't add this configuration. I'll add only a suggestion in the README. Great! This is working for me now. Same display value of `:0` I've now updated the instructions about the container. I've also added instructions on setting up the virtual machine in libvirt (i.e. also GNOME Boxes and virt-manager) with a single command. Looks good. Nice additions about libvirt use. A suggestion: it might be worth clarifying the steps for first setup vs repeat use of the container? I think the main (only?) difference is that you don't need to run the setup script after you've already done it. Also, the authentication in git-cl opens a web page in a browser so I'm not sure how that will work from the container? w3m and elinks accept cookies by default, so login to google is easy and saved across different sessions. I just need to check if the redirect from /get-access-token?port=8001 works. I want to avoid installing a regular browser, as it would add some dependencies and increase the final size of the container. Cool, glad there's a good solution for this. BTW, let me know if the password is working. I'm not sure I've uploaded the correct version.. It wasn't working for me (e.g. when I tried to install guile-devel). If it doesn't, use this command as root: echo 'dev:lilypond'|chpasswd This fixed it for me. And I was able to install guile-devel. (GNU Guile 2.0.14) Thanks again. It's coming together well! -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Enhance the -dpreview method for SVG output (issue 326960043 by pkx1...@gmail.com)
On 07/27/2017 03:21 AM, pkx1...@gmail.com wrote: This is a first attempt to merge the dump-page and dump-preview methods so that there is an option for cropping pages that are not just previews. I wonder... is the desired functionality already provided by one-page-breaking and/or one-line-auto-height-breaking? http://lilypond.org/doc/v2.19/Documentation/notation/page-breaking#one_002dpage-page-breaking http://lilypond.org/doc/v2.19/Documentation/notation/page-breaking#one_002dline_002dauto_002dheight-page-breaking I haven't had time to look at the patch, and I'm still not sure exactly what it's trying to do. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: stencil.scm: add make-path-stencil function (issue 54050043)
On 2014-01-23 15:50, Trevor Daniels wrote: Yes. Go to the issue tracker 3818, click in the box at the bottom to enter a comment, and set the label Patch-countdown to Patch-new, and save. Ah, that makes sense, thanks. However, when I start to enter a comment I don't see any interface for editing labels, just the comment field and a link to attach a file. Should I see a menu or a separate labels field or something? Maybe I do not have sufficient privileges to edit labels? Thanks again, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GSoC spanners project
Hi Nathan and Jeffrey, Great to have you on board for LilyPond GSoC! I'll be working on a GSoC project for Mozilla Calendar, so won't be as active with LilyPond, but I'll try to help with development questions if I can. Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Web: home page: add examples/images, reduce news to headlines (issue 306350043 by paulwmor...@gmail.com)
On 08/30/2016 06:05 PM, carl.d.soren...@gmail.com wrote: I'm not comfortable with the really long, scrolling, home page. Ok, given these concerns that Carl and David raised, let me think some more and see what I can come up with. Maybe just a single example, followed by a list of the other kinds of examples, to show the range of what LilyPond can do, with a link to the full example page. (This is another place where @anchor would come in handy -- we could link the list items directly to the examples, "Tablature" to the tablature example etc.) Later, if we wanted, we could turn that single example into a CSS slider / slide show type thing where the user could click through some of the examples in-place on the home page, as Federico suggests. Anyway, just some thoughts. It may be some days before I get back to working on this. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Web: home page: add examples/images, reduce news to headlines (issue 306350043 by paulwmor...@gmail.com)
On 09/08/2016 12:53 PM, carl.d.soren...@gmail.com wrote: How about the BWV 861 example from the essay? http://lilypond.org/doc/v2.18/Documentation/essay/engraved-examples-_0028bwv-861_0029 It shows fewer features (e.g. instrument names, score title) but shows a beautiful and complex score. That seems fine to me. Carl, would you like me to hold off on pushing my patch until we sort out the example image, or is it ok with you to go ahead and push now and do a different example in a follow-up patch? Last night I tried to get the BWV 861 example to work, without any luck. I made a ly file for it in the Documentation/ly-examples directory, but I couldn't get the build scripts to make the images from it. With the ly file in that directory and putting references to the example/image into the home page and the examples page, I would just get broken links to a non-existing image, even after running a fresh make, make website, and make doc. Does anyone know what's needed? How to get the build scripts to see my file and create the example image? Thanks, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Web: home page: add examples/images, reduce news to headlines (issue 306350043 by paulwmor...@gmail.com)
On 09/13/2016 04:28 AM, Phil Holmes wrote: I know understanding how images are used is a bit of a problem - which I might have understood once, but have now forgotten. Is the information at http://lilypond.org/doc/v2.19/Documentation/contributor/other-repositories and http://lilypond.org/doc/v2.19/Documentation/contributor/website-build any help? Thanks, those are helpful. I'll have to remember that those build system notes are down there. I see now that LilyPond is being run on the new file and the pdf and png files do end up in: build/Documentation/ly-examples/out-www but for some reason those files are not being copied into build/out-website/website/ly-examples Where they need to be for the website. Also, there's another issue. The scripts to create these example images (at two sizes to allow "click to enlarge") use -dpreview so only the first system of this bwv861 example makes it into the image. (sigh) So maybe trying to use this examples machinery is not helpful. (Unless we want to edit all of the examples ly files so that they only output the content that should be in the images and then drop the -dpreview.) At this point it would probably be simplest to just inline the lilypond code for this example on the home page, like it is done in the essay. (Probably putting it in an include file to avoid duplication.) We wouldn't get "click to enlarge" that way (which was the point of using the examples mechanisms) but maybe that's not needed on the home page and/or could be a future enhancement. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Web: home page: add examples/images, reduce news to headlines (issue 306350043 by paulwmor...@gmail.com)
On 09/13/2016 10:02 AM, Phil Holmes wrote: Just thinking about this bit some more - are you running make doc to create the images and make website after that? Yes, at first after reading those docs you linked to, I thought maybe I'd run: make make website make doc (out of order) but then I ran make website got same result, and then make doc make website and same result. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Web: home page: add examples/images, reduce news to headlines (issue 306350043 by paulwmor...@gmail.com)
On 09/13/2016 09:52 AM, Phil Holmes wrote: At this point it would probably be simplest to just inline the lilypond code for this example on the home page, like it is done in the essay. (Probably putting it in an include file to avoid duplication.) We wouldn't get "click to enlarge" that way (which was the point of using the examples mechanisms) but maybe that's not needed on the home page and/or could be a future enhancement. I don't think you can do that. The reason for all the odd stuff with the image files is that the server we host lilypond on does not use lilypond to make the website - so all images must be pre-created to allow the website itself to be remade. Note that much of the website it really made using make doc during a Gub run, but some of it (the homepage and the \web stuff) is made with make website and requires no upload. The server has cron jobs that pull git and run make website. Ah, ok... hmm... so it sounds like we would need to do this home page example like the other website images then. (Assuming we're not using the examples scripts because of the -dpreview issue.) -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Proposal: change Grob.id to Grob.output-properties
Hi all, I'd like to improve on the "id" grob property but I wanted to ask about the best way to migrate users if/when we made the change I'm thinking of. The "id" property was introduced [0] in January 2012 by commit: ad3a9e6531e32c4403f1bdc6d203d3c94c6d411e Adds an ID property to grobs. This property is intended to group visual elements of a grob in a given backend into a container that has `id' as its id. Currently, it is only implemented for svg, where grobs are wrapped in a tag with its `id' attribute set to `id.' As far as I can tell that's still all it does. I'd like to change its type from a string to an alist (well, "list?") and change its name to something like "output-properties". And make it so users could do things like: \override NoteHead.output-properties = #'((id . 324) (class . "bar") (data-custom-prop . "foo")) Which would produce in the SVG output: ... (The SVG spec allows arbitrary custom properties that start with "data-".) Looking at the code, the changes seem pretty straightforward to do. Assuming we agree this is a good improvement to make, the question I have is about migrating existing user files to the new property. Literal strings are easy enough to handle with convert-ly: = "abc" converts to = #'((id . "abc")) The problem is when users have assigned a procedure (that returns a string) to this property, which is surely a common use case. I don't see a reasonable way to handle that with convert-ly. Maybe it is possible but seems like it would get ugly. So we could make the new property's type be "string-or-list?". (We'd have to define that predicate.) Then for strings, output a deprecation warning, but go ahead and handle the string as the user expects. That would give users time to rewrite their code and then at some future point we change the type to just "list?" and only support alist values. Is anyone opposed to this migration strategy? Any better options I'm missing? The motivation for the change is that lilypond-html-live-score[1] is overloading the id string with multiple properties and then post-processing that string (in the SVG output file) with python to expand it into different properties. But I see no reason why LilyPond shouldn't be able to do this directly, saving the post-processing step. And it would generally increase the possible uses for SVG output. (I considered introducing a separate property, but especially after looking at the code, it seems best to redefine the current one.) (I suppose another option would be to just allow string values (which would be output as the id) in addition to alist values, but I'm not sure whether that would be best in the long run.) Thanks, -Paul [0] http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commit;h=ad3a9e6531e32c4403f1bdc6d203d3c94c6d411e [1] https://gitlab.com/sigmate/lilypond-html-live-score ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Proposal: change Grob.id to Grob.output-properties
On 09/16/2016 01:10 AM, Urs Liska wrote: Doesn't a conversion to #`(id . ,(existing-function)) suffice? Otherwise just follow Carl's suggestion. Hi Urs, Almost, but you have to add a lambda wrapper to pass along the implicit grob argument, and then there are other more challenging complications if the user has supplied a lambda expression or a variable that may be a string or a procedure. So most of the possibilities are non-trivial to impossible to handle well. See below. Cheers, -Paul \version "2.19.42" #(define procA (lambda (grob) (display "a ") "myid")) #(define (procB grob) (display "b ") "myid") procC = #(lambda (grob) (display "c ") "myid") procE = "myid" { % ORIGINALS \override NoteHead.id = #procA c1 \override NoteHead.id = #procB c1 \override NoteHead.id = \procC c1 \override NoteHead.id = #(lambda (grob) (display "d ") "myid") c1 \override NoteHead.id = \procE c1 % RE-WRITES % these are fine (as long as the variable is a procedure): \override NoteHead.id = #(lambda (grob) `(id . ,(procA grob))) c1 \override NoteHead.id = #(lambda (grob) `(id . ,(procB grob))) c1 \override NoteHead.id = #(lambda (grob) `(id . ,(procC grob))) c1 % to regex a lambda expression, I think you'd have to count matching % parens to arbitrary depth. Not sure that is possible with regex... \override NoteHead.id = #(lambda (grob) `(id . ,((lambda (grob) (display "d ") "myid") grob))) c1 % is \procE a string or a procedure? No way to tell in convert-ly % and calling a string as if it were a procedure doesn't work % \override NoteHead.id = #(lambda (grob `(id . ,(procE grob c1 } ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Proposal: change Grob.id to Grob.output-properties
On 09/16/2016 09:43 AM, Paul wrote: % is \procE a string or a procedure? No way to tell in convert-ly % and calling a string as if it were a procedure doesn't work % \override NoteHead.id = #(lambda (grob `((id . ,(procE grob) On second thought, I guess the following rewrite would work for this issue, but I'm not sure it's doing users much of a favor... \override NoteHead.id = #(lambda (grob) `((id . ,(if (procedure? procE) (procE grob) procE and there's still the issue of how to regex a lambda expression... Carl's plan makes sense to me, so I'll go with that. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Staging not merging with master - make website fails
Hello James, Thanks for your message. I was wondering what had gone wrong... What's the best way to fix things from here? Should I back out my commit on staging and redo the push with a new patch with images included? I'm not sure how to back out a commit on a remote branch... Locally I would just do: git checkout staging git reset --hard HEAD~ Would it work to just do: git checkout origin/staging git reset --hard HEAD~ I'll wait until I hear back before doing anything. Thanks again, -Paul On 09/24/2016 06:48 AM, James Lowe wrote: Hello, commit29941d96aa9942cfe914440b90b49ff7e015742e From Paul is missing its image files - they have been uploaded into LilyPond Extra but need to be included in this commit in staging. Regards ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Staging not merging with master - make website fails
On 09/24/2016 09:56 AM, Phil Holmes wrote: I think you will definitely have to back out the current commit, add the images and repush to staging. My notes on how to do this: Thanks Phil! That worked. My new patch is now pushed to staging with the images added (commit message is the same as before). -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Staging not merging with master - make website fails
On 09/24/2016 12:55 PM, Phil Holmes wrote: And by the wonder that is the website build, you'll see that lilypond.org is already showing the new front page. Indeed! Very nice. One problem... the news page is redirecting to the home page because the htaccess file here: Documentation/web/server/lilypond.org.htaccess has these lines (46-47): # the new website has news on the main page RedirectMatch ^/news/ (Of course this didn't show up in local testing, and I didn't think to check the htaccess rewrite rules. Sorry about that.) So we should remove those lines to fix it. How to proceed? Let me know what I can do. I'm can prepare a separate commit to remove those lines, or we can back out the current commit and I can make a new commit that has the htaccess changes. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Updating news headline on home page
The new home page is working now that the htaccess redirect is fixed. The news headline for the latest dev release needs updating. I made a patch (attached). Let me know if I should just push this directly to staging or go through review. Thanks, -Paul >From 3ebfdff1bcb2e1daaa5052dba87a41d8c0f5c842 Mon Sep 17 00:00:00 2001 From: Paul Morris Date: Sun, 25 Sep 2016 09:52:54 -0400 Subject: [PATCH] Web: add/update news headline for LilyPond 2.19.48 release --- Documentation/web/news-headlines.itexi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/web/news-headlines.itexi b/Documentation/web/news-headlines.itexi index e5154c6..97689a6 100644 --- a/Documentation/web/news-headlines.itexi +++ b/Documentation/web/news-headlines.itexi @@ -11,7 +11,7 @@ @ifclear web_version @c no anchor links, just link to News page -@ref{News, LilyPond 2.19.47 released - @emph{August 13, 2016}} +@ref{News, LilyPond 2.19.48 released - @emph{September 13, 2016}} @ref{News, Two LilyPond projects in Google Summer of Code 2016 - @emph{April 23, 2016}} @@ -23,8 +23,8 @@ @ifset web_version @c anchor links, link to individual news items by their tag -@uref{news.html#LilyPond-2_002e19_002e47-released-August-13_002c-2016, - LilyPond 2.19.47 released - @emph{August 13, 2016}} +@uref{news.html#LilyPond-2_002e19_002e48-released-September-13_002c-2016, + LilyPond 2.19.48 released - @emph{September 13, 2016}} @uref{news.html#Two-LilyPond-projects-in-Google-Summer-of-Code-2016-April-23_002c-2016, Two LilyPond projects in Google Summer of Code 2016 - @emph{April 23, 2016}} -- 2.1.4 ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Updating news headline on home page
On 09/25/2016 11:17 AM, Phil Holmes wrote: Assuming it does what you want, straight to staging. No point in messing about getting the home page right. The website will update up to 2 hours after the patch arrives in master. Ok, I've pushed the fix to staging. Thanks again Phil. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Updating news headline on home page
On 09/26/2016 03:51 AM, Phil Holmes wrote: Paul - I assume that these updates to the news system mean that different edits will be needed for each release? Could you confirm what will have to be done? Ta. Sure thing. First, add the news entry to news-front.itexi -- same as before. Second, update the news-headlines.itexi file with a headline for the new entry. For releases you can just update/edit the existing headline about the previous release. This will look like my patch from yesterday: http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=blobdiff;f=Documentation/web/news-headlines.itexi;h=97689a68080a6a8679a22bc6c33278345bc96e4e;hp=e5154c6bde1ce35158de5f7eaae3146f41a49efc;hb=36e230cf09bf2755528d2252ee256f88f330e66d;hpb=c626c7105b3ae2ece4e4e678f9b9b495e4f8ffa6 There are two tricky parts: A. The headlines file has one version of the headlines for the website which includes the anchor links, and another version for other formats that does not. So you have to make the changes in both places. B. For the website version you have to update both the headline text and the link (URL). Both are inside the @uref{...}. The URL will have some encoded characters, for example "_002e" is "." and "_002c" is "," (Spaces in the headline text become "-" in the URL.) So to update the version part of the URL from 2.19.48 to 2.19.49 looks like 2_002e19_002e48 to 2_002e19_002e49 The release date would be like August-25_002c-2016 to September-13_002c-2016 For new entries, to get the exact URL you can "make website" and then open the resulting news.html file, then copy and paste the url from the name attribute of the tag for that news entry. It should look something like this: name="Two-LilyPond-projects-in-Google-Summer-of-Code-2016-April-23_002c-2016">class="subheading">Two LilyPond projects in Google Summer of Code 2016 April 23, 2016We are happy to see two students... Probably this should go in the CG. (It would be nice to have automated headline generation... Maybe a script could be devised? It's unfortunate that the new setup adds some friction to the process of adding new entries... at least for releases it is pretty straightforward.) -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Add output-attributes grob property to replace id (issue 308430043 by paulwmor...@gmail.com)
On 09/27/2016 02:49 PM, Urs Liska wrote: We will definitely want to have an 'id property to address elements from elsewhere in a document, be it spanners or be it edition-engraver mods or similar additions. Maybe in the context of partial recompilation features IDs may become handy. So it might be an option to leave a top-level 'id property in place right now instead of possibly adding it back at a later point? Ok, since there's hesitation about removing it, I'll leave it in. We can always remove it in a follow-up patch if that is desired. I will keep the convert-ly rule that rewrites ".id" to ".output-attributes.id" to help keep the svg functionality working for existing user files. For the doc string I'll just use "An id string for the grob." I'm open to suggestions if anyone thinks it should say more, like "not currently used by LilyPond". (This brings up some thoughts I've had about supporting custom properties. I'll send another email about that.) -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Proposal: support for custom grob and context properties
Hi all, It would be nice if LilyPond supported user-defined grob and context properties, for use in users' code -- in the spirit of practical software freedom and to further LilyPond's excellent extensibility. It would also be handy for prototyping code that might end up in LilyPond. Harm recently used custom properties in his BendSpanner-engraver, and I use them in my code for alternative notation systems. Currently this requires finding and copy/pasting the relevant scheme procedures so they can be used in your own files. Namely, define-grob-property from scm/define-grob-properties.scm and translator-property-description from scm/define-context-properties.scm. Here are two possibilities for making this easier: 1. Make those two procedures "define-public" so users can just use them to define their own properties. This requires very minimal change to LilyPond code, and is convenient for users since existing functions will just work for accessing and setting their custom properties (e.g. ly:grob-property). 2. Define a "custom-properties" grob property and a "customProperties" context property (or whatever name) that each holds an alist of user properties. This adds additional properties to LilyPond and is a little more complex for the user to work with, but it provides isolation from LilyPond's properties. (For example, users would only have to worry about conflicts with other user-defined properties, not conflicts with current or future LilyPond properties.) I'm interested in implementing this one way or another. Using the same approach for grob and context properties would make sense. Thoughts? -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Proposal: support for custom grob and context properties
On 09/27/2016 09:24 PM, David Kastrup wrote: Paul writes: 1. Make those two procedures "define-public" so users can just use them to define their own properties. This requires very minimal change to LilyPond code, and is convenient for users since existing functions will just work for accessing and setting their custom properties (e.g. ly:grob-property). The problem with the current implementation is that such additions are not limited in scope and will persist beyond the currently processed file. 2. Define a "custom-properties" grob property and a "customProperties" context property (or whatever name) that each holds an alist of user properties. This adds additional properties to LilyPond and is a little more complex for the user to work with, but it provides isolation from LilyPond's properties. (For example, users would only have to worry about conflicts with other user-defined properties, not conflicts with current or future LilyPond properties.) This will not work with current code checks working with object properties. I'm interested in implementing this one way or another. Using the same approach for grob and context properties would make sense. Thoughts? First you'd need to move is-grob? and its friends from the old "object properties" interface to the new, function-calling one. That's an incompatible change. Then you'd need to use a session-local defining function for defining those properties, one that restores the startup state after each session. Here is some stone-age patch where you can see how the first step would look in Scheme (the C++ part would no longer apply since lily_module_constant has been superseded by the lily-imports.{cc,hh} files). All previous such "extensions" dabbling in internals would stop working. So would previous checks for these properties (it's conceivable to redefine the old object property accessor functions as they are not likely to be used outside of LilyPond and a bit of performance impact for legacy use would be tolerable). Thanks for the explanation and details. Looks like this is more involved than I thought... I'll take a closer look, but I suspect this may be more than I want to take on right now, or at least there are some other things more within my reach that I'd like to work on first. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Don't merge non-overlapping ledger lines (issue 308560043 by paulwmor...@gmail.com)
On 10/03/2016 06:10 AM, thomasmorle...@gmail.com wrote: I can't review C++, but I applied your patch and tested it with my code from http://lists.gnu.org/archive/html/lilypond-user/2012-07/msg00336.html (A far more extreme example than your regtest) Works nicely. So far: LGTM Now that's a good stress test! Thanks for trying it out, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Fixing "id.ly" regtest file
Hi all, I pushed my commits for issue 4974 to staging, and all went well, but then I noticed that the regtest "id.ly" was incorrect. The diff for it has: -{ \override NoteHead.id = #"foo" c } +{ \override NoteHead.output-attributes.id = #"foo" c } when this shouldn't have been changed. (Running the scripts/auxiliar/... convert-ly script made this change but I overlooked it because the header text in that file was also changed manually. So I didn't manually correct it.) To fix this, I'd propose reverting the last commit on master: http://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=03d47798d39bd9ce2a87376ea1585f1f31c1b81b and then I can re-upload an amended version of that commit that fixes the "id.ly" file. Please let me know how best to proceed. Sorry for not catching this before, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Fixing "id.ly" regtest file
Or maybe it's best if I just push a new commit (to staging) that fixes the error. I'll do that later today unless I hear otherwise. -Paul On 10/04/2016 01:57 PM, Paul wrote: Hi all, I pushed my commits for issue 4974 to staging, and all went well, but then I noticed that the regtest "id.ly" was incorrect. The diff for it has: -{ \override NoteHead.id = #"foo" c } +{ \override NoteHead.output-attributes.id = #"foo" c } when this shouldn't have been changed. (Running the scripts/auxiliar/... convert-ly script made this change but I overlooked it because the header text in that file was also changed manually. So I didn't manually correct it.) To fix this, I'd propose reverting the last commit on master: http://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=03d47798d39bd9ce2a87376ea1585f1f31c1b81b and then I can re-upload an amended version of that commit that fixes the "id.ly" file. Please let me know how best to proceed. Sorry for not catching this before, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Back to work on Issue 4752: Add ly:one-page-breaking
Hi all, I have some time to work again on ly:one-page-breaking. Ideally I'd like to land it before 2.20 is released. I've just updated the patches so they apply to current master. James (or anyone), one possible complication was different gcc versions on different machines giving different results. If you have a chance, would you mind testing the patches to see if this is the case? Assuming there are still problems can you save and post the full log? For me make still succeeds on current LilyDev (gcc 4.9.2, g++ 4.9.2, Debian 4.9.2-10). https://sourceforge.net/p/testlilyissues/issues/4752/ https://codereview.appspot.com/288910043 http://lists.gnu.org/archive/html/lilypond-devel/2016-02/msg5.html Thanks, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: PATCHES: Countdown for November 21st
I just pushed the patches for issue 4752 (Add ly:one-page-breaking) to staging. Hopefully they don't break staging this time, and if they do we can capture the logs to find out what's not working. Thanks, -Paul On 11/21/2016 07:58 AM, James wrote: Hello, Here is the current patch countdown list. The next countdown will be on November 24th. A quick synopsis of all patches currently in the review process can be found here: http://philholmes.net/lilypond/allura/ __ Push: 4752 Add ly:one-page-breaking - Paul Morris https://sourceforge.net/p/testlilyissues/issues/4752 http://codereview.appspot.com/288910043 Countdown: 5000 Add using Extract PDFmark for document building - Masamichi Hosoda https://sourceforge.net/p/testlilyissues/issues/5000 http://codereview.appspot.com/314130043 4999 Synchronize \layout and \midi definitions - David Kastrup https://sourceforge.net/p/testlilyissues/issues/4999 http://codereview.appspot.com/316910043 Review: No patches in review at this time. New: No New patches at this time. Regards James ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: PATCHES: Countdown for November 21st
Great thanks! -Paul On 11/21/2016 11:15 AM, James wrote: Paul, On 21/11/16 14:56, Paul wrote: I just pushed the patches for issue 4752 (Add ly:one-page-breaking) to staging. Hopefully they don't break staging this time, and if they do we can capture the logs to find out what's not working. Thanks, -Paul This merged just fine. Thanks James ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: guile-2.0 and debian
On 11/23/2016 06:09 PM, Thomas Morley wrote: Currently it seems I'm the only one being able to test Antonio's patches. This is not exactly optimal. [...] Having a LilyDev with guile 2.0.12/13 may help. I for one would be more likely to help with testing if there were a LilyDev with guile 2.0.12/13 Thanks Antonio, Harm, David, Federico, et al, for your work on this. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: guile-2.0 and debian
On 11/25/2016 06:13 PM, Thomas Morley wrote: - Investigate why lilypond is a lot slower when using guile-2.0 This is the current main problem, I'd say. From what I've read, the guile 2.0 interpreter is simply slower than the guile 1.8 interpreter (with the trade-off being that 2.0 has a compiler). For example, a quote from: https://wingolog.org/archives/2016/01/11/the-half-strap-self-hosting-and-guile -begin-quote Back in 2009 when we switched to the eval-in-Scheme, we knew that it would result in a slower interpreter. This is because instead of the interpreter being compiled to native code, it was compiled to bytecode. Also, Guile's Scheme compiler wasn't as good then, so we knew that we were leaving optimizations on the floor. Still, the switch to an evaluator in Scheme enabled integration of the compiler, and we thought that the interpreter speed would improve with time. I just took a look and with this silly loop: (let lp ((n 0)) (if (< n #e1e7) (lp (1+ n Guile 1.8's interpreter written in C manages to run this in 1.1 seconds. Guile 2.0's interpreter written in Scheme and compiled to the old virtual machine does it in 16.4 seconds. Guile 2.1.1's interpreter, with the closure-chaining optimization, a couple of peephole optimizations in the interpreter, and compiled using the better compiler and VM from Guile 2.2, manages to finish in 2.4 seconds. So we are definitely getting better, and by the time we compile eval.scm to native code I have no doubt that we will be as good as the old C implementation. (Of course, when compiled to Guile 2.2's VM, the loop finishes in 55 /milli/seconds, but comparing a compiler and an interpreter is no fair.) --end-quote So I assume (as a non-authority in this area) that the best way to address the slowdown is to start using guile 2.0's compiler to compile LilyPond's scheme code. And I suppose taking that step would make sense after the known bugs are fixed and things work using the interpreter, but are just slower. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Stepping up, contributor mentoring
Hi Graham, Glad to hear you're back! Cheers, -Paul On 11/29/2016 06:11 PM, Graham Percival wrote: Hi all, I'm back. So, are there any vacancies on the Bug Squad? I've signed up for sourceforge (username: gperciva). Other than that, my primary interest remains in organization / mentoring new contributors. Has anything changed in regards to that in the past four years? Or shall I jump straight in? I see that "Contributor 1.4 Mentors" hasn't changed. Anything else I should know? I've skimmed the past month of this mailing list. (I was planning on waiting until the new year, but David's news made me re-evaluate my health now, and I think I have the energy to take on more stuff. To make a long story short: depression, burnout, quit academia, moved back to Vancouver, recovery. Also, started ballroom and swing dancing! Great fun, absolutely recommended, *especially* for other shy, socially anxious computer geeks. Despite that help, I'm still not 100% recovered, but I'm content with my progress, and I think that doing more volunteer work will help.) Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Landing MusicXML export summer of code work into LilyPond?
Hello Davids Kastrup and Garfinkle, Since we will soon be losing David K. to more lucrative pursuits, I thought I'd ask about the status of David G.'s summer of code work on MusicXML export. I'd love to see that land in LilyPond (at least the part to generate an SXML file which could be manually post-processed to MusicXML with Guile 2 until LilyPond makes the transition to Guile 2). What needs to be done and can I help with making it happen? (Not just theoretical interest, as one of my bandmates uses MuseScore and would like MusicXML versions of my LilyPond files.) Cheers and thanks, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
website: texinfo macros for both ID and classes
For the website I'm thinking about adding a macro that can create a div with both an ID and classes. This would be good to have in general and more intuitive for those used to html. For example: @macro div {ID, CLASSES} @html @end html @end macro Used like so: @div {an-id,first-class second-class} Currently we have divId and divClass that could be replaced by such a macro. @div {an-id} --> @div {,first-class second-class} --> Unfortunately there seems to be no conditionals in texinfo macros so I don't see a way to avoid the empty id="" and class="" in that scenario. To avoid that we would have to keep divId and divClass and add divIdClass.[0] But I think having one macro for divs would be simpler and easier for contributors, which might be the best variable to optimize for. If we did this for divs it would make sense to do the same for spans and our current spanClass. Thoughts? [0] Maybe pluralize divIdClasses and divClasses to make it clear that you can have more than one. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: website: texinfo macros for both ID and classes
On 12/05/2016 12:35 PM, Graham Percival wrote: On Mon, Dec 05, 2016 at 11:49:27AM -0500, Paul wrote: For the website I'm thinking about adding a macro that can create a div with both an ID and classes. Why? What problem would this solve? That there's no way to create a div that has both an Id *and* one or more classes. Currently you'd have to create two nested divs one with a class and one with an id (ugh). This would be good to have in general and more intuitive for those used to html. I'm not convinced. As someone who knew html and went through the process of figuring out how to contribute to the LilyPond website, I would have found it more intuitive and useful to have. There was a point where a div with both Id and class was needed and there was no way to do it even though this is the most basic and common thing in html. I'm just trying to smooth out a point of friction that I encountered, but sure, there are probably other priorities. Before changing the underlying texinfo macros, much less the build system or language used (which is not what Paul is suggesting, but I know that those ideas are out there), I'd like to see somebody make an honest effort at working on the CSS. Well, I have already been doing that and plan to continue to work on the website as my time allows. In particular, to make the website look acceptable on small screens. This would take 2-5 hours, depending on how familiar that person is with CSS and web browser testing. I don't think that's too much to ask. If nobody is prepared to even do that much, then we certainly don't want them to spend time and effort on larger redesigns that may never be completed. I'm available to mentor this task. I can't take this on at the moment given my other constraints and commitments. (I suspect it would take more than 2-5 hours and might involve more than changing the CSS, but maybe I'm overestimating it.) Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Lilypond python upgrade
On 12/07/2016 08:28 PM, Andrew Bernard wrote: Moving a thread across from the user list, I just wanted to let people know that I will be starting on the work of upgrading lilypond to use Python 3 - yes, with all the complexity that entails. I am happy to have a serious shot at this task. Just voicing my support and appreciation for taking this on! Seems like auspicious timing now that Graham is available with his knowledge of GUB etc. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: website: texinfo macros for both ID and classes
On 12/11/2016 01:32 AM, Graham Percival wrote: I'm still not convinced that a div with ID and class is actually needed. Can you remember the specific example? Well... I can't remember it at this point. Basically a case where there were a number of items that each shared a style (via a class) but needing to style one of them differently (via id). (I guess currently you could just use an additional class, as if it were an id, as a workaround.) I'm just trying to smooth out a point of friction that I encountered, but sure, there are probably other priorities. Right, and that's a great move! I'm just not convinced of the details in this case. Okay. Although I would support making these kinds of changes, to make working with texinfo for the website more like working with HTML, to make things easier for new contributors, it's not that important. We could always revisit it if/when the need arises from an actual case of working on the website. I don't want this to be advertized on lilypond-user yet since it's still too soon after the latest website fracas, but I've prepared a repository so that people can easily experiment with CSS. It has the normal index.html, the pictures used by that file, and the original CSS. Anybody interested is encouraged to copy the "orig" directory into a new one, then edit the new CSS as much as they want. https://github.com/gperciva/lilypond-web-css You can see the results here: http://percival-music.ca/lilypond-web-css/orig/ http://percival-music.ca/lilypond-web-css/simple/ (yes, I ran out of patience when I got to the point of choosing a color for the "Beautiful Sheet Music" header) Over the next few days / weeks, I'll continue to edit the "simple" CSS, and maybe make one or two other examples. None of this is intended to be merged with lilypond; I just want to demonstrate how easy it is to make huge changes with only the CSS. This way, the next time somebody expresses interest in the website, they'll have a much clearer idea of what's involved and what the limitations are. I think this is a good idea. Some (most?) may be thwarted by the overhead of setting up the LilyPond build environment, so this gives them a simpler way to go. If/when this gets used it might be nice to add other pages besides just the home page. (I still have a little bit of follow-up to do on the work I did on the home page last fall. I hope to get to that sooner than later.) Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: music function to be included somewhere in scm/*
Hi Knut and everyone, Great to see your work which seems like a nice improvement. I just have some thoughts on the implementation / use of properties. We are just talking about grob properties and not context properties right? In that case no need to also create context properties as you do in your patch, since the grob properties are sufficient. What about a way to do this with fewer than 3 separate grob properties? LyricExtender.minimum-length LyricExtender.no-extender LyricExtender.force-extender If I understand correctly, only 1 of 3 kinds of behavior can be in effect at a given point: 1. no extensions 2. forced extensions 3. automatically added extension depending on a 'minimum-length' number So why not one grob property (name to be determined) that can be a boolean or a number: LyricExtender.extenders = ##f % no extensions LyricExtender.extenders = ##t % forced extensions LyricExtender.extenders = 2% a number, auto extensions For example, it could be set to a number and then use \once to set it to ##t to force (or ##f to suppress) a given extender. Another possibility (2 properties) might be: LyricExtender.stencil = ##f% no extensions LyricExtender.force-extender = ##t % forced extensions LyricExtender.minimum-length = 2% auto extensions (if force-extender is not ##t and stencil is not ##f) Am I missing something? What do you think? Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: music function to be included somewhere in scm/*
Hi Knut, Werner, Alexander, and everyone, On 12/20/2016 08:47 AM, Knut Petersen wrote: Hi Werner! (length-limit-or-forced-length ,ly:dimension? "An automatically generated lyric extender is suppressed if it would be shorter than this length. A forced lyric extender is given this length if possible.") Sorry, but I strongly dislike collapsing two properties into one, even if the values for the two properties are always the same. So please use `collapse-length' (`suppress-threshold', etc.) and `forced-length'. I'll implement whatever the majority agrees upon. Nevertheless: two parameters would obfuscate the fact that the internal logic would always decide to use only one of those lengths and to ignore the other. For the case of two parameters I like best: (forced-length ,ly:dimension? "A forced lyric extender is given this length if possible.") (collapse-length ,ly:dimension? "An automatically generated lyric extender is suppressed if it would be shorter than this length.") Paul? I'm fine with using two properties, as Werner prefers, and as in this suggestion from Knut. When I suggested using fewer properties I didn't fully understand all the details. (The music I typeset rarely involves lyric extenders.) Alexander's explanation and further discussions have helped me get it, but I hadn't had a chance to reply sooner. Thanks again for working on this, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDev 5.0 released
Hi Federico, Thanks and congrats on the new release! I gave it a try. Installation seemed to go fine, but then on booting it up I get past the GRUB screen and then it goes to a black unresponsive screen at "loading initial ramdisk..." Haven't had a chance to troubleshoot it further. I'm attaching the log file in case anyone wants to take a look. (I'm on Ubuntu 16.04 and Virtual Box version 5.0.24_Ubuntu r108355) (I'm using LilyDev on Ubuntu because I'm new to GNU/Linux and already familiar with LilyDev.) Cheers, -Paul VirtualBox VM 5.0.24_Ubuntu r108355 linux.amd64 (Jul 5 2016 08:17:21) release log 00:00:00.255348 Log opened 2016-12-22T17:42:07.876411000Z 00:00:00.255350 Build Type: release 00:00:00.255352 OS Product: Linux 00:00:00.255353 OS Release: 4.4.0-57-generic 00:00:00.255354 OS Version: #78-Ubuntu SMP Fri Dec 9 23:50:32 UTC 2016 00:00:00.255369 DMI Product Name: 20AQ005QUS 00:00:00.255373 DMI Product Version: ThinkPad T440s 00:00:00.255405 Host RAM: 7673MB total, 4419MB available 00:00:00.255408 Executable: /usr/lib/virtualbox/VirtualBox 00:00:00.255408 Process ID: 4534 00:00:00.255409 Package type: LINUX_64BITS_GENERIC (OSE) 00:00:00.259714 Installed Extension Packs: 00:00:00.259731 VNC (Version: 5.0.24 r108355; VRDE Module: VBoxVNC) 00:00:00.260408 Console: Machine state changed to 'Starting' 00:00:00.264780 GUI: UIMediumEnumerator: Medium-enumeration finished! 00:00:00.265173 Using XKB for keycode to scan code conversion 00:00:00.267600 SUP: Loaded VMMR0.r0 (/usr/lib/virtualbox/VMMR0.r0) at 0xc0b06020 - ModuleInit at c0b26d70 and ModuleTerm at c0b27260 00:00:00.267630 SUP: VMMR0EntryEx located at c0b2a940 and VMMR0EntryFast at c0b29fb0 00:00:00.295495 Guest OS type: 'Debian' 00:00:00.339378 File system of '/home/paul/VirtualBox VMs/LilyDev5Box/Snapshots' (snapshots) is unknown 00:00:00.339391 File system of '/home/paul/VirtualBox VMs/LilyDev5Box/LilyDev5Box.vdi' is ext4 00:00:00.355544 Shared clipboard service loaded 00:00:00.33 Shared clipboard mode: Off 00:00:00.356381 Drag and drop service loaded 00:00:00.356390 Drag and drop mode: Off 00:00:00.358443 Guest Control service loaded 00:00:00.359993 * CFGM dump * 00:00:00.360001 [/] (level 0) 00:00:00.360017 CSAMEnabled= 0x0001 (1) 00:00:00.360023 CpuExecutionCap= 0x0064 (100) 00:00:00.360025 EnablePAE = 0x0001 (1) 00:00:00.360027 HMEnabled = 0x0001 (1) 00:00:00.360029 MemBalloonSize = 0x (0) 00:00:00.360030 Name= "LilyDev5Box" (cb=12) 00:00:00.360033 NumCPUs= 0x0001 (1) 00:00:00.360034 PATMEnabled= 0x0001 (1) 00:00:00.360036 PageFusionAllowed = 0x (0) 00:00:00.360038 RamHoleSize= 0x2000 (536 870 912, 512 MB) 00:00:00.360040 RamSize= 0xbdb0 (3 182 428 160, 2 GB) 00:00:00.360043 RawR0Enabled = 0x0001 (1) 00:00:00.360044 RawR3Enabled = 0x0001 (1) 00:00:00.360046 TimerMillies = 0x000a (10) 00:00:00.360048 UUID = "de 48 55 bd 25 37 cf 4a b4 15 ca 1f 6f 40 c8 6f" (cb=16) 00:00:00.360054 00:00:00.360057 [/CPUM/] (level 1) 00:00:00.360060 PortableCpuIdLevel = 0x (0) 00:00:00.360061 00:00:00.360066 [/DBGF/] (level 1) 00:00:00.360068 Path = "/home/paul/VirtualBox VMs/LilyDev5Box/debug/;/home/paul/VirtualBox VMs/LilyDev5Box/;/home/paul/" (cb=96) 00:00:00.360070 00:00:00.360070 [/Devices/] (level 1) 00:00:00.360072 00:00:00.360072 [/Devices/8237A/] (level 2) 00:00:00.360074 00:00:00.360075 [/Devices/8237A/0/] (level 3) 00:00:00.360077 Trusted = 0x0001 (1) 00:00:00.360078 00:00:00.360079 [/Devices/GIMDev/] (level 2) 00:00:00.360080 00:00:00.360081 [/Devices/GIMDev/0/] (level 3) 00:00:00.360083 Trusted = 0x0001 (1) 00:00:00.360084 00:00:00.360085 [/Devices/VMMDev/] (level 2) 00:00:00.360086 00:00:00.360087 [/Devices/VMMDev/0/] (level 3) 00:00:00.360089 PCIBusNo = 0x (0) 00:00:00.360090 PCIDeviceNo= 0x0004 (4) 00:00:00.360091 PCIFunctionNo = 0x (0) 00:00:00.360093 Trusted= 0x0001 (1) 00:00:00.360094 00:00:00.360095 [/Devices/VMMDev/0/Config/] (level 4) 00:00:00.360097 GuestCoreDumpDir = "/home/paul/VirtualBox VMs/LilyDev5Box/Snapshots" (cb=48) 00:00:00.360098 RamSize = 0xbdb0 (3 182 428 160, 2 GB) 00:00:00.360100 00:00:00.360101 [/Devices/VMMDev/0/LUN#0/] (level 4) 00:00:00.360103 Driver = "HGCM" (cb=5) 00:00:00.360104 00:00:00.360105 [/Devices/VMMDev/0/LUN#0/Config/] (level 5) 00:00:00.360107 Object = 0x7fbb6c000910 (140 442
Re: LilyDev 5.0 released
On 12/22/2016 01:37 PM, James wrote: I also tried to install LilyDev 5.0 last week - I use Ubuntu 16.0.4 with the latest 64 bit vBox 5.1.x test build (112223 w Ext pack 112433). Hi James, Thanks for the info and tips. I may try your approach with a newer version of Virtual Box when I get a chance. Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDev 5.0 released
On 12/23/2016 12:00 AM, Federico Bruni wrote: Il giorno gio 22 dic 2016 alle 18:48, Paul ha scritto: I gave it a try. Installation seemed to go fine, but then on booting it up I get past the GRUB screen and then it goes to a black unresponsive screen at "loading initial ramdisk..." Haven't had a chance to troubleshoot it further. I'm attaching the log file in case anyone wants to take a look. (I'm on Ubuntu 16.04 and Virtual Box version 5.0.24_Ubuntu r108355) (I'm using LilyDev on Ubuntu because I'm new to GNU/Linux and already familiar with LilyDev.) Hi Paul In the log I see this line: 00:00:00.447635 PAE - Physical Address Extension = 0 (0) which makes me think that you've not enabled PAE? There's a warning in the CG about this: Hi Federico, I double-checked and I do/did have the box checked to enable PAE. I tried un-checking it and Virtual Box complained about it right away upon starting up the VM. So when I get a chance I may try James' approach of using a newer version of Virtual Box, or else your approach with libvirt. (No time at the moment though...) Thanks, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: ly2musicxml / possible sponsoring
Hello Christoph, On 01/16/2017 04:24 AM, Christoph Hagemann wrote: I'm a music professional in Germany. A few years ago I set a large- scale orchestral project in lilypond (score around 200 pages). Now the publisher wants MusicXML data. I understand there was some work done on an export function during last year's GSoC. Is there any chance for completion? If it helps, I'm willing to put an resonable amount of money into this and fund the completion of this feature. I'd probably be interested in working on this, especially if you are willing and able to sponsor the work to some extent. (Maybe others would also be willing to contribute?) This was a GSOC 2015 project, and I have a copy of the code. Looking at it again, it seems that it should at least be possible to get it to where it could be used. As is, it should cover some of the needs you listed[0], and perhaps more could be added. (Now that guile2 support has reached a somewhat-usable state, that will help since guile2 is required for the musicxml conversion.) We should discuss details and expectations, as I wouldn't want to over-promise and under-deliver. I'm curious about your time frame. Are there deadlines? Kind regards, -Paul Morris [0] The README file says: "Currently limited to single-voice SequentialMusic contexts of notes, chords, articulations (not all are supported, such as early-music or instrument-specific examples), key signatures, time signatures, and clefs" ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDev 5.0 released
On 01/03/2017 03:42 PM, Federico Bruni wrote: Il giorno ven 23 dic 2016 alle 17:26, Paul ha scritto: Hi Federico, I double-checked and I do/did have the box checked to enable PAE. I tried un-checking it and Virtual Box complained about it right away upon starting up the VM. So when I get a chance I may try James' approach of using a newer version of Virtual Box, or else your approach with libvirt. (No time at the moment though...) Today I've installed Virtual Box 5.1.10 on Fedora from rpmfusion. When I started the machine the first time I got an error about the kernel and I followed VB advice to run two commands as root user: akmods systemctl restart systemd-modules-load.service Then it worked fine. But Ubuntu doesn't use systemd, right? Hi all, Following James' instructions I've upgraded to VirtualBox 5.1.13 r112787 (Qt5.6.1) And I tried creating and installing a new VM with LilyDev5 but I get the same problem. (Black screen after the 'loading initial ramdisk...') I also tried the commands Federico mentioned, but they did not help. (akmods seems to be a fedora thing, not found on ubuntu, and the other command worked, but did not change anything.) I tried opening in 'recovery mode' and got this far on the screen before it froze up: rtc_cmos rtc_cmos: setting system clock to [...] UTC Freeing unused kernel memory: 740K Write protecting the kernel text: 5744k Write protecting the kernel read-only data: 1704k Loading, please wait... In the Virtualbox log files it always gets to the same place shown below. I'm at a loss on what to try next. Any ideas? Thanks in advance for any pointers or suggestions. -Paul [omitting earlier parts...] 00:00:23.677316 GIM: KVM: VCPU 0: Enabled system-time struct. at 0x379fd000 - u32TscScale=0xcd47be37 i8TscShift=-1 uVersion=2 fFlags=0x1 uTsc=0x0 uVirtNanoTS=0x0 00:00:23.677344 TM: Host/VM is not suitable for using TSC mode 'RealTscOffset', request to change TSC mode ignored 00:00:23.922374 GIM: KVM: Enabled wall-clock struct. at 0x1a8c1108 - u32Sec=1484682583 u32Nano=222082000 uVersion=2 00:00:24.056792 PIT: mode=2 count=0x12a5 (4773) - 249.98 Hz (ch=0) 00:00:24.242835 PATM: Disabling IDT 80 patch handler da599460 00:00:24.243921 PATM: Disabling IDT fd patch handler da599bb8 00:00:24.244665 PATM: Disabling IDT fc patch handler da599c30 00:00:24.245348 PATM: Disabling IDT fb patch handler da599ca8 00:00:24.246134 PATM: Disabling IDT 20 patch handler da599d20 00:00:24.246496 PATM: Disabling IDT f8 patch handler da599d58 00:00:24.246850 PATM: Disabling IDT f7 patch handler da599d94 00:00:24.247536 PATM: Disabling IDT f2 patch handler da599e0c 00:00:24.247907 PATM: Disabling IDT f1 patch handler da599e48 00:00:24.248251 PATM: Disabling IDT ef patch handler da599e84 00:00:24.248799 PATM: Disabling IDT fe patch handler da599efc 00:00:24.249499 PATM: Disabling IDT f0 patch handler da599f74 00:00:24.250016 PATM: Disabling IDT f6 patch handler da599fec 00:00:24.250329 PATM: Disabling IDT fa patch handler da59a064 00:00:24.250424 PATM: Disabling IDT f9 patch handler da59a0dc 00:00:24.250526 PATM: Disabling IDT f4 patch handler da59a154 00:00:24.250625 PATM: Disabling IDT 10 patch handler da59a1cc 00:00:24.250678 PATM: Disabling IDT 13 patch handler da59a1dc 00:00:24.250724 PATM: Disabling IDT 7 patch handler da59a1ec 00:00:24.250771 PATM: Disabling IDT 4 patch handler da59a200 00:00:24.250815 PATM: Disabling IDT 5 patch handler da59a210 00:00:24.250861 PATM: Disabling IDT 6 patch handler da59a220 00:00:24.250904 PATM: Disabling IDT 9 patch handler da59a230 00:00:24.250944 PATM: Disabling IDT a patch handler da59a240 00:00:24.250984 PATM: Disabling IDT b patch handler da59a250 00:00:24.251025 PATM: Disabling IDT c patch handler da59a260 00:00:24.251063 PATM: Disabling IDT 11 patch handler da59a270 00:00:24.251097 PATM: Disabling IDT 0 patch handler da59a280 00:00:24.251133 PATM: Disabling IDT 12 patch handler da59a290 00:00:24.251166 PATM: Disabling IDT f patch handler da59a2a0 00:00:24.251250 PATM: Disabling IDT e patch handler da59a48c 00:00:24.251287 PATM: Disabling IDT 1 patch handler da59a500 00:00:24.251319 PATM: Disabling IDT 2 patch handler da59a564 00:00:24.251353 PATM: Disabling IDT 3 patch handler da59a640 00:00:24.832869 PATM: Disabling IDT 30 patch handler da599578 00:00:24.937255 PIT: mode=0 count=0x1 (65536) - 18.20 Hz (ch=0) 00:00:25.247422 OHCI: Software reset 00:00:26.403126 PATM: Disabling IDT 3c patch handler da5995d8 00:00:26.411515 PATM: Disabling IDT 31 patch handler da599580 00:00:26.508906 PATM: Disabling IDT 14 patch handler da7ed120 00:00:26.508952 PATM: Disabling IDT 15 patch handler da7ed129 00:00:26.508972 PATM: Disabling IDT 16 patch handler da7ed132 00:00:26.508989 PATM: Disabling IDT 17 patch handler da7ed13b 00:00:26.509006 PATM: Disabling IDT 18 patch handler da7ed144 00:00:26
Re: LilyDev 5.0 released
Hi Federico, Thanks for the ideas: On 01/18/2017 12:36 AM, Federico Bruni wrote: Some ideas to help isolate the problem: - have you checked the integrity of LilyDev .iso file with md5sum? Yes, it's ok. - have you started the installation from scratch (i.e. not copied the .vdi file created with previous version of VirtualBox)? Yes, same result. - have you tried installing another Linux image on the same version of Virtualbox? My LilyDev4 VM is working fine (I haven't tried re-installing it from scratch). - please try also installing LilyDev with virt-manager: https://virt-manager.org/ I gave that a try but did not get far. Seems to be a dependency or permissions issue I couldn't figure out. Error messages below. I hope to make a new release of LilyDev this week. I'd be interested to know if making LilyDev work for you requires some change to LilyDev itself (I don't think so, but let's see..). I tried installing LilyDev5 on my old mac laptop. It installs fine, and I can boot into LXQT, entering my password, but then there seems to be some problem with the mouse/keyboard integration as I can't get it to respond to clicks or key presses after I have logged in. -Paul virt-manager logs: A. When installing virt-manager and dependencies via synaptic package manager: W: Can't drop privileges for downloading as file '/root/.synaptic/tmp//tmp_sh' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) B. When using virt-manager: Unable to connect to libvirt. Verify that: - The 'libvirt-bin' package is installed - The 'libvirtd' daemon has been started Libvirt URI is: lxc:/// Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/connection.py", line 903, in _do_open self._backend.open(self._do_creds_password) File "/usr/share/virt-manager/virtinst/connection.py", line 148, in open open_flags) File "/usr/lib/python2.7/dist-packages/libvirt.py", line 105, in openAuth if ret is None:raise libvirtError('virConnectOpenAuth() failed') libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied Unable to connect to libvirt. Verify that: - The 'libvirt-bin' package is installed - The 'libvirtd' daemon has been started - You are member of the 'libvirtd' group Libvirt URI is: qemu:///system Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/connection.py", line 903, in _do_open self._backend.open(self._do_creds_password) File "/usr/share/virt-manager/virtinst/connection.py", line 148, in open open_flags) File "/usr/lib/python2.7/dist-packages/libvirt.py", line 105, in openAuth if ret is None:raise libvirtError('virConnectOpenAuth() failed') libvirtError: Failed to connect socket to '/var/run/libvirt/libvirt-sock': Permission denied ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDev 5.0 released
Hi Federico, On 01/19/2017 06:35 AM, Federico Bruni wrote: If you have some time, can you try installing another Debian testing iso? Choose the netinst ISO for your architecture here: https://www.debian.org/devel/debian-installer/ This would help to understand if the problem is in LilyDev or in Debian. I guess it's the latter. Probably some hardware/kernel problem. I'm just guessing, I never experienced these problems. Well, this is probably good and bad news, but I tried the netinst Debian testing iso (i386 with LXDE) and it's working fine. (Oddly enough it works both with and without PAE/NX enabled.) Maybe I'll use this as an opportunity to try setting up all the dev dependencies from scratch? I tried installing LilyDev5 on my old mac laptop. It installs fine, and I can boot into LXQT, entering my password, but then there seems to be some problem with the mouse/keyboard integration as I can't get it to respond to clicks or key presses after I have logged in. This is a problem of Virtual Box. I'm afraid that you should ask for help on Virtual Box forums. I installed it on this old laptop just to see if it would work, but it is too old and slow to be of any real use. virt-manager logs: A. When installing virt-manager and dependencies via synaptic package manager: W: Can't drop privileges for downloading as file '/root/.synaptic/tmp//tmp_sh' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) https://bugs.launchpad.net/ubuntu/+source/aptitude/+bug/1543280 Ah, thanks. Unable to connect to libvirt. Verify that: - The 'libvirt-bin' package is installed $ aptitude show libvirt-bin Synaptic package manager shows that it's installed. (I tried that command but I don't have aptitude installed.) - The 'libvirtd' daemon has been started $ systemctl status libvirtd Looks like I did manage to get this started, as confirmed by this command. - You are member of the 'libvirtd' group $ groups Looks like there is no libvirtd group. So that's probably it. Have you verified these points? IIRC you are quite new to Linux and use Ubuntu in your host machine, right? Which version? Yes, still pretty new at it. Ubuntu 16.04 is my host machine. Read this guide: https://help.ubuntu.com/lts/serverguide/libvirt.html In later versions of libvirt the correct group is libvirt (instead of libvirtd). That's the case for Fedora25, libvirt version 2.2.0. Thanks for the tips and all your work on LilyDev! At this point I may just stick with VirtualBox rather than try to get up to speed with libvirt (assuming things go well with this new debian vm). Thanks again, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDev 5.0 released
On 01/19/2017 08:16 PM, Paul wrote: Well, this is probably good and bad news, but I tried the netinst Debian testing iso (i386 with LXDE) and it's working fine. (Oddly enough it works both with and without PAE/NX enabled.) I spoke too soon. Although it worked at first, I'm now having the same problem with the vanilla debian VM that I have with LilyDev5... sigh... -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: ly2musicxml / possible sponsoring
Hello Christoph, On 01/27/2017 08:14 AM, Christoph Hagemann wrote: thanks for your interest. Please excuse my delayed reply, busy with real life... No worries, same here on my side... Jan-Peter Voigt and Urs Liska replied off-list. They recommended enhancing frescobaldi's export (python-ly). Which way is more apt? I'd say in the long run, and maybe even in the shorter run, the LilyPond/Scheme approach is more promising. As I understand it python-ly works on LilyPond's text input format so you're basically rewriting a chunk of LilyPond to process that into the musical data "itself". Whereas the LilyPond/Scheme approach starts from LilyPond having already created that data from the input format. (Not sure what Urs has in mind with combining the two approaches.) Also, as I understand it the GSOC project got to a state that was starting to be useful. I believe it was in basic working order for non-polyphonic music, the big challenge facing it was how to handle polyphony / simultaneous music. And I understand your piece is not polyphonic, right? So that improves the prospects for a useful outcome. I'm cc'ing David Garfinkle, as it was his project. David, it would be great to hear your input on the state of things. One question is the release of LilyPond 2.20 and the level of guile2 support. (There are significant performance slow-downs with guile2 and some other issues...) If guile2 works well enough, albeit as a slower, likely optional thing, then that paves the way for musicxml output. There is no fixed deadline, but can't hold the publisher on standby forever. As a guideline: I'd like the export to be working within six month' time. Ok, good to know. I think that's at least within the realm of possibility, and worth further discussion. Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Cleaning up GSoC project ideas
On 02/02/2017 04:10 PM, Urs Liska wrote: However, I suggest that we either remove such orphaned projects or at least compress and move them down to the bottom of the page. A concise page with actual and current projects is quite important for attracting students, I think. Sorry for the delay responding... I'd rather not lose them from the website entirely just because they don't currently have a mentor (as long as we think they are viable student projects). What if next year new/old mentors are available? But since you think it's important to remove or demote those projects... Why don't we move them to the "attic" page. Then next year we can easily look at them again to see if mentors are available and we want to promote them back up to the GSOC page? Might also be worth putting the grace note one there with a note that we decided it was too much for a GSOC project. Otherwise people may re-propose it in the future. The question is what will remain, and I *strongly* encourage all of you to consider the existing list and/or think about projects that could be suitable for a student to tackle in three months of full-time work, and where you could consider volunteering to be listed as a mentor. I haven't been able to think of any new projects. I'd consider being a mentor for something involving scheme, but I haven't had a chance to look at the list or think further about it. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Lily version operators documentation
On 02/15/2017 07:19 AM, Urs Liska wrote: Yes, these are the functions created by LY_DEFINE in C++ files. If I recall correctly there was discussion about auto-documenting "real" Scheme functions too, but I don't know where this went ... David Nalesnik wrote a script for this. http://lists.gnu.org/archive/html/lilypond-user/2015-04/msg00134.html -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Add lilypond version predicates/operators (issue 317270043 by g...@ursliska.de)
On 02/14/2017 10:48 AM, d...@gnu.org wrote: It's not a "version-compare" as much as a "lexicographic-compare". Indeed, even better, more multi-purpose. (Now I'm imagining version schemes like Ubuntu's animal names, but nested... Werewolf.Yak.Groundhog) -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Web: nest GSOC project ideas under subsection/h3 (issue 314530043 by paulwmor...@gmail.com)
On 02/22/2017 02:32 PM, Urs Liska wrote: Am 22.02.2017 um 20:04 schrieb gra...@percival-music.ca: Sorry, I disagree. I think the boxes make it easier to skim the page; there horizontal gap makes it absolutely clear that each proposal is distinct. Myself, I don't find the skimmability or distinctness to be all that different. I think the point in Paul's suggestion is to make a clear separation between the project ideas and the last box with general information. Yep. Also I'd like to move what used to be the contents of the 'old news' to the attic page so that the news page doesn't have to load all of the news. (What with it being just one click from the home page. That's a task left over from working on the home page last fall.) So on the attic page as well it would be nice to be able to clearly group the GSOC entries somehow (and maybe the news entries too for that matter?). But I did forgot to check other uses of / @subsubheading on the site. I just searched the source code to see which pages have / @subsubheading, but the texinfo files contain more than one webpage each so that didn't really help. With HTML it would be easy to create a separate style to use for these kinds of subheadings (). But I don't think there's currently a way to assign a class to a @subsubheading. Anyway, in general it would be nice to have a way to do nested headings/sections for cases like this. I'm out of fresh ideas for how to do this, other than the way I did it. Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Web: nest GSOC project ideas under subsection/h3 (issue 314530043 by paulwmor...@gmail.com)
On 02/22/2017 02:07 PM, gra...@percival-music.ca wrote: On that note, I wrote a tool for my job that does regression testing for a website (very similar to our lilypond regression tests). I'll try to polish it and get my boss to OK open-sourcing it in the next few days. This will help future CSS development by giving us confidence that there's no unintended changes. Nice! That sounds great. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Website upload
On 03/07/2017 05:47 AM, Davide Liessi wrote: Maybe an HTTP permanent redirect (308) should be added instead of a symlink, see https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection +1 Best policy would be whenever a page changes its file name we should create a permanent redirect to the new page/file/name. Search engines can then follow these redirects and transfer their ranking data for the old page to the new page. (The old GSOC page is likely still at the top of the search results because there are links to it out on the web and the search engines use those to rank that page relative to others.) Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: checking grob type
cc'ing lilypond-devel to move discussion there. On 03/17/2017 09:38 AM, David Nalesnik wrote: You can get more info about public functions with the attached file. I was planning on getting documentation into the manuals somehow, but I got hung up with getting the parameters of curried functions. Hi David, Thanks for your work on this. Is there an easy way to just omit any curried functions in a first-pass at this? (I wonder what percentage are curried?) Also, of course, publicizing a number of these probably won't do anybody a bit of good. Maybe we could just have a list of functions to document publicly (or to not document)? In lieu of actual documentation, I could add a Scheme function? Seems like actual docs would be better in the long run, but I guess it depends on how much they would take to implement. Thanks again, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
LilyDev4 and Guile2.2 ?
Hi all, Having been unsuccessful at getting LilyDev5 running on my laptop using VirtualBox, I'm wondering how it would work to create a virtual machine with LilyDev4 (which is working for me) and then uninstalling guile1.8 and installing guile2.2. Is this a fool's errand? I'm new to this dependency hell business, would be a good induction, maybe too good? Thanks for any advice, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDev4 and Guile2.2 ?
Thanks Federico. I'm debating whether to learn libvirt or take the LilyDev4 upgrade to Debian9 / Guile2.2 path... When looking at this before I tried "Virtual Machine Manager" https://virt-manager.org/ but it didn't work for me (can't remember why now, I didn't go too far into it...). So maybe I should just learn to use libvirt directly. On the one hand VirtualBox is the path of least resistance and would minimize time spent on tooling (at least in short run). On the other hand since you use libvirt, switching to that is probably better over the long-term. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: LilyDev4 and Guile2.2 ?
On 04/13/2017 02:23 PM, Thomas Morley wrote: Hi Paul, meanwhile I do most on my host, not in the VB. I compiled guile-1.8 and guile-2.0.14 from the released tarball and 2.2.0 from the guile-repository. Once compiled it's pretty unexpensive to do 'make install' on the guile-version you wish. Also, I have three times the lilypond-repository, each compiled with a different guile-version. So I can check quickly whatever I need with different versions of lilypond/guile. Probably not the way for you, but very convenient in my eyes. Hi Harm, Thanks for the info. I thought there were problems with having guile1 and guile2.x installed at the same time? Or is that just if you're relying on package managers? I cloned my working LilyDev4 virtual machine and upgraded it to debian9. The upgrade went fine, but trying to boot into it... same black screen forever after grub screen and 'loading initial ramdisk'... But, using the advanced options on the grub screen I can select Linux 3.16... (instead of 4.9.0...) and it successfully boots. So that's progress. :-) Next step is to install guile2.2 Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Help with building LilyPond
Welcome Charles! On 05/14/2017 03:02 PM, Thomas Morley wrote: Wait, you wrote about using LilyDev. Did you take LilyDev 5.2? This one is for the guile2-work. Choose LilyDev 4.1 from https://github.com/fedelibre/LilyDev/releases/tag/v4.1 and all should be fine. This must be the trouble. Looks like the contributor's guide needs to be updated to point to both LilyDev5 and LilyDev4 and explain why to use one or the other. Currently it just points to the latest (LilyDev5). Charles, once you get your dev environment set up, updating the contributor's guide would make a good "first bug" if you'd like to get familiar with the process. (Changes to the docs and website work the same way as patches to the source code.) Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Calling in for sickness
Hi David, I'm really sorry to hear your news and I hope your health improves. All my best, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Directory name of aux is invalid
dem...@suffolk.lib.ny.us wrote: On Tue, Jan 6, 2009, Trevor Daniels said: The names are case-insensitive, and they cannot be used as directory names or the first part of a filename (the bit before the dot). please note, in DOS (and many of its contemporary file systems), what users think of as the filename is not actually a ten character field but in fact two seperate entitys, the name (6 characters), and a 3 character extension. It's actually (at least in DOS) an 8 character name and a 3 character extension and I'm not sure I can agree about the two separate entities part. Paul Scott ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
CSS style for
I haven't complimented our fantastic documentation lately. It is truely amazing!! Is it true for anyone else that the effective font for all the HTML enclosed in tags is somewhat smaller which in not a problem except for symbols like "^", etc.? If so would anyone consider adding a style for tags which slightly increased the font size. I see this with Firefox 3 and the latest Debian version of SeaMonkey. Thanks for reading this, Paul Scott ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: CSS style for
Patrick McCarty wrote: Hi Paul, On Fri, Feb 06, 2009 at 12:14:27PM -0700, Paul Scott wrote: I haven't complimented our fantastic documentation lately. It is truely amazing!! Thanks! Is it true for anyone else that the effective font for all the HTML enclosed in tags is somewhat smaller which in not a problem except for symbols like "^", etc.? If so would anyone consider adding a style for tags which slightly increased the font size. I see this with Firefox 3 and the latest Debian version of SeaMonkey. Many browsers set the default size of monospace fonts smaller than serif and sans-serif fonts. This includes any browser with the Gecko rendering engine, which Firefox and SeaMonkey both have. The problem is that other browsers (most notably IE and Opera) do not have this particular setting. So, if we increase the font size of monospace fonts, everything enclosed in tags will be larger than the regular text! So, my best recommendation is to increase the default size of monospace fonts within your browser. Thanks!! Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: CSS style for
Resent from subscribed address. Patrick McCarty wrote: Hi Paul, On Fri, Feb 06, 2009 at 12:14:27PM -0700, Paul Scott wrote: I haven't complimented our fantastic documentation lately. It is truely amazing!! Thanks! Is it true for anyone else that the effective font for all the HTML enclosed in tags is somewhat smaller which in not a problem except for symbols like "^", etc.? If so would anyone consider adding a style for tags which slightly increased the font size. I see this with Firefox 3 and the latest Debian version of SeaMonkey. Many browsers set the default size of monospace fonts smaller than serif and sans-serif fonts. This includes any browser with the Gecko rendering engine, which Firefox and SeaMonkey both have. The problem is that other browsers (most notably IE and Opera) do not have this particular setting. So, if we increase the font size of monospace fonts, everything enclosed in tags will be larger than the regular text! So, my best recommendation is to increase the default size of monospace fonts within your browser. Thanks!! Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Music Glossary - 1.64 Concert Pitch (2.12.2)
Anthony W. Youngman wrote: Ow! Sorry, reading this was painful (I play the trombone, as many of you know :-) 1.64 concert pitch The pitch at which the piano and other non-transposing instruments play, such music is said to be 'in C'. Officially, it is defined as "A = 440", meaning that the note A in the treble clef indicates a sound that has a frequency of 440Hz. There are other standard frequencies, but they have mostly fallen into disuse. This convention is used for (almost?) all instruments with multiple sounding parts, eg tuned percussion and strings. Instruments with a single sounding part (woodwind, brass) follow a different convention and are generally known as transposing instruments, although for some instruments (eg flute, oboe), the two conventions lead to the same result. The trombone is unusual in that music for it can be written using either or both conventions. 1.311 transposing instrument Instruments whose notated pitch is different from concert pitch. Most of these instruments are identified in their name by their fundamental pitch - this being the note whose wavelength is equal to length of the instrument. For example Concert A is 440Hz, the speed of sound in air is 343m/s, therefore an A clarinet (or any other A wind instrument) will have a length of 343/440 = 78cm. (Or be a power of 2 longer or shorter.) We could probably get to the truth from here but this is not correct as stated. My A clarinet is not 78cm long. It is significantly shorter. I don't know if this is more accurate for a brass instrument. It could be. I guess you would be talking about a trombone in 1st position or a valved instrument with the valves not depressed. For an A clarinet a low C (sounding concert A 220Hz) you would be fingering a note which only used about 1/2 the length of the instrument. For a C above that (sounding A 440Hz.) you would be using most of the length of the instrument but this is the 2nd harmonic of a cylindrical bore which is probably not a reasonable place to apply your description. This note is always written as middle C in the treble clef, and is usually referred to as "being in 'X'" where X is the fundamental of the instrument it's written for. As mentioned above this not the fundamental for a woodwind even if it is for a brass instrument. The most common fingering for a woodwind is the six finger note which is D (in the upper register for clarinets or G for a bassoon). From there we get to a C by either adding one finger or by removing most of the fingers. Neither using either the tube with no fingers down or all fingers down is really equivalent to a brass instrument for the purposes of this discussion. From one point of view you would call a bassoon an F instrument, a normal clarinet (Bf) an Eb instrument (equivalent to an F recorder). Paul Scott ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Music Glossary - 1.64 Concert Pitch (2.12.2)
On Apr 3, 2009, at 3:49 PM, Anthony W. Youngman wrote: In message <7ca3d5a30904031519ya3b89hb87cf8f81a544...@mail.gmail.com>, Neil Puttock writes 2009/4/3 Anthony W. Youngman : In message , Anthony W. Youngman writes Ow! Sorry, reading this was painful (I play the trombone, as many of you know :-) Replying to myself ... Just in case anyone didn't realise (and I certainly didn't make myself clear :-) these are my revised versions that I think should replace the existing entries. Feel free to edit and improve. For example Concert A is 440Hz, the speed of sound in air is 343m/s, therefore an A clarinet (or any other A wind instrument) will have a length of 343/440 = 78cm. (Or be a power of 2 longer or shorter.) Concert A is definitely not the fundamental for an A clarinet: it's a cylindrical tube stopped at one end, so the wavelength of the fundamental is four times the length. Since the lowest note on a clarinet is usually the E below middle C unless it has an extension, the fundamental would be C sharp (D on a B flat). Ummm ... I think I might be getting physics fundamentals confused with musical fundamentals. But I'm COMPLETELY puzzled at your statement that the wavelength of the fundamental is FOUR times the length. I would guess the trombone is also "a cylindrical tube stopped at one end", and the wavelength of any note played must be an integral number of half-wavelengths. So we have 1/2-wavelength giving me a pedal Bb, 2/2 giving me the fundamental Bb, and 3/2 giving me an F. I don't see how the physics would work to give you a quarter- wavelength as you claim. I just did some quick online research and he is right. A tube closed on one end like a clarinet or trumpet has a wavelength that is four times the length of the tube. A flute is open on both ends so it has a wavelength of double the length of the tube. Concert A would be either the first (B flat clarinet) or second (A clarinet) overblown note, i.e., third harmonic of E or F. Mmmm... I think that explains a lot. Most notes played by brass instruments are "overblown" in the wind sense - do most wind instruments mostly not overblow? Sure! anything above the first octave of a conical instrument (flute, saxophone) or the first 12th of a cylindrical bore instrument (clarinet) is overblown or uses a vent key to give the same effect. Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Concert Pitch (a second try)
Carl D. Sorensen wrote: I'm going to step in here, perhaps where wise men fear to tread. The LilyPond music glossary isn't intended to be a definitive music dictionary, is it? Nope. A basic understanding of transposition should be all that is important here. So do we care what reference concert pitch uses? Does it matter if it's A=440, or A=445, or A=450? Some of us care for a non-notational reason: Woodwinds are built to specific proportions which make them much more in tune at a specific frequency. In the 1970s flutes were reproportioned by manufacturers who could afford to retool from Boehm's original 435 to 445. I didn't find the right keywords yet to find out what modern clarinets are designed for. There are old saxophones marked "low pitch" which are somewhat impractical when played with normally tuned pianos. I recently played my flute with a modern Yamaha Xylophone which was tuned to at least 445Hz. A bit of a challenge! Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond 2.13.1 up
Han-Wen Nienhuys wrote: On Wed, Jun 3, 2009 at 3:04 PM, Patrick McCarty wrote: Yes, I was testing the GUB binary at lilypond.org. I have just confirmed the problem on 64-bit GNU/Linux too. The problem seems to be exactly what the error message reports: there is no file gs_init.ps located in the installation directory. I already know what is wrong. I'll try to push a new release tonight. (I found this bug on XP and fixed it there. I was assuming that the Gub3 checksumming would rebuild the installers automatically, but that was naive.) With 2.13.1 on Debian sid I get: Converting to `./asthedeertenor.pdf'... `gs -q -dSAFER -dDEVICEWIDTHPOINTS=612.00 -dDEVICEHEIGHTPOINTS=792.00 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile="./asthedeertenor.pdf" -c .setpdfwrite -f "asthedeertenor.ps"' failed (256) Paul Scott ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond 2.13.1 up
Han-Wen Nienhuys wrote: On Wed, Jun 3, 2009 at 3:04 PM, Patrick McCarty wrote: Yes, I was testing the GUB binary at lilypond.org. I have just confirmed the problem on 64-bit GNU/Linux too. The problem seems to be exactly what the error message reports: there is no file gs_init.ps located in the installation directory. I already know what is wrong. I'll try to push a new release tonight. (I found this bug on XP and fixed it there. I was assuming that the Gub3 checksumming would rebuild the installers automatically, but that was naive.) With 2.13.1 on Debian sid I get: Converting to `./asthedeertenor.pdf'... `gs -q -dSAFER -dDEVICEWIDTHPOINTS=612.00 -dDEVICEHEIGHTPOINTS=792.00 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile="./asthedeertenor.pdf" -c .setpdfwrite -f "asthedeertenor.ps"' failed (256) Paul Scott ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: lilypond 2.13.1 up
Han-Wen Nienhuys wrote: Please try 2.13.1-2 to see if this helps. No error message and the PDF is fine now. Thanks, Paul With 2.13.1 on Debian sid I get: Converting to `./asthedeertenor.pdf'... `gs -q -dSAFER -dDEVICEWIDTHPOINTS=612.00 -dDEVICEHEIGHTPOINTS=792.00 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile="./asthedeertenor.pdf" -c .setpdfwrite -f "asthedeertenor.ps"' failed (256) ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: development on windows
Bertalan Fodor (LilyPondTool) wrote: - does anybody feel like making cygwin packages for the missing software? Well, for some time I used to be the cygwin maintainer of lilypond. Was quite nightmare. - does anybody have VMware (commercial version) and feel like making a small Linux installation which has all the required software? Potential contributors would be able to run this in the free VMware version. Why VMware? There are free alternatives, like MS Virtual PC, Sun VirtualBox. There have been free versions of VMWare for some time now. www.*vmware*.com/products/server/ Paul Scott ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: unexpected \unfoldRepeats behavior
Jay Anderson wrote: On Sat, Jun 6, 2009 at 3:22 AM, Mark Polesky wrote: I tried to answer a question on -user but hit a brick wall. \unfoldRepeats failed to work when the music block was funneled from 2 separate expressions. Can someone explain this to me? Why does the following code work for voiceA but not for voiceB? Thanks. - Mark _ \version "2.13.1" voiceA = \new Voice = "A" \relative { \time 1/4 \repeat volta 2 { a' } \alternative { { b } { c } } } % voiceB is built from 2 separate expressions funneled into one voice, % but otherwise ought to be identical to voiceA, it seems: voiceBrepeats = { \time 1/4 \repeat volta 2 { s } \alternative { { s } { s } } } voiceBnotes = \relative { \time 1/4 a' b c } voiceB = \new Voice = "B" { << \voiceBrepeats \voiceBnotes >> } % using \unfoldRepeats produces the expected MIDI output with voiceA, % but not with voiceB. Why? \score { \unfoldRepeats \voiceA % change to \voiceB to test. \midi { } } This is the expected behavior. Only the spacers will be unfolded in voiceB. The repeat needs to be around the actual notes. Use \displayMusic and you'll see why. If you really do want this to work you're going to need some sort of flatten function: '\flatten << \voiceBrepeats \voiceBnotes >>' which would recursively combine the contents of nested parallel sections into one SequentialMusic section. This would be tricky. It's easiest to just put the repeats in all voices. Which is kind of ridiculous if you're writing an ensemble piece with many (even more than one) voices/parts. How can a midi of a multi-voice work with any repeats be done? I don't mind having a separate file for the midi output but not being able to factor out the common timing and dynamics costs a lot of input time and makes it a lot harder to make sure I haven't dropped a bar somewhere. Paul Scott ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: unexpected \unfoldRepeats behavior
Jay Anderson wrote: On Sat, Jun 6, 2009 at 4:53 PM, Paul Scott wrote: Which is kind of ridiculous if you're writing an ensemble piece with many (even more than one) voices/parts. How can a midi of a multi-voice work with any repeats be done? I was working on a large score and originally kept the repeat structure separate from the individual parts and ran into the same unfold-not-working problem. I don't need MIDIs that often. Until it is established that this is a bug or the intended result I can get any MIDIs that I need by defining each section for each part as a separate definition that I can assemble as needed for the two different purposes. I thought about this a bit and decided it was best just to have the repeats in each part. If you're going to make a change to the repeat structure you're almost always going to have to change each part/voice to match. Since this is the case it makes sense to have the repeat structure in each part. *If* this is the case. I am most often working with a structure already determined by the composer who is not me. I often create corrected or easier to read ensemble parts or parts for people who don't do the doubling that the original parts call for. If for nothing else it makes it easy to find the beginnings and ends of repeats in each part. I put bar numbers or other references when needed. I don't mind having a separate file for the midi output but not being able to factor out the common timing and dynamics costs a lot of input time and makes it a lot harder to make sure I haven't dropped a bar somewhere. Actually I found that having the repeats in each part made it easier to notice that bars were off. Lilypond throws errors where it thinks the repeat timing problem is without having to look too much at the pdf output. My first pass at most of what I do is to create the global timing section. I then know by the rehearsal marks, etc. whether I have skipped some bars in the input of the music. I will now reread the documentation on unfoldRepeats to see if I should go any farther with this. Thanks, Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: texi2html web page, second attempt
Jonathan Kulp wrote: Graham Percival wrote: 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. For what it's worth, I almost always go to the pdf manual first when I need to find something. Just for balance I always go to the HTML manual. Paul Scott ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
\fixed and \relative
Would it be reasonable to have \fixed optionally take it's starting point from its first pitch like \relative does? I jumped on this when this feature was added to \relative. \fixed was the important reason I have now switched completely from \relative to \absolute. Am I missing anything that \absolute does that \fixed doesn't? Thank you for commenting on this, Paul
Re: Need to remove links to lilypondblog.org
On 11/13/21 2:53 AM, Federico Bruni wrote: Paul, do you have a backup of lilypondblog.org? I might try converting it to a static site generator and host it on some free platform. Hi Federico, Thanks for your message. I'd like to help with this. Unfortunately, I don't have an up-to-date backup on my local machine. I tried logging into my shared hosting account and I can still access the WordPress database for the site. (I could export the database to something like JSON or other options, but I'm not sure that raw data is very useful.) I haven't confirmed but it looks like the domain has expired but the WordPress installation is still there. So what I'd like to try (when I can find time) is setting up a temporary subdomain somewhere and pointing it at the WordPress installation. If that works to let me log into the WP site, then I could use a plugin to do an "export to static html and css files" which could then be hosted somewhere or converted to a static site generator, etc. -Paul
Re: new LilyDev, 0.2 release
Congrats and thanks Federico! Glad to know there's a Debian container now. -Paul On 11/03/2017 01:13 PM, Federico Bruni wrote: Hi all Few days ago I made a new release (version 0.2): https://github.com/fedelibre/LilyDevOS/releases/tag/v0.2 I chose to keep calling the final images LilyDev, even if the repository is called LilyDevOS. Next week I'll send a patch to update the link in the CG to point to this new repository. I had planned to make also a new release of the old LilyDev (hopefully the last one), but I ran out of time. I'll do it next week. New in this release: Added a Debian container, based on stretch. Fedora images upgraded to version 27. Added all dependencies needed to build LilyPond without any warning: extractpdfmark, URW-35 OpenType font files (thanks to @karlinhigh for his script). GUI apps can now be run from the container out of the box. This is based on a couple of assumptions, which should be correct most of the times (see the README). ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \class grob property
Hi Urs, On 05/13/2018 02:02 PM, Urs Liska wrote: 1) for SVG output the objects would get the class assigned (along with an id). I don't have any idea yet how that is implemented, though. This will make it possible to work with CSS in a display environment. You'll be glad to know this is already supported in 2.19. Check out this grob property: |output-attributes| (list) An alist of attributes for the grob, to be included in output files. When the SVG typesetting backend is used, the attributes are assigned to a group () containing all of the stencils that comprise a given grob. For example, |'((id . 123) (class . foo) (data-whatever . “bar”))| will produce | … |. In the Postscript backend, where there is no way to group items, the setting of the output-attributes property will have no effect. It's only documented in the internals reference. I think it probably gives you what you need to do what you want? I added this functionality to LilyPond awhile back while working on 'lilypond-html-live-score'. (Would like to find more time to do more work with that, but...) This code might be of interest: https://gitlab.com/sigmate/lilypond-html-live-score/blob/master/grob-inspector.ily Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \class grob property
On 05/17/2018 09:00 AM, David Kastrup wrote: Man, I must have slept through this. "this is already supported in 2.19" is misleading if it's actually only supported _outside_ of 2.19, namely by chancing upon people in the know in the mailing lists. The problem with that kind of support is that it's unreliable. Stuff might get reimplemented because people cannot find what they are looking for, and the old code might get removed as bit rot at any point of time. To actually move it to "supported" state inside of LilyPond, there need to be regression tests (which also stop bit rot), user-level documentation and a Changes entry. That gives a new feature a reasonable chance of getting tested and consolidated in order to be useful for more than a single application (often by a single person) in its region of interest. Do you feel up to getting that kind of support into LilyPond? Hi David, I agree that this deserves to have regression tests, user-level docs, and a changes entry (to go with its current documentation in the internals reference). I'll try to find time to work on those things in the next weeks. Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: \class grob property
Huh, looks like I already created a changes entry and regtests for this output-attributes feature. https://codereview.appspot.com/308430043 https://sourceforge.net/p/testlilyissues/issues/4974/ I think I didn't do user documentation because the previous ID-only functionality didn't have any. So I can work on adding that somewhere. Looks like the infrastructure for really testing svg output is an open issue: https://sourceforge.net/p/testlilyissues/issues/5185/ (And since this functionality is not visible in the svg (by itself), tests would need to check the svg source code rather than its visual result.) Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: #5355 Doc: document grob metadata in SVG output in Notation Reference
On 06/28/2018 03:35 AM, pkx166h wrote: * *Patch*: countdown --> push * *Comment*: Patch counted down - please push I tried pushing my patch to staging and got the following error: $ git push origin HEAD:staging fatal: remote error: access denied or repository not exported: /lilypond.git This worked for me before in years past, but it's possible I didn't set up my git credentials exactly the same when I moved to using the LilyDevOS container? How to proceed? Thanks, -Paul *[issues:#5355] <https://sourceforge.net/p/testlilyissues/issues/5355/> Doc: document grob metadata in SVG output in Notation Reference* *Status:* Started *Created:* Thu Jun 21, 2018 06:35 PM UTC by Paul Morris *Last Updated:* Mon Jun 25, 2018 09:41 AM UTC *Owner:* Paul Morris Doc: document grob metadata in SVG output in Notation Reference I.e. using the 'output-attributes' grob property to add id, class, and other attributes to the SVG output for a given grob. http://codereview.appspot.com/357720044 Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/testlilyissues/issues/5355/ To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: #5355 Doc: document grob metadata in SVG output in Notation Reference
On 07/01/2018 02:43 AM, David Kastrup wrote: Edit your .git/config file and change the repository address according to the Git repository clone command given for developers on LilyPond's Savannah page. Thanks. It turned out I had a new SSH key that I hadn't added to Savannah yet. So I got it to work by following CG 3.4.9 http://lilypond.org/doc/v2.19/Documentation/contributor/commit-access I noticed that where the CG says: " SSH should issue the following warning: The authenticity of host 'git.sv.gnu.org (140.186.70.72)' can't be established. RSA key fingerprint is 80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5. Are you sure you want to continue connecting (yes/no)? Make sure the RSA key fingerprint displayed matches the one above. " This did not match what I saw in my terminal. (I saved what I saw if that's useful.) It may have been a bad move but I lived dangerously and went ahead anyway. But the CG may need an update? -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: #5355 Doc: document grob metadata in SVG output in Notation Reference
James, On 07/04/2018 09:41 AM, James Lowe wrote: On Sun, 1 Jul 2018 17:52:02 -0400, Paul Morris wrote: Thanks. It turned out I had a new SSH key that I hadn't added to Savannah yet. So I got it to work by following CG 3.4.9 http://lilypond.org/doc/v2.19/Documentation/contributor/commit-access I noticed that where the CG says: " SSH should issue the following warning: The authenticity of host 'git.sv.gnu.org (140.186.70.72)' can't be established. RSA key fingerprint is 80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5. Are you sure you want to continue connecting (yes/no)? Make sure the RSA key fingerprint displayed matches the one above. " This did not match what I saw in my terminal. (I saved what I saw if that's useful.) It may have been a bad move but I lived dangerously and went ahead anyway. But the CG may need an update? I checked and using the command ssh-keygen -E md5 -lf <(ssh-keyscan git.sv.gnu.org 2>/dev/null) I get this for MD5 hashes 1024 MD5:80:5a:b0:0c:ec:93:66:29:49:7e:04:2b:fd:ba:2c:d5 git.sv.gnu.org (RSA) and for SHA256 ... 1024 SHA256:FYkx0iik+iBeCLRzvUyUSTRT98TEBBJoYuQsTXbyGL8 git.sv.gnu.org (RSA) So the CG prints the MD5 hash - and it looks OK to me. If you didn't get either of those can you attach what you did get? James Below is what I got, which doesn't match what you have above. Looks like I have ECDSA instead of RSA, or something? $ git pull --verbose The authenticity of host 'git.sv.gnu.org (208.118.235.201)' can't be established. ECDSA key fingerprint is SHA256:qRLLJ4w/GAeiDyYnbx4yWJbZXwGiYYxgNty7lAfUyuM. Are you sure you want to continue connecting (yes/no)? My .git/config file has this in it (except with my actual savannah username): [remote "origin"] url = ssh://usern...@git.sv.gnu.org/srv/git/lilypond.git fetch = +refs/heads/*:refs/remotes/origin/* -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Export to MusicXML
For Google Summer of Code 2015 David Garfinkle worked on MusicXML export. (See mailing list archives: https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=Garfinkle&submit=Search%21&idxname=lilypond-devel&max=20&result=normal&sort=score ) I don't know if the code he wrote was ever checked in somewhere, on a branch or something. (It's not mentioned in the issue for this feature.) I have a copy of it somewhere that he sent me, but I'd assume that Jan-Peter's work on this would be the better place to start / collaborate. -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Export to MusicXML
On 10/16/2018 10:48 AM, Paul Morris wrote: I don't know if the code he wrote was ever checked in somewhere, on a branch or something. (It's not mentioned in the issue for this feature.) I've now added the GSOC 2015 code to the issue and put a link to Jan-Peter's work there as well. https://sourceforge.net/p/testlilyissues/issues/665/ -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Export to MusicXML
On 10/17/18 2:55 AM, Jan-Peter Voigt wrote: 2. the MusicXML is created "manually" with simple string-concatenation. [...] It would be very helpful to have an XML-lib at hand for the export. Hi all, I've done some work on this. See this PR: https://github.com/jpvoigt/lilypond-export/pull/9 Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GSoC Proposal - SVG Export
Hi Carl and everyone, On 12/2/18 8:02 PM, Carl Sorensen wrote: We used to have black be the color of the glyphs. We made a very specific and intentional move from black to currentColor. And it was an improvement, IMO. That is why I feel strongly about moving away from currentColor. currentColor sounds like the right default. It also seems reasonable to allow the user to override that default and set it to black or another color, depending on their use case. Maybe that's already possible? Maybe it's even already possible from the command line? If not, giving users the option should address the concerns, and would make sense in this kind of GSOC proposal. Étienne, I really like your proposal. I'd love to see improvements to SVG, moving towards giving it first-class support in LilyPond. And kudos for planning ahead. Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: GSoC Proposal - SVG Export
On 12/3/18 10:07 AM, Richard Shann wrote: what seems strange is that there seems to be no concept of "backgound color" in SVG (logical in a way as SVG is about things you can draw) allowing for the possibility of drawing white on white. Easily setting a background color would be a nice option to have. There's this snippet, and it works for SVG (but there's room for improvement): http://lsr.di.unimi.it/LSR/Item?id=699 yes, you add stuff to the LilyPond input to color everything explicitly black. IIRC you can specify extra stuff to be included from the command line too. Ah, right, like this: http://lsr.di.unimi.it/LSR/Item?id=443 That wraps everything in tags with a color property, like so: Would probably be better if it did this instead: Cheers, -Paul ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel