Re:Sibelius user looking for the easiest way to learn LilyPond
Dear John, I've also used Sibelius for a long time and now I'm using Lilypond. Off course, You're right, lilypond seems, at the beginning, more complicated than Sibelius and for some people it is hard, that You don't have a graphical interface. I think, it depends on what You want. I, for example, prefare writing my scores by hand (yes, in that case I'm old-school) and I make the fair copy with lilypond. Some people prefare writing directly into the computer-software. I think, this would be very hard to do with lilypond. But for making fair copys, I think, lilypond is the best and it can be very efficient in typing notes. If You use lilypond-tool You can even typing notes with a midi keyboard, or if You use RUMOR (running only on linux). I recommand, that You install frescobaldi and as the first step I would type in some easy music (e.g. early Mozart minuets). That's the way I've learned it. A few years ago I was encouraged to try LilyPond as an alternative to Sibelius because LilyPond produced more beautiful scores. I was also told that it would allow me to do things like specify that bars 25 through 32 are to be identical to bars 9 through 16 and avoid cutting and pasting from bars 9-16 into 25-32. I liked what I heard, but I was quite shocked by LilyPond's interface. I would be interested in hearing from any Sibelius users who have successfully learned LilyPond. How can I get going in LilyPond as quickly as possible? In case it's relevant, I should add that I used to program in FORTRAN and a little bit of UNIX but never in any other languages. Thanks in advance, John Link P.S. I sent the message above but I didn't receive it so I'm sending it again. I have seen messages from other users. http://www.cdbaby.com/all/johnlink http://www.myspace.com/johnlinkproject ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
Nick Payne nick.pa...@internode.on.net writes: On 05/01/13 14:27, Andrew Bernard wrote: On 5/01/13 2:02 PM, Nick Payne wrote: You could use a left parenthesis and omit the upprall: \version 2.17.9 { c'-\tweak bound-details.left.text \markup { \fontsize #-5 { \musicglyph #accidentals.leftparen } } \tweak bound-details.left.stencil-offset #'(0.02 . -0.65) \startTrillSpan d' c'2\stopTrillSpan } Thanks! Solves the matter for me very well indeed. You can wrap it up more neatly if you're using it in several locations: \version 2.17.9 beginPrallSpan = #(define-event-function (parser location) () #{ \tweak bound-details.left.text \markup { \fontsize #-5 { \musicglyph #accidentals.leftparen } } \tweak bound-details.left.stencil-offset #'(0.02 . -0.65) \startTrillSpan #} ) No need for a function here. beginPrallSpan = \tweak bound-details.left.text \markup { \fontsize #-5 { \musicglyph #accidentals.leftparen } } \tweak bound-details.left.stencil-offset #'(0.02 . -0.65) \startTrillSpan -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: FretBoards chordChanges
Marc Hohl m...@hohlart.de writes: Am 04.01.2013 22:44, schrieb Phil Holmes: - Original Message - From: Marc Hohl m...@hohlart.de If you don't have compiled lilypond from source, it would be probably the best to wait for 2.17.11 to be released. If you want to give it a try, though, have a look at http://lilypond.org/doc/v2.17/Documentation/contributor/compiling It should be in 2.17.10 when I release that. Oh, yes, silly me – I *always* work with self-compiled binaries and forgot that their version numbers are those about to be released. It is not just that. Phil's message also is that he is not going to release 2.17.10 for about a week, the time it takes until a proposed patch that is not self-evidently the best and correct approach will take to make it through reviews, countdown, and pushing. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Lilypond-book on Windows 2.16.1
- Original Message - From: Julien Rioux jri...@lyx.org To: lilypond-user@gnu.org Sent: Friday, January 04, 2013 9:43 PM Subject: Re: Lilypond-book on Windows 2.16.1 On 04/01/2013 4:30 PM, Phil Holmes wrote: Thanks for testing this. 2.16.2 is currently uploading and the stable build (which you have actually already downloaded from my website) should be on lilypond.org tomorrow. -- Phil Holmes Thanks for tackling this, Phil, and thanks to those who ran tests. BTW, should the backported patches be marked fixed_2_16_2 on the issue tracker, as David did for 2_16_x before? Done. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: FretBoards chordChanges
- Original Message - From: EmilLask laske...@gmail.com To: lilypond-user@gnu.org Sent: Saturday, January 05, 2013 7:13 AM Subject: Re: FretBoards chordChanges Thanks Marc and thanks Phil. Is there an easy guide, step by step, to compiling Lilypond in mac os x and add .cc patch without get in trouble ? There's a lot about compiling lilypond at http://lilypond.org/doc/v2.17/Documentation/contributor/compiling Unless you have a lot of experience, it would probably be easier to use a virtual machine and LilyDev. Phil, when do you think will be ready the new release? I was a little optimistic when I said it _would_ be in 2.17.10. The truth it it _could_ be in that build. As David says, the proposed change needs reviewing (a process docmented in http://lilypond.org/doc/v2.17/Documentation/contributor/commits-and-patches and which he as already started). If it passes review and he pushed it to git, it would be in the release following that. I typically make a release every 2 weeks. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
Hi all, Still learning more than I can contribute. Just works fine in older version too: \version 2.16.0 SetUpPrall = { \once \override TrillSpanner #'(bound-details left text) = \markup { \fontsize #-5 \musicglyph #accidentals.leftparen } \once \override TrillSpanner #'(bound-details left stencil-offset) = #'(0.02 . -0.65) } { \SetUpPrall c''\startTrillSpan d'' c''2\stopTrillSpan } Greetings, Ed ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
Ed Gordijn ed.klari...@gmail.com writes: Still learning more than I can contribute. Just works fine in older version too: \version 2.16.0 SetUpPrall = { \once \override TrillSpanner #'(bound-details left text) = \markup { \fontsize #-5 \musicglyph #accidentals.leftparen } \once \override TrillSpanner #'(bound-details left stencil-offset) = #'(0.02 . -0.65) } { \SetUpPrall c''\startTrillSpan d'' c''2\stopTrillSpan } Well, you need _two_ trill starting commands now (though you could likely squeeze \startTrillSpan into \SetUpPrall), and you need to spend more attention to detail to the overrides. So you likely contributed more time on this than I did. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
markup function
Hi, how can I write a function that returns a markup? In Python (using LilyPond syntax) I would write something like: def function(text): url = http://www.something; + text.lower() return \markup { \with-color #red \with-url #url text } Cheers, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: markup function
Noeck noeck.marb...@gmx.de writes: Hi, how can I write a function that returns a markup? In Python (using LilyPond syntax) I would write something like: def function(text): url = http://www.something; + text.lower() return \markup { \with-color #red \with-url #url text } Have you tried looking into the Extending LilyPond manual? URL:http://lilypond.org/doc/v2.16/Documentation/extending/markup-functions -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
Hi David, Well, you need _two_ trill starting commands now (though you could likely squeeze \startTrillSpan into \SetUpPrall), and you need to spend more attention to detail to the overrides. So you likely contributed more time on this than I did. I am still in 2.16 and did try your tweaks but didn't get it ride. I know that 2.17 has got a new syntax with dots but converting that to the 2.16 style didn't solve it. Here is my code, I don't know what is wrong. \version 2.16.0 beginPrallSpan = { \tweak #'(bound-details left text) \markup { \fontsize #-5 \musicglyph #accidentals.leftparen } \tweak #'(bound-details left stencil-offset) #'(0.02 . -0.65) \startTrillSpan } { c''-\beginPrallSpan d'' c''2\stopTrillSpan } So, yes I am spending more time, but learned more than you did ;-) Greetings, Ed ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Tweaking notehead direction in chords
On Jan 4, 2013, at 11:10 PM, Paul Morris p...@paulwmorris.com wrote: Without looking into it any further, my best guess is that calculating the stem width does not work because the stem grob has not been generated before the ] is reached, or something like that? By commenting things out, I identified the following as the first line that causes the error: (stem-stil (ly:grob-property stem 'stencil)) So it seems like the stem grob's stencil may not have been created yet, at the point where we are trying to get its width? I tried the following, which moves the attempt to access the stencil behind the ly:stencil? check, but it returned the same error anyway. (stem (ly:grob-object grob 'stem)) (stem-thick (ly:grob-property stem 'thickness 1.3)) ;; (stem-stil (ly:grob-property stem 'stencil)) (stem-x-width (if (ly:stencil? (ly:grob-property stem 'stencil)) (interval-length (ly:stencil-extent (ly:grob-property stem 'stencil) X)) ;; if no stem-stencil use 'thickness-property (/ stem-thick 10))) (stem-dir (ly:grob-property stem 'direction)) ;; Calculate a value to compensate the stem-extension (stem-x-corr (map (lambda (q) (+ 1 1) ) nh-duration-log))) Cheers, -Paul ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: markup function
Have you tried looking into the Extending LilyPond manual? URL:http://lilypond.org/doc/v2.16/Documentation/extending/markup-functions I did not reach it, because I did not understand the sections 2.1 and 2.2 and then I gave up. Examples would help me a lot in these sections. I played around, but I could not figure out how functions are defined and how scheme works. My test is below, just to show on which basic level I am stuck. \version 2.17.9 function = % does not work #(define-scheme-function (parser location text) (markup?) \markup{ \with-url #http #text} ) \function Hallo Section 2.5.3 finally has an example and using that, I could finally write the following function. But I only understand the part in #{ #}. The words layout props and the interpret-markup are still cryptic to me. Is there a documentation where this is described for noobs like me? #(define-markup-command (myfunction layout props text) (markup?) Draw a double box around text. (interpret-markup layout props #{\markup \with-url #http { #text }#})) How can I combine two strings? The #http and the #text in this example? How can I change a string to lower case? Cheers, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: markup function
How can I combine two strings? The #http and the #text in this example? How can I change a string to lower case? I just want to add, that I know the functions (via google serach): (string-downcase Abc Def) and (string-append hello world) But I don't understand how to use them here. Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: markup function
Noeck noeck.marb...@gmx.de writes: Have you tried looking into the Extending LilyPond manual? URL:http://lilypond.org/doc/v2.16/Documentation/extending/markup-functions I did not reach it, because I did not understand the sections 2.1 and 2.2 and then I gave up. Examples would help me a lot in these sections. I played around, but I could not figure out how functions are defined and how scheme works. My test is below, just to show on which basic level I am stuck. \version 2.17.9 function = % does not work #(define-scheme-function (parser location text) (markup?) \markup{ \with-url #http #text} ) \function Hallo Well, change this to \version 2.17.9 function = #(define-scheme-function (parser location text) (markup?) #{ \markup{ \with-url #http #text } #}) \function Hallo And it will work. There was a #{ #} missing (you can't otherwise use LilyPond syntax within Scheme), and #text} will complain because the Scheme reader considers text} a single variable name which it can't find anywhere. Of course, this again requires at least 2.17.7: commit a30c13f4658f03cb30820a27b42ddb4aea941380 Author: David Kastrup d...@gnu.org Date: Mon Nov 5 23:13:07 2012 +0100 Issue 2949: Allow (closed) scheme function calls as text scripts. One motivation of recent grammar changes was to make scheme variables identical to markup variables. The obvious parallel idea of letting scheme function calls be available for calculating markups has not received similar attention. The purpose of this patch is to allow for using scheme function calls producing markup within text scripts. In older versions, you'll have to go via define-markup-command: Section 2.5.3 finally has an example and using that, I could finally write the following function. But I only understand the part in #{ #}. The words layout props and the interpret-markup are still cryptic to me. Is there a documentation where this is described for noobs like me? No. I don't think there is reasonable documentation where this is described for experts either. Consider it a magic incantation. #(define-markup-command (myfunction layout props text) (markup?) Draw a double box around text. (interpret-markup layout props #{\markup \with-url #http { #text }#})) How can I combine two strings? The #http and the #text in this example? It might make sense to look in the Guile manual for string operations. Other than that, check out the notation manual for a description of available markup commands (like \concat). How can I change a string to lower case? That would again be something to look up in the Guile manual. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
Ed Gordijn ed.klari...@gmail.com writes: Hi David, Well, you need _two_ trill starting commands now (though you could likely squeeze \startTrillSpan into \SetUpPrall), and you need to spend more attention to detail to the overrides. So you likely contributed more time on this than I did. I am still in 2.16 and did try your tweaks but didn't get it ride. I know that 2.17 has got a new syntax with dots but converting that to the 2.16 style didn't solve it. Here is my code, I don't know what is wrong. \version 2.16.0 beginPrallSpan = { \tweak #'(bound-details left text) \markup { \fontsize #-5 \musicglyph #accidentals.leftparen } \tweak #'(bound-details left stencil-offset) #'(0.02 . -0.65) \startTrillSpan } Well, putting { ... } around it is wrong, for one thing: it turns the whole into sequential music. Other than that it would be fine if \tweak supported the tweaking of subproperties. Alas, commit c35b698a7cb24bc0bd2f724c23e4c6fc455bdf75 Author: David Kastrup d...@gnu.org Date: Sat Nov 24 21:04:21 2012 +0100 Issue 2997/2: Let \tweak deal with nested properties was just entered in LilyPond in version 2.17.8. All the tweak/override folderol makes a good case for thinking of releasing 2.18 in a reasonable time frame. The spacing improvements of 2.17.1 are of course also some incentive, but it looks better in the unstable version is less awkward than oh, in the stable version this won't work at all and the input is much more complicated. So, yes I am spending more time, but learned more than you did ;-) And with luck, in a less exasperating way. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LilyPondXs
Am 04.01.2013 um 12:16 schrieb Sven Axelsson sven.axels...@gmail.com: On 4 January 2013 10:43, Han-Wen Nienhuys hanw...@gmail.com wrote: -- Forwarded message -- From: Kristina Vuckovic kvuck...@ffzg.hr Date: Fri, Dec 28, 2012 at 11:29 AM Subject: LilyPondXs To: han...@xs4all.nl Dear Mr. Nienhuys, I am using software NooJ for natural language processing, and some time ago I thought how nice it would be if we could use the same tool for processing musical notes. I was thinking about the ways how to introduce the note in a textual way and than I found your software LilyPond (greta job!)– now, since I need the notes to be converted to text, I was wondering if you have any plans in adding that to your program i.e. is it possible to have a pdf file with notes that get 'translated' into LilyPond notation (c2 d2...)? Looking briefly at what NooJ seems to do, I assume you want to get access to a music corpus in Lilypond format to do some analysis on. Carlo has already suggested a possible way of translating scanned files to Lilypond notation. However, there is also the Mutopia Project (http://www.mutopiaproject.org) that contains quite a lot of music in Lilypond format. Maybe that can get you started? Or maybe you are looking for a toolkit for computer-aided musicology? Then you should have a look at http://mit.edu/music21/. music21 can import and export quite a few musical data formats. Unfortunately it can't parse LilyPond but the music21 corpus comes with a large collection of scores in different formats. Provided you have some familiarity with Python you can analyze, visualize and transform musical data... hth patrick ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: shorthand for force display of chord name?
Am 05.01.2013 01:43, schrieb Kieren MacMillan: Hi Eluze, do you mean \once \set chordChanges = ##f No... if I had meant that, I would have said that. ;) I meant what I said: c:min7!, analogous to how ! is used to force the display of accidentals Thanks, Kieren. hi Kieren just to be sure: do you mean a different functionality or just a shorter (and postponed) shortcut?! Eluze ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
On Sat, Jan 5, 2013 at 5:10 PM, David Kastrup d...@gnu.org wrote: Ed Gordijn ed.klari...@gmail.com writes: Hi David, Well, you need _two_ trill starting commands now (though you could likely squeeze \startTrillSpan into \SetUpPrall), and you need to spend more attention to detail to the overrides. So you likely contributed more time on this than I did. I am still in 2.16 and did try your tweaks but didn't get it ride. I know that 2.17 has got a new syntax with dots but converting that to the 2.16 style didn't solve it. Here is my code, I don't know what is wrong. \version 2.16.0 beginPrallSpan = { \tweak #'(bound-details left text) \markup { \fontsize #-5 \musicglyph #accidentals.leftparen } \tweak #'(bound-details left stencil-offset) #'(0.02 . -0.65) \startTrillSpan } Well, putting { ... } around it is wrong, for one thing: it turns the whole into sequential music. Bingo! This is the most counterintuitive syntactic element in LilyPond for newcomers (after Scheme). In most programming languages, curly braces are used for grouping commands, in LilyPond curly braces have a double life and can be used in one of their shapes as a shorthand for define serial music (as opposed to define parallel music which is done with double angle brackets. The double meaning of the curly braces in LilyPond is rather confusing and I still have the impression at times that things seem to work out of sheer luck when using curly braces. Is this double meaning of curly braces documented somewhere? I did not come across it in the online manuals so far. Best regards, Olivier ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
(lilypond-book) Useful LaTeX snippets
Dear LilyPond users, Is there a LaTeX snippet repository for submitting useful LaTeX macros for lilypond-book users? I'd like to share some snippets but don't know where to share them. Best regards, Olivier ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
Olivier Biot olivier.b...@gmail.com writes: Well, putting { ... } around it is wrong, for one thing: it turns the whole into sequential music. Bingo! This is the most counterintuitive syntactic element in LilyPond for newcomers (after Scheme). In most programming languages, curly braces are used for grouping commands, in LilyPond curly braces have a double life and can be used in one of their shapes as a shorthand for define serial music (as opposed to define parallel music which is done with double angle brackets. The double meaning of the curly braces in LilyPond is rather confusing and I still have the impression at times that things seem to work out of sheer luck when using curly braces. Is this double meaning of curly braces documented somewhere? I did not come across it in the online manuals so far. What double life? Within music, curly braces create sequential music. What other meaning do you see? -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: markup function
It might make sense to look in the Guile manual for string operations. Other than that, check out the notation manual for a description of available markup commands (like \concat). I know concat, but it did not work here. For the \with-url command I need to replace the #http which is somehow different from the text: \with-url #http text For the text part, \concat would work but for the http part I tried all combinations of # and $ but I always got scheme errors. How can I use scheme functions within lilypond code inside #{ #}? I tried this: #(define-markup-command (myfunction layout props link text) (markup? markup?) Comment. (interpret-markup layout props #{\markup \with-url #(string-append #http #link) #text #})) Cheers, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: markup function
Noeck noeck.marb...@gmx.de writes: It might make sense to look in the Guile manual for string operations. Other than that, check out the notation manual for a description of available markup commands (like \concat). I know concat, but it did not work here. For the \with-url command I need to replace the #http which is somehow different from the text: \with-url #http text For the text part, \concat would work but for the http part I tried all combinations of # and $ but I always got scheme errors. How can I use scheme functions within lilypond code inside #{ #}? # puts you into Scheme. I tried this: #(define-markup-command (myfunction layout props link text) (markup? markup?) Comment. (interpret-markup layout props #{\markup \with-url #(string-append #http #link) #text #})) #http is nonsense since you _are_ already in Scheme. Just write http here (or more likely, http://;). Similarly with link rather than #link. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: markup function
#(define-markup-command (myfunction layout props link text) (markup? markup?) (string? string?) Comment. (interpret-markup layout props #{\markup \with-url #(string-append #http #link) #text #})) Now it became clearer to me. What I meant in the last line was: #{\markup \with-url #(string-append http link ) #text #})) Because 'http' and 'link' is already a scheme expression. For several months now, I tried to get started with scheme functions in Lilypond with zero progress. Absolutely nothing worked. Now, I understood the meaning of # and a/the difference between markup and string and it does what I want it to do. Thanks for your explanations! I think now I can continue step by step and write small scheme functions (using the python2scheme converter in my head and google). Cheers, Joram ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
On Sun, Jan 6, 2013 at 12:28 AM, David Kastrup d...@gnu.org wrote: Olivier Biot olivier.b...@gmail.com writes: Well, putting { ... } around it is wrong, for one thing: it turns the whole into sequential music. Bingo! This is the most counterintuitive syntactic element in LilyPond for newcomers (after Scheme). In most programming languages, curly braces are used for grouping commands, in LilyPond curly braces have a double life and can be used in one of their shapes as a shorthand for define serial music (as opposed to define parallel music which is done with double angle brackets. The double meaning of the curly braces in LilyPond is rather confusing and I still have the impression at times that things seem to work out of sheer luck when using curly braces. Is this double meaning of curly braces documented somewhere? I did not come across it in the online manuals so far. What double life? Within music, curly braces create sequential music. What other meaning do you see? First meaning of curly braces as block delimiter, e.g. in: \score { % Serial or parallel music goes here \layout { % Layout directives go here } } Second meaning as serial music definition, e.g. as a music expression that will be used in a voice within a score block: theMusic = { c8 d e4-. f2 } It is very difficult to disambiguate the meaning of the curly braces without looking at where they will eventually appear. Best regards, Olivier ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Trill and nonstandard expressive mark
Olivier Biot olivier.b...@gmail.com writes: On Sun, Jan 6, 2013 at 12:28 AM, David Kastrup d...@gnu.org wrote: Olivier Biot olivier.b...@gmail.com writes: Is this double meaning of curly braces documented somewhere? I did not come across it in the online manuals so far. What double life? Within music, curly braces create sequential music. What other meaning do you see? First meaning of curly braces as block delimiter, e.g. in: \score { % Serial or parallel music goes here \layout { % Layout directives go here } } Second meaning as serial music definition, e.g. as a music expression that will be used in a voice within a score block: theMusic = { c8 d e4-. f2 } Seriously? Do you think people are confused by the double life of curly brackets in C? First meaning as block delimiter, e.g. in: struct { % declarations go here union { % and more } } Second meaning as serial statement definition, e.g. as a statement expression that will be used in a statement within a procedure: main () { if (x) { whatever (); } } I mean, {} for \score and \layout are _fixed_ parts of the syntax. Using () for function calls as well as expression grouping is more confusing than that. It is very difficult to disambiguate the meaning of the curly braces without looking at where they will eventually appear. That's what is called syntax. Scheme, in contrast, gets along without most of this pesky context-dependent interpretation of lexems, but it turns out that many people don't consider this an improvement in legibility. In fact, it is the most frequent complaint about Scheme. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Bug squad metrics for Oct to Dec 2012
Hi, If you read this mailing list you are probably aware of the Bug Squad, a small team within the Lilypond project. Their role is described in [1] as follows: The Bug Squad is mainly composed of non-programmers – their job is to organize issues, not solve them. Their duties include removing false bug reports, ensuring that any real bug report contains enough information for developers, and checking that a developer’s fix actually resolves the problem. Right now the bug squad is Eluze, Marek Klein, Ralph Palmer and I with help from other contributors including Phil Holmes, David Kastrup, Keith O'Hara, James, Graham Percival, Reinhold Kainhofer. As stated here [2] we aim to respond to bug reports within four days. Graham Percival wrote some scripts [3] to analyse the response time performance of the bug squad and I have just run them for the last calendar quarter of 2012. Response category Number % of total -- Less than 24 hours 77 67.54% 24 to 48 hours 18 15.79% More than 48 hours 12 10.53% Never replied 7 6.14% As you can see, we responded to over 83% of the reports in 48 hours or less, which I think is pretty good. Never replied includes some administrative emails (that need no reply), so it's not always a bad thing to have some emails in this category. Just email me if you would like a copy of the full report. If you would like to help us improve on this by joining the bug squad, please get in touch. I have one new applicant-in-waiting, Joe Wakeling, but we could use one or two more! Cheers, Colin. [1] http://lilypond.org/doc/v2.17/Documentation/contributor/introduction-to-issues [2] http://lilypond.org/bug-reports.html [3] https://github.com/gperciva/lilypond-extra/tree/master/bug-squad -- Colin Hall Bug Meister ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user