Melisma breaking converting from 2.18 to 2.19
Hi, I’m trying to convert a large choral project to 2.19. When I compile with 2.19, melismas don't work at all. For example: c'4 \melisma d' e' \melismaEnd f puts a note on every syllable. I made a MWE which works perfectly. Diffs between the old and new files have no changes except for the \version line and removing parser and location in music functions. No file sets melismaBusyProperties. Does this ring a bell with anyone? Vaughan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
Hi Vaughan, On 27.08.19 04:40, Vaughan McAlley wrote: Hi, I’m trying to convert a large choral project to 2.19. When I compile with 2.19, melismas don't work at all. For example: c'4 \melisma d' e' \melismaEnd f puts a note on every syllable. I made a MWE which works perfectly. Diffs between the old and new files have no changes except for the \version line and removing parser and location in music functions. No file sets melismaBusyProperties. Does this ring a bell with anyone? Unfortunately not—that sounds like a really annoying problem, and I’m afraid the only way might be progressively reducing the score to a minimal example and checking at which point the problem goes away… How do you align the lyrics to the notes? \lyricsto? Best, Simon ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
Am 27.08.19 um 04:40 schrieb Vaughan McAlley: I’m trying to convert a large choral project to 2.19. When I compile with 2.19, melismas don't work at all. For example: c'4 \melisma d' e' \melismaEnd f puts a note on every syllable. […] Does this ring a bell with anyone? Yes, it does. The following two scores look the same in 2.18.2 and different in 2.19.83: %% \version "2.18.2" %\version "2.19.83" global = { s1 \bar "|." } sop = \relative { c'4( d) e f } soptext = \lyricmode { Me -- lis -- ma } \new Staff << \global \sop >> \addlyrics \soptext \new Staff << \global \sop \addlyrics \soptext >> %% Is this a bug/regression? ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
Am 27.08.19 um 10:56 schrieb Malte Meyn: Yes, it does. The following two scores look the same in 2.18.2 and different in 2.19.83: This changed somewhere between 2.19.13 and 2.19.14. Without testing it looks like commit df3457d8 “Allow \addlyrics to work with arbitrary contexts” could be the reason. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
Hey all, This bit me way back when. Here’s the fix (note the \new Voice): \version "2.19.83" global = { s1 \bar "|." } sop = \relative { c'4( d) e f } soptext = \lyricmode { Me -- lis -- ma } \new Staff \new Voice << \global \sop >> \addlyrics \soptext \new Staff \new Voice << \global \sop \addlyrics \soptext >> Hope that helps! Kieren. Kieren MacMillan, composer (he/him) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
Hi David, > I'm not sure that it does. Did you compile my example? The melisma shows correctly in both staves, where it doesn’t in the original MWE. Isn’t that what needed fixing? Confused, Kieren. Kieren MacMillan, composer (he/him) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
On Tue 27 Aug 2019 at 08:32:30 (-0400), Kieren MacMillan wrote: > Hey all, > > This bit me way back when. Here’s the fix (note the \new Voice): > > \version "2.19.83" > > global = { > s1 > \bar "|." > } > > sop = \relative { > c'4( d) e f > } > > soptext = \lyricmode { > Me -- lis -- ma > } > > \new Staff \new Voice << \global \sop >> \addlyrics \soptext > > \new Staff \new Voice << \global \sop \addlyrics \soptext >> > > Hope that helps! I'm not sure that it does. It looks to me as if both your \addlyrics are adding the lyrics to a Voice, whereas Malte's example (and thanks for the MWE!) looks as if \addlyrics applies to the Staff. I played around with the latter when I read here that it could be done. It seems as if it might be an alternative to NullVoice, where you have to make an alignment voice by breaking up long notes in one part so you can match the rhythm in another. With this Staff method, you don't have to touch the music, but you have to write a lyric syllable to match every note-start in every part, and that holds for melismas too, else it would defeat the whole object of the new construction. I think the last bar of this MWE gives you the idea. Sorry I haven't got a melismatic example handy, but I see the feature as more useful for hymns (pace Bruckner) because all the best ones are full of these rhythmic differences. I set counterpoint on separate staves, like most people. AIUI all 2.18.2 did iin Malte's MWE is to \addlyrics to the last Voice it saw, not to the Staff, because the feature didn't exist. Cheers, David. \version "2.18.2" \language english ll = \lyricmode { \once \override LyricText.self-alignment-X = #LEFT } %%\include "Choral-bits.lily" \paper { #(set-paper-size "a6") } global = { \key c \major \time 4/4 s1 * 12 } soprano = \relative { c''2. b4 a2 g4 r4 r4 g4 a4 e4 g4. g8 f4 r4 \barNumberCheck #5 | % soprano d'2. c4 c2 b4 r4 r4 d4 e4 g4 f4. f8 e4 r4 r4 f4 f4 e4 \barNumberCheck #10 | % soprano r4 f,2 e4 d2. c4 b4 } alto = \relative { e'2. e4 e2 e4 r4 r4 e4 e4 e4 d4. d8 d4 r4 \barNumberCheck #5 | % alto fs2. fs4 fs2 g4 r4 r4 g4 g4 g4 g4. g8 g4 r4 r4 g4 g4 g4 \barNumberCheck #10 | % alto r4 d2 c4 b2 g2 g4 } sopranotext = \lyricmode { Lo -- cus i -- ste a De -- o fac -- tus est, lo -- cus i -- ste a De -- o fac -- tus est, a De -- o, De -- o fac -- tus est, } altotext = \lyricmode { Lo -- cus i -- ste a De -- o fac -- tus est, lo -- cus i -- ste a De -- o fac -- tus est, a De -- o, De -- o fac -- tus est, } stafftext = \lyricmode { Lo -- cus i -- ste a De -- o fac -- tus est, lo -- cus i -- ste a De -- o fac -- tus est, a De -- o, De -- o fac -- \ll tus _ est, } \score { \new Staff << \clef treble \global \new Voice { \voiceOne \soprano } \addlyrics { \sopranotext } \new Voice { \voiceTwo \alto } \addlyrics { \altotext } >> \addlyrics { \stafftext } \layout { } } mel.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
On Tue 27 Aug 2019 at 11:16:00 (-0400), Kieren MacMillan wrote: > Hi David, > > > I'm not sure that it does. > > Did you compile my example? > The melisma shows correctly in both staves, where it doesn’t in the original > MWE. > Isn’t that what needed fixing? > > Confused, Yes, but I'm not sure I needed to. Just to make it clear—my reply was aimed at Malte's MWE and not at the OP who hasn't yet shown us what their problem is. Malte has: \new Staff << \global \sop >> \addlyrics \soptext reducing to: \new Staff << >> \addlyrics \soptext ie \addlyrics applied to a Staff. You have: \new Staff \new Voice << \global \sop >> \addlyrics \soptext \new Staff \new Voice << \global \sop \addlyrics \soptext >> reducing to: \new Voice << >> \addlyrics \soptext ie \addlyrics applied to a Voice. \new Voice << \global \sop \addlyrics \soptext >> ie \addlyrics applied to a Voice. As far as 2.18.2 is concerned, it doesn't know how to apply \lyrics to a Staff, so it just uses the last seen Voice as the context instead. I would hazard a guess that the OP could have been relying on this, and now it's suddenly broken because LP does what it's told. Disclaimer: I'm working from observations. I don't know how LP looks at the guts of Contexts, like some people here evidently do. Cheers, David. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
Hi David, > Just to make it clear—my reply was aimed at Malte's MWE > and not at the OP who hasn't yet shown us what their problem is. Ah, okay. =) I was just noting (for the OP) that a whole bunch of my scores with lyrics "stopped working" early in the 2.19s, and adding \new Voice before the << >> solved every single one of the issues. Thanks, Kieren. Kieren MacMillan, composer (he/him) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
On Wed, 28 Aug 2019, 02:22 Kieren MacMillan wrote: > Hi David, > > > Just to make it clear—my reply was aimed at Malte's MWE > > and not at the OP who hasn't yet shown us what their problem is. > > Ah, okay. =) > > I was just noting (for the OP) that a whole bunch of my scores with lyrics > "stopped working" early in the 2.19s, and adding \new Voice before the << > >> solved every single one of the issues. > > Thanks, > Kieren. > > > Kieren MacMillan, composer (he/him) > ‣ website: www.kierenmacmillan.info > ‣ email: i...@kierenmacmillan.info > > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user Thanks Kieran! After I sent the original message I was halfway into stripping my score to something more minimal, but life got in the way. I'm fussy about lyrics and have a lot of stuff in the \layout \Lyrics section I thought might have something to do with it. But Kieran’s memory came up with the goods. I do normally use \addlyrics because as someone else mentioned, life is too short to put vocal polyphony on to one line. It's a bit strange that the 2.19 \addlyrics sees the implied voice enough to put the lyrics on but not enough to respect melismas. \addlyrics has a small section in the 2.19 manual and seems to imply \new Voice is unnecessary: http://lilypond.org/doc/v2.19/Documentation/notation/common-notation-for-vocal-music#automatic-syllable-durations Vaughan ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
On Tue 27 Aug 2019 at 12:21:39 (-0400), Kieren MacMillan wrote: > Hi David, > > > Just to make it clear—my reply was aimed at Malte's MWE > > and not at the OP who hasn't yet shown us what their problem is. > > Ah, okay. =) > > I was just noting (for the OP) that a whole bunch of my scores with lyrics > "stopped working" early in the 2.19s, and adding \new Voice before the << >> > solved every single one of the issues. Ah, I see what you're saying now. In which case, my guess (again, from observations and not from any knowledge of the inner workings of LP) is that you relied upon LP instantiating a Voice context outside the << >>, whereas it chose inside (attached). Why did its behaviour change? I would assume it's because if it chose outside, then it would snooker its new-found ability to set lyrics to multiple voices at the same time (my Bruckner snippet). So I don't think it's a bug or a regression, but a side effect of a new feature, documented at the first bullet point on page 11 of 2.19.83 changes. I suppose it's a case of "Beware all ye that rely on implied instantiations!" Cheers, David. global = { s1 \bar "|." } sop = \relative { c'4( d) e f } soptext = \lyricmode { Me -- lis -- ma } \new Staff << \new Voice \global \new Voice \sop >> \addlyrics \soptext \new Staff << \new Voice \global \new Voice \sop \addlyrics \soptext >> possible.pdf Description: Adobe PDF document ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Melisma breaking converting from 2.18 to 2.19
Hi David, > you relied upon LP instantiating a Voice context outside the > << >>, whereas it chose inside (attached). […] > So I don't think it's a bug or a regression, but a side effect of a > new feature, documented at the first bullet point on page 11 of > 2.19.83 changes. Exactly. =) > I suppose it's a case of "Beware all ye that rely on implied instantiations!" Totally. That being said, I’m pretty sure none of us are going to start explicitly instantiating every context anytime soon… ;) Cheers, Kieren. Kieren MacMillan, composer (he/him) ‣ website: www.kierenmacmillan.info ‣ email: i...@kierenmacmillan.info ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user