Re: Text-spanner text repeated at start of line
Thanks for the help with this problem. It has taken me until now to have a chance to experiment further with it. I ended up not using the \markupMap idea, because I don't in any case want the "(minim=138) part of the tempo marking to be bold. So I have ended up with: accelVivaceText = { \override TextSpanner.line-X-offset = #'(0.5 . 0.5) \override TextSpanner.line-Y-offset = 0.5 \addTextSpannerText \lyricmode { \markup \upright \bold "accelerando molto" -- \markup \upright \bold al -- \markup \upright \concat { \bold "Vivace (" \general-align #Y #-1 \tiny \note #"2" #UP " = 138)" } } } Some time in the future, a real text-spanner mode would be useful for this sort of case, so that the problem of wanting the instruction to appear once in the score and once in each of the parts would be solved, hopefully, just as it is currently for normal tempo markings. As it is, the relevant passage in my quartet file looks like this (using \parallelMusic): % bar 40 \tag #'forScore { c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | c8 a b a b a gs a | c8 a b a b a gs a | c8 a b a b a gs a | } \tag #'forPart { c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | c8 a b a b \accelVivaceText a \startTextSpan gs a \noBreak | } % bar 41 b8_\cresc gs a gs a gs fs gs | b8_\cresc gs a gs a gs fs es | b8_\cresc gs g gs g fs gs fs | b8_\cresc gs g gs g fs e fs | % bar 42 a8 fs gs fs gs fs e fs | fs8 gs es fs es fs fs es | gs8 a gs g a g a g | gs8 fs e gs fs gs fs fs | % bar 43 gs8 e fs e fs fs es fs | fs8 gs es fs es fs fs es | fs8 g fs es fs g fs g | es8 fs g fs g fs g fs | % bar 44 \tag #'forScore { g8\ff \stopTextSpan es fs es fs fs fs fs | fs8\ff g! es fs es fs fs fs | fs8\ff g fs es fs es fs es | es8\ff fs g es fs es fs fs | } \tag #'forPart { g8\ff \stopTextSpan es fs es fs fs fs fs | fs8\ff \stopTextSpan g! es fs es fs fs fs | fs8\ff \stopTextSpan g fs es fs es fs es | es8\ff \stopTextSpan fs g es fs es fs fs | } Thanks again. David On Tue, 2015-11-03 at 11:39 -0600, David Nalesnik wrote: > Hi David, > > On Tue, Nov 3, 2015 at 11:22 AM, David Sumbler> wrote: > I have now got around to trying to use > text-spanner-inner-text-lyric-mode.ly, as suggested by Pierre. > > The basic concept is great, but I am having a few difficulties > (some of > which may be to do with the fact that I have never used > \lyricmode > before). > > It has been suggested that a Tempo spanner might be useful > eventually. > That would certainly have helped me, because I want > "accelerando > moltoalVivace (텞=138)" to appear in each of the four > parts of > the string quartet, but only once in the score. I have got > around this > problem for now by using tags named "forScore" and forPart". > > My second problem is that I want upright, bold text - the > style that is > usually used for tempo markings. Unfortunately, I have not > found a way > of doing this, other than using \markup \upright \bold for > each distinct > part of the text, thus: > > \addTextSpannerText \lyricmode { > \markup \upright \bold "accelerando molto" -- > \markup \upright \bold al -- > \markup \upright \bold "Vivace (2 = 138)" } > > I can't help feeling that there must be a way of formatting > lyrics > globally, but I haven't managed to find it in the manual yet. > > > In this case you'd need to address the TextSpanner grob. Check the > properties here: > http://lilypond.org/doc/v2.19/Documentation/internals/textspanner > Listed is a 'font-shape property, set by default to 'italic. So all > you'd need to do is: > \override TextSpanner.font-shape = #'upright > > > TextSpanner supports the font-interface which has the property > 'font-series and you could set that to bold: > \override TextSpanner.font-series = #'bold > (See http://lilypond.org/doc/v2.19/Documentation/internals/font_002dinterface) > > > > The third problem is the minim for the tempo marking at the > end. I > can't use \note #"2", because that will be treated as a > separate markup > and be spaced away from "Vivace(" and "= 138)". > > Is there a way of achieving what I want? > > > Sure. You'd just need to use \concat or some such. There may be a >
Re: Text-spanner text repeated at start of line
I have now got around to trying to use text-spanner-inner-text-lyric-mode.ly, as suggested by Pierre. The basic concept is great, but I am having a few difficulties (some of which may be to do with the fact that I have never used \lyricmode before). It has been suggested that a Tempo spanner might be useful eventually. That would certainly have helped me, because I want "accelerando moltoalVivace (텞=138)" to appear in each of the four parts of the string quartet, but only once in the score. I have got around this problem for now by using tags named "forScore" and forPart". My second problem is that I want upright, bold text - the style that is usually used for tempo markings. Unfortunately, I have not found a way of doing this, other than using \markup \upright \bold for each distinct part of the text, thus: \addTextSpannerText \lyricmode { \markup \upright \bold "accelerando molto" -- \markup \upright \bold al -- \markup \upright \bold "Vivace (2 = 138)" } I can't help feeling that there must be a way of formatting lyrics globally, but I haven't managed to find it in the manual yet. The third problem is the minim for the tempo marking at the end. I can't use \note #"2", because that will be treated as a separate markup and be spaced away from "Vivace(" and "= 138)". Is there a way of achieving what I want? David On Mon, 2015-10-26 at 21:31 +0100, Pierre Perol-Schneider wrote: > Hi David, > > > See : > http://lilypond.1069038.n5.nabble.com/Text-centralized-above-a-TextSpan-td180601.html > > > Cheers, > > Pierre > > 2015-10-26 21:19 GMT+01:00 David Sumbler: > I want to use a marking such as "accel.-alVivace". > > However, the following example does not do what I want, > because the text > is repeated at the start of each new line of music. I just > want the > dotted line to continue without repetition of the text. > > \version "2.19.24" > > \relative { > \override TextSpanner.bound-details.left.text = > "accelerando" > c''4\startTextSpan c c c | c c c c | c c c c \break | > c4 c c c\stopTextSpan | > \override TextSpanner.bound-details.left.text = "al" > c\startTextSpan c c c\stopTextSpan | > \tempo "Vivace" c c c c| > } > > I tried using break-visibility, but as I expected this > property does not > have any with these objects. > > How can this be achieved? > > Also, it would be nice if the dotted line could be made to > continue > right up to the next piece of text, rather than leaving a gap. > > David > > > ___ > 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: Text-spanner text repeated at start of line
Hi David, On Tue, Nov 3, 2015 at 11:22 AM, David Sumblerwrote: > I have now got around to trying to use > text-spanner-inner-text-lyric-mode.ly, as suggested by Pierre. > > The basic concept is great, but I am having a few difficulties (some of > which may be to do with the fact that I have never used \lyricmode > before). > > It has been suggested that a Tempo spanner might be useful eventually. > That would certainly have helped me, because I want "accelerando > moltoalVivace (텞=138)" to appear in each of the four parts of > the string quartet, but only once in the score. I have got around this > problem for now by using tags named "forScore" and forPart". > > My second problem is that I want upright, bold text - the style that is > usually used for tempo markings. Unfortunately, I have not found a way > of doing this, other than using \markup \upright \bold for each distinct > part of the text, thus: > > \addTextSpannerText \lyricmode { > \markup \upright \bold "accelerando molto" -- > \markup \upright \bold al -- > \markup \upright \bold "Vivace (2 = 138)" } > > I can't help feeling that there must be a way of formatting lyrics > globally, but I haven't managed to find it in the manual yet. > In this case you'd need to address the TextSpanner grob. Check the properties here: http://lilypond.org/doc/v2.19/Documentation/internals/textspanner Listed is a 'font-shape property, set by default to 'italic. So all you'd need to do is: \override TextSpanner.font-shape = #'upright TextSpanner supports the font-interface which has the property 'font-series and you could set that to bold: \override TextSpanner.font-series = #'bold (See http://lilypond.org/doc/v2.19/Documentation/internals/font_002dinterface) > The third problem is the minim for the tempo marking at the end. I > can't use \note #"2", because that will be treated as a separate markup > and be spaced away from "Vivace(" and "= 138)". > > Is there a way of achieving what I want? > Sure. You'd just need to use \concat or some such. There may be a special "format a markup like a tempo" function somewhere that you could use, but my memory fails me. Hope this helps, DN ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
David Sumblerwrites: > I have now got around to trying to use > text-spanner-inner-text-lyric-mode.ly, as suggested by Pierre. > > The basic concept is great, but I am having a few difficulties (some of > which may be to do with the fact that I have never used \lyricmode > before). > > It has been suggested that a Tempo spanner might be useful eventually. > That would certainly have helped me, because I want "accelerando > moltoalVivace (텞=138)" to appear in each of the four parts of > the string quartet, but only once in the score. I have got around this > problem for now by using tags named "forScore" and forPart". > > My second problem is that I want upright, bold text - the style that is > usually used for tempo markings. Unfortunately, I have not found a way > of doing this, other than using \markup \upright \bold for each distinct > part of the text, thus: > > \addTextSpannerText \lyricmode { > \markup \upright \bold "accelerando molto" -- > \markup \upright \bold al -- > \markup \upright \bold "Vivace (2 = 138)" } > > I can't help feeling that there must be a way of formatting lyrics > globally, but I haven't managed to find it in the manual yet. You could try \addTextSpannerText \markupMap LyricEvent.text \markup \upright \bold \etc \lyricmode { "accelerando molto -- al -- "Vivace (2 = 138)" } This is not particularly fabulous I'll readily admit and requires a suitably current version. But you could put the bulk in a macro \addTempoText = \addTextSpannerText \markupMap LyricEvent.text \markup \upright \bold \etc \etc Uh, maybe? > The third problem is the minim for the tempo marking at the end. I > can't use \note #"2", because that will be treated as a separate markup > and be spaced away from "Vivace(" and "= 138)". \concat { "Vivace (" \note #"2" " = 138)" } -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
Simon Albrechtwrites: > On 03.11.2015 18:50, David Kastrup wrote: >> you could put the bulk in a macro >> >> \addTempoText = >> \addTextSpannerText \markupMap LyricEvent.text >>\markup \upright \bold \etc \etc > > Astounding I call that. \markupMap is not really a pretty command. Maybe it should rather accept a music type rather than a music name? That would turn this into \markupMap lyric-event.text ... which might be somewhat more flexible. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
On 03.11.2015 18:50, David Kastrup wrote: you could put the bulk in a macro \addTempoText = \addTextSpannerText \markupMap LyricEvent.text \markup \upright \bold \etc \etc Astounding I call that. Kudos, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
Thanks, both, for your help on this. Regarding \override TextSpanner.bound-details.left-broken.text = ##f In section 3.1.122 of the internals reference, I see 'left.broken' as an item in the 'bound-details' list but with no indication of what it does, nor that 'left-broken.text' is possible and the values that could take. How could I have found this out from the documentation? As suggested, the thread linked to by Pierre seems to be a good bet. It has taken me some time to read through it all and try out the various attached files. I am quite happy to install version 2.19.27, so that I can get the result I want (with dotted lines). More likely I shall install v2.19.30, which seems to be the latest. Has any of the material developed in connection with the "Text centralized above a TextSpan" thread actually been incorporated into v2.19.30, or is that yet to come? David On Mon, 2015-10-26 at 22:54 +0100, Thomas Morley wrote: > 2015-10-26 21:31 GMT+01:00 Pierre Perol-Schneider >: > > Hi David, > > > > See : > > http://lilypond.1069038.n5.nabble.com/Text-centralized-above-a-TextSpan-td180601.html > > > > Cheers, > > Pierre > > > > > > 2015-10-26 21:19 GMT+01:00 David Sumbler : > >> > >> I want to use a marking such as "accel.-alVivace". > >> > >> However, the following example does not do what I want, because the text > >> is repeated at the start of each new line of music. I just want the > >> dotted line to continue without repetition of the text. > >> > >> \version "2.19.24" > >> > >> \relative { > >> \override TextSpanner.bound-details.left.text = "accelerando" > >> c''4\startTextSpan c c c | c c c c | c c c c \break | > >> c4 c c c\stopTextSpan | > >> \override TextSpanner.bound-details.left.text = "al" > >> c\startTextSpan c c c\stopTextSpan | > >> \tempo "Vivace" c c c c| > >> } > >> > >> I tried using break-visibility, but as I expected this property does not > >> have any with these objects. > >> > >> How can this be achieved? > >> > >> Also, it would be nice if the dotted line could be made to continue > >> right up to the next piece of text, rather than leaving a gap. > >> > >> David > > > > Hi David, > > for your use-case the thread Pierre linked is likely best you can do. > > Though, for the record, you can exclude to repeat TextSpanner's text > after line-break. Compare: > > \relative { > \override TextSpanner.bound-details.left.text = "accelerando" > c''1\startTextSpan \break c c\stopTextSpan > } > > \relative { > \override TextSpanner.bound-details.left.text = "accelerando" > \override TextSpanner.bound-details.left-broken.text = ##f > c''1\startTextSpan \break c c\stopTextSpan > } > > > HTH, > Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
OK - thanks for that information. And thanks to you and others for all the hard work that goes into Lilypond. David On Tue, 2015-10-27 at 10:35 -0500, David Nalesnik wrote: > Hi, > > On Tue, Oct 27, 2015 at 9:54 AM, David Sumbler> wrote: Has any of the material > developed in connection with the "Text centralized above a > TextSpan" > thread actually been incorporated into v2.19.30, or is that > yet to come? > > > > > Yet to come. This is just something floating around the user list at > the moment. Submitting a patch and putting it through the review > process is my goal, but I will need to mull over it a bit before I'm > confident of it. > > > DN ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
Hi, On Tue, Oct 27, 2015 at 9:54 AM, David Sumblerwrote: Has any of the material > > developed in connection with the "Text centralized above a TextSpan" > thread actually been incorporated into v2.19.30, or is that yet to come? > > Yet to come. This is just something floating around the user list at the moment. Submitting a patch and putting it through the review process is my goal, but I will need to mull over it a bit before I'm confident of it. DN ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
Thomas Morleywrites: > 2015-10-27 15:54 GMT+01:00 David Sumbler : >> Regarding >> \override TextSpanner.bound-details.left-broken.text = ##f >> >> In section 3.1.122 of the internals reference, I see 'left.broken' as an >> item in the 'bound-details' list but with no indication of what it does, >> nor that 'left-broken.text' is possible and the values that could take. >> How could I have found this out from the documentation? > > Hi David, > > well, we have > http://www.lilypond.org/doc/v2.19/Documentation/notation/spanners#using-the-line_002dspanner_002dinterface > > Could you suggest on the bug-list something to improve it? > I'm a non-native speaker ... > > In general, the bound-details-property is a list of lists. With > possible settings for (pseudo-code) > '( > (left ) > (left-broken ) > (right ) > (right-broken ) > ) > I think, possible key-value-settings are explained quite well in the > above linked doc. > > Of course it's possible but quite tedious to always enter the whole > list. Therefore, we have the dotted-list syntax for nested properties, > which modifies a single entry in the (default-)list, like` > bound-details.left-broken.text' Dotted-list syntax is decidedly newer than nested properties. 2.18 or so? > Btw, there was a problem with reverting overrides for bound-details. There were all sorts of problems with reverting nested overrides. The current version works as expected, though a revert path must exactly match a previously used override path in order to have an effect. You cannot revert sublists of a previous override. At some point of time, reality takes its toll. > David Kastrup fixed it some time ago. 2.19.13, about a year ago. Not yet available in a stable version. You'll find that my issue comments and solution sketches on the problem run from years 2011 to 2014. This one took a really long time until I figured out a solution I considered satisfactory in performance as well as reliability (I probably printed out at least 4 times as much paper and scribbled over it than for the rest of LilyPond combined). The solution also touched some other issues. At any rate, using overrides on single settings in a nested alist (and reverting them eventually) is nothing to avoid in current developer versions but can still be problematic in the current stable version. -- David Kastrup ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
2015-10-27 15:54 GMT+01:00 David Sumbler: > Regarding > \override TextSpanner.bound-details.left-broken.text = ##f > > In section 3.1.122 of the internals reference, I see 'left.broken' as an > item in the 'bound-details' list but with no indication of what it does, > nor that 'left-broken.text' is possible and the values that could take. > How could I have found this out from the documentation? Hi David, well, we have http://www.lilypond.org/doc/v2.19/Documentation/notation/spanners#using-the-line_002dspanner_002dinterface Could you suggest on the bug-list something to improve it? I'm a non-native speaker ... In general, the bound-details-property is a list of lists. With possible settings for (pseudo-code) '( (left ) (left-broken ) (right ) (right-broken ) ) I think, possible key-value-settings are explained quite well in the above linked doc. Of course it's possible but quite tedious to always enter the whole list. Therefore, we have the dotted-list syntax for nested properties, which modifies a single entry in the (default-)list, like` bound-details.left-broken.text' Btw, there was a problem with reverting overrides for bound-details. David Kastrup fixed it some time ago. HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
I think that the documentation you mention is pretty good as it stands - I just hadn't found it. That's my fault and my inefficiency. I hardly ever use text spanners, and hadn't remembered there was even a section like that. I think I need to find some time simply to read through (for the umpteenth time) the whole of the Notation Reference. No doubt I shall be able to absorb many more details than I could the last time I did it. David On Tue, 2015-10-27 at 20:25 +0100, Thomas Morley wrote: > 2015-10-27 15:54 GMT+01:00 David Sumbler: > > Regarding > > \override TextSpanner.bound-details.left-broken.text = ##f > > > > In section 3.1.122 of the internals reference, I see 'left.broken' as an > > item in the 'bound-details' list but with no indication of what it does, > > nor that 'left-broken.text' is possible and the values that could take. > > How could I have found this out from the documentation? > > Hi David, > > well, we have > http://www.lilypond.org/doc/v2.19/Documentation/notation/spanners#using-the-line_002dspanner_002dinterface > > Could you suggest on the bug-list something to improve it? > I'm a non-native speaker ... > > In general, the bound-details-property is a list of lists. With > possible settings for (pseudo-code) > '( > (left ) > (left-broken ) > (right ) > (right-broken ) > ) > I think, possible key-value-settings are explained quite well in the > above linked doc. > > Of course it's possible but quite tedious to always enter the whole > list. Therefore, we have the dotted-list syntax for nested properties, > which modifies a single entry in the (default-)list, like` > bound-details.left-broken.text' > > Btw, there was a problem with reverting overrides for bound-details. > David Kastrup fixed it some time ago. > > > HTH, > Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
2015-10-26 21:31 GMT+01:00 Pierre Perol-Schneider: > Hi David, > > See : > http://lilypond.1069038.n5.nabble.com/Text-centralized-above-a-TextSpan-td180601.html > > Cheers, > Pierre > > > 2015-10-26 21:19 GMT+01:00 David Sumbler : >> >> I want to use a marking such as "accel.-alVivace". >> >> However, the following example does not do what I want, because the text >> is repeated at the start of each new line of music. I just want the >> dotted line to continue without repetition of the text. >> >> \version "2.19.24" >> >> \relative { >> \override TextSpanner.bound-details.left.text = "accelerando" >> c''4\startTextSpan c c c | c c c c | c c c c \break | >> c4 c c c\stopTextSpan | >> \override TextSpanner.bound-details.left.text = "al" >> c\startTextSpan c c c\stopTextSpan | >> \tempo "Vivace" c c c c| >> } >> >> I tried using break-visibility, but as I expected this property does not >> have any with these objects. >> >> How can this be achieved? >> >> Also, it would be nice if the dotted line could be made to continue >> right up to the next piece of text, rather than leaving a gap. >> >> David Hi David, for your use-case the thread Pierre linked is likely best you can do. Though, for the record, you can exclude to repeat TextSpanner's text after line-break. Compare: \relative { \override TextSpanner.bound-details.left.text = "accelerando" c''1\startTextSpan \break c c\stopTextSpan } \relative { \override TextSpanner.bound-details.left.text = "accelerando" \override TextSpanner.bound-details.left-broken.text = ##f c''1\startTextSpan \break c c\stopTextSpan } HTH, Harm ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Text-spanner text repeated at start of line
Hi David, See : http://lilypond.1069038.n5.nabble.com/Text-centralized-above-a-TextSpan-td180601.html Cheers, Pierre 2015-10-26 21:19 GMT+01:00 David Sumbler: > I want to use a marking such as "accel.-alVivace". > > However, the following example does not do what I want, because the text > is repeated at the start of each new line of music. I just want the > dotted line to continue without repetition of the text. > > \version "2.19.24" > > \relative { > \override TextSpanner.bound-details.left.text = "accelerando" > c''4\startTextSpan c c c | c c c c | c c c c \break | > c4 c c c\stopTextSpan | > \override TextSpanner.bound-details.left.text = "al" > c\startTextSpan c c c\stopTextSpan | > \tempo "Vivace" c c c c| > } > > I tried using break-visibility, but as I expected this property does not > have any with these objects. > > How can this be achieved? > > Also, it would be nice if the dotted line could be made to continue > right up to the next piece of text, rather than leaving a gap. > > David > > > ___ > 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
Text-spanner text repeated at start of line
I want to use a marking such as "accel.-alVivace". However, the following example does not do what I want, because the text is repeated at the start of each new line of music. I just want the dotted line to continue without repetition of the text. \version "2.19.24" \relative { \override TextSpanner.bound-details.left.text = "accelerando" c''4\startTextSpan c c c | c c c c | c c c c \break | c4 c c c\stopTextSpan | \override TextSpanner.bound-details.left.text = "al" c\startTextSpan c c c\stopTextSpan | \tempo "Vivace" c c c c| } I tried using break-visibility, but as I expected this property does not have any with these objects. How can this be achieved? Also, it would be nice if the dotted line could be made to continue right up to the next piece of text, rather than leaving a gap. David ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user