Re: Dominant
Thank you for your answers. I found functional-harmony page and I viewed the code. But the problem is now, how to merge functional-harmony letters and figured bass symbols. We have to explain the altering sounds on IVth (Subdominant chord) degree. So I have to use letters and figured bass symbols together. When I try to merge, an additional staff is being added within the figured bass symols. I am sending to LilyPond files and compiled PDF files. I need help please. Thank you. On 06/14/2014 08:47 PM, Malte Meyn wrote: Hello, you can try to use either the letter D with stroke (Đ, U+0110) or, if you want a longer an diagonal stroke, a regular D and a combining long solidus overlay from unicode (D̸, U+0044 U+0337): \version 2.19.6 \relative c' { \repeat unfold 8 { c e g c f a d f b e g c } } \addlyrics { T S Đ⁷ T T S D̸⁷ T T S \markup\concat{\char##x110 \char##x2077 } T T S \markup\concat{D \char##x337 \char##x2077 } T T S \markup\concat{\char##x110 \super 7} T T S \markup\concat{D \char##x337 \super 7} T T S \markup\concat{Đ \super 7} T T S \markup\concat{D̸ \super 7} T } The first two bars show the unicode characters in the source code, the last two use LilyPond’s \char command (an optically not satisfying solution for the overlay IMO). I have seen both versions of the stroke (the short horizontal one and the long diagonal one), use the one you prefer ;) Malte P.S. \char##x2077 is the superscript 7 (⁷), so you don’t need LilyPond’s superscript command if you don’t like it (the placement and font of the superscript is different). On 14.06.2014 17:31, Server Acim wrote: Hello, I am writing an Harmony book with my friend. I want to use Diminished Dominant symbol in figured bass below the note. It has to mark diminished fifth interval with a cross line on D letter. In our country, some music teachers had gotten their education in Germany in 1930'ies. They learned German Harmonie Schule terms and they taught their students in the same way. So we are still using these terms. So I need this detail. Do you have any idea? Thank you. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user -- Server ACİM - Besteci (Composer) - İnönü Üniversitesi Öğretim Üyesi (Full Professor of Music Composition at Inonu Universitesi - Malatya - TURKEY) - Linux Mint Kullanıcısı ve Destekçisi (Linux Mint User and Supporter) http://google.com/+ServerAcim http://about.me/server.acim \version 2.18.0 dizi = \relative c' { c1 d e f g aes b c \bar || } sifre = \figuremode { r1 r r r r VI r r } \score { \new Staff \dizi \new FiguredBass \sifre }\version 2.18.0 %% Generated by lilypond-book.py %% Options: [exampleindent=10.16\mm,fragment,indent=0\mm,line-width=13.0\cm,notime,quote,relative=2] \include lilypond-book-preamble.ly \include C21-Ornek6_dizi.ly % % Start cut--pastable-section % \paper{ indent=0\mm line-width=120\mm oddFooterMarkup=##f oddHeaderMarkup=##f bookTitleMarkup = ##f scoreTitleMarkup = ##f } \layout { \context { \Score timing = ##f } \context { \Staff \remove Time_signature_engraver } } \relative c'' { % % ly snippet contents follows: % \sourcefileline 3882 #(define-markup-command (diagonal-stroke layout props arg) (markup?) #:category font #:properties ((font-size 0) (thickness 1.5) (extension 0.07)) (let* ((thick (* (magstep font-size) (ly:output-def-lookup layout 'line-thickness))) (underline-thick (* thickness thick)) (markup (interpret-markup layout props arg)) (x1 (car (ly:stencil-extent markup X))) (x2 (cdr (ly:stencil-extent markup X))) (y1 (car (ly:stencil-extent markup Y))) (y2 (cdr (ly:stencil-extent markup Y))) (dx (* extension (- x2 x1))) (dy (* extension (- y2 y1))) (line (make-line-stencil underline-thick (- x1 dx) (- y1 dy) (+ x2 dx) (+ y2 dy (ly:stencil-add markup line))) { d aes f1 aes! f d c aes! f d c aes! f d b aes! f d b g } \figuremode { r1 | 5- | 7 5- | 7- | 9- 7 | } \lyrics { s sk sk \markup { \concat { \diagonal-stroke D } } D } %\score { % % \new Staff \akorlar %\new FiguredBass \sifre %\new Lyrics \fonksiyonlar % %} % % end ly snippet % } C21-Ornek6_master.pdf Description: Adobe PDF
Re: Dominant
On 15. Juni 2014 08:50:19 MESZ, Server Acim ser...@acim.name.tr wrote: Thank you for your answers. I found functional-harmony page and I viewed the code. But the problem is now, how to merge functional-harmony letters and figured bass symbols. We have to explain the altering sounds on IVth (Subdominant chord) degree. So I have to use letters and figured bass symbols together. When I try to merge, an additional staff is being added within the figured bass symols. I am sending to LilyPond files and compiled PDF files. I need help please. Thank you. I can't immediately help you, but I think a proper solution should not mix letters and figured bass numbers. If I see correctly you intend harmonic analysis only. So the approach would rather be to somehow stack numbers and letters from text fonts. This would also allow for a more coherent appearance. How urgent is this for you? Do you need _some_ solution immediately or could you spend some time helping with a proper solution until your book is ready? I'd be very interested in such a package too. Best Urs On 06/14/2014 08:47 PM, Malte Meyn wrote: Hello, you can try to use either the letter D with stroke (Đ, U+0110) or, if you want a longer an diagonal stroke, a regular D and a combining long solidus overlay from unicode (D̸, U+0044 U+0337): \version 2.19.6 \relative c' { \repeat unfold 8 { c e g c f a d f b e g c } } \addlyrics { T S Đ⁷ T T S D̸⁷ T T S \markup\concat{\char##x110 \char##x2077 } T T S \markup\concat{D \char##x337 \char##x2077 } T T S \markup\concat{\char##x110 \super 7} T T S \markup\concat{D \char##x337 \super 7} T T S \markup\concat{Đ \super 7} T T S \markup\concat{D̸ \super 7} T } The first two bars show the unicode characters in the source code, the last two use LilyPond’s \char command (an optically not satisfying solution for the overlay IMO). I have seen both versions of the stroke (the short horizontal one and the long diagonal one), use the one you prefer ;) Malte P.S. \char##x2077 is the superscript 7 (⁷), so you don’t need LilyPond’s superscript command if you don’t like it (the placement and font of the superscript is different). On 14.06.2014 17:31, Server Acim wrote: Hello, I am writing an Harmony book with my friend. I want to use Diminished Dominant symbol in figured bass below the note. It has to mark diminished fifth interval with a cross line on D letter. In our country, some music teachers had gotten their education in Germany in 1930'ies. They learned German Harmonie Schule terms and they taught their students in the same way. So we are still using these terms. So I need this detail. Do you have any idea? Thank you. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
partial in the middle of piece
The following gives warning: warning: barcheck failed at: 3/4 http://lilypond.1069038.n5.nabble.com/Partial-measures-in-middle-of-score-td154007.html https://code.google.com/p/lilypond/issues/detail?id=3645 Is this is related to 3645? \version 2.19.7 upper = { \time 4/4 \partial 4 c'4 c'1 c'1 \partial 4 c'4 c'1 c'1 } lower = { \time 4/4 \partial 4 r4 R1 R1 \partial 4 r4 R1 R1 } \score { \new PianoStaff \new Staff = upper \upper \new Staff = lower \lower } --Karol ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: conditional markup
Hi, Am Samstag, den 14. Juni 2014 um 16:56:36 Uhr (+0200) schrieb David Kastrup: Notice the - before the markup, turning this into a post-event. Thanks, that was the missing link. I had tried define-event-function and got stuck as it appeared to be pre-event. BTW: This meaning of the error message is unclear to me: Parsing... /tmp/markup-def.ly:11:20: error: music function cannot return (#procedure line-markup (layout props args) (Test)) \relative c' { a'^ \sMarkup Test } Does it complain, that a music function cannot return at all or that it should return something different from a procedure? I had tried to define a scheme function consing the markup in font of the articulation slot of a note event, but I'm not sure whether this is general enough for any context, a markup could be applied to (like e.g. a chord). Unfortunately lilypond's engine is still quite a mystery to me and despite the excellent documentation I couldn't find the right entry point for understanding it (yet)... but that is probably also related to missing time on my side. -- Orm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
tags on tweaks
Hi, just to verify: I assume it is always necessary to tag a complete music expression, or can just tweaks themselves get tagged? Here is an example for a use case: In the score the dynamics should get offset to the left to optimize vertical space requirements. In the part the dynamics should be left at the default position. It would be nice if just the tweak could get tagged in order to avoid the verbosity of explicitely repeating the musical expression with different tags applied. This works: - begin snippet \version 2.19.5 music = { \clef G r4 \tag #'score { fis'''8 -\tweak X-offset #-2.5 \f [ } \tag #'part { fis'''8 \f [ } ees'' c' a''' ] r4 } { \keepWithTag #'score \music \keepWithTag #'part \music } - end snippet This doesn't work: - begin snippet \version 2.19.5 music = { \clef G r4 fis'''8 \tag #'score -\tweak X-offset #-2.5 \f [ ees'' c' a''' ] r4 } { \keepWithTag #'score \music \keepWithTag #'part \music } end snippet -- Orm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: tags on tweaks
2014-06-15 12:29 GMT+02:00 Orm Finnendahl orm.finnend...@hfmdk-frankfurt.de : \version 2.19.5 music = { \clef G r4 \tag #'score { fis'''8 -\tweak X-offset #-2.5 \f [ } \tag #'part { fis'''8 \f [ } ees'' c' a''' ] r4 } { \keepWithTag #'score \music \keepWithTag #'part \music } Hi Orm, No particular remark on your topic except that you can use an easier syntax : % \version 2.19.5 music = { \clef G r4 \tag score { fis'''8 -\tweak X-offset #-2.5 \f [ } \tag part { fis'''8 \f [ } ees'' c' a''' ] r4 } { \keepWithTag score \music \keepWithTag part \music } % Cheers, Pierre PS: Strange that the doc does not show this synax. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
problems with partcombine
Hi, below is another example with a couple of issues I can't resolve: The issues: 1. With my lilypond version the clef change to the bass clef in the second bar is ignored (although in other situations a clef change in mid bar is printed). 2. All rests in the second bar of musictwo are not shown. The second issue seems to happen, when one of the two partcombined voices starts with a rest (especially if it is a multimeasure rest, where it makes complete sense to suppress it), but this behaviour is not consistent and I couldn't yet find a pattern or a reason where it happens why and how to avoid it. In addition these rests (especially multimeasure rests if displayed) often collide with music of the other part in partcombined staffs. I guess this still is an unresolved issue in lilypond but it would help a lot if someone who knows why it happens could give me some explanation to better deal with it. Yours, Orm \version 2.19.5 musicone = { b' 8 e'' 8~ e'' 8 r4. | % 48 r2. \tag #'score \clef F r8 cis! 8~ \ff cis 8 g 8~ | % 49 } musictwo = { \time 3/4 gis'! 4 cis''! 4 g'' 4 | % 48 \time 5/4 c''' 4 r2 r2 | % 49 } { \new Staff { \clef G \partcombine { \keepWithTag #'score \musicone } { \keepWithTag #'score \musictwo } } } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: tags on tweaks
Am 15.06.2014 12:29, schrieb Orm Finnendahl: Hi, just to verify: I assume it is always necessary to tag a complete music expression, or can just tweaks themselves get tagged? You may insert the tag itself as a post-event using -\tag before the tweak, yet the tag will then apply both to the tweak and the following expression. This gives you %%% \version 2.19 music = { \clef G r4 { fis'''8 -\tag score -\tweak X-offset #-2.5 \f -\tag part \f [ } ees'' c' a''' ] r4 } { \keepWithTag score \music \keepWithTag part \music } Well, it's a bit shorter. If there are many instances of the problem, you might wrap this into a music function: \version 2.19 %sctw = score tweak... sctw = #(define-music-function (parser location prop val mus) (symbol? number? ly:music?) #{ -\tag score -\tweak $prop $val $mus -\tag part $mus #} ) music = { \clef G r4 fis'''8 -\sctw X-offset #-2.5 \f [ ees'' c' a''' ] r4 } { \keepWithTag score \music \keepWithTag part \music } % HTH, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: conditional markup
Orm Finnendahl orm.finnend...@hfmdk-frankfurt.de writes: Hi, Am Samstag, den 14. Juni 2014 um 16:56:36 Uhr (+0200) schrieb David Kastrup: Notice the - before the markup, turning this into a post-event. Thanks, that was the missing link. I had tried define-event-function and got stuck as it appeared to be pre-event. BTW: This meaning of the error message is unclear to me: Parsing... /tmp/markup-def.ly:11:20: error: music function cannot return (#procedure line-markup (layout props args) (Test)) \relative c' { a'^ \sMarkup Test } Does it complain, that a music function cannot return at all or that it should return something different from a procedure? Would you have preferred /usr/local/tmp/lilypond/out/bin/lilypond orm.ly GNU LilyPond 2.19.8 Processing `orm.ly' Parsing... orm.ly:11:20: error: music function cannot return \markup \line { Test} \relative c' { a'^ \sMarkup Test } orm.ly:11:20: error: post-event expected \relative c' { a'^ \sMarkup Test } Interpreting music... Preprocessing graphical objects... Finding the ideal number of pages... Fitting music on 1 page... Drawing systems... Layout output to `orm.ps'... Converting to `./orm.pdf'... fatal error: failed files: orm.ly -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: conditional markup
Am Sonntag, den 15. Juni 2014 um 14:26:36 Uhr (+0200) schrieb David Kastrup: Orm Finnendahl orm.finnend...@hfmdk-frankfurt.de writes: Would you have preferred orm.ly:11:20: error: music function cannot return \markup \line { Test} that doesn't really matter, the problem for me was, whether the error message meant music function can't return (at all) or whether it meant can't return a procedure (or whatever), but that is clear now. However it is not yet clear to me, what actually is expected in which context. IIUC, the respective part in the manual is 2.3.2 and it says: Music functions may currently be used in several places. Depending on where they are used, restrictions apply in order to be able to parse them unambiguously. The result a music function returns must be compatible with the context in which it is called. I get stuck here: - What is compatible with the context in which it is called? - How can I find out what defines a certain context and what return values lilypond expects or finds acceptable in that situation? - Is \markup in its most general form even representable by a music function? I can use \displayMusic to find out, what is generated by lilypond in a certain situation, and that gives me an example about a possible return value I could mimic with a scheme function in that situation. But it doesn't necessarily tell me in a general way, what return values are acceptable. A markup for example is put into the articulation slot if called after a note event, but where is it put if used for specifying the name of an Instrument or used to specify a system-separator-markup? What else can a markup apply to? Do I have to know the context I'm called in in order to write a custom \markup replacement scheme function which would work in all possible contexts? In short, I assume, I'd need some overview about the different categories of scheme forms used in lilypond (like events, musical expressions or whatever), the context they're used in (and maybe the different categories of lilypond forms and their parsing grammar). I could imagine that's somewhere in the docs, but I haven't found it yet. -- Orm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: conditional markup
Orm Finnendahl orm.finnend...@hfmdk-frankfurt.de writes: Am Sonntag, den 15. Juni 2014 um 14:26:36 Uhr (+0200) schrieb David Kastrup: Orm Finnendahl orm.finnend...@hfmdk-frankfurt.de writes: Would you have preferred orm.ly:11:20: error: music function cannot return \markup \line { Test} that doesn't really matter, the problem for me was, whether the error message meant music function can't return (at all) or whether it meant can't return a procedure (or whatever), but that is clear now. However it is not yet clear to me, what actually is expected in which context. IIUC, the respective part in the manual is 2.3.2 and it says: Music functions may currently be used in several places. Depending on where they are used, restrictions apply in order to be able to parse them unambiguously. The result a music function returns must be compatible with the context in which it is called. A music function has to return music, period. Different music may be used in different contexts, but a music function cannot return anything but music. If you want to return something else, use a scheme function. - What is compatible with the context in which it is called? - How can I find out what defines a certain context and what return values lilypond expects or finds acceptable in that situation? - Is \markup in its most general form even representable by a music function? No. Markup is not music. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: conditional markup
Hi David, thanks a lot for the comment. Am Sonntag, den 15. Juni 2014 um 16:07:01 Uhr (+0200) schrieb David Kastrup: A music function has to return music, period. Different music may be used in different contexts, but a music function cannot return anything but music. Maybe it would be a good idea to extend the sentence in the manual in the following way: ... The result a music function returns must be music which is compatible with the context in which it is called. No. Markup is not music. I'll probably not mess with markup, then ;-) I guess to me it would help a lot having an overview about what markup actually is and what categories exist in lilypond altogether. That might be too complex to be put into the documentation easily, but referring to the sources to clear that up is well beyond reach for me at the moment... -- Orm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Scheme function help
I'm not top posting I'm typesetting quite a bit of mensural music, and using the same music source for both mensural and modern. The mensural rests tend to be pitched and the modern ones aren't. So I often have to use the following as input: \tag #'mens { f2 \rest } \tag #'mod { r2 } and then I typeset the mensural version with \keepWithTag #'mens. I thought it would be easier if I could have a music function that would emit the tagged version from a function call; something like: \menrest { f2 } would provide the output shown above. I'm falling at the first hurdle of getting the pitched rest: menrest = #(define-music-function (parser location noteval ) (ly:music?) #{ \tag #'mens { #noteval \rest } \tag #'mod { #noteval } #}) gives the error unexpected \rest. And of course the second expression only gives the note currently. Could anyone point out the way forward, please? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Scheme function help
Phil Holmes m...@philholmes.net writes: I'm not top posting I'm typesetting quite a bit of mensural music, and using the same music source for both mensural and modern. The mensural rests tend to be pitched and the modern ones aren't. So I often have to use the following as input: \tag #'mens { f2 \rest } \tag #'mod { r2 } and then I typeset the mensural version with \keepWithTag #'mens. I thought it would be easier if I could have a music function that would emit the tagged version from a function call; something like: \menrest { f2 } would provide the output shown above. I'm falling at the first hurdle of getting the pitched rest: menrest = #(define-music-function (parser location noteval ) (ly:music?) #{ \tag #'mens { #noteval \rest } \tag #'mod { #noteval } #}) gives the error unexpected \rest. And of course the second expression only gives the note currently. Could anyone point out the way forward, please? Perhaps something like menrest = #(define-music-function (parser location note) (ly:music?) #{ \tag #'mens $(make-music 'RestEvent note) \tag #'mod $(make-music 'RestEvent note 'pitch '()) #}) \displayLilyMusic \menrest f2 -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: problems with partcombine
On 15/06/14 12:18, Orm Finnendahl wrote: Hi, below is another example with a couple of issues I can't resolve: The issues: 1. With my lilypond version the clef change to the bass clef in the second bar is ignored (although in other situations a clef change in mid bar is printed). 2. All rests in the second bar of musictwo are not shown. The second issue seems to happen, when one of the two partcombined voices starts with a rest (especially if it is a multimeasure rest, where it makes complete sense to suppress it), but this behaviour is not consistent and I couldn't yet find a pattern or a reason where it happens why and how to avoid it. In addition these rests (especially multimeasure rests if displayed) often collide with music of the other part in partcombined staffs. I guess this still is an unresolved issue in lilypond but it would help a lot if someone who knows why it happens could give me some explanation to better deal with it. Yours, Orm \version 2.19.5 musicone = { b' 8 e'' 8~ e'' 8 r4. | % 48 r2. \tag #'score \clef F r8 cis! 8~ \ff cis 8 g 8~ | % 49 } musictwo = { \time 3/4 gis'! 4 cis''! 4 g'' 4 | % 48 \time 5/4 c''' 4 r2 r2 | % 49 } { \new Staff { \clef G \partcombine { \keepWithTag #'score \musicone } { \keepWithTag #'score \musictwo } } } There are a fair few outstanding issues with partcombine http://code.google.com/p/lilypond/issues/list?can=2q=partcombinesort=patchcolspec=ID+Type+Status+Stars+Owner+Patch+Needs+Summary+Modifiedx=typecells=tiles See if one of these is yours as often there is a workaround suggested in the tracker too. James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: No LSR preview (was : More questions about using Lilypond...
2014-06-12 14:44 GMT+02:00 Pierre Perol-Schneider pierre.schneider.pa...@gmail.com: Has anyone else problem with the LSR preview ? Pages are back. Problem solved. Cheers, Pierre ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: conditional markup
On 15/06/14 15:43, Orm Finnendahl wrote: Hi David, thanks a lot for the comment. Am Sonntag, den 15. Juni 2014 um 16:07:01 Uhr (+0200) schrieb David Kastrup: A music function has to return music, period. Different music may be used in different contexts, but a music function cannot return anything but music. Maybe it would be a good idea to extend the sentence in the manual in the following way: ... The result a music function returns must be music which is compatible with the context in which it is called. http://code.google.com/p/lilypond/issues/detail?id=3955 James ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Scheme function help
- Original Message - From: David Kastrup d...@gnu.org To: Phil Holmes m...@philholmes.net Cc: lilypond-user@gnu.org Sent: Sunday, June 15, 2014 4:34 PM Subject: Re: Scheme function help Phil Holmes m...@philholmes.net writes: I'm not top posting I'm typesetting quite a bit of mensural music, and using the same music source for both mensural and modern. The mensural rests tend to be pitched and the modern ones aren't. So I often have to use the following as input: \tag #'mens { f2 \rest } \tag #'mod { r2 } and then I typeset the mensural version with \keepWithTag #'mens. I thought it would be easier if I could have a music function that would emit the tagged version from a function call; something like: \menrest { f2 } would provide the output shown above. I'm falling at the first hurdle of getting the pitched rest: menrest = #(define-music-function (parser location noteval ) (ly:music?) #{ \tag #'mens { #noteval \rest } \tag #'mod { #noteval } #}) gives the error unexpected \rest. And of course the second expression only gives the note currently. Could anyone point out the way forward, please? Perhaps something like menrest = #(define-music-function (parser location note) (ly:music?) #{ \tag #'mens $(make-music 'RestEvent note) \tag #'mod $(make-music 'RestEvent note 'pitch '()) #}) \displayLilyMusic \menrest f2 Thanks, David. Appreciated as ever. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user