lilypond-user
[Top][All Lists]
Advanced

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

Re: \magnifyMusic omits unison notes in \partcombine?


From: Thomas Morley
Subject: Re: \magnifyMusic omits unison notes in \partcombine?
Date: Sat, 29 Apr 2017 14:44:09 +0200

2017-04-28 0:02 GMT+02:00 Karlin High <address@hidden>:
> A songwriter looked at my LilyPond job and asked, "Can you make the note
> heads bigger in proportion to everything else?" Yes, thanks to
> \magnifyMusic, I thought. It's a SATB hymn, I'm using \partcombine, and
> apparently \magnifyMusic doesn't pick up the unison notes the way I'm
> writing it. Minimal example below, PNG result attached. Magnify is at
> 1.2 for effect; I'm using 1.1 in practice.
>
> % BEGIN LILYPOND CODE
> \version "2.19.59"
> one = { a'2 f' }
> two = { f'2 f' }
> \partcombine #'(2 . 9) \magnifyMusic 1.2 { \one } \magnifyMusic 1.2 { \two }
> % END LILYPOND CODE
>
> I've found I need to put \magnifyMusic inside \partcombine, because it
> seems to have no effect the other way around. Any ideas for how I could
> get \magnifyMusic to catch the unison notes?
> --
> Karlin High
> Missouri, USA
>
> _______________________________________________
> lilypond-user mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>

Under the hood \partcombine distributes the music to up to four
different Voices. They are called "one", "two", "shared" and "solo".
(And a NullVoice called "null".)
\magnifyMusic is applied to a Bottom-context.
Meaning, if the context is changed, for example from a Voice called
"shared" to a Voice called "one" magnifyMusic is not longer applied.
That's usual behaviour for all
overrides/context-settings/music-functions etc
A general feature not a bug.

You could create those Voices yourself, keep them alive and apply
magnifyMusic there.
Though why not set an appropriate fontSizeValue for all Voices in layout?

Below both codings:

\version "2.19.59"

one = { a'2  f' }
two = { f'2  f' }

\new Staff <<
  \context Voice = "one" { \voiceOne \magnifyMusic 2 #(skip-of-length one) }
  \context Voice = "two" { \voiceTwo \magnifyMusic 2 #(skip-of-length two) }
  \context Voice = "shared" { \magnifyMusic 2 #(skip-of-length one) }
  \context Voice = "solo" { \magnifyMusic 2 #(skip-of-length one) }

  \partcombine #'(2 . 9)
      \one
      \two
>>

\score {
  \new Staff
    \partcombine #'(2 . 9)
        \one
        \two
  \layout {
        \context {
              \Voice
              fontSize = #(magnification->font-size 2)
        }
  }
}



HTH,
  Harm



reply via email to

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