Re: fret-diagrams.scm:657:42: Wrong type: #f
OK thanks for all your suggestions ... the error was very simple - one space too much here \stopStaff s2 s_\markup {\bold D dur}^\markup{{\fret-diagram #s:6;h:5; -!! 6-2;6-3;6-5;5-2;5-4;5-5;4-2;4-4;4-5;3-2;3-4;2-2;2-3;2-5;1-2;1-3;1-5;}} I didn't show in my posting because of the automatic line breaking. -- View this message in context: http://lilypond.1069038.n5.nabble.com/fret-diagrams-scm-657-42-Wrong-type-f-tp179802p179924.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
ClausRogge claus.ro...@aon.at writes: OK thanks for all your suggestions ... the error was very simple - one space too much here \stopStaff s2 s_\markup {\bold D dur}^\markup{{\fret-diagram #s:6;h:5; -!! 6-2;6-3;6-5;5-2;5-4;5-5;4-2;4-4;4-5;3-2;3-4;2-2;2-3;2-5;1-2;1-3;1-5;}} I didn't show in my posting because of the automatic line breaking. 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. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Patch/issue procedures (was: Randomness in layout)
David Nalesnik david.nales...@gmail.com writes: [Patch] Maybe put it up on Rietveld and post a pointer on bug-lilypond? Even when it does not make all that much sense to create a new Google issue for it, my original suggestion to post patch series to bug-lilypond while we are transitioning seems nonsensical since it's Google Code that is shutting down rather than Rietveld. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
question about putting music expressions in sequence
Hello, I have a question about using lyrics with automatic syllable durations, when putting music expressions in sequence. The Learning Manual states: Putting a group of music expressions (e.g. notes) in braces means that they are in sequence (i.e. each one follows the previous one). The result is another music expression. I have a piece consistsing of several verses that must be engraved individually (each verse has a different melody and accompaniment). I'd like to arrange the input file so that the data is grouped by verse (rather than by voice). I was able to make this work using sequencing like this (see test1.pdf): \version 2.18.2 { % First verse \new Voice = up \relative c' { e f g a } \new Lyrics = lyrics \lyricmode { Words to first verse } \new Voice = down \relative c' { c d e f } % Seconds verse \context Voice = up \relative c' { f g a b } \context Lyrics = lyrics \lyricmode { Words to next verse } \context Voice = down \relative c' { d e f g } } However, this only works as long as I enter manual syllable durations. If I try to use automatic syllable durations, everything breaks (see test2.pdf): \version 2.18.2 { % First verse \new Voice = up \relative c' { e f g a } \new Lyrics = lyrics \lyricsto up { Words to first verse } \new Voice = down \relative c' { c d e f } % Seconds verse \context Voice = up \relative c' { f g a b } \context Lyrics = lyrics \lyricsto up { Words to next verse } \context Voice = down \relative c' { d e f g } } Not only does the second set of lyrics generate an error message, but also the notes to the second verse are not typeset at all, and an extra (empty) pair of staves is generated. Is there a way to make this work? (I realize that I could put all the information into variables, and rearrange the expression to be grouped by voice rather than verse. However, I am looking for a way to make the above grouping work). Thanks, -- Peter test2.pdf Description: PDF document, version 1.4 test1.pdf Description: PDF document, version 1.4 ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Tablature - Hiding Tied Notes
hi mike1951 As i said i only used tab for setting up certain functions - and only looked at full-notation once - i think. So I have absolutely no idea what you are after or what it should look like. My knowledge on tab is limited to perhaps only a few days of experimentation. Perhaps someone familiar with tab would know. Or post an image of the desired output and I can see the differences. Stephen ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: question about putting music expressions in sequence
- Original Message - From: Peter Selinger selin...@mathstat.dal.ca To: lilypond-user@gnu.org Sent: Saturday, August 22, 2015 3:32 PM Subject: question about putting music expressions in sequence Hello, I have a question about using lyrics with automatic syllable durations, when putting music expressions in sequence. The Learning Manual states: Putting a group of music expressions (e.g. notes) in braces means that they are in sequence (i.e. each one follows the previous one). The result is another music expression. I have a piece consistsing of several verses that must be engraved individually (each verse has a different melody and accompaniment). I'd like to arrange the input file so that the data is grouped by verse (rather than by voice). I was able to make this work using sequencing like this (see test1.pdf): \version 2.18.2 { % First verse \new Voice = up \relative c' { e f g a } \new Lyrics = lyrics \lyricmode { Words to first verse } \new Voice = down \relative c' { c d e f } % Seconds verse \context Voice = up \relative c' { f g a b } \context Lyrics = lyrics \lyricmode { Words to next verse } \context Voice = down \relative c' { d e f g } } However, this only works as long as I enter manual syllable durations. If I try to use automatic syllable durations, everything breaks (see test2.pdf): \version 2.18.2 { % First verse \new Voice = up \relative c' { e f g a } \new Lyrics = lyrics \lyricsto up { Words to first verse } \new Voice = down \relative c' { c d e f } % Seconds verse \context Voice = up \relative c' { f g a b } \context Lyrics = lyrics \lyricsto up { Words to next verse } \context Voice = down \relative c' { d e f g } } Not only does the second set of lyrics generate an error message, but also the notes to the second verse are not typeset at all, and an extra (empty) pair of staves is generated. Is there a way to make this work? (I realize that I could put all the information into variables, and rearrange the expression to be grouped by voice rather than verse. However, I am looking for a way to make the above grouping work). It looks to me that you have posted the same example twice, both of which work as planned, and neither of which provides the output you've attached. Please check. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
It would be nice if this were just newbie question, but all of us old-bies and have to deal with it all the time. It would be really nice if Lilypond just combined the rests as it should. -- View this message in context: http://lilypond.1069038.n5.nabble.com/vertical-spacing-of-rests-tp179947p179951.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-22 10:46 GMT+02:00 David Kastrup d...@gnu.org: ClausRogge claus.ro...@aon.at writes: OK thanks for all your suggestions ... the error was very simple - one space too much here \stopStaff s2 s_\markup {\bold D dur}^\markup{{\fret-diagram #s:6;h:5; -!! 6-2;6-3;6-5;5-2;5-4;5-5;4-2;4-4;4-5;3-2;3-4;2-2;2-3;2-5;1-2;1-3;1-5;}} I didn't show in my posting because of the automatic line breaking. 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. -- David Kastrup 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 Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Patch/issue procedures (was: Randomness in layout)
David, On Sat, Aug 22, 2015 at 2:24 AM, David Kastrup d...@gnu.org wrote: David Nalesnik david.nales...@gmail.com writes: [Patch] Maybe put it up on Rietveld and post a pointer on bug-lilypond? Even when it does not make all that much sense to create a new Google issue for it, my original suggestion to post patch series to bug-lilypond while we are transitioning seems nonsensical since it's Google Code that is shutting down rather than Rietveld. OK, makes perfect sense. I'll finish up the patch, and attach it to the thread Harm started on the bug list. David N. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
Am 23.08.2015 um 00:48 schrieb Michael Rivers: It would be nice if this were just newbie question, but all of us old-bies and have to deal with it all the time. It would be really nice if Lilypond just combined the rests as it should. That would have to be discussed, but I agree that it would be a reasonable feature request. Even the NBA (New Bach Edition) of BWV 849/2 (Fuga in c sharp minor à 5) combines the (multi measure) rests at the beginning in the upper staff, where all three voices have rests. Yours, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
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? -- 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
Re: vertical spacing of rests
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
Re: vertical spacing of rests
Klaus, 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. -- Peter % \version 2.19.25 centerRests = { \override Rest.staff-position = #0 } \new Staff \new Voice \relative c'' { \voiceOne \centerRests r c r d | r2. e4 } \new Voice \relative c'' { \voiceTwo \centerRests r4 a8 a8 r4 b8 b8 | r2. c4 } % 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 rests1.pdf Description: PDF document, version 1.4 ___ 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-22 10:46 GMT+02:00 David Kastrup d...@gnu.org: ClausRogge claus.ro...@aon.at writes: OK thanks for all your suggestions ... the error was very simple - one space too much here \stopStaff s2 s_\markup {\bold D dur}^\markup{{\fret-diagram #s:6;h:5; -!! 6-2;6-3;6-5;5-2;5-4;5-5;4-2;4-4;4-5;3-2;3-4;2-2;2-3;2-5;1-2;1-3;1-5;}} I didn't show in my posting because of the automatic line breaking. 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. -- David Kastrup 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. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
2015-08-23 0:37 GMT+02:00 Thomas Morley thomasmorle...@gmail.com: 2015-08-23 0:01 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca: Hello again, this is a true newbie question. I am trying to engrave two polyphonic voices on a single staff. Since the two voices have all their rests in common, I only want to typeset each rest once, so I use spacer rests in the second voice. Still the vertical spacing is such that all the rests are put near the top of the staff. I would like them to appear in their normal positions. From the manual, I know two ways to do this. Solution 1 is to enclose each rest between \oneVoice and \voiceOne, forcing standard vertical spacing: \version 2.19.25 \new Staff \new Voice \relative c'' { \voiceOne { \oneVoice r \voiceOne c \oneVoice r \voiceOne d %%% } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } Solution 2 is to specify an explicit vertical position for each rest. \version 2.19.25 \new Staff \new Voice \relative c'' { \voiceOne { b4\rest c b\rest \voiceOne d } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } Neither solution is particularly elegant, as they both require every rest to be marked up individually. 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? Thanks, -- Peter Some more possibilities: \new Staff \new Voice \relative c'' { \voiceOne { %% Forgot: use one of those, comment the other ;) %% \voiceOne sets Rest.direction to 1, revert it \revert Rest.direction %% specify staff-position \override Rest.staff-position = #0 r c r d } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } or use http://lsr.di.unimi.it/LSR/Item?id=336 or http://www.mail-archive.com/lilypond-user%40gnu.org/msg69645.html which works for MultiMeasureRests as well. HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: vertical spacing of rests
2015-08-23 0:01 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca: Hello again, this is a true newbie question. I am trying to engrave two polyphonic voices on a single staff. Since the two voices have all their rests in common, I only want to typeset each rest once, so I use spacer rests in the second voice. Still the vertical spacing is such that all the rests are put near the top of the staff. I would like them to appear in their normal positions. From the manual, I know two ways to do this. Solution 1 is to enclose each rest between \oneVoice and \voiceOne, forcing standard vertical spacing: \version 2.19.25 \new Staff \new Voice \relative c'' { \voiceOne { \oneVoice r \voiceOne c \oneVoice r \voiceOne d %%% } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } Solution 2 is to specify an explicit vertical position for each rest. \version 2.19.25 \new Staff \new Voice \relative c'' { \voiceOne { b4\rest c b\rest \voiceOne d } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } Neither solution is particularly elegant, as they both require every rest to be marked up individually. 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? Thanks, -- Peter Some more possibilities: \new Staff \new Voice \relative c'' { \voiceOne { %% \voiceOne sets Rest.direction to 1, revert it \revert Rest.direction %% specify staff-position \override Rest.staff-position = #0 r c r d } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } or use http://lsr.di.unimi.it/LSR/Item?id=336 or http://www.mail-archive.com/lilypond-user%40gnu.org/msg69645.html which works for MultiMeasureRests as well. HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Patch/issue procedures (was: Randomness in layout)
On Sat, Aug 22, 2015 at 6:00 PM, David Nalesnik david.nales...@gmail.com wrote: David, On Sat, Aug 22, 2015 at 2:24 AM, David Kastrup d...@gnu.org wrote: David Nalesnik david.nales...@gmail.com writes: [Patch] Maybe put it up on Rietveld and post a pointer on bug-lilypond? Even when it does not make all that much sense to create a new Google issue for it, my original suggestion to post patch series to bug-lilypond while we are transitioning seems nonsensical since it's Google Code that is shutting down rather than Rietveld. OK, makes perfect sense. I'll finish up the patch, and attach it to the thread Harm started on the bug list. David N. Uh...misfire of the brain. That would be put something up on Rietveld and post a link to it on the buglist thread... DN ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Way to flatten nested \include's?
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
Re: vertical spacing of rests
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
vertical spacing of rests
Hello again, this is a true newbie question. I am trying to engrave two polyphonic voices on a single staff. Since the two voices have all their rests in common, I only want to typeset each rest once, so I use spacer rests in the second voice. Still the vertical spacing is such that all the rests are put near the top of the staff. I would like them to appear in their normal positions. From the manual, I know two ways to do this. Solution 1 is to enclose each rest between \oneVoice and \voiceOne, forcing standard vertical spacing: \version 2.19.25 \new Staff \new Voice \relative c'' { \voiceOne { \oneVoice r \voiceOne c \oneVoice r \voiceOne d %%% } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } Solution 2 is to specify an explicit vertical position for each rest. \version 2.19.25 \new Staff \new Voice \relative c'' { \voiceOne { b4\rest c b\rest \voiceOne d } } \new Voice \relative c'' { \voiceTwo { s4 a8 a8 s4 b8 b8 } } Neither solution is particularly elegant, as they both require every rest to be marked up individually. 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? Thanks, -- Peter ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Distance of grob to barlines
On Sat, Aug 22, 2015 at 11:55 AM, David Nalesnik david.nales...@gmail.com wrote: Hi Andrew, On Fri, Aug 21, 2015 at 6:51 PM, Andrew Bernard andrew.bern...@gmail.com wrote: Can anybody kindly point me to code examples showing how to find the distance of a grob to its nearest enclosing barlines, in Scheme? I don't know of any examples out there, be this will do it. This uses the horizontal coordinate of the grob and barline as a simple demonstration. Depending on what precisely you mean by distance (right edge to left edge, left edge to right edge, etc.) you may want to use ly:grob-extent. That is, instead of ly:grob-relative-coordinate. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: question about putting music expressions in sequence
Dear David, Phil, and Thomas, thanks for your quick replies! I'm surprised that as a newbie, I was able to find a bug in less than 24 hours of using Lilypond. But it's fortunate that it has already been fixed! I had double-checked that 2.18.2 is the most current version by checking that it is the version described in the documentation: http://www.lilypond.org/website/manuals.html But I had forgotten that there is also an unstable release. Great, thanks again for your help! I'll report back in case I run into any more problems. -- Peter David Kastrup wrote: Phil Holmes m...@philholmes.net writes: It looks to me that you have posted the same example twice, both of which work as planned, and neither of which provides the output you've attached. Please check. Well, let's see: First version: \new Lyrics = lyrics \lyricmode { Words to first verse } [...] \context Lyrics = lyrics \lyricmode { Words to next verse } Second version: \new Lyrics = lyrics \lyricsto up { Words to first verse } [...] \context Lyrics = lyrics \lyricsto up { Words to next verse } Looks different to me. Also, either version: \version 2.18.2 And indeed, version 2.18.2 falls flat rather uglily on the second version while current LilyPond versions have no problem with it. This is issue 2010 URL:https://code.google.com/p/lilypond/issues/detail?id=2010, fixed in version 2.19.16 but likely not in a manner where this example would work. I suspect this example would require the fix from issue 4419 URL:https://code.google.com/p/lilypond/issues/detail?id=4419 in order not to be stopped short, meaning a version of LilyPond of 2.19.23 or later. Is there a way to make this work? (I realize that I could put all the information into variables, and rearrange the expression to be grouped by voice rather than verse. However, I am looking for a way to make the above grouping work). Upgrade. The respective fixes are in C++ code so there is no way you can just patch up some parts of LilyPond. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: question about putting music expressions in sequence
selin...@mathstat.dal.ca (Peter Selinger) writes: Dear David, Phil, and Thomas, thanks for your quick replies! I'm surprised that as a newbie, I was able to find a bug in less than 24 hours of using Lilypond. Well, it is a bug of the we don't do it like that kind that newbies are more likely to encounter than old hands. Of course, that we don't do it like that might be related to those problems having defied fixes for a number of years. But it's fortunate that it has already been fixed! I had double-checked that 2.18.2 is the most current version by checking that it is the version described in the documentation: http://www.lilypond.org/website/manuals.html But I had forgotten that there is also an unstable release. Well, there were several changes in behavior in the last months so it actually deserves the name. It's rare that an unstable release is unusable. But that has also happened for some use cases. But if one does not mind updating somewhat more frequently (and, in the case of a personal emergency, paddling back), the unstable releases tend to be more user-friendly after some time than the stable ones. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: question about putting music expressions in sequence
Phil Holmes m...@philholmes.net writes: It looks to me that you have posted the same example twice, both of which work as planned, and neither of which provides the output you've attached. Please check. Well, let's see: First version: \new Lyrics = lyrics \lyricmode { Words to first verse } [...] \context Lyrics = lyrics \lyricmode { Words to next verse } Second version: \new Lyrics = lyrics \lyricsto up { Words to first verse } [...] \context Lyrics = lyrics \lyricsto up { Words to next verse } Looks different to me. Also, either version: \version 2.18.2 And indeed, version 2.18.2 falls flat rather uglily on the second version while current LilyPond versions have no problem with it. This is issue 2010 URL:https://code.google.com/p/lilypond/issues/detail?id=2010, fixed in version 2.19.16 but likely not in a manner where this example would work. I suspect this example would require the fix from issue 4419 URL:https://code.google.com/p/lilypond/issues/detail?id=4419 in order not to be stopped short, meaning a version of LilyPond of 2.19.23 or later. Is there a way to make this work? (I realize that I could put all the information into variables, and rearrange the expression to be grouped by voice rather than verse. However, I am looking for a way to make the above grouping work). Upgrade. The respective fixes are in C++ code so there is no way you can just patch up some parts of LilyPond. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
RE: Tablature - Hiding Tied Notes
I figured out the solution. The snippet I mentioned in my post was used in the following statement, which would have (I suppose) taken care of a tied-to note at the beginning of a measure: \override Tie #'after-line-breaking = #tie::tab-clear-tied-fret-numbers Adding the following statement just below it solved my problem: \override Tie #'before-line-breaking = #tie::tab-clear-tied-fret-numbers Bother overrides are in the \layout block in the \TabStaff context. I use a lot of intra-measure ties for aesthetic reasons, so I was getting tired of keying \hide before every tied-to note. I'd still like to know why I didn't need the 2nd override back in Fedora 17. The behavior changed some time after release and was present in F21, the release I installed after F17. It's hard to eliminate all ignorance. -- View this message in context: http://lilypond.1069038.n5.nabble.com/Tablature-Hiding-Tied-Notes-tp179883p179936.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: Coloring of key signature accidentals based on their pitch
Hi David, On Aug 21, 2015, at 9:57 AM, David Nalesnik david.nales...@gmail.com wrote: You're welcome. Just for kicks, I've attached a .cc file which you could drop into the lily subdirectory and build. It makes Line_interface::line available to Scheme. You'd just need to replace the two instances in the hairpin function with calls to ly:line-interface:line. So, lines 405-10 become (set! mol (ly:line-interface::line grob x starth width endh)) (set! mol (ly:stencil-add mol (ly:line-interface::line grob x (- starth) width (- endh This enables drawing of the different line styles (dashed, zigzag, etc), based on overrides of Hairpin. AFAICT this makes the Scheme stencil callback have all the same functionality as the C++ original. So \override Hairpin.style = #'zigzag will work. You can also override dash-definition, and the like. (I will put this new line function forward as a patch for review when the system is over the upcoming bump.) Nice! It’s cool to see how you’re doing this kind of thing with a relatively simple example. Seeing how you’ve done these is giving me some confidence that I might be able to do the same for the ledger line print function. I looked at this briefly, enough to see that it will be more involved! You'll need to track down the data structures used there and see if there's a convenient Scheme alternative But pretty complicated things are possible--see the Scheme rewrite of the ambitus engraver in the snippets. Yep, it still looks pretty daunting on closer inspection. Seems like the ledger requests data structure stuff could be redone with some nested alists. We’ll see. Thanks for the tip on that ambitus snippet – it is impressive! I hadn’t looked at it before. I made a “commented c++” version of your hairpin code. This time I used somewhat larger blocks of code which works better than line by line. I ended up also redoing the key signature file that way while I was at it — and made the paren correction. Both attached. Thanks! The larger blocks of code are a good idea, especially when the translation becomes less line-for-line. (I kept pretty literal in my adaptation, though.) I found an error in the hairpin code rewrite--we need to exit the entire function when a bad grow-direction is found, so everything after line 44 needs to be a clause of the if-structure beginning in 41. Simple removal of the parenthesis in 44 and addition of one at the end fixes this. I went ahead and attached the correction with the indentation redone. In this connection, I'm noticing is that it's easy to get very nested structures in Scheme when the C++ original exits at a number of points through returns. Maybe there's an easy way to avoid this but I don't know of it. Good catch, thanks! The only thing I can think of to prevent this nesting is to split the function into separate functions and chain them together. So you would either call the next function or “return early” without calling it. All the needed data would be passed through as parameters. Not sure if that’s a good approach (performance wise) or not. On the one hand the additional functions aren’t even called in some cases, on the other hand you have more functions that get called when they are all needed. Cheers, -Paul ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: question about putting music expressions in sequence
Hi Phil, I just double-checked: * my two posted code snippets are not the same (the first uses \lyricmode and the second uses \lyricsto, as I had mentioned in the accompanying text). * the two posted code snippets produce exactly the respective output I attached. I'm using GNU LilyPond 2.18.2, as included in the current Ubuntu distribution. Could you double-check that you really can't reproduce the output? Thanks, -- Peter Phil Holmes wrote: - Original Message - From: Peter Selinger selin...@mathstat.dal.ca To: lilypond-user@gnu.org Sent: Saturday, August 22, 2015 3:32 PM Subject: question about putting music expressions in sequence Hello, I have a question about using lyrics with automatic syllable durations, when putting music expressions in sequence. The Learning Manual states: Putting a group of music expressions (e.g. notes) in braces means that they are in sequence (i.e. each one follows the previous one). The result is another music expression. I have a piece consistsing of several verses that must be engraved individually (each verse has a different melody and accompaniment). I'd like to arrange the input file so that the data is grouped by verse (rather than by voice). I was able to make this work using sequencing like this (see test1.pdf): \version 2.18.2 { % First verse \new Voice = up \relative c' { e f g a } \new Lyrics = lyrics \lyricmode { Words to first verse } \new Voice = down \relative c' { c d e f } % Seconds verse \context Voice = up \relative c' { f g a b } \context Lyrics = lyrics \lyricmode { Words to next verse } \context Voice = down \relative c' { d e f g } } However, this only works as long as I enter manual syllable durations. If I try to use automatic syllable durations, everything breaks (see test2.pdf): \version 2.18.2 { % First verse \new Voice = up \relative c' { e f g a } \new Lyrics = lyrics \lyricsto up { Words to first verse } \new Voice = down \relative c' { c d e f } % Seconds verse \context Voice = up \relative c' { f g a b } \context Lyrics = lyrics \lyricsto up { Words to next verse } \context Voice = down \relative c' { d e f g } } Not only does the second set of lyrics generate an error message, but also the notes to the second verse are not typeset at all, and an extra (empty) pair of staves is generated. Is there a way to make this work? (I realize that I could put all the information into variables, and rearrange the expression to be grouped by voice rather than verse. However, I am looking for a way to make the above grouping work). It looks to me that you have posted the same example twice, both of which work as planned, and neither of which provides the output you've attached. Please check. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Tablature - Hiding Tied Notes
2015-08-22 16:50 GMT+02:00 Stephen MacNeil classicalja...@gmail.com: hi mike1951 As i said i only used tab for setting up certain functions - and only looked at full-notation once - i think. So I have absolutely no idea what you are after or what it should look like. My knowledge on tab is limited to perhaps only a few days of experimentation. Perhaps someone familiar with tab would know. Or post an image of the desired output and I can see the differences. Stephen This thread is missing two things: 1) The initial post, it didn't appear on the mailinglist up to now. I now c/p from nabble http://lilypond.1069038.n5.nabble.com/Tablature-Hiding-Tied-Notes-td179883.html I used to add a snippet to my Lilypond tablature files that would automatically hide the tied-to note, but newer versions have broken the snippet. Is there another (elegant) way to do this? I'm using '\hide' for now, but I do a lot of ties, so I'd like it to be the default behavior. The snippet I used, but no longer works is: #(define (tie::tab-clear-tied-fret-numbers grob) (let* ((tied-fret-nr (ly:spanner-bound grob RIGHT))) (ly:grob-set-property! tied-fret-nr 'transparent #t))) Can this be fixed? Thanks for any help. Mike 2) An example. Containing the above definition, using it (how? where?) and the versions: when did it work? when did it stop working? Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: question about putting music expressions in sequence
2015-08-22 16:32 GMT+02:00 Peter Selinger selin...@mathstat.dal.ca: Hello, I have a question about using lyrics with automatic syllable durations, when putting music expressions in sequence. The Learning Manual states: Putting a group of music expressions (e.g. notes) in braces means that they are in sequence (i.e. each one follows the previous one). The result is another music expression. I have a piece consistsing of several verses that must be engraved individually (each verse has a different melody and accompaniment). I'd like to arrange the input file so that the data is grouped by verse (rather than by voice). I was able to make this work using sequencing like this (see test1.pdf): \version 2.18.2 { % First verse \new Voice = up \relative c' { e f g a } \new Lyrics = lyrics \lyricmode ^^^ { Words to first verse } \new Voice = down \relative c' { c d e f } % Seconds verse \context Voice = up \relative c' { f g a b } \context Lyrics = lyrics \lyricmode { Words to next verse } \context Voice = down \relative c' { d e f g } } However, this only works as long as I enter manual syllable durations. If I try to use automatic syllable durations, everything breaks (see test2.pdf): \version 2.18.2 { % First verse \new Voice = up \relative c' { e f g a } \new Lyrics = lyrics \lyricsto up ^^^ { Words to first verse } \new Voice = down \relative c' { c d e f } % Seconds verse \context Voice = up \relative c' { f g a b } \context Lyrics = lyrics \lyricsto up { Words to next verse } \context Voice = down \relative c' { d e f g } } Not only does the second set of lyrics generate an error message, but also the notes to the second verse are not typeset at all, and an extra (empty) pair of staves is generated. Is there a way to make this work? (I realize that I could put all the information into variables, and rearrange the expression to be grouped by voice rather than verse. However, I am looking for a way to make the above grouping work). Thanks, -- Peter I'd recommend upgrading 2.19.25 prints for your second example the attached. As wanted, I guess Cheers, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: question about putting music expressions in sequence
- Original Message - From: Peter Selinger selin...@mathstat.dal.ca To: Phil Holmes m...@philholmes.net Cc: lilypond-user@gnu.org Sent: Saturday, August 22, 2015 4:05 PM Subject: Re: question about putting music expressions in sequence Hi Phil, I just double-checked: * my two posted code snippets are not the same (the first uses \lyricmode and the second uses \lyricsto, as I had mentioned in the accompanying text). * the two posted code snippets produce exactly the respective output I attached. I'm using GNU LilyPond 2.18.2, as included in the current Ubuntu distribution. Could you double-check that you really can't reproduce the output? Thanks, -- Peter Apologies: looked but did not see. I'm using 2.19.23 currently, and for both snippets this works as you would want. I suggest an update might be in order. -- Phil Holmes ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Distance of grob to barlines
Hi Andrew, On Fri, Aug 21, 2015 at 6:51 PM, Andrew Bernard andrew.bern...@gmail.com wrote: Can anybody kindly point me to code examples showing how to find the distance of a grob to its nearest enclosing barlines, in Scheme? I don't know of any examples out there, be this will do it. This uses the horizontal coordinate of the grob and barline as a simple demonstration. Depending on what precisely you mean by distance (right edge to left edge, left edge to right edge, etc.) you may want to use ly:grob-extent. HTH, David %% \version 2.19.23 #(define (distance-to-nearest-barline dir) (lambda (grob) (let* ((refp (ly:grob-system grob)) (all-elts (ly:grob-array-list (ly:grob-object refp 'all-elements))) (barlines (filter (lambda (elt) (grob::has-interface elt 'bar-line-interface)) all-elts)) (me-pos (grob::rhythmic-location grob)) (pred? (if (= LEFT dir) rhythmic-location=? rhythmic-location?)) (closest (filter (lambda (b) (pred? me-pos (grob::rhythmic-location b))) barlines)) (closest (reduce (lambda (elem prev) (if (pred? (grob::rhythmic-location prev) (grob::rhythmic-location elem)) prev elem)) #f closest))) (if closest (let* ((me-X (ly:grob-relative-coordinate grob refp X)) (closest-X (ly:grob-relative-coordinate closest refp X)) (dist (- closest-X me-X))) (ly:grob-set-property! grob 'color darkgreen) ; for testing (ly:grob-set-property! closest 'color red) ; for testing (format #t distance between ~a and ~a: ~a~% grob closest dist)) (ly:message No closest barline!) { c'4 d' e' \once \override NoteHead.after-line-breaking = #(distance-to-nearest-barline RIGHT) f' d'1 c'4 d' e' \once \override Stem.after-line-breaking = #(distance-to-nearest-barline LEFT) f' d'1 } ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user