Someone mentioned this format and I had the files laying around from when they came through the list before. I didn't keep track of who wrote them.
compound-test.png
\version "2.11.62"
compoundTimeSignature = #(define-music-function
  (parser layout timesig compound) (list? list?)
  #{
    % graphical display
    \once \override Staff.TimeSignature #'Y-offset = #3
    \once \override Staff.TimeSignature #'stencil = #ly:text-interface::print
    \once \override Staff.TimeSignature #'text = #(markup
       ;; parenthetical display of compound-ness
       #:column(
        #:small #:line(
          #:concat ( "("
           ;; list the additive portions of the time signature,
           ;; adding "+" between items.
           (make-line-markup (list-insert-separator
             (map (lambda (n)
                 (markup (number->string n)))
              $compound)
             (markup "+")))
          ")"
         ))
       #:override '(baseline-skip . 0)
      ;; main time signature display
      (#:number #:line(
         #:column(
           (number->string (car $timesig))
           (number->string (cadr $timesig)))
         ))))

    % measure length + beaming
    \set Timing.timeSignatureFraction = #(cons (car $timesig) (cadr $timesig))
    \set Timing.beatLength = #(ly:make-moment 1 (cadr $timesig) 0 1)
    \set Timing.beatGrouping = $compound
    \set Timing.measureLength = #(ly:make-moment (car $timesig) (cadr $timesig) 0 1)
  #})

\version "2.11.62"
\include "compound.ly"

\relative c' {
  \compoundTimeSignature #'(5 8) #'(3 2)
  c8 d16 d e e fis fis gis gis
  \compoundTimeSignature #'(5 8) #'(2 3)
  c,8 d16 d e e fis fis gis gis
  \compoundTimeSignature #'(5 4) #'(2 3)
  c,8 c d d e e f f g g
  \compoundTimeSignature #'(5 4) #'(3 2)
  c,8 c d d e e f f g g

  \compoundTimeSignature #'(8 8) #'(3 3 2)
  a8 a a e' e e c c
  \compoundTimeSignature #'(7 8) #'(2 2 3)
  a a b b cis cis cis

  \time 4/4
  a a b b cis cis d d
}

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to