lilypond-user
[Top][All Lists]
Advanced

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

Re: How to join notes in markup?


From: Thomas Morley
Subject: Re: How to join notes in markup?
Date: Fri, 11 Mar 2016 22:58:31 +0100

2016-03-11 11:21 GMT+01:00 tisimst <address@hidden>:

> (though further suggestions for improvement
> are welcome).
>
> Thanks,
> Abraham

Hi Abraham,

just had a more thoroughly look at your snippet at
http://lsr.di.unimi.it/LSR/Item?id=1029

The biggest issue I see is how to change fontsize. I post my own
commented suggestion below.
Best would be that score-markup would respect \fontsize, not sure how
to do that (if possible at all), though.

#(define-markup-command (ezscore layout props mus) (ly:music?)
;; introduce a property to make overriding it possible
  #:properties ((size 0))
  (interpret-markup layout props
    #{
      \markup {
        \score {
;; work on a copy of music! Hence $ not #
          \new RhythmicStaff { $mus }
          \layout {
            \context {
              \RhythmicStaff
              \remove Clef_engraver
              \remove Time_signature_engraver
;; Don't remove Staff_symbol_engraver, omit StaffSymbol.
;; (probably set line-count zero, alternatively)
;; In order to keep changes for fontSize/staff-space/thickness possible,
;; Stem/Beam etc rely on it for thickness, length etc

              \omit StaffSymbol
              fontSize = #size
              \override StaffSymbol.staff-space = #(magstep size)
              \override StaffSymbol.thickness = #(magstep size)
            }
            indent = 0
          }
        }
      }
    #}))

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

\markup {
  Let's try something simple:
  \note #"8" #UP + \note #"8" #UP =
  % BEFORE USING EZNOTES...
  \combine
    \combine
%% slightly simplified, here and below
      \note #"4" #UP
      \translate #'(1.25 . 2.8) \beam #3 #0 #.5
    \concat {
      \hspace #3
      \note #"4" #UP
    }
  . Yikes! Not so easy by hand.
}

\markup {
  Much easier:
  \note #"8" #UP + \note #"8" #UP =
  % AFTER USING EZNOTES...
  \ezscore ##{ { c8[ c] } #}.
  % LET'S DO SOMETHING HARDER NOW...
  Now try constructing
%% size-override applied
  \override #'(size . -6)
  \ezscore ##{
    {
%% spacing-incrementadjusted, according to the size-override.
    \override Score.SpacingSpanner.spacing-increment = #1
    \override TupletNumber.text =
      #(tuplet-number::append-note-wrapper
         (tuplet-number::non-default-tuplet-fraction-text 12 7) "8")
    \tuplet 12/7 { c4. c c c }
    }
  #}
  manually!
}

HTH, best
  Harm



reply via email to

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