Re: vertical spacing of rests
2015-08-23 14:04 GMT+02:00 Klaus Blum benbigno...@gmx.de: Peter Selinger wrote your code snippet does not work correctly if some of the rests are dotted (see attached for the output). It's a bit of a mystery to me why this happens. Hi Peter, hmmm... I didn't think of this. It's no mystery, it's the Dot_column_engraver who makes sure that both dots are visible: % \version 2.19.25 centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \centerRests r c r d | r2. e4 d2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } % Turning it off completely would result in a mess. Unfortunately, I don't know a quick way to prevent this. In one of the voices, you could set dot-count to zero, but this would affect notes and rests in the same way. A quick and dirty approach would be to remove the Rest_engraver from the second voice: % \version 2.19.25 centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \centerRests r c r d | r2. e4 d2. e4 } \new Voice \with {\remove Rest_engraver} \relative c'' { \voiceTwo %\centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } % If you look for an automatic solution that detects if both voices have the same rests, go for the merge-rests-engraver already mentioned by Harm. AFAIK the most recent version is here: https://github.com/openlilylib/openlilylib/tree/master/editorial-tools/merge-rests-engraver Cheers, Klaus I'd recommend to use the engraver! Anyway, if you want to have the dots for rests affected as well, you need to adress them through the Rest: \version 2.19.25 omit-rest-and-dots = \override Rest.after-line-breaking = #(lambda (grob) (ly:grob-set-property! grob 'stencil #f) (if (not (null? (ly:grob-object grob 'dot))) (ly:grob-set-property! (ly:grob-object grob 'dot) 'stencil #f))) centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \omit-rest-and-dots r4 c r d | r2. e4 d2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Way to flatten nested \include's?
Thanks both. I doubt this feature is needed with any frequency. I happen to be leveraging some orchestral LP code, which is proving quite convoluted to trace with its many nested \include's and needs upgrading to current version. Some compile issues were reported as programming errors in 2.18.2 with no clear indication of an associated line of code. I'm down to one remaining error: programming error: Improbable offset for stencil: -inf staff space Seems to be associated with the following scheme function: #(define (not-last-page layout props arg) (if (not (book-last-page? layout props)) (interpret-markup layout props arg) empty-stencil)) The function is used to generate custom on-the-fly footers for pages other than first and last. I need to create a separate tiny example to replicate and isolate where the issue is coming from. I'll ask for help in a new thread. Javier From: Simon Albrecht [mailto:simon.albre...@mail.de] Subject: Re: Way to flatten nested \include's? Am 23.08.2015 um 15:23 schrieb Knute Snortum: I don't know of a LilyPond way to do this, but it would probably be a fairly simple Python or Perl program. And wouldn't it be user-friendly to provide such a script with our default binaries, that is alongside convert-ly? My 2cts, Simon Knute Snortum (via Gmail) On Sat, Aug 22, 2015 at 2:20 PM, Javier Ruiz-Alma jav...@ruiz-alma.com mailto:jav...@ruiz-alma.com wrote: I have code split into multiple files. Is there a way to ask lilypond to expands nested \include's and dump into new file, such I can review/compile a flattened version of the code (i.e. for debugging)? ___ lilypond-user mailing list lilypond-user@gnu.org mailto:lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org mailto: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
Re: vertical spacing of rests
Klaus Blum wrote: A quick and dirty approach would be to remove the Rest_engraver from the second voice: Yes, this works. If you look for an automatic solution that detects if both voices have the same rests, go for the merge-rests-engraver already mentioned by Harm. AFAIK the most recent version is here: https://github.com/openlilylib/openlilylib/tree/master/editorial-tools/merge-rests-engraver The merge-rests-engraver solutions (written by Jay Anderson, apparently) would clearly be the best solution to the problem, as it solves the general case (i.e., when some rests are in common and some are not). I hope that this will become a part of the standard library in the future. It might even make sense to turn it on by default. However, a significant problem with Jay's code is that it too doesn't work correctly with dotted rests. % \version 2.19.25 \include definition.ily \layout { \context { \Staff \consists #merge-rests-engraver } \context { \Staff \consists #merge-mmrests-engraver } } \new Staff \new Voice { \relative c'' { \voiceOne r c r d | r2. e4 d2. e4 } } \new Voice { \relative c'' { \voiceTwo r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } } % Here, the definition.ily that I have included is the latest version from the above github link. The output (see rests4.pdf) still shows two dots for each of the merged dotted rests. So it's the same problem in disguise. It seems that Jay's code, rather than turning the redundant rests into spacers, prints them all on top of each other, resulting in the multiple dots since the Dot_column_engraver doesn't understand that the rests have been merged. My guess is that the part of the code that says (for-each (lambda (rest) (ly:grob-set-property! rest 'Y-offset 0)) rests should be changed: rather than just setting all the Y-offsets to 0, all rests except the first one in the list should be disabled completely, and preferably turned into spacers so that there will be no dots associated with them. But I don't know enough about internals to know how to do that. -- Peter rests4.pdf Description: PDF document, version 1.4 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LilyJAZZ
Am 23.08.2015 um 21:39 schrieb Blöchl Bernhard: Forgot to add \include lilyjazz.ily. And still »lilyjazz-11« cannot be found as well. Tried to copy the files lilyjazz-11 into the directory of the lilypond source - does not help! The following should work: (1) put lilyjazz*.otf into /usr/local/lilypond/usr/share/lilypond/current/fonts/otf/ (You’ll need the otf fonts for PDF output. svg and woff fonts are for svg output and [???]) (2) put yourjazzexample.ly into ~/yourmusic/ (3a) put lilyjazz.ily into ~/yourmusic/ (3b) \include lilyjazz.ily in yourjazzexample.ly Because you use 2.19.25 (and that’s 2.19.11) you don’t have to change fonts.scm or other files—it’s builtin now :) Instead of (3a) and (3b) you can write the \paper block you posted in yourjazzexample.ly—you don’t need both. Have a look at lilyjazz.ily: you’ll see that it has the same \paper block and some additional layout tweaks and commands. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LilyJAZZ
On Aug 23, 2015, at 6:56 AM, BB bb-543...@telecolumbus.net wrote: snip Does anybody sucessful use LilyJAZZ? Yes, I have been using it for over a year with excellent results, although there are some quirks. For example, it kills bar numbering. It also interferes with \improvisationOn and I have to turn off LilyJazz to be able to use that. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A call to Cantique de Fauré
Er… looks like it's public domain, should have read better! Le 23 août 2015 à 20:45, Jacques Menu imj-muz...@bluewin.ch a écrit : Hello Franck, I could scan the first of the full scores from http://imslp.org/wiki/Cantique_de_Jean_Racine,_Op.11_(Fauré,_Gabriel) as a start point. What are the copyrights of the latter? JM Le 23 août 2015 à 20:00, Ali Cuota alicuota...@gmail.com a écrit : Hello, Does somebody where to find the Cantique de Jean Racine in Ly? Mutopia, cpdl, imslp and so far google say no. :-( In https://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00295.html Sir Michiel Lange was asking about a solution for manual changes, so maybe he can help? Thanks in advance Franck ___ 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
Re: LilyJAZZ
Thank you for your advices. I updated to version 2.19.25. Then just copied the downloaded lilyjazz font files *.woff and *.svg to the directory lilypond/usr/share/lilypond/current/fonts/svg and checked if they are really there. Then I tried with a simple sample code \version 2.19.25 % To use the font globally, put the following (minimal) code % at the top of your .ly file: \paper { #(define fonts (set-global-fonts #:music lilyjazz #:brace lilyjazz #:roman lilyjazz-text #:sans lilyjazz-chord #:factor (/ staff-height pt 20) )) } \score { \new Staff { a b c d } } I end up with a message that font »lilyjazz-11« was not found. Concerning to http://fonts.openlilylib.org/docs.html#font-install one has to download and install stylesheet. I think there is meant font-stylesheet? For convenience I added that to the same directory as font directory and set a path to it as described. http://fonts.openlilylib.org/docs.html#how-to-us remarks: scm (this is where the new font.scm file goes) There is such a file alreay. Do I need a new one? Regards Am 23.08.2015 16:19, schrieb tisimst: Hi! No, it's not a problem with Linux. Here's what you need to do: 1. Delete any LilyJAZZ files you currently have (they are old and error-prone as you've discovered). There are old files and instructions on the web and lilypondblog.org [9] that just don't apply anymore. 2. Go back to http://fonts.openlilylib.org/lilyjazz [10] and download the *new* font files and install them by following the instructions found on http://fonts.openlilylib.org/docs.html [11] for the version of LP you are using. 3. Also on the docs page, download the *new* stylesheets (about 3/4 way down). Make sure the directory can be found in LP's include path. That should do it. Then, all you need to do is add include lilyjazz.ily near the top of your input file. Let me know if that doesn't work. - Abraham ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
2015-08-23 21:21 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca: Thomas Morley wrote: Anyway, if you want to have the dots for rests affected as well, you need to adress them through the Rest: \version 2.19.25 omit-rest-and-dots = \override Rest.after-line-breaking = #(lambda (grob) (ly:grob-set-property! grob 'stencil #f) (if (not (null? (ly:grob-object grob 'dot))) (ly:grob-set-property! (ly:grob-object grob 'dot) 'stencil #f))) centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \omit-rest-and-dots r4 c r d | r2. e4 d2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } Great, that is just the information I was missing in order to fix Jay's Scheme code. Attached is an updated version of https://github.com/openlilylib/openlilylib/blob/master/editorial-tools/merge-rests-engraver/definition.ily that now works correctly for dotted rests (as well as double-dotted rests, full-measure rests, and so on). I am attaching the full file, as well as a patch. I factored the actual rest-merging code into a separate Scheme function that is shared by both merge-rests-engraver and merge-mmrests-engraver -- this is probably technically unnecessary because multi-measure rests are not usually dotted. Still I think it is better to engrave just one glyph for the merged rests, rather than a bunch of identical glyphs at the same coordinate. Also, having it as a separate function is easier to comprehend than deeply-nested Scheme. Hi Peter, glad I could help. Though, reading up the whole thread I got some concerns and did some further testing. Try with your updated engravers: \layout { \context { \Staff \consists #merge-rests-engraver } \context { \Staff \consists #merge-mmrests-engraver } \compressFullBarRests } \new Staff \new Voice { \voiceOne R1*3^\fermataMarkup } \new Voice { \voiceTwo R1*3_\fermataMarkup } Looks some more work has to be done ... png attached If you all agree that this patch works correctly, hopefully someone with commit privileges can merge it into git? Afaik, there are still some problems with scheme-engravers in the source-code. But I may be wrong here. Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LilyJAZZ
Hi! No, it's not a problem with Linux. Here's what you need to do: 1. Delete any LilyJAZZ files you currently have (they are old and error-prone as you've discovered). There are old files and instructions on the web and lilypondblog.org that just don't apply anymore. 2. Go back to http://fonts.openlilylib.org/lilyjazz and download the *new* font files and install them by following the instructions found on http://fonts.openlilylib.org/docs.html for the version of LP you are using. 3. Also on the docs page, download the *new* stylesheets (about 3/4 way down). Make sure the directory can be found in LP's include path. That should do it. Then, all you need to do is add \include lilyjazz.ily near the top of your input file. Let me know if that doesn't work. - Abraham On Sunday, August 23, 2015, BB-3 [via Lilypond] ml-node+s1069038n179978...@n5.nabble.com wrote: Thanks for all the responses. I studied http://fonts.openlilylib.org/ Another page abou this topic is http://lilypondblog.org/2013/09/lilypond-and-lilyjazz/ I compiled the given example lilypond test codes making shure that the font files are in the same directory. But I always end up with an error and always SFNT font table missing. I do not know the SFNT font table? Curiously with the zipped code at the end of the posting http://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00647.html I get a midi file, but an empty, white pdf document! I use Linux, may be that Linux does not provide the SFNT font table? https://en.wikipedia.org/wiki/SFNT As it always happens despiate I am doing - is it a fundamental error of Linux? Does anybody use LilyJAZZ sucessful with Linux? Regards ___ lilypond-user mailing list [hidden email] http:///user/SendEmail.jtp?type=nodenode=179978i=0 https://lists.gnu.org/mailman/listinfo/lilypond-user -- If you reply to this email, your message will be added to the discussion below: http://lilypond.1069038.n5.nabble.com/LilyJAZZ-tp179970p179978.html To start a new topic under User, email ml-node+s1069038n...@n5.nabble.com javascript:_e(%7B%7D,'cvml','ml-node%2bs1069038n...@n5.nabble.com'); To unsubscribe from Lilypond, click here http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=2code=dGlzaW1zdC5saWx5cG9uZEBnbWFpbC5jb218Mnw4MzU3Njg3MDU= . NAML http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml -- View this message in context: http://lilypond.1069038.n5.nabble.com/LilyJAZZ-tp179970p179985.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
Re: fret-diagrams.scm:657:42: Wrong type: #f
2015-08-23 12:57 GMT+02:00 David Kastrup d...@gnu.org: Thomas Morley thomasmorle...@gmail.com writes: 2015-08-23 12:25 GMT+02:00 Thomas Morley thomasmorle...@gmail.com: 2015-08-23 7:23 GMT+02:00 David Kastrup d...@gnu.org: That begs the question on whether \fret-diagram should be ignoring embedded whitespace in order to allow for more readable formatting of the command string. Are there other procedures/functions etc where clearing the input-string from whitespace might be useful? Probably other diagrams with string commands, like harp pedals and woodwind graphs or so. Unless spaces are significant there, of course. No idea. -- David Kastrup Patch is up: http://lilypond.1069038.n5.nabble.com/Clear-fret-diagram-and-harp-pedal-input-strings-from-whitespace-td179980.html https://codereview.appspot.com/257580043/ affecting fret-diagram and harp-pedal. woodwind-diagram uses a list for input. Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
A call to Cantique de Fauré
Hello, Does somebody where to find the Cantique de Jean Racine in Ly? Mutopia, cpdl, imslp and so far google say no. :-( In https://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00295.html Sir Michiel Lange was asking about a solution for manual changes, so maybe he can help? Thanks in advance Franck ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A call to Cantique de Fauré
Hello Franck, I could scan the first of the full scores from http://imslp.org/wiki/Cantique_de_Jean_Racine,_Op.11_(Fauré,_Gabriel) as a start point. What are the copyrights of the latter? JM Le 23 août 2015 à 20:00, Ali Cuota alicuota...@gmail.com a écrit : Hello, Does somebody where to find the Cantique de Jean Racine in Ly? Mutopia, cpdl, imslp and so far google say no. :-( In https://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00295.html Sir Michiel Lange was asking about a solution for manual changes, so maybe he can help? Thanks in advance Franck ___ 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
Re: LilyJAZZ
Forgot to add \include lilyjazz.ily. And still »lilyjazz-11« cannot be found as well. Tried to copy the files lilyjazz-11 into the directory of the lilypond source - does not help! % \version 2.19.25 \include lilyjazz.ily % To use the font globally, % put the following (minimal) code % at the top of your .ly file: \paper { #(define fonts (set-global-fonts #:music lilyjazz #:brace lilyjazz #:roman lilyjazz-text #:sans lilyjazz-chord #:factor (/ staff-height pt 20) )) } \score { \new Staff { a b c d %~~~ Am 23.08.2015 21:13, schrieb Blöchl Bernhard: Thank you for your advices. I updated to version 2.19.25. Then just copied the downloaded lilyjazz font files *.woff and *.svg to the directory lilypond/usr/share/lilypond/current/fonts/svg and checked if they are really there. Then I tried with a simple sample code \version 2.19.25 % To use the font globally, put the following (minimal) code % at the top of your .ly file: \paper { #(define fonts (set-global-fonts #:music lilyjazz #:brace lilyjazz #:roman lilyjazz-text #:sans lilyjazz-chord #:factor (/ staff-height pt 20) )) } \score { \new Staff { a b c d } } I end up with a message that font »lilyjazz-11« was not found. Concerning to http://fonts.openlilylib.org/docs.html#font-install one has to download and install stylesheet. I think there is meant font-stylesheet? For convenience I added that to the same directory as font directory and set a path to it as described. http://fonts.openlilylib.org/docs.html#how-to-us remarks: scm (this is where the new font.scm file goes) There is such a file alreay. Do I need a new one? Regards Am 23.08.2015 16:19, schrieb tisimst: Hi! No, it's not a problem with Linux. Here's what you need to do: 1. Delete any LilyJAZZ files you currently have (they are old and error-prone as you've discovered). There are old files and instructions on the web and lilypondblog.org [9] that just don't apply anymore. 2. Go back to http://fonts.openlilylib.org/lilyjazz [10] and download the *new* font files and install them by following the instructions found on http://fonts.openlilylib.org/docs.html [11] for the version of LP you are using. 3. Also on the docs page, download the *new* stylesheets (about 3/4 way down). Make sure the directory can be found in LP's include path. That should do it. Then, all you need to do is add include lilyjazz.ily near the top of your input file. Let me know if that doesn't work. - Abraham ___ 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
Re: LilyJAZZ
Thank you for your help! It works now! I forgot to copy the *.otf fonts. (I only copied *.svg and *.woff fonts.) Thank you for explaining lilyjazz.ily and the \paper block - it was not quite clear for me before! Thanks for help again, Regards Am 23.08.2015 21:56, schrieb Malte Meyn: Am 23.08.2015 um 21:39 schrieb Blöchl Bernhard: Forgot to add \include lilyjazz.ily. And still »lilyjazz-11« cannot be found as well. Tried to copy the files lilyjazz-11 into the directory of the lilypond source - does not help! The following should work: (1) put lilyjazz*.otf into /usr/local/lilypond/usr/share/lilypond/current/fonts/otf/ (You’ll need the otf fonts for PDF output. svg and woff fonts are for svg output and [???]) (2) put yourjazzexample.ly into ~/yourmusic/ (3a) put lilyjazz.ily into ~/yourmusic/ (3b) \include lilyjazz.ily in yourjazzexample.ly Because you use 2.19.25 (and that’s 2.19.11) you don’t have to change fonts.scm or other files—it’s builtin now :) Instead of (3a) and (3b) you can write the \paper block you posted in yourjazzexample.ly—you don’t need both. Have a look at lilyjazz.ily: you’ll see that it has the same \paper block and some additional layout tweaks and commands. ___ 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
Re: Way to flatten nested \include's?
Am 23.08.2015 um 15:23 schrieb Knute Snortum: I don't know of a LilyPond way to do this, but it would probably be a fairly simple Python or Perl program. And wouldn’t it be user-friendly to provide such a script with our default binaries, that is alongside convert-ly? My 2cts, Simon Knute Snortum (via Gmail) On Sat, Aug 22, 2015 at 2:20 PM, Javier Ruiz-Alma jav...@ruiz-alma.com mailto:jav...@ruiz-alma.com wrote: I have code split into multiple files. Is there a way to ask lilypond to expands nested \include's and dump into new file, such I can review/compile a flattened version of the code (i.e. for debugging)? ___ lilypond-user mailing list lilypond-user@gnu.org mailto: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
Re: vertical spacing of rests
Thomas Morley wrote: Anyway, if you want to have the dots for rests affected as well, you need to adress them through the Rest: \version 2.19.25 omit-rest-and-dots = \override Rest.after-line-breaking = #(lambda (grob) (ly:grob-set-property! grob 'stencil #f) (if (not (null? (ly:grob-object grob 'dot))) (ly:grob-set-property! (ly:grob-object grob 'dot) 'stencil #f))) centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \omit-rest-and-dots r4 c r d | r2. e4 d2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } Great, that is just the information I was missing in order to fix Jay's Scheme code. Attached is an updated version of https://github.com/openlilylib/openlilylib/blob/master/editorial-tools/merge-rests-engraver/definition.ily that now works correctly for dotted rests (as well as double-dotted rests, full-measure rests, and so on). I am attaching the full file, as well as a patch. I factored the actual rest-merging code into a separate Scheme function that is shared by both merge-rests-engraver and merge-mmrests-engraver -- this is probably technically unnecessary because multi-measure rests are not usually dotted. Still I think it is better to engrave just one glyph for the merged rests, rather than a bunch of identical glyphs at the same coordinate. Also, having it as a separate function is easier to comprehend than deeply-nested Scheme. Here's an example showing it all in action: % \version 2.19.25 \include definition.ily \layout { \context { \Staff \consists #merge-rests-engraver } \context { \Staff \consists #merge-mmrests-engraver } } \new Staff \new Voice { \relative c'' { \voiceOne | r c r d | r2. r4 | r2.. e8 | r2... e16 | d2. e4 | R1 | c4 c c c | R1 } } \new Voice { \relative c'' { \voiceTwo | r4 a8 a8 r4 b8 b8 | r2. c4 | r2.. c8 | r2... c16 | c2. a4 | R1*3 } } % See rests5.pdf for the output. If you all agree that this patch works correctly, hopefully someone with commit privileges can merge it into git? Thanks, -- Peter --- definition.ily-orig 2015-08-23 16:16:13.428995010 -0300 +++ definition.ily 2015-08-23 16:13:43.995254184 -0300 @@ -18,6 +18,17 @@ (or (has-one-or-less lst) (and (pred (car lst) (cadr lst)) (all-equal (cdr lst) pred +% merge a list of rests, by moving the first one to the specified +% offset, and disabling all the other ones including any associated dots. +#(define (merge-to-offset rests offset) + (ly:grob-set-property! (car rests) 'Y-offset offset) + (for-each +(lambda (rest) + (ly:grob-set-property! rest 'stencil #f) + (if (not (null? (ly:grob-object rest 'dot))) + (ly:grob-set-property! (ly:grob-object rest 'dot) 'stencil #f))) +(cdr rests))) + #(define merge-rests-engraver (lambda (context) (let ((rest-same-length @@ -30,10 +41,7 @@ (stop-translation-timestep . ,(lambda (trans) (if (and (has-at-least-two rests) (all-equal rests rest-same-length)) - (for-each - (lambda (rest) -(ly:grob-set-property! rest 'Y-offset 0)) - rests + (merge-to-offset rests 0 (acknowledgers (rest-interface . ,(lambda (engraver grob source-engraver) (if (eq? 'Rest (assoc-ref @@ -51,10 +59,7 @@ (if (all-equal rests mmrest-same-length) (let ((offset (if (eq? (ly:grob-property (car rests) 'measure-count) 1) 1 0))) - (for-each - (lambda (rest) (ly:grob-set-property! rest - 'Y-offset offset)) - rests) + (merge-to-offset rests offset) (curr-rests '()) (rests '())) `((start-translation-timestep . ,(lambda (trans) rests5.pdf Description: PDF document, version 1.4 \version 2.18.0 \header { snippet-title = merge-rests-engraver snippet-author = Jay Anderson snippet-source = http://www.mail-archive.com/lilypond-user%40gnu.org/msg69608.html; snippet-description = \markup { Merge rests of equal duration in different voice } tags = merge, rest, rests, voice, voices status = ready } #(define has-one-or-less (lambda (lst) (or (null? lst) (null? (cdr lst) #(define has-at-least-two
Re: LilyJAZZ
Thanks for all the responses. I studied http://fonts.openlilylib.org/ Another page abou this topic is http://lilypondblog.org/2013/09/lilypond-and-lilyjazz/ I compiled the given example lilypond test codes making shure that the font files are in the same directory. But I always end up with an error and always SFNT font table missing. I do not know the SFNT font table? Curiously with the zipped code at the end of the posting http://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00647.html I get a midi file, but an empty, white pdf document! I use Linux, may be that Linux does not provide the SFNT font table? https://en.wikipedia.org/wiki/SFNT As it always happens despiate I am doing - is it a fundamental error of Linux? Does anybody use LilyJAZZ sucessful with Linux? Regards ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Hello Peter, Am 23.08.2015 um 03:11 schrieb Peter Selinger: Wait, this didn't quite work: hideRests = { \override Rest.transparent = ##t } It almost produces the correct output, but it generates a million warnings (one for each rest) about a rest collision that could not be resolved. I guess a transparent rest is not the same as a spacer rest - even though it is invisible, it can still collide. Also, strangely, the dots on the dotted rests are still visible, even when the rests themselves are transparent. Is there a property similar to Rest.transparent that will remove the rest (effectively turning it into a spacer rest), rather than just making it invisible? Yes. You will find an explanation in our Learning Manual: http://lilypond.org/doc/v2.18/Documentation/learning/visibility-and-color-of-objects – by the way: this manual is a ‘must-read’. It takes some time to work through, but it gives a very good introduction into basic concepts and it shows how to read the other manuals. This will give you omitRests = \omit Rest :-) So, no need for an abbreviation… As Klaus already explained, the dot issue isn’t just as simple. You might try: \layout { \context { \Staff \remove Dot_column_engraver } \context { \Voice \consists Dot_column_engraver } } This will move the Dot_column_engraver from Staff to Voice level and might fix the problem. HTH, Simon -- Peter Peter Selinger wrote: Thanks for your replies. That's awesome. I think I will also define a command \hideRests, so that I don't have to manually convert all the rests to spacer rests - this might be handy if I later decide to use one staff per voice. centerRests = { \override Rest.staff-position = #0 } hideRests = { \override Rest.transparent = ##t } \new Staff \new Voice \relative c'' { \voiceOne \centerRests r4 c r d } \new Voice \relative c'' { \voiceTwo \hideRests r4 a8 a8 r4 b8 b8 } By the way, properties such as staff-position are not included in the index of the Notation Manual (though they do appear in the index of the Learning Manual). I had to search the whole document to find these properties in Appendix A.17. Would it make sense to include them in the index? -- Peter Klaus Blum wrote: Peter Selinger wrote Is there a global way to turn off vertical spacing for rests in a context, i.e., some command whose effect would be to make notes behave as with \voiceOne and rests behave as with \oneVoice? Hi Peter, yes, there is: \override Rest.staff-position = #0 but you have to apply it once for every voice. Cheers, Klaus %- \version 2.19.25 centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne % you don't need a pair of braces here \centerRests r c r d } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 } %- -- View this message in context: http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179950.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 ___ 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
Re: Way to flatten nested \include's?
I don't know of a LilyPond way to do this, but it would probably be a fairly simple Python or Perl program. Knute Snortum (via Gmail) On Sat, Aug 22, 2015 at 2:20 PM, Javier Ruiz-Alma jav...@ruiz-alma.com wrote: I have code split into multiple files. Is there a way to ask lilypond to expands nested \include's and dump into new file, such I can review/compile a flattened version of the code (i.e. for debugging)? ___ 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
Re: LilyJAZZ
On Aug 23, 2015, at 6:56 AM, BB bb-543...@telecolumbus.net wrote: I tried LilyJAZZ as it was published (about 2013 ?) but never got it to run properly. http://lilypondblog.org/2013/09/lilypond-and-lilyjazz/ My actual atempts with a testcode from http://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00647.html (and other example codes) end with an error. Warnung: Kasten mit negativen Ausmaßen wird nicht gezeichnet, 0.18 mal -0.04. Layout nach »/tmp/lilypond-IOz59S« ausgeben... Programmierfehler: FreeType-Fehler: SFNT font table missing Fortsetzung, die Daumen drücken Konvertierung nach »JazzTest.pdf«... Warnung: »(gs -q -dSAFER -dDEVICEWIDTHPOINTS=595.28 -dDEVICEHEIGHTPOINTS=841.89 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile=JazzTest.pdf -c.setpdfwrite -f/tmp/lilypond-IOz59S)« gescheitert (256) Despite the error message I get a midi-file. (Not with the example above without any midi.) But I do get an empty pdf. Maybe because of SFNT font table missing ? There seem to be a font problem? Does anybody sucessful use LilyJAZZ? Regards _ Please look at http://fonts.openlilylib.org/index.html and try the solutions described on that remarkable page!___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LilyJAZZ
On Aug 23, 2015, at 2:56 PM, BB bb-543...@telecolumbus.net wrote: I tried LilyJAZZ as it was published (about 2013 ?) but never got it to run properly. http://lilypondblog.org/2013/09/lilypond-and-lilyjazz/ http://lilypondblog.org/2013/09/lilypond-and-lilyjazz/ My actual atempts with a testcode from http://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00647.html http://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00647.html (and other example codes) end with an error. Warnung: Kasten mit negativen Ausmaßen wird nicht gezeichnet, 0.18 mal -0.04. Layout nach »/tmp/lilypond-IOz59S« ausgeben... Programmierfehler: FreeType-Fehler: SFNT font table missing Fortsetzung, die Daumen drücken Konvertierung nach »JazzTest.pdf«... Warnung: »(gs -q -dSAFER -dDEVICEWIDTHPOINTS=595.28 -dDEVICEHEIGHTPOINTS=841.89 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile=JazzTest.pdf -c.setpdfwrite -f/tmp/lilypond-IOz59S)« gescheitert (256) Despite the error message I get a midi-file. (Not with the example above without any midi.) But I do get an empty pdf. Maybe because of SFNT font table missing ? There seem to be a font problem? Does anybody sucessful use LilyJAZZ? Regards Have you tried with the version on http://fonts.openlilylib.org/ http://fonts.openlilylib.org/ ? Cheers, MS___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: fret-diagrams.scm:657:42: Wrong type: #f
Thomas Morley thomasmorle...@gmail.com writes: 2015-08-23 12:25 GMT+02:00 Thomas Morley thomasmorle...@gmail.com: 2015-08-23 7:23 GMT+02:00 David Kastrup d...@gnu.org: That begs the question on whether \fret-diagram should be ignoring embedded whitespace in order to allow for more readable formatting of the command string. Are there other procedures/functions etc where clearing the input-string from whitespace might be useful? Probably other diagrams with string commands, like harp pedals and woodwind graphs or so. Unless spaces are significant there, of course. No idea. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
LilyJAZZ
I tried LilyJAZZ as it was published (about 2013 ?) but never got it to run properly. http://lilypondblog.org/2013/09/lilypond-and-lilyjazz/ My actual atempts with a testcode from http://lists.gnu.org/archive/html/lilypond-user/2013-03/msg00647.html (and other example codes) end with an error. Warnung: Kasten mit negativen Ausmaßen wird nicht gezeichnet, 0.18 mal -0.04. Layout nach »/tmp/lilypond-IOz59S« ausgeben... Programmierfehler: FreeType-Fehler: SFNT font table missing Fortsetzung, die Daumen drücken Konvertierung nach »JazzTest.pdf«... Warnung: »(gs -q -dSAFER -dDEVICEWIDTHPOINTS=595.28 -dDEVICEHEIGHTPOINTS=841.89 -dCompatibilityLevel=1.4 -dNOPAUSE -dBATCH -r1200 -sDEVICE=pdfwrite -sOutputFile=JazzTest.pdf -c.setpdfwrite -f/tmp/lilypond-IOz59S)« gescheitert (256) Despite the error message I get a midi-file. (Not with the example above without any midi.) But I do get an empty pdf. Maybe because of SFNT font table missing ? There seem to be a font problem? Does anybody sucessful use LilyJAZZ? Regards ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LilyJAZZ
Am 23.08.2015 um 13:56 schrieb BB: Does anybody sucessful use LilyJAZZ? Yes. You should have a look at fonts.openlilylib.org. The use of other fonts than Feta/Emmentaler has been simplified in version 2.19.12 but you’ll find also instructions how to use these fonts in 2.18.2. And when there are updates to LilyJAZZ, you’ll find them there. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Peter Selinger wrote your code snippet does not work correctly if some of the rests are dotted (see attached for the output). It's a bit of a mystery to me why this happens. Hi Peter, hmmm... I didn't think of this. It's no mystery, it's the Dot_column_engraver who makes sure that both dots are visible: % \version 2.19.25 centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \centerRests r c r d | r2. e4 d2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } % Turning it off completely would result in a mess. Unfortunately, I don't know a quick way to prevent this. In one of the voices, you could set dot-count to zero, but this would affect notes and rests in the same way. A quick and dirty approach would be to remove the Rest_engraver from the second voice: % \version 2.19.25 centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \centerRests r c r d | r2. e4 d2. e4 } \new Voice \with {\remove Rest_engraver} \relative c'' { \voiceTwo %\centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } % If you look for an automatic solution that detects if both voices have the same rests, go for the merge-rests-engraver already mentioned by Harm. AFAIK the most recent version is here: https://github.com/openlilylib/openlilylib/tree/master/editorial-tools/merge-rests-engraver Cheers, Klaus -- View this message in context: http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179971.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
Re: fret-diagrams.scm:657:42: Wrong type: #f
2015-08-23 7:23 GMT+02:00 David Kastrup d...@gnu.org: That begs the question on whether \fret-diagram should be ignoring embedded whitespace in order to allow for more readable formatting of the command string. How about a check like: (string-filter s:2;h:5; 6-x; 5-x; 4-4; 3-2; 2-3; 1-x; (char-set-union char-set:letter+digit char-set:punctuation)) If no better suggestion, I'll put up a patch I'd really just filter on whitespace. If people rely on arbitrary characters getting filtered out, we are not free to extend the syntax at some later point of time with more characters. That was exactly my own concern. I wasn't aware that char-set:whitespace contains more than #\space (display char-set:whitespace) - #charset {#\ht #\newline #\vt #\np #\cr #\space} I should have checked that before. Then I'll go for (string-delete whatever-string char-set:whitespace) upload the patch to Rietveld and post the link to the buglist. Iiuc, that's the way to go for now. Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: fret-diagrams.scm:657:42: Wrong type: #f
2015-08-23 12:25 GMT+02:00 Thomas Morley thomasmorle...@gmail.com: 2015-08-23 7:23 GMT+02:00 David Kastrup d...@gnu.org: That begs the question on whether \fret-diagram should be ignoring embedded whitespace in order to allow for more readable formatting of the command string. How about a check like: (string-filter s:2;h:5; 6-x; 5-x; 4-4; 3-2; 2-3; 1-x; (char-set-union char-set:letter+digit char-set:punctuation)) If no better suggestion, I'll put up a patch I'd really just filter on whitespace. If people rely on arbitrary characters getting filtered out, we are not free to extend the syntax at some later point of time with more characters. That was exactly my own concern. I wasn't aware that char-set:whitespace contains more than #\space (display char-set:whitespace) - #charset {#\ht #\newline #\vt #\np #\cr #\space} I should have checked that before. Then I'll go for (string-delete whatever-string char-set:whitespace) upload the patch to Rietveld and post the link to the buglist. Iiuc, that's the way to go for now. Cheers, Harm An additional thought. Are there other procedures/functions etc where clearing the input-string from whitespace might be useful? Right now nothing else drops into my mind. In wordwrap-string-internal we _want_ to keep #\space ofc Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Simon Albrecht-2 wrote This will move the Dot_column_engraver from Staff to Voice level and might fix the problem. Good idea, but you should consider that this will affect dotted notes as well: % \version 2.19.25 centerRests = { \override Rest.staff-position = #0 } \score { \new Staff \new Voice \relative c'' { \voiceOne \centerRests r c r d | r2. e4 d2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } } \score { \new Staff \new Voice \relative c'' { \voiceOne \centerRests r c r d | r2. e4 d2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } \layout { \context { \Staff \remove Dot_column_engraver } \context { \Voice \consists Dot_column_engraver } } } % So, it should at least be used with care. Cheers, Klaus -- View this message in context: http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179979.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
Change size of notes in addQuote passage
I want a full quote of the line, including slurs/dynamics/etc. so it's playable by a different instrument if the intended one is not present, so I'm not using Cue instead. However, I want the quote to be with reduced size noteheads. This override doesn't cause any change: \addQuote sopQuote { \transpose c' c { \override NoteHead #'font-size = #-3 \sopCornet } } What's the best way to go about it? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LilyJAZZ
Tim, Would you mind expounding a little further on what you feel has degraded since the original was published? I will tell you what I've done, but I would appreciate hearing your thoughts, especially if many others feel similarly. In bringing the original LilyJAZZ font up to speed, I don't recall editing ANY of the original glyphs in the font. I did _add_ some to make it more complete, but that's it. The other thing that might be causing visual is the stylesheet I've created to go along with the font family. If that's the problem, please help me out by offering some suggestions. I've created settings that I thought were reasonable and compliment the font, but that doesn't mean they have to stay that way. I guess the nice thing is that you can adapt it to whatever styles _you_ like. Please help me know, if you would. Thanks!! - Abraham On Sunday, August 23, 2015, Tim McNamara [via Lilypond] ml-node+s1069038n180026...@n5.nabble.com wrote: On Aug 23, 2015, at 1:37 PM, Tim McNamara [hidden email] http:///user/SendEmail.jtp?type=nodenode=180026i=0 wrote: On Aug 23, 2015, at 6:56 AM, BB [hidden email] http:///user/SendEmail.jtp?type=nodenode=180026i=1 wrote: snip Does anybody sucessful use LilyJAZZ? Yes, I have been using it for over a year with excellent results, although there are some quirks. For example, it kills bar numbering. It also interferes with \improvisationOn and I have to turn off LilyJazz to be able to use that. Also, looking at the web page that was referenced in other threads, it appears that the old LilyJAZZ font has been completely replaced (looking at the example lead sheet). To my eyes the old font was much better and I won’t be updating to the new version. The new version looks awkward and doesn’t visually flow very well. YMMV. ___ lilypond-user mailing list [hidden email] http:///user/SendEmail.jtp?type=nodenode=180026i=2 https://lists.gnu.org/mailman/listinfo/lilypond-user -- If you reply to this email, your message will be added to the discussion below: http://lilypond.1069038.n5.nabble.com/LilyJAZZ-tp179970p180026.html To start a new topic under User, email ml-node+s1069038n...@n5.nabble.com javascript:_e(%7B%7D,'cvml','ml-node%2bs1069038n...@n5.nabble.com'); To unsubscribe from Lilypond, click here http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_codenode=2code=dGlzaW1zdC5saWx5cG9uZEBnbWFpbC5jb218Mnw4MzU3Njg3MDU= . NAML http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewerid=instant_html%21nabble%3Aemail.namlbase=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespacebreadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml -- View this message in context: http://lilypond.1069038.n5.nabble.com/LilyJAZZ-tp179970p180036.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
Re: A call to Cantique de Fauré
Hello, I’ve started to clean up the scanned version, and there’s still work ahead. Franck, what is your deadline? I’ll be happy to contribute the LP code once this is done, but I need some time. JM Le 23 août 2015 à 23:07, Brian Barker b.m.bar...@btinternet.com a écrit : At 21:58 23/08/2015 +0100, Brian Barker wrote: At 22:46 23/08/2015 +0200, Simon Albrecht wrote: Am 23.08.2015 um 20:00 schrieb Ali Cuota: Does somebody [know] where to find the Cantique de Jean Racine in Ly? Mutopia, cpdl, imslp and so far google say no. :-( In https://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00295.html Sir Michiel Lange was asking about a solution for manual changes, so maybe he can help? Well, apparently Mr. Lange did not choose to publish his code, then. I don't know of any platform besides the three you mentioned where such code might be found, so you'll probably have to do it yourself, and be the first to contribute it on any of these :-) Well, I do - and I've already replied to the list (and to the questioner) with my discovery. But the list has - as it sometimes does - decided to censor my contribution and not accept it and publish it. If anyone knows why it discriminates against me (and some others) in this way, I'd like to know. Weirdly, the list has condescended to publish this comment but not my original suggestion, which was: Try http://www.uma.es/victoria/varios/ly/Faure-Cantique_De_Jean_Racine.ly (and http://www.uma.es/victoria/varios/pdf/Faure-Cantique_De_Jean_Racine.pdf ). Copyright issues are your responsibility. Brian Sherlock Barker ___ 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
Re: vertical spacing of rests
I tried this on the two test cases, and there seems to be no difference between the behavior of empty-stencil and #f (i.e., it doesn't work). -- Peter Paul Morris wrote: On Aug 23, 2015, at 4:29 PM, Peter Selinger selin...@mathstat.dal.ca wr= ote: =20 - (ly:grob-set-property! rest 'stencil #f) + (ly:grob-set-property! rest 'Y-offset offset) I wonder if this might work instead: (ly:grob-set-property! rest 'stencil empty-stencil) Just an untested idea=E2=80=A6 -Paul= ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
2015-08-23 22:29 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca: Point taken. So I was wrong: it's not possible to remove the stencils for redundant rests, or else fermatas in that voice don't have anything to attach to. Well, wait a little. I'd say we need to do something with grobs belonging to removed ones. MultiMeasureRestNumber, MultiMeasureRestText for MultiMeasureRests TextScript (and maybe others) for simple Rests. That might be doable. Though, my time is very limited, will last before I can go for a try ... Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
On Aug 23, 2015, at 4:29 PM, Peter Selinger selin...@mathstat.dal.ca wrote: - (ly:grob-set-property! rest 'stencil #f) + (ly:grob-set-property! rest 'Y-offset offset) I wonder if this might work instead: (ly:grob-set-property! rest 'stencil empty-stencil) Just an untested idea… -Paul ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: LilyJAZZ
On Aug 23, 2015, at 1:37 PM, Tim McNamara tim...@bitstream.net wrote: On Aug 23, 2015, at 6:56 AM, BB bb-543...@telecolumbus.net wrote: snip Does anybody sucessful use LilyJAZZ? Yes, I have been using it for over a year with excellent results, although there are some quirks. For example, it kills bar numbering. It also interferes with \improvisationOn and I have to turn off LilyJazz to be able to use that. Also, looking at the web page that was referenced in other threads, it appears that the old LilyJAZZ font has been completely replaced (looking at the example lead sheet). To my eyes the old font was much better and I won’t be updating to the new version. The new version looks awkward and doesn’t visually flow very well. YMMV. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Way to flatten nested \include's?
Greetings, Well, I am writing a delightful Scheme program to do the job right now, since I read your request. It may only be occasionally useful, but still worth having. You don;t have to use every tool in the workshop every day. Although it can be written in Python or any language, I felt Scheme is in the spirit of lilypond. Andrew ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Point taken. So I was wrong: it's not possible to remove the stencils for redundant rests, or else fermatas in that voice don't have anything to attach to. So the behavior of Jay's original code was the better one, i.e., to force all the redundant rests to the same coordinates, but to retain their glyphs. In addition, dots should be removed from all but one of them. Another bug was also present in my previous example (rests5.pdf from my last email): the two quarter rests in the first measure weren't vertically centered. I am not entirely sure why this happens, and why it only affects quarter rests, but the following patch-to-my-patch happens to fix both problems at the same time. --- /tmp/definition.ily 2015-08-23 17:15:54.591816683 -0300 +++ definition.ily 2015-08-23 17:15:29.044253078 -0300 @@ -24,7 +24,7 @@ (ly:grob-set-property! (car rests) 'Y-offset offset) (for-each (lambda (rest) - (ly:grob-set-property! rest 'stencil #f) + (ly:grob-set-property! rest 'Y-offset offset) (if (not (null? (ly:grob-object rest 'dot))) (ly:grob-set-property! (ly:grob-object rest 'dot) 'stencil #f))) (cdr rests))) This seems to work fine with your example as well as mine. Of course further testing may be needed to ensure that it works in all other cases. Apart from an equivalent refactoring of the Scheme code, the only two lines that now differ from Jay's version are the two lines (if (not (null? ... #f)). I'm also attaching the patched file definition.ly as a whole, for ease of reference. -- Peter Thomas Morley wrote: 2015-08-23 21:21 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca: Thomas Morley wrote: Anyway, if you want to have the dots for rests affected as well, you need to adress them through the Rest: \version 2.19.25 omit-rest-and-dots = \override Rest.after-line-breaking = #(lambda (grob) (ly:grob-set-property! grob 'stencil #f) (if (not (null? (ly:grob-object grob 'dot))) (ly:grob-set-property! (ly:grob-object grob 'dot) 'stencil #f))) centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \omit-rest-and-dots r4 c r d | r2. e4 d2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 c2. a4 } Great, that is just the information I was missing in order to fix Jay's Scheme code. Attached is an updated version of https://github.com/openlilylib/openlilylib/blob/master/editorial-tools/merge-rests-engraver/definition.ily that now works correctly for dotted rests (as well as double-dotted rests, full-measure rests, and so on). I am attaching the full file, as well as a patch. I factored the actual rest-merging code into a separate Scheme function that is shared by both merge-rests-engraver and merge-mmrests-engraver -- this is probably technically unnecessary because multi-measure rests are not usually dotted. Still I think it is better to engrave just one glyph for the merged rests, rather than a bunch of identical glyphs at the same coordinate. Also, having it as a separate function is easier to comprehend than deeply-nested Scheme. Hi Peter, glad I could help. Though, reading up the whole thread I got some concerns and did some further testing. Try with your updated engravers: \layout { \context { \Staff \consists #merge-rests-engraver } \context { \Staff \consists #merge-mmrests-engraver } \compressFullBarRests } \new Staff \new Voice { \voiceOne R1*3^\fermataMarkup } \new Voice { \voiceTwo R1*3_\fermataMarkup } Looks some more work has to be done ... png attached If you all agree that this patch works correctly, hopefully someone with commit privileges can merge it into git? Afaik, there are still some problems with scheme-engravers in the source-code. But I may be wrong here. Cheers, Harm \version 2.18.0 \header { snippet-title = merge-rests-engraver snippet-author = Jay Anderson snippet-source = http://www.mail-archive.com/lilypond-user%40gnu.org/msg69608.html; snippet-description = \markup { Merge rests of equal duration in different voice } tags = merge, rest, rests, voice, voices status = ready } #(define has-one-or-less (lambda (lst) (or (null? lst) (null? (cdr lst) #(define has-at-least-two (lambda (lst) (not (has-one-or-less lst #(define (all-equal lst pred) (or (has-one-or-less lst) (and (pred (car lst) (cadr lst)) (all-equal (cdr lst) pred % merge a list of rests, by moving the first one to the specified % offset, and disabling all the other ones including any associated dots. #(define (merge-to-offset rests offset) (ly:grob-set-property! (car rests) 'Y-offset offset) (for-each (lambda (rest) (ly:grob-set-property! rest 'Y-offset offset) (if
Re: A call to Cantique de Fauré
Am 23.08.2015 um 20:00 schrieb Ali Cuota: Hello, Does somebody where to find the Cantique de Jean Racine in Ly? Mutopia, cpdl, imslp and so far google say no. :-( In https://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00295.html Sir Michiel Lange was asking about a solution for manual changes, so maybe he can help? Well, apparently Mr. Lange did not choose to publish his code, then. I don’t know of any platform besides the three you mentioned where such code might be found, so you’ll probably have to do it yourself, and be the first to contribute it on any of these :-) Yours, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A call to Cantique de Fauré
At 22:46 23/08/2015 +0200, Simon Albrecht wrote: Am 23.08.2015 um 20:00 schrieb Ali Cuota: Does somebody [know] where to find the Cantique de Jean Racine in Ly? Mutopia, cpdl, imslp and so far google say no. :-( In https://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00295.html Sir Michiel Lange was asking about a solution for manual changes, so maybe he can help? Well, apparently Mr. Lange did not choose to publish his code, then. I don't know of any platform besides the three you mentioned where such code might be found, so you'll probably have to do it yourself, and be the first to contribute it on any of these :-) Well, I do - and I've already replied to the list (and to the questioner) with my discovery. But the list has - as it sometimes does - decided to censor my contribution and not accept it and publish it. If anyone knows why it discriminates against me (and some others) in this way, I'd like to know. Brian Barker ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A call to Cantique de Fauré
At 21:58 23/08/2015 +0100, Brian Barker wrote: At 22:46 23/08/2015 +0200, Simon Albrecht wrote: Am 23.08.2015 um 20:00 schrieb Ali Cuota: Does somebody [know] where to find the Cantique de Jean Racine in Ly? Mutopia, cpdl, imslp and so far google say no. :-( In https://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00295.html Sir Michiel Lange was asking about a solution for manual changes, so maybe he can help? Well, apparently Mr. Lange did not choose to publish his code, then. I don't know of any platform besides the three you mentioned where such code might be found, so you'll probably have to do it yourself, and be the first to contribute it on any of these :-) Well, I do - and I've already replied to the list (and to the questioner) with my discovery. But the list has - as it sometimes does - decided to censor my contribution and not accept it and publish it. If anyone knows why it discriminates against me (and some others) in this way, I'd like to know. Weirdly, the list has condescended to publish this comment but not my original suggestion, which was: Try http://www.uma.es/victoria/varios/ly/Faure-Cantique_De_Jean_Racine.ly (and http://www.uma.es/victoria/varios/pdf/Faure-Cantique_De_Jean_Racine.pdf ). Copyright issues are your responsibility. Brian Sherlock Barker ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user