Re: aleatoric box / frameEngraver
Dnia 15-07-2013 o godz. 13:54 David Nalesnik napisał(a): Hi Karol, Harm-- On Mon, Jul 15, 2013 at 5:56 AM, Karol Majewski karo...@wp.pl wrote: Sorry, Thomas... I forgot to mention that I want to place repeat signs in the middle of the bar! Mea culpa. That's why at first I tried to modify frameEngraver. It would be great to have something like: \repeatStart c'4 d' e' \repeatStop s4*3 \repeatExtenderStop I believe this would be a matter of revising the stencil function which creates the box to draw two repeat bar lines instead. This, hopefully, is workable without building the bar lines up from scratch. Here is function that I try to modify: [BTW, I've been working at this, and added some features to what you're quoting here: a bracket for indicating timing, and the possibility of breaking the whole affair across lines. I'll try to post it later today with some comments about problems. I'm at my wit's end with it, so I'd welcome any help anyone could offer.] --David OK, so have repeat signs in \markup \Score. Now I need the extender. How can I modify David's function to start the extender without frame? For example: c'4 \extenderStart s4*2 \extenderStop Thanks in advance! ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Appoggiatura or no
David, Yes I like your approach much better. I had forgotten about the difference between using \times and using multiplication to show a tuplet. --John K Sent from my iPod On Jul 16, 2013, at 2:52 AM, lilypond-user-requ...@gnu.org wrote: Send lilypond-user mailing list submissions to lilypond-user@gnu.org To subscribe or unsubscribe via the World Wide Web, visit https://lists.gnu.org/mailman/listinfo/lilypond-user or, via email, send a message with subject or body 'help' to lilypond-user-requ...@gnu.org You can reach the person managing the list at lilypond-user-ow...@gnu.org When replying, please edit your Subject line so it is more specific than Re: Contents of lilypond-user digest... Today's Topics: 1. Re:fermata on dotted notes on the top line (SoundsFromSound) 2. Re:fermata on dotted notes on the top line (Richard Shann) 3. Re:Appoggiatura or not appoggiatura? (David Rogers) 4. feature request: abs-fontsize available for all text grobs (Kieren MacMillan) 5. Uneven note spacing (Andrew Bernard) 6. Re:feature request: abs-fontsize available for all text grobs (Marc Hohl) 7. LSR preview broken? (Werner LEMBERG) 8. Dash one sibling of a slur/PhrasingSlur/Tie (Urs Liska) -- Message: 1 Date: Mon, 15 Jul 2013 09:38:39 -0700 (PDT) From: SoundsFromSound soundsfromso...@gmail.com To: lilypond-user@gnu.org Subject: Re: fermata on dotted notes on the top line Message-ID: 1373906319709-148050.p...@n5.nabble.com Content-Type: text/plain; charset=us-ascii Hmm, that does like quite bad. But Eluze has the right idea: I would just use something like f''4.- \tweak #'padding #1 \fermata ...as a temporary fix :) -Ben Eluze wrote Richard Shann wrote I don't know if this is the right forum for posting unfortunate examples of LilyPond's output but I came across this one: \version 2.16 \score { f''4.\fermata } The fermata seems connected visually with the dot on the note, it looks better to me dragged further away, which I have done for the score in question using Denemo. this looks a bit ugly - I'vel added an issue to the tracker https://code.google.com/p/lilypond/issues/detail?id=3456thanks=3456ts=1373898751. two quick workarounds: f''4.- \tweak #'padding #2 \fermata or \dotsDown f''4. \fermata thank your Robert for reporting this Eluze - composer | sound designer -- View this message in context: http://lilypond.1069038.n5.nabble.com/fermata-on-dotted-notes-on-the-top-line-tp148048p148050.html Sent from the User mailing list archive at Nabble.com. -- Message: 2 Date: Mon, 15 Jul 2013 18:08:16 +0100 From: Richard Shann richard.sh...@virgin.net To: SoundsFromSound soundsfromso...@gmail.com Cc: lilypond-user@gnu.org Subject: Re: fermata on dotted notes on the top line Message-ID: 1373908096.2135.209.ca...@debian-box.lan Content-Type: text/plain; charset=us-ascii What I actually used was a tweak to the offset, as I hadn't got round to adding padding as an option in Denemo; Eluze has pricked my conscience about this and I have now added an option to tweak the padding of such objects by right clicking on the typeset score and choosing Padding from the pop-up menu. Richard On Mon, 2013-07-15 at 09:38 -0700, SoundsFromSound wrote: Hmm, that does like quite bad. But Eluze has the right idea: I would just use something like f''4.- \tweak #'padding #1 \fermata ...as a temporary fix :) -Ben Eluze wrote Richard Shann wrote I don't know if this is the right forum for posting unfortunate examples of LilyPond's output but I came across this one: \version 2.16 \score { f''4.\fermata } The fermata seems connected visually with the dot on the note, it looks better to me dragged further away, which I have done for the score in question using Denemo. this looks a bit ugly - I'vel added an issue to the tracker https://code.google.com/p/lilypond/issues/detail?id=3456thanks=3456ts=1373898751. two quick workarounds: f''4.- \tweak #'padding #2 \fermata or \dotsDown f''4. \fermata thank your Robert for reporting this Eluze - composer | sound designer -- View this message in context: http://lilypond.1069038.n5.nabble.com/fermata-on-dotted-notes-on-the-top-line-tp148048p148050.html Sent from the User mailing list archive at Nabble.com. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user -- Message: 3 Date: Mon, 15 Jul 2013 10:48:24 -0700 From: David Rogers davidandrewrog...@gmail.com To: lilypond-user\@gnu.org lilypond-user@gnu.org Subject: Re: Appoggiatura or not appoggiatura? Message-ID: 87txjv3eaf@gmail.com
Re: Appoggiatura or no
kli...@yahoo.com writes: David, Yes I like your approach much better. I had forgotten about the difference between using \times and using multiplication to show a tuplet. --John K Sent from my iPod On Jul 16, 2013, at 2:52 AM, lilypond-user-requ...@gnu.org wrote: Send lilypond-user mailing list submissions to lilypond-user@gnu.org To subscribe or unsubscribe via the World Wide Web, visit https://lists.gnu.org/mailman/listinfo/lilypond-user or, via email, send a message with subject or body 'help' to lilypond-user-requ...@gnu.org You can reach the person managing the list at lilypond-user-ow...@gnu.org When replying, please edit your Subject line so it is more specific than Re: Contents of lilypond-user digest... Today's Topics: 1. Re:fermata on dotted notes on the top line (SoundsFromSound) 2. Re:fermata on dotted notes on the top line (Richard Shann) 3. Re:Appoggiatura or not appoggiatura? (David Rogers) 4. feature request: abs-fontsize available for all text grobs (Kieren MacMillan) [...] Sending from an iPod is _no_ reason for quoting the entire traffic of a whole day without editing, reducing the repeated material to those passages you are actually replying to. It's bad enough if people do that for single postings. Doing that for daily digests is definitely too much: once this happens daily (whether by accident or not), the bandwidth of the list will grow exponentially while the signal to noise ratio will shrink inversely. If you can't trust yourself not to reply to mails without proper editing, don't view the list in digest form. Thanks -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Comparing LilyPond with Sibelius, Finale, Musescore etc
I have been compiling some examples of LilyPond's typesetting compared with those of well-known alternatives: http://denemo.org/CompareScorewriters If anyone can provide better examples - these are just taken from published work that I could find with a quick search - then please let me know - especially if I am not doing LilyPond justice. My examples have a common origin in MusicXML files, but there may be some other way of standardizing the comparisons (short of re-typing music examples...). Richard ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Hiding multi-measure rests in multi-voice polyphony
Hey all, If I have four voices on a staff, is there a way to tell LilyPond to hide a multi-measure rest if there are notes in the measure and to only ever print one at a time? Kinda like \partcombine but for more than two voices. Cheers, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Hiding multi-measure rests in multi-voice polyphony
2013/7/20 Mike Solomon m...@mikesolomon.org: Hey all, If I have four voices on a staff, is there a way to tell LilyPond to hide a multi-measure rest if there are notes in the measure and to only ever print one at a time? Kinda like \partcombine but for more than two voices. Cheers, MS ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user Hi Mike, perhaps you could modify http://lsr.dsi.unimi.it/LSR/Item?id=868 Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pattern-generating Scheme function challenge
Hi Urs, below my approach. Though, the function only needs one argument. :) \version 2.17.22 %% While compiling with 2.16.2, a little modification in \layout is %% recommended. %% Used to get access to integer-list %% Though, returns a warning: %% imported module (srfi srfi-60) overrides core binding `bit-count' #(use-modules (srfi srfi-60)) % %% definitions, helpers and functions % %% c/p from lily-library.scm %% Why not public? #(define (list-minus a b) Return list of elements in A that are not in B. (lset-difference eq? a b)) %% Affects beaming for mixed notes and rests. %% For debugging, uncomment modified 'thickness and 'color #(define modify-beaming (lambda (grob) (let* ((all-stems (ly:grob-array-list (ly:grob-object grob 'stems))) (visible-stems (ly:grob-array-list (ly:grob-object grob 'normal-stems))) ;; not visible stems (stx (list-minus all-stems visible-stems))) (map (lambda (x y z) (let* ((beaming-x (ly:grob-property x 'beaming)) (beaming-y (ly:grob-property y 'beaming)) (all-stems-length (length all-stems))) (cond ;;RED ((and (member x visible-stems) (member y stx) (or (member z visible-stems) (member z stx)) (not (equal? x (first all-stems ;(ly:grob-set-property! x 'thickness 10) ;(ly:grob-set-property! x 'color red) (ly:grob-set-property! x 'beaming (cons (car beaming-x) (list 0 ;;CYAN ((and (member x visible-stems) (member y visible-stems) (member z stx) (equal? x (first all-stems))) ;(ly:grob-set-property! y 'thickness 10) ;(ly:grob-set-property! y 'color cyan) (ly:grob-set-property! y 'beaming (cons (car beaming-y) (list 0 ;;BLUE ((and (member x stx) (member y visible-stems) (member z visible-stems)) ;(ly:grob-set-property! y 'thickness 10) ;(ly:grob-set-property! y 'color blue) (ly:grob-set-property! y 'beaming (cons (list 0) (cdr beaming-y (else #f all-stems (cdr all-stems) (cddr all-stems)) ;; print only one beam over rests (map (lambda (x) (ly:grob-set-property! x 'beaming (cons (list 0) (list 0 stx modifyBeaming = \override Beam #'after-line-breaking = #modify-beaming #(define (position-in-list obj ls) Search the positions of obj in ls (define (position-in-list-helper obj ls ls1 bypassed) (if (null? ls) (reverse ls1) (if (equal? obj (car ls)) (position-in-list-helper obj (cdr ls) (cons bypassed ls1) (+ bypassed 1)) (position-in-list-helper obj (cdr ls) ls1 (+ bypassed 1) (position-in-list-helper obj ls '() 0)) pattern = #(define-music-function (parser location dur-log n)(integer? integer?) Returns one musical pattern, depending on @var{dur-log} for the general duration of note and rests @var{n} as the integer, whose bitwise representation is used to build the pattern. (let* ((bool-list (integer-list n)) (bool-list-length (length bool-list)) (trues (position-in-list #t bool-list)) (trues-length (length trues)) (music (map (lambda (t c) (if t (make-music 'NoteEvent 'duration (ly:make-duration dur-log 0 1) 'pitch (ly:make-pitch 1 0 0) 'articulations (if (and ( dur-log 2) ( trues-length 1)) (cond ((= (car trues) c) (list (make-music 'BeamEvent 'span-direction -1))) ((= (car (last-pair trues)) c) (list (make-music 'BeamEvent 'span-direction 1))) (else '())) '())) (make-music 'RestEvent 'duration (ly:make-duration dur-log 0 1 bool-list (iota bool-list-length (make-music
Re: Pattern-generating Scheme function challenge
Hi Harm, I did a quick compilation (further investigation to follow) - and that's awesome! Thenk you very much. Of course it will be hard to 'sell' it with a 'hey, look how easy it is to realize that with LilyPond ;-) Best Urs Am 20.07.2013 23:48, schrieb Thomas Morley: \version 2.17.22 %% While compiling with 2.16.2, a little modification in \layout is %% recommended. %% Used to get access to integer-list %% Though, returns a warning: %% imported module (srfi srfi-60) overrides core binding `bit-count' #(use-modules (srfi srfi-60)) % %% definitions, helpers and functions % %% c/p from lily-library.scm %% Why not public? #(define (list-minus a b) Return list of elements in A that are not in B. (lset-difference eq? a b)) %% Affects beaming for mixed notes and rests. %% For debugging, uncomment modified 'thickness and 'color #(define modify-beaming (lambda (grob) (let* ((all-stems (ly:grob-array-list (ly:grob-object grob 'stems))) (visible-stems (ly:grob-array-list (ly:grob-object grob 'normal-stems))) ;; not visible stems (stx (list-minus all-stems visible-stems))) (map (lambda (x y z) (let* ((beaming-x (ly:grob-property x 'beaming)) (beaming-y (ly:grob-property y 'beaming)) (all-stems-length (length all-stems))) (cond ;;RED ((and (member x visible-stems) (member y stx) (or (member z visible-stems) (member z stx)) (not (equal? x (first all-stems ;(ly:grob-set-property! x 'thickness 10) ;(ly:grob-set-property! x 'color red) (ly:grob-set-property! x 'beaming (cons (car beaming-x) (list 0 ;;CYAN ((and (member x visible-stems) (member y visible-stems) (member z stx) (equal? x (first all-stems))) ;(ly:grob-set-property! y 'thickness 10) ;(ly:grob-set-property! y 'color cyan) (ly:grob-set-property! y 'beaming (cons (car beaming-y) (list 0 ;;BLUE ((and (member x stx) (member y visible-stems) (member z visible-stems)) ;(ly:grob-set-property! y 'thickness 10) ;(ly:grob-set-property! y 'color blue) (ly:grob-set-property! y 'beaming (cons (list 0) (cdr beaming-y (else #f all-stems (cdr all-stems) (cddr all-stems)) ;; print only one beam over rests (map (lambda (x) (ly:grob-set-property! x 'beaming (cons (list 0) (list 0 stx modifyBeaming = \override Beam #'after-line-breaking = #modify-beaming #(define (position-in-list obj ls) Search the positions of obj in ls (define (position-in-list-helper obj ls ls1 bypassed) (if (null? ls) (reverse ls1) (if (equal? obj (car ls)) (position-in-list-helper obj (cdr ls) (cons bypassed ls1) (+ bypassed 1)) (position-in-list-helper obj (cdr ls) ls1 (+ bypassed 1) (position-in-list-helper obj ls '() 0)) pattern = #(define-music-function (parser location dur-log n)(integer? integer?) Returns one musical pattern, depending on @var{dur-log} for the general duration of note and rests @var{n} as the integer, whose bitwise representation is used to build the pattern. (let* ((bool-list (integer-list n)) (bool-list-length (length bool-list)) (trues (position-in-list #t bool-list)) (trues-length (length trues)) (music (map (lambda (t c) (if t (make-music 'NoteEvent 'duration (ly:make-duration dur-log 0 1) 'pitch (ly:make-pitch 1 0 0) 'articulations (if (and ( dur-log 2) ( trues-length 1)) (cond ((= (car trues) c) (list (make-music 'BeamEvent 'span-direction -1))) ((= (car (last-pair trues)) c) (list (make-music 'BeamEvent 'span-direction 1)))
Re: Pattern-generating Scheme function challenge
2013/7/20 Urs Liska u...@openlilylib.org: Hi Harm, I did a quick compilation (further investigation to follow) - and that's awesome! Thenk you very much. Of course it will be hard to 'sell' it with a 'hey, look how easy it is to realize that with LilyPond ;-) Best Urs Well, typing \output #8 is _very_ easy. homerisches Gelächter (No idea how to translate) Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pattern-generating Scheme function challenge
Am 21.07.2013 00:07, schrieb Thomas Morley: 2013/7/20 Urs Liska u...@openlilylib.org: Hi Harm, I did a quick compilation (further investigation to follow) - and that's awesome! Thenk you very much. Of course it will be hard to 'sell' it with a 'hey, look how easy it is to realize that with LilyPond ;-) Best Urs Well, typing \output #8 is _very_ easy. homerisches Gelächter (No idea how to translate) If I'd understand what it means I could give it a try ;-) Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pattern-generating Scheme function challenge
2013/7/21 Urs Liska u...@openlilylib.org: Am 21.07.2013 00:07, schrieb Thomas Morley: 2013/7/20 Urs Liska u...@openlilylib.org: Hi Harm, I did a quick compilation (further investigation to follow) - and that's awesome! Thenk you very much. Of course it will be hard to 'sell' it with a 'hey, look how easy it is to realize that with LilyPond ;-) Best Urs Well, typing \output #8 is _very_ easy. homerisches Gelächter (No idea how to translate) If I'd understand what it means I could give it a try ;-) Cheers, Harm https://de.wikipedia.org/wiki/Homerisches_Gel%C3%A4chter ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pattern-generating Scheme function challenge
Am 21.07.2013 00:17, schrieb Thomas Morley: 2013/7/21 Urs Liska u...@openlilylib.org: Am 21.07.2013 00:07, schrieb Thomas Morley: 2013/7/20 Urs Liska u...@openlilylib.org: Hi Harm, I did a quick compilation (further investigation to follow) - and that's awesome! Thenk you very much. Of course it will be hard to 'sell' it with a 'hey, look how easy it is to realize that with LilyPond ;-) Best Urs Well, typing \output #8 is _very_ easy. homerisches Gelächter (No idea how to translate) If I'd understand what it means I could give it a try ;-) Cheers, Harm https://de.wikipedia.org/wiki/Homerisches_Gel%C3%A4chter The available articles in other languages (lacking English) seem to translate it quite literally, so Homeric laughter should be a good guess. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pattern-generating Scheme function challenge
Am 21.07.2013 00:25, schrieb Urs Liska: Am 21.07.2013 00:17, schrieb Thomas Morley: 2013/7/21 Urs Liska u...@openlilylib.org: Am 21.07.2013 00:07, schrieb Thomas Morley: 2013/7/20 Urs Liska u...@openlilylib.org: Hi Harm, I did a quick compilation (further investigation to follow) - and that's awesome! Thenk you very much. Of course it will be hard to 'sell' it with a 'hey, look how easy it is to realize that with LilyPond ;-) Best Urs Well, typing \output #8 is _very_ easy. homerisches Gelächter (No idea how to translate) If I'd understand what it means I could give it a try ;-) Cheers, Harm https://de.wikipedia.org/wiki/Homerisches_Gel%C3%A4chter The available articles in other languages (lacking English) seem to translate it quite literally, so Homeric laughter should be a good guess. http://www.jstor.org/discover/10.2307/3289782?uid=3737864uid=2uid=4sid=21102480961741 http://en.wiktionary.org/wiki/Homeric_laughter ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pattern-generating Scheme function challenge
2013/7/21 Urs Liska u...@openlilylib.org: Am 21.07.2013 00:25, schrieb Urs Liska: Am 21.07.2013 00:17, schrieb Thomas Morley: 2013/7/21 Urs Liska u...@openlilylib.org: Am 21.07.2013 00:07, schrieb Thomas Morley: 2013/7/20 Urs Liska u...@openlilylib.org: Hi Harm, I did a quick compilation (further investigation to follow) - and that's awesome! Thenk you very much. Of course it will be hard to 'sell' it with a 'hey, look how easy it is to realize that with LilyPond ;-) Best Urs Well, typing \output #8 is _very_ easy. homerisches Gelächter (No idea how to translate) If I'd understand what it means I could give it a try ;-) Cheers, Harm https://de.wikipedia.org/wiki/Homerisches_Gel%C3%A4chter The available articles in other languages (lacking English) seem to translate it quite literally, so Homeric laughter should be a good guess. http://www.jstor.org/discover/10.2307/3289782?uid=3737864uid=2uid=4sid=21102480961741 http://en.wiktionary.org/wiki/Homeric_laughter ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user Thanks. -Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Two End bar
On Sat, Jul 20, 2013 at 10:14 PM, Jun Wang wj1...@hotmail.com wrote: Hi, I couldn't figure out why I have 2 end bar, see attached lily code and image file, extra end bar is marked with red color. Do you have any clue? Thanks Jun Jun, You've specified the bars in all your voices. It looks like the bass voice ends before the others, so you're seeing the double-bar for the bass voice, then the others. Typically, you only want one voice explicitly declaring bars (and breaks) to avoid confusion. I typically use an extra voice on one of my staves that is nothing but skips, bars and breaks. Cheers, Carl ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Two End bar
Hi CarlYou are right, I removed the end bar in the bass voice and the extra bar disappeared. and thanks for the tip for the extra voice. ThanksJun Date: Sat, 20 Jul 2013 22:39:47 -0400 Subject: Re: Two End bar From: carlopeter...@gmail.com To: wj1...@hotmail.com CC: lilypond-user@gnu.org On Sat, Jul 20, 2013 at 10:14 PM, Jun Wang wj1...@hotmail.com wrote: Hi,I couldn't figure out why I have 2 end bar, see attached lily code and image file, extra end bar is marked with red color.Do you have any clue? Thanks Jun Jun, You've specified the bars in all your voices. It looks like the bass voice ends before the others, so you're seeing the double-bar for the bass voice, then the others. Typically, you only want one voice explicitly declaring bars (and breaks) to avoid confusion. I typically use an extra voice on one of my staves that is nothing but skips, bars and breaks. Cheers,Carl ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: lilypond-user Digest, Vol 128, Issue 72
On Jul 20, 2013, at 5:07 PM, Thomas Morley wrote: Message: 5 Date: Sun, 21 Jul 2013 00:07:49 +0200 From: Thomas Morley thomasmorle...@gmail.com To: Urs Liska u...@openlilylib.org Cc: lilypond-user@gnu.org Subject: Re: Pattern-generating Scheme function challenge Message-ID: CABsfGyXGMcW4kG=tr-wqkwnD9GyLgrirp8x_3Pnk7=wbk_j...@mail.gmail.com Content-Type: text/plain; charset=ISO-8859-1 2013/7/20 Urs Liska u...@openlilylib.org: Hi Harm, I did a quick compilation (further investigation to follow) - and that's awesome! Thenk you very much. Of course it will be hard to 'sell' it with a 'hey, look how easy it is to realize that with LilyPond ;-) Best Urs Well, typing \output #8 is _very_ easy. homerisches Gel?chter (No idea how to translate) Homeric laughter. Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Pattern-generating Scheme function challenge
Thomas Morley thomasmorle...@gmail.com writes: % %% definitions, helpers and functions % %% c/p from lily-library.scm %% Why not public? #(define (list-minus a b) Return list of elements in A that are not in B. (lset-difference eq? a b)) Not public because it is trivial and not discoverable. People looking through GUILE documentation will find and use lset-difference. There is a lot of cruft in lily-library like that which should really be thrown out. Making it public would be a step in the wrong direction since then people may start depending on it. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user