magnifyMusic

Begonnen von Manuela, Mittwoch, 3. Mai 2017, 14:12

« vorheriges - nächstes »

Manuela

Hi,

durch einen Mailinglistenbeitrag habe ich zufällig diese Funktion entdeckt. Leider wirkt sie nicht bei Mehrstimmigkeit

\version "2.19.56"

mus = \relative c'' {
  c4 c c c
  <<
    { a4 a a a }
    \\ { f4 f f f }
  >>
}

\new Voice
{
  \mus
  \magnifyMusic #1.5 \mus
}


vergrößert nur den einstimmigen Teil.


Wie kann ich es erreichen, dass die Noten auch im mehrstimmigen Teil vergrößert werden, außer die Funktion direkt vor die geschwungenen Klammern zu schreiben?

Gibt es eine Möglichkeit, diese Vergrößerung in einen Context einzuarbeiten?
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Ich nehme an, du beziehst dich auf diesen Beitrag. Wurde da nicht genau die gleiche Frage beantwortet oder hab ich das falsch in Erinnerung? Das Problem ist halt, daß <<\\>> zwei neue Voice-Kontexte anlegt, magnifyMusic aber nur auf die ursprüngliche Voice wirkt. Ich schau zu Hause mal in die Definition dieser Funktion rein, ich glaub, die macht noch mehr als nur die font-size raufzusetzen. Falls nicht:
\override Staff.font-size = -3
macht die gleiche Vergrößerung wie
\magnifyMusic #(magstep -3)

Manuela

Zitat von: Malte am Mittwoch,  3. Mai 2017, 15:01
Ich nehme an, du beziehst dich auf diesen Beitrag. Wurde da nicht genau die gleiche Frage beantwortet oder hab ich das falsch in Erinnerung?

Da ging es hauptsächlich um partcombine, soweit ich es verstanden habe.

magnify macht mehr als fontsize zu verändern, das habe ich bereits überprüft.

Ich kopiere mal den Code aus music-functions-init.ly

\version "2.19.56"

magnifyMusic =
#(define-music-function (mag music) (positive? ly:music?)
   (_i "Magnify the notation of @var{music} without changing the
staff-size, using @var{mag} as a size factor.  Stems, beams,
slurs, ties, and horizontal spacing are adjusted automatically.")

   ;; these props are NOT allowed to shrink below default size
   (define unshrinkable-props
     '(
        ;; stems
        (Stem thickness)

        ;; slurs
        (Slur line-thickness)
        (Slur thickness)
        (PhrasingSlur line-thickness)
        (PhrasingSlur thickness)

        ;; ties
        (Tie line-thickness)
        (Tie thickness)
        (LaissezVibrerTie line-thickness)
        (LaissezVibrerTie thickness)
        (RepeatTie line-thickness)
        (RepeatTie thickness)
        ))

   ;; these props ARE allowed to shrink below default size
   (define shrinkable-props
     (let ((baseline-skip-props
            (find-named-props 'baseline-skip all-grob-descriptions))
           (word-space-props
            (find-named-props 'word-space all-grob-descriptions)))
       (append
        baseline-skip-props
        word-space-props
        '(
           ;; TODO: uncomment spacing-increment here once Issue 3987 is fixed
           ;; override at the 'Score level
           ;(SpacingSpanner spacing-increment)

           ;; lengths and heights
           (Beam length-fraction)
           (Stem length-fraction)
           (Stem beamlet-default-length)
           (Stem double-stem-separation)
           (Slur height-limit)
           (Slur minimum-length)
           (PhrasingSlur height-limit)
           (PhrasingSlur minimum-length)

           ;; Beam.beam-thickness is dealt with separately below
           ))))
   #{
     \context Bottom {
       %% TODO: uncomment \newSpacingSection once Issue 3990 is fixed
       %\newSpacingSection
       #(scale-fontSize 'magnifyMusic mag)
       #(scale-props    'magnifyMusic mag #f unshrinkable-props)
       #(scale-props    'magnifyMusic mag #t shrinkable-props)
       #(scale-beam-thickness mag)

       #music

       %% TODO: uncomment \newSpacingSection once Issue 3990 is fixed
       %\newSpacingSection
       %% reverse engineer the former fontSize value instead of using \unset
       #(revert-fontSize 'magnifyMusic mag)
       #(revert-props    'magnifyMusic mag (append unshrinkable-props
                                             shrinkable-props
                                             '((Beam beam-thickness))))
     }
   #})


Danke für eure Hilfe
viele Grüße
-- Manuela