lilypond-devel
[Top][All Lists]
Advanced

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

Re: TimeSignature with note in denominator


From: Lukas-Fabian Moser
Subject: Re: TimeSignature with note in denominator
Date: Tue, 9 Nov 2021 21:16:39 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0

Hi,

BTW, Gould gives the following example in her book (also noting that
it would be better to use 15/16 together with a '2+3 sempre' remark
instead).

     3
   ------
   8 ~ 8.

(the tilde denotes a tie).

Sorry if I miss the point completely (I only skimmed part of the e-mail thread).

This reminds me of the \rhythm markup function that David K. once suggested (if I recall it correctly); the version I'm currently using is:

\version "2.23.4"

#(define-markup-command (rhythm layout props content) (ly:music?)
   #:properties ((time #f))
   (interpret-markup layout props #{
     \markup {
       \score {
         \new RhythmicStaff \with {
           \override StaffSymbol.line-count = 0
           \override Rest.staff-position = 2
           \override BarLine.bar-extent = #'(-0.5 . 2)
           \override TimeSignature.Y-offset = 0.5
           #(if (not time)
                #{ \with {
                  \remove Time_signature_engraver
                } #})

         }
         {
           #(if time #{ \time $time #})
           #content
         }
         \layout {
           indent = 0
           #(layout-set-staff-size 12)
         }
       }
                     } #}))

\markup \rhythm { 8 ~ 8. }

This could be used for a \time variant:


wernerTime =
#(define-music-function (num den) (positive? ly:music?)
   #{
     \override Timing.TimeSignature.stencil =
     #(lambda (grob)
        (grob-interpret-markup
         grob
         #{
           \markup \override #'(baseline-skip . 0) \center-column {
             \number #(number->string num)
             \rhythm { \voiceTwo #den }
           }
         #}))
     \time 4/4 % of course that's crazy
     \set Timing.measureLength =
     #(ly:moment-mul
       (ly:music-length den)
       (ly:make-moment num))

   #})

{
  \wernerTime 3 { 8 ~ 8. }
  \repeat unfold 15 c'16
  \wernerTime 1 { 8. }
  \repeat unfold 9 c'16
}

Of course there's a lot of work undone - in particular, constructing a beat structure out of the given rhythm.

Lukas




reply via email to

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