lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Empty chord construct and \break.


From: Thomas Morley
Subject: Re: Empty chord construct and \break.
Date: Wed, 1 May 2024 13:06:19 +0200

Am So., 28. Apr. 2024 um 22:34 Uhr schrieb Hwaen Ch'uqi <hwaenchuqi@gmail.com>:
>
> I suppose I spoke too soon, for when I compiled the code, the result was 
> actually the same.
>
> HC
>
>
> On Sun, Apr 28, 2024 at 7:47 AM Hwaen Ch'uqi <hwaenchuqi@gmail.com> wrote:
>>
>> Indeed, that helps tremendously. Thank you so much!!!
>>
>> Hwaen Ch'uqi
>>
>>
>> On Sun, Apr 28, 2024 at 7:24 AM Thomas Morley <thomasmorley65@gmail.com> 
>> wrote:
>>>
>>> Am So., 28. Apr. 2024 um 06:25 Uhr schrieb Hwaen Ch'uqi 
>>> <hwaenchuqi@gmail.com>:
>>> >
>>> > Greetings,
>>> >
>>> > I am trying to typeset a stack of spoken lines above a multimeasure rest. 
>>> > This works fine when preceded by notes in the same system. However, when 
>>> > it follows a forced break, the output is not so desirable. Can anyone 
>>> > explain what I am missing? MWE below.
>>> >
>>> > \version "2.24.3"
>>> >
>>> > \score {
>>> >   \new Staff = contrabass {
>>> >     \relative c' {
>>> >       \key des \major \time 3/4 \clef bass
>>> >       des,2. %!
>>> >       des %2
>>> >       des %3
>>> >       des %4
>>> >       \break
>>> > \textLengthOn
>>> > <>^\markup \override #'(line-width . 66) \override #'(baseline-skip . 
>>> > 2.3) \wordwrap { But enough with introductions. You are no doubt here to 
>>> > learn about a most difficult episode in the life of our Katz. It was 
>>> > during a particular night of fitful sleep that our beloved Katzlein 
>>> > finally slipped into Traumland, and it is there where our story begins. }
>>> > R2.\fermata%29
>>> > \textLengthOff
>>> >     }
>>> >   }
>>> > }
>>> >
>>> > Thank you so much.
>>> >
>>> > Hwaen Ch'uqi
>>> >
>>>
>>> Hi,
>>>
>>> what happens here is, the TextScript attached to the empty chord is printed 
>>> at
>>> start of the measure. \textLengthOn stretches the measure to fit with
>>> the TextScript,
>>> and the MultiMeasureRest is centered in this stretched measure.
>>> This is correct in both cases with and without \break.
>>> Though, with the \break the measure has a lonely MultiMeasureRest and
>>> is stretched
>>> even more by ragged-right being #f, the default for all but the first line.
>>> Thus the MultiMeasureRest is centered in a whole single line, the
>>> TextScript not.
>>>
>>> You probably had the idea to attach text to a MultiMeasureRest with:
>>> <>^"markup" R2.
>>> Alas, text of a MultiMeasureRest is of type MultiMeasureRestText.
>>> Nevertheless, you can do so with a little more code. Though, \textLengthOn 
>>> will
>>> then not work, you'll need to stretch the MultiMeasureRest itself:
>>>
>>>
>>> \version "2.24.3"
>>>
>>> mrkp =
>>>   \markup
>>>     \override #'(line-width . 66)
>>>     \override #'(baseline-skip . 2.3)
>>>     \wordwrap {
>>>       But enough with introductions. You are no doubt here to learn about a
>>>       most difficult episode in the life of our Katz. It was during a
>>>       particular night of fitful sleep that our beloved Katzlein finally
>>>       slipped into Traumland, and it is there where our story begins.
>>>     }
>>>
>>> mmrText =
>>>   #(make-music
>>>     'MultiMeasureTextEvent
>>>     'direction 1
>>>     'text mrkp)
>>>
>>> \score {
>>>   \new Staff = contrabass {
>>>     \relative c' {
>>>       \key des \major \time 3/4 \clef bass
>>>       des,2. %!
>>>       des %2
>>>       des %3
>>>       des %4
>>>       \break
>>>       %% stretch by aprox. half the width of the MultiMeasureRestText:
>>>       \once \override MultiMeasureRest.bound-padding = 32
>>>       <>^\mmrText
>>>       R2.\fermata %29
>>>     }
>>>   }
>>> }
>>>
>>>
>>> HTH,
>>>   Harm

The code below uses your initial posted code to show behaviour before
and after \break and the same with my proposal.
Image is attached.
Please tell whats wrong and what you want instead.

Cheers,
  Harm

\version "2.24.3"

mrkp =
  \markup
    \override #'(line-width . 66)
    \override #'(baseline-skip . 2.3)
    \wordwrap {
      But enough with introductions. You are no doubt here to learn about a most
      difficult episode in the life of our Katz. It was during a particular
      night of fitful sleep that our beloved Katzlein finally slipped into
      Traumland, and it is there where our story begins.
    }

\score {
  \new Staff = contrabass {
    \relative c' {
      \key des \major
      \time 3/4
      \clef bass
      des,2.
      des
      des
      des
      \textLengthOn
      <>^\mrkp
      R2.\fermata
      \break
      <>^\mrkp
      R2.\fermata
      \textLengthOff
    }
  }
  \header {
      piece = \markup \rounded-box \fill-line { \bold "Orig" }
  }
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

mmrText =
  #(make-music
    'MultiMeasureTextEvent
    'direction 1
    'text mrkp)

\score {
  \new Staff = contrabass {
    \relative c' {
      \key des \major \time 3/4 \clef bass
      des,2.
      des
      des
      des
      %% stretch by aprox. half the width of the MultiMeasureRestText:
      \once \override MultiMeasureRest.bound-padding = 32
      <>^\mmrText
      R2.\fermata
      \break
      %% stretch by aprox. half the width of the MultiMeasureRestText:
      \once \override MultiMeasureRest.bound-padding = 32
      <>^\mmrText
      R2.\fermata
    }
  }
  \header {
      piece = \markup \rounded-box \fill-line { \bold "Harm" }
  }
}

Attachment: mmr-text-01.pdf
Description: Adobe PDF document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]